Linux核心总结

Redemption& 2022-01-15 03:03:19 阅读数:70

总结 linux CSDN 操作系统 核心

文章目录

1.首先了解一下linux的目录结构

请添加图片描述

  1. /:这个是根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录)开始,再进入到home目录
  2. /bin:bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
  3. /boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
  4. /dev :dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的
  5. /etc:etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
  6. /home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve**(一般在这个目录下会建一个你自己的文件夹,用来存放你自己的文件)**
  7. /lib:lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
  8. /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。(存放一些突然关机的文件)
  9. /media:linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下
  10. /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了
  11. /opt:opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的 (软件安装就放在该目录下,比如:MySQL,Redis等等)
  12. /proc:proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器
  13. /root:该目录为系统管理员,也称作超级权限者的用户主目录。
  14. /sbin:s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序
  15. /selinux:这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的
  16. /srv:该目录存放一些服务启动之后需要提取的数据。
  17. /sys:这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
  18. /tmp:tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。(用完就丢的文件可以放在这个文件下)
  19. /usr:usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录
  20. /usr/bin:系统用户使用的应用程序。
  21. /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
  22. /usr/src:内核源代码默认的放置目录。
  23. /var:var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
  24. /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run
  25. /www:用来存放服务器网站相关的资源,比如说环境,网站的项目等等。

PS:在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。/etc:
上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。/bin, /sbin, /usr/bin,
/usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。值得提出的是,/bin,
/usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给 root
使用的指令。/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在
/var/log 目录下,另外 mail 的预设放置也是在这里。


2.linux的基本命令之使用命令开关机

  1. sync:将数据由内存同步到硬盘中。一般在使用命令关机前最好先使用这个命令
  2. shutdown:关机指令,你也可以使用man shutdown来查看一些帮助文档
  3. shutdown -h 10:表示系统将在10秒后进行关机
  4. shutdown -h now:立马关机
  5. shutdown -h 10:30:系统会在上午10点30分进行关机
  6. shutdown -h +10:表示10分钟后关机
  7. shutdown -r now:系统立马重启
  8. shutdown -r +10:系统10分钟后重启
  9. reboot:重启命令
  10. halt:关闭系统

PS:不管是关机还是重启,都应该先使用sync命令,将数据同步到硬盘中。


3.linux的基本命令之目录管理

1.ls—列出目录命令

  • ls: 列出目录
  • ls -a: 表示ls -all,即查看全部的文件(包括隐藏文件)
  • ls -l:列出所有的文件,包含文件的属性和权限,但是不会查看到隐藏文件
  • ls -al:即a和l的组合,可以组合使用

2.cd—切换目录命令

  • cd:切换目录命令,比如 cd home表示在当前的目录下,进入到home目录
  • cd …:返回上一级目录
  • cd …/c:比如:我在的当前文件夹是b,我的上一级是a,a目录下有b和c,这个命令的意思就是返回上一级,进入c目录。(这个就是相对路劲进入文件夹)
  • cd /home/a/c:也是进入c目录,但是这个是不管你在哪里,都可以直接这样进入想进入的目录**(这个是绝地路劲进入目录)**
  • cd ~:回到当前的用户目录

3.pwd—查看当前所在目录命令

  • pwd:查看当前所在的目录

4.mkdir—创建文件夹命令

  • mkdir a:表示创建一个名为a的文件夹
  • mkdir -p b/c/d: 递归创建目录

5.rmdir—删除文件夹命令

  • rmdir a:表示删除这个a的文件夹**(它不能删除不为空的文件夹)**
  • rmdir -p b/c/d:递归删除目录

6.cp—复制文件命令

  • cp a.txt b:表示将a.txt文件复制一份到b文件夹。如果存在它会询问你是否继续,回复y表示继续,n表示放弃

7.rm—传说中的删库跑路命令

  • -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
  • -i :互动模式,在删除前会询问使用者是否删除
  • -r :递归删除目录
  • rm -rf a.txt: 表示移除掉这个文件**(即-r和-f的组合命令)**

8.mv—-移动文件目录或重命名文件目录的命令

  • -f :强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
  • -i :若目标文件已经存在时,就会询问是否覆盖!
  • -u :只替换以及更新过的文件
  • mv a.txt b:将a.txt移动到b目录
  • mv b b1: 重命名文件夹

4.linux的基本命令之修改文件属性

1.chgrp—更改文件属性命令

  • chgrp -R root a:将文件或者目录的原本属组改为root

2.chown—更改文件的属主命令

  • chown -R root a:将文件或者目录的原本属主改为root

3.chmod—更改文件的9个属性

  • 首先了解一下9属性的概念—看图

请添加图片描述

  • 文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下: r:4 w:2 x:1
  • Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限
  • 每种身份都有对应的一个权限:
    • owner: 全部权限为:7即r + w + x = 7;
    • group:同上
    • others:同上
  • chmod 777 a: 表示a这个目录或者文件可读可写可执行
  • chmod 761 a: 表示a这个目录属主(owner)可以全部实现,属组(group)可以读和写,其它(others)用户只能执行

5.linux的基本命令之文件内容查看命令

1.cat—由第一行开始显示文件内容

  • cat a.txt: 读取a.txt文件的内容。这个是从第一行开始读取的

2.tac—从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

  • tac a.txt:读取a.txt文件,从组后一行开始读的

3.nl—显示的时候,输出行号!

  • nl a.txt: 读取a.txt文件,并会显示行号

4.more—一页一页的显示文件内容

  • more a.txt: 简单理解就是不会直接显示全部信息,而是显示一部分,然后按空格去进行翻页

5.less—与 more 类似,但是比 more 更好的是,他可以往前翻页!

  • less a.txt: 它跟more一样,但是它可以网上翻页(按q退出)
  • 在进入这个命令之后,可以使用:/字符串:向下搜寻字符串的功能;?字符串:向上搜寻字符串的功能;使用n 搜索下一个,N是向上寻找。

6.head—只看头几行

  • head -n 20 a.txt: 只显示20行的数据

7.tail—只看尾巴几行

  • tail -n 20 a.txt: 读最后面的20行

6.linux链接的感念

1. 硬连接

  • 硬连接指通过索引节点来进行连接。在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在 Linux 中,多个文件名指向同一索引节点是存在的。比如:A 是 B 的硬链接(A 和 B 都是文件名),则 A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号相同,即一个 inode 节点对应两个不同的文件名,两个文件名指向同一个文件,A 和 B 对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问
  • 硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除

2.软连接

  • 另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于 Windows 的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。比如:A 是 B 的软链接(A 和 B 都是文件名),A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号不相同,A 和 B 指向的是两个不同的 inode,继而指向两块不同的数据块。但是 A 的数据块中存放的只是 B 的路径名(可以根据这个找到 B 的目录项)。A 和 B 之间是“主从”关系,如果 B 被删除了,A 仍然存在因为两个是不同的文件),但指向的是一个无效的链接

3.ln—命令产生硬链接和软链接。

  • ln a.txt a1.txt: 创建一个a.txt的硬链接文件a1.txt文件
  • ln -s a.txt a2.txt: 创建一个a.txt文件的软链接文件a2.txt文件

7.Vim的使用

1. Vim是从 vi 发展出来的一个文本编辑器。用来编写文件修改文件的。

  • vim test.txt: 如果没有test.txt文件则创建该文件,如果有则进入修改该文件

2. 它有三种使用模式:

  • 命令模式:用户刚刚启动 vi/vim,便进入了命令模式,这时你敲键盘输入信息是没有效果的,这时我们需用按下i键进入到输入模式。当你想要保存退出的时候,需要先按Esc键。然后输入进入底线命令模式,切记,这个是英文的
  • 输入模式:我们在输入模式中,其实键盘操作跟windows是一样的。比如删除,回车等等。。。
  • 底线命令模式:w:表示保存, q:表示退出,组合使用即保存并退出

3.常用的一些命令

  • 数字(空格键): 比如 5 空格键。它会前往第五个字符
  • /字符串:用来向下搜索字符串的。按n可以接着向下搜索该字符串
  • ?字符串:用来向上搜索字符串的。按N可以接着向上搜索该字符串
  • u:复原上一次的动作
  • ctrl + r:重复上一次动作
  • i:在命令模式下进入输入模式
  • Esc:退出编辑页
  • :wq:保存退出
  • :set nu:设置行号

8.用户账号管理的操作

1. 创建一个用户:

  • useradd -m shisan: 创建一个名为shisan的用户,且在home文件夹下创建一个shisan的目录
  • -m: 自动创建这个用户的主目录即/home/shisan
  • -g 用户组 指定用户所属的用户组。
  • -G 用户组,用户组 指定用户所属的附加组。
  • -s Shell文件 指定用户的登录Shell。
  • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号
  • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录
  • -c comment 指定一段注释性描述。

2. 删除一个用户:

  • userdel -r shisan: 删除这个用户,并且将目录一起删除

3.修改用户

  • usermod -d /home/shisi shisan: 将shisan的主目录改为/home/shisi

4.切换用户

  • 切换用户的命令为:su shisan
  • 从普通用户切换到root用户,还可以使用命令:sudo su
  • 在终端输入exit或logout或使用快捷方式ctrl+d,可以退回到原来用户,其实ctrl+d也是执行的exit命令
  • 在切换用户时,如果想在切换用户之后使用新用户的工作环境,可以在su和username之间加-,例如:【su - root】
  • $表示普通用户;#表示超级用户,也就是root用户

5.给用户增加密码

  • passwd shisan:回车之后就可以输入密码了

6.root用户为其他用户指定口令:

  • passwd -l shisan:锁定用户,即表示该用户不能再使用了
  • passwd -u shisan:口令解锁。
  • passwd -d shisan:使账号无口令。
  • passwd -f shisan:强迫用户下次登录时修改口令。

9.用户组管理

1. 创建一个用户组

  • groupadd shisan: 添加一个明为shisan的用户组
  • groupadd -g 555 shisan2:指定id号。默认是自增的

2. 删除一个用户组

  • groupdel shisan2: 删除一个shisan2的用户组

3. 修改用户组的权限信息和名字

  • groupmod -g 666 -n shisan666 shisan:将shisan用户组改名为shisan666,并将id改为666

4. 切换用户组

  • newgrp shisan888:将当前用户组切换到shisan888用户组

10.磁盘管理

1. df :列出文件系统的整体磁盘使用量

  • -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
  • -k :以 KBytes 的容量显示各文件系统;
  • -m :以 MBytes 的容量显示各文件系统;
  • -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
  • -H :以 M=1000K 取代 M=1024K 的进位方式;
  • -T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
  • -i :不用硬盘容量,而以 inode 的数量来显示

2. du:检查磁盘空间使用量

  • -a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
  • -h :以人们较易读的容量格式 (G/M) 显示;
  • -s :列出总量而已,而不列出每个各别的目录占用容量;
  • -S :不包括子目录下的总计,与 -s 有点差别。
  • -k :以 KBytes 列出容量显示;
  • -m :以 MBytes 列出容量显示;

11.进程管理

1. ps:查看当前系统中正在执行的各种进程信息

  • a: 显示当前终端运行的所有进程信息
  • u:以用户的信息显示进程
  • x:显示后台运行进程的参数
  • ps aux|grep mysql:组合使用,即表示查看mysql的进程
    PS:在linux中 | 这个符号叫做管道符 A|B。grep 查找文件中符合条件的字符串

2. ps -ef:查看父进程的信息

  • ps -ef|grep java:查看java的进程
  • p: 显示父id
  • u:显示用户组
  • pstree -pu:组合使用,进程树展示

3. 结束进程

  • kill -15 pid进程号:正常杀死进程(推荐)
  • kill -9 pid进程号:强制杀死进程

12.linux基本命令

  • tar -zxvf 压缩文件名:解压缩命令
  • firewall-cmd —list-all:查看防火墙全部信息
  • firewall-cmd —list-ports:只看端口信息
  • systemctl status firewalld:查看firewall服务状态
  • service firewalld start:开启firewalld.service服务
  • service firewalld restart: 重启firewalld.service服务
  • service firewalld stop:关闭firewalld.service服务
  • firewall-cmd —zone=public —add-port=8888/tcp —permanent:开启端口命令
    防火墙全部信息
  • firewall-cmd —list-ports:只看端口信息
  • systemctl status firewalld:查看firewall服务状态
  • service firewalld start:开启firewalld.service服务
  • service firewalld restart: 重启firewalld.service服务
  • service firewalld stop:关闭firewalld.service服务
  • firewall-cmd —zone=public —add-port=8888/tcp —permanent:开启端口命令
  • systemctl restart firewalld.service:重启防火墙
版权声明:本文为[Redemption&]所创,转载请带上原文链接,感谢。 https://blog.csdn.net/Redemption___/article/details/121184033