【常用命令大全】Linux操作系统,从入门到精通01

Linux操作系统

目录

Linux操作系统

一、相关快捷键

1. 关于" ecs "的快捷键

2. 关于" ctrl "的快捷键

二、 相关命令

1. 关于" rm "的命令

2. 关于" ls "的命令

3. 关于" exit,logout "的命令

4. 关于" mkdir "的命令

5. 关于" touch "的命令

6. 关于" cd "的命令

7. 关于" pwd "的命令

8. 关于" rmdir "的命令

9. 关于" cp "的命令

10. 关于" mv "的命令

11. 关于" cat "的命令

12. 关于" less "的命令

13. 关于" head "的命令

14. 关于" tail "的命令

15. 关于" lsblk "的命令

16. 关于" In "的命令

17. 关于" --help "的命令

18. 关于" man "的命令

19. 关于" init "的命令

20. 关于" runlevel "的命令

21. 关于" halt "的命令

22. 关于" shutdown "的命令

23. 关于" reboot "的命令

24. 关于" uname "的命令

25. 关于" swapoff "的命令

26. 关于" nmcli "的命令

27. 关于" vim "的命令

28. 关于" host "的命令

29. 关于" nslookup "的命令

30. 关于" alias,unalias "的命令

31. 关于" history "的命令

32. 关于" date "的命令

33. 关于" clock,hwclock "的命令

34. 关于" cal "的命令

35. 关于" wc "的命令

36. 关于" echo "的命令

37. 关于" sleep "的命令

38. 关于" useradd "的命令

39. 关于" id "的命令

40. 关于" mail "的命令

41. 关于" passwd "的命令

42. 关于" chage "的命令

43. 关于" su "的命令

44. 关于" usermod,userdel "的命令

45. 关于" groupadd "的命令

46. 关于" groupmod,groupwd,groupdel "的命令

47. 关于" chmod "的命令

48. 关于" chown "的命令

49. 关于" umask "的命令

50. 关于" setfacl "的命令

51. 关于" grep "的命令

52. 关于" find,-exec "的命令

53. 关于" df "的命令

54. 关于" blkid "的命令

55. 关于" du "的命令

56. 关于" fdisk "的命令

57. 关于" mkfs "的命令

58. 关于" mount,umount,remount "的命令

59. 关于" gdisk "的命令

60. 关于" pstree "的命令

61. 关于" top "的命令

62. 关于" pgrep "的命令

63. 关于" kill,killall,pkill "的命令

64. 关于" last,lastb "的命令

65. 关于" netstat,ss "的命令

66. 关于" systemctl "的命令

三、相关解释

1. 关于" 后缀含义 "的解释

2. 关于" / 目录 "的解释

3. 关于" /etc/passwd 用户基本信息文件 "的解释

4. 关于" /etc/shadow 用户密码文件 "的解释

5. 关于" /etc/group,/etc/gshadow "的解释

6. 关于" RAID "的解释

7. 关于" ps,系统进程 "的解释

8. 关于" 查看已登录的用户信息 "的解释

9. 关于" 软件包类型 "的解释

10. 关于" rpm "的解释

11. 关于" yum "的解释

四、相关操作

1. 关于查看" CPU,内存信息 "的操作

2. 关于查看,修改,重启" 网卡信息 "的操作

3. 关于查看,修改" 主机名 "的操作

4. 关于" 管道符 "的操作

5. 关于" 重定向 "的操作

6. 关于" 用户模板目录 "的操作

7. 关于查看" 解释器 "的操作

8. 关于查看" 用户的默认值信息 "的操作

9. 关于如何" 匹配多个字符 "的操作

10. 关于" 解压缩文件 "的操作

11. 关于设置" 开机自动挂载 "的操作

12. 关于" 卷组,逻辑卷 "的操作

13. 关于" 放入后台运行 "的操作

14. 关于" 源码包安装 "的操作

15. 关于" 配置网卡 "的操作

16. 关于" 放通防火墙端口协议 "的操作


一、相关快捷键

1. 关于" ecs "的快捷键

① ecs + .(复制粘贴上一条命令的执行对象)

2. 关于" ctrl "的快捷键

① ctrl + c(废弃当前执行的命令)

② ctrl + l 或 clear(清屏)

③ ctrl + a(光标移动至行首)

④ ctrl + e(光标移动至行尾)

⑤ ctrl + u(根据光标位置清空至行首)

⑥ ctrl + w(删除一个单词,以空格为界限)

二、 相关命令

1. 关于" rm "的命令

① rm -rf /*(删除整个系统)

② rm test.txt(删除文件,需要回复y或n)

③ rm -r test(删除目录,需要回复y或n)

④ rm -rf test(强制删除目录,不需要回复)

2. 关于" ls "的命令

① ls(查看目录下的内容)

② ls -l(查看目录下的内容详细属性)

③ ls -lh(查看目录下的内容详细属性并人性化显示)

④ ls -ld(仅查看目录本身不显示目录下内容的详细属性)

⑤ ls -a(查看目录下所有内容,包括隐藏文件)

⑥ ls -i(查看目录下内容的inode号)

⑦ ls -R(递归查看目录下的内容)

3. 关于" exit,logout "的命令

① exit 或 logout(退出系统)

4. 关于" mkdir "的命令

① mkdir test1(创建新目录)

② mkdir test1 test2(连续创建多个目录)

③ mkdir /opt/test1 /opt/test2(指定在某路径下创建目录)

④ mkdir -p /opt/test1/test2/test3(递归创建多个目录)

5. 关于" touch "的命令

① touch test.txt(创建文件)

6. 关于" cd "的命令

① cd /opt(切换至opt目录)

② cd 或 cd~(返回家目录)

③ cd.(切换至当前目录)

④ cd..(切换至上一级目录)

⑤ cd -(在两个路径来回切换)

7. 关于" pwd "的命令

① pwd(打印当前目录的绝对路径)

8. 关于" rmdir "的命令

① rmdir test1(删除空目录)

9. 关于" cp "的命令

① cp test.txt /opt/abc.txt(复制目录或文件,并改名)

② cp -p test.txt /opt/abc.txt(保留源文件属性不变,如:修改时间、归属关系、权限)

③ cp -r q1 /opt/t1(复制该目录下所有子目录和文件)

10. 关于" mv "的命令

① mv test /opt(移动目录或文件,也支持改名)

11. 关于" cat "的命令

① cat /etc/sysconfig/network-scripts/ifcfg-ens*(查看网卡信息,cat只适合查看小的文件,过大往上滑不了)

② cat -n test.txt(用行号排序显示文件内容)

12. 关于" less "的命令

① less test.txt(查看文件,less适合查看内容较大的文件)

关于less操作界面的快捷键

① gg(跳到首行)

② G(跳到末行)

③ :n(精准定位到某行)

④ q(退出)

13. 关于" head "的命令

① head test.txt(查看文件,只显示开头10行内容)

② head -15 test.txt(显示开头15行内容)

14. 关于" tail "的命令

① tail test.txt(查看文件,只显示末尾10行内容)

② tail -15 test.txt(显示末尾15行内容)

③ tail -f test.txt(动态显示,用于观察日志)

15. 关于" lsblk "的命令

① lsblk(列出系统所有磁盘与磁盘内的分区)

② lsblk -d(仅列出磁盘本身,不列出磁盘内的分区)

③ lsblk -f(列出系统所有磁盘内分区的文件系统类型)

16. 关于" In "的命令

① ln -s /root/test /opt/abc(软连接,ln -s 源 目标,软连接可以跨分区,可以对目录或文件进行链接,源文件删除后链接文件不可用,源文件或链接文件会同步,一定要写目录或文件绝对路径,浅蓝色正确而红色闪动不可用,权限主要参照源文件)

② ln /root/test.txt /opt/abc.txt(硬连接,ln 源 目标,硬连接不可以跨分区,只可以对文件进行链接,源文件删除后链接文件仍然可用,白色正确可用,相当于cp -p,但拷贝不能相互同步内容)

17. 关于" --help "的命令

① ls --help(获取该命令帮助信息)

18. 关于" man "的命令

① man ls(获取该命令帮助信息,比--help更详细)

19. 关于" init "的命令

① init 3(切换运行级别3)

② init 0(关机)

③ cat /etc/inittab(查看默认哪个级别)

④ vim /etc/inittab

# multi-user.target : analogous to runlevel 3

# graphical.target : analogous to runlevel 5

# systemctl get-default :(后面加上参数可切换至3或5级别,永久性改变)

init N

① init 0(关机)

② init 1(单用户模式,root用户进行系统维护,系统里运行的所有服务都不会启动,必须在真机登录)

③ init 2(多用户模式,处于半正常状态,网络文件系统NFS没有被启动)

④ init 3(完全多用户模式,标准的运行状态)

⑤ init 4(系统未使用)

⑥ init 5(带图形化界面GUI的标准运行状态)

⑦ init 6(重启)

20. 关于" runlevel "的命令

① runlevel(查看运行状态,"3 1"表示从init3切换到init1

21. 关于" halt "的命令

① halt(立刻关机)

22. 关于" shutdown "的命令

① shutdown -h now(立刻关机)

② shutdown -h 10(10分钟后自动关机)

23. 关于" reboot "的命令

① reboot(重启)

24. 关于" uname "的命令

① uname(查看系统内核)

② uname -r(查看系统内核版本号)

③ uname -rs(显示内核名字以及版本号)

25. 关于" swapoff "的命令

① swapoff -a(Swap内存交换空间,当物理内存不足时,可以使用硬盘空间充当内存使用,这是临时关闭命令)

26. 关于" nmcli "的命令

① nmcli connction up 网卡名(激活网卡)

② nmcli connection down 网卡名(关闭网卡)

③ nmcli connection reload 网卡名(重启网卡)

27. 关于" vim "的命令

① vim 文件名(打开文件并编辑,若文件不存在则创建,vi也可以但没颜色。yum -y install vim,安装vim命令)

vim test.txt

命令模式(启动vi/vim即进入命令模式)

① x(删除光标所在的单字符)

② C(删除光标后所在行所有内容)

③ dd(删除一整行,可配合数字键指定范围,相当于剪切)

④ yy(复制一整行,可配合数字键指定范围)

⑤ p(粘贴当前光标所在行下面)

⑥ u(恢复上一次修改内容)

⑦ 0(零)(光标移至行首)

⑧ $(光标移至行尾)

⑨ gg(跳转至文件第一行)

⑩ G(跳转至文件最后一行)

⑪ /关键词(搜索文件内关键词,n从上到下,N从下到上)

输入模式

① i(切换到输入模式,光标所在字符前插入)

② a(切换到输入模式,光标所在字符后插入)

③ o(切换到输入模式,光标所在标下面插入新行)

底线命令模式(命令模式按" : "即进入)

① :w(保存)

② :q(退出)

③ :q!(强制退出不保存)

④ :wq 或 :x 或 ZZ(保存并退出)

⑤ :wq!(强制保存并退出,适用于只读文件"'readonly' option is set (add ! to override)")

⑥ :set nu(显示行号)

⑦ :行号(快速跳转至某行)

⑧ :set nonu(取消显示行号)

⑨ :% s/old/new/g(全文替换old为new)

⑩ :nohl(取消高亮)

28. 关于" host "的命令

① host www.bing.com(解析公网域名成一个IP地址)

② host 13.107.21.200(反向解析IP地址成一个公网域名)

29. 关于" nslookup "的命令

① nslookup www.baidu.com(查询域名解析是否正常,当无法访问外网时)

30. 关于" alias,unalias "的命令

① alias lsl='ls -al'(临时设置命令别名)

② unalias lsl(取消别名)

③ vim /root/.bashrc(永久设置命令别名)

31. 关于" history "的命令

① history(显示命令历史记录)

② history -d 行数(删除某一行在history中)

③ history -c(清空history,但/root/.bash_history还存在)

④ history -a(马上同步到/root/.bash_history)

⑤ cat /root/.bash_history(历史命令在这存储,系统退出时才会保存)

⑥ vim /etc/profile(history默认只可用存储1000条,可以修改HISTSIZE=条数)

history

① !行数(调用历史记录命令)
② !vi(调用历史记录命令中vi开头命令,如有多个相同,即调用最近时间的)

③ !!(重复执行上一次操作)

32. 关于" date "的命令

① date(显示系统日期与时间)

② date +%Y(显示年份)

③ date +%B(显示月份)

④ date +%d(显示日)

⑤ date +%H(显示时)

⑥ date +%M(显示分)

⑦ date +%S(显示秒)

⑧ date +%F(显示年-月-日)

⑨ date +%X(显示时:分:秒)

⑩ date +%F-%H-%M-%S(显示日期时间,综合使用)

⑪ date -s 2024-08-13 或 date -s 17:16:00 或 date -s '2024-08-13 17:16:00'(设置日期时间)

33. 关于" clock,hwclock "的命令

① clock(显示硬件时间,会提醒与date系统时间差了多少)

② hwclock -w(把硬件时间设置成系统时间)

③ hwclock -s(把系统时间设置成硬件时间)

34. 关于" cal "的命令

① cal(日历)

35. 关于" wc "的命令

① wc /root/test.txt(统计文件的行数、单词、字节并输出到屏幕)

② wc -c /root/test.txt(统计文件字节数)

③ wc -l /root/test.txt(统计文件行数)

36. 关于" echo "的命令

① echo 123(输出字符串)

② echo test > /etc/hostname(永久修改主机名,可结合重定向)

37. 关于" sleep "的命令

① sleep 5(系统休眠5秒钟)

② sleep 5s(系统休眠5秒钟)

③ sleep 5m(系统休眠5分钟)

④ sleep 5h(系统休眠5小时)

⑤ sleep 5d(系统休眠5天)

38. 关于" useradd "的命令

① useradd 新用户名(创建新用户,只有root管理员才能使用)

② useradd -u 新用户名 新UID(创建新用户并指定UID)

③ useradd -d 新目录 新用户名(创建新用户并指定新目录)

④ useradd -c yunwei,xx163.com 新用户名(创建新用户并指定用户描述信息)

⑤ useradd -s 解释器程序(/bin/sh或/bin/bash) 新用户名(创建新用户并指定用户的解释器程序)

⑥ useradd -G yunwei,kaifa,ceshi 新用户名(创建新用户并指定用户附加组)

⑦ useradd -s /bin/sh -u 2345 -c kaifa,abc@163.com -G yunwei,kaifa,ceshi 新用户名(综合使用)

39. 关于" id "的命令

① id root(查看用户的组信息)

40. 关于" mail "的命令

① mail(查看邮件,/var/spool/mail/用户邮件目录)

41. 关于" passwd "的命令

① passwd(设置用户密码)

② passwd 用户名(设置普通用户密码)

③ passwd -S 用户名(查看该用户名密码信息)

④ passwd -l 用户名(锁定该用户密码)

⑤ passwd -u 用户名(解锁用户密码)

⑥ passwd -d 用户名(删除该用户密码)

⑦ echo '密码' | passwd 用户名 --stdin(设置用户密码,非交互设置)   

42. 关于" chage "的命令

① chage -d 0 用户名(强制用户下次登录修改密码)

43. 关于" su "的命令

① su user1(切换用户,但基本身份没有改变)

② su - user1(切换用户)

44. 关于" usermod,userdel "的命令

① usermod -u UID user(修改用户的UID)

② usermod -d 家目录 user(修改用户的家目录)

③ usermod -g 基本组 user(修改用户的基本组)

④ usermod -c 描述信息 user(修改用户的描述信息)

⑤ usermod -G 附加组 user(修改用户的附加组)

⑥ usermod -s 解释器程序 user(修改用户的解释器)

⑦ userdel 用户名(删除用户,但不会删除该用户的家目录)

⑧ userdel -r 用户名(删除用户并删除该用户的家目录)

45. 关于" groupadd "的命令

① groupadd developers(创建一个新的用户组,新组信息存储在/etc/group文件中)

46. 关于" groupmod,groupwd,groupdel "的命令

① groupmod -n 新组名 developers(修改组名)

② groupmod -g 新GID developers(修改组的GID)

③ groupwd -a user_name develops(将其他用户添加到develops组中)

④ groupwd -d user_name develops(将用户从工作组移除)

⑤ groupdel 组名(删除指定的工作组,主组不允许删除)

47. 关于" chmod "的命令

chmod

① 归属关系:u(user所有者),g(group所属组),o(other其他人)

② 权限类别:r读取(4),w写入(2),x执行(1),-没有权限(0)

① chmod u+x test.txt(将test.txt文件设为所有者可执行)

② chmod u-x test.txt(将test.txt文件设为所有者不可执行)

③ chmod u=rwx,g=rw,o=--- test.txt(将test.txt文件设为所有者可读可写入可执行,设为所属组可读可写入,设为其他人没有权限)

④ chmod 664 test.txt(将test.txt文件设为所有者可读可写入,设为所属组可读可写入,设为其他人可读)

⑤ chmod -R u+x /root(将/root目录下所有子文件和子目录权限为该目录一致,所有者可执行)

⑥ chmod -R 777 /root(将/root目录设为所有人可读可写入可执行)

⑦ ll -d /root(仅查看目录本身不显示目录下内容的详细属性)

chmod

文件chmod权限只针对文件里的内容而不是文件本身)

① r:查看文件内容

② w:对文件内容拥有增删改权限

③ x:可以运行该文件

目录

① r:查看目录

② w:在该目录下创建文件、修改文件属性、删除任何用户文件

③ x:可以切换到该目录

① chmod u+s myscript.sh 或 chmod 4777 myscript.sh(SetUID,可对可执行文件添加SUID权限,user权限位的x权限会变成s,使其他普通用户执行该文件临时拥有user身份)

② chmod g+s myscript.sh 或 chmod 2777 myscript.sh(SetGID,可对可执行文件添加SGID权限,group权限位的x权限会变成s,使其他普通用户执行该文件时临时拥有group身份)

③ chmod o+t 目录名(Sticky BIT,只针对目录有效,对目录设置SBIT权限,只有root可以删除所有权限外,拥有rwx权限的其他普通用户也只能删除自己建立的文件,不能删除其他用户建立的文件。other权限位的x会变成t)

48. 关于" chown "的命令

① chown newuser:newgroup filename(同时改变文件所有者和所属组)

② chown newuser filename(改变文件所有者)

③ chown :newgroup filename(改变文件所属组)

49. 关于" umask "的命令

① umask(查看未来所有创建的目录特殊权限、所有者权限、所属组权限、其他人权限,0022代表777-022即u=rwx,g=rw,o=rw)

② umask -S(以u=rwx,g=rw,o=rw格式显示)

③ umask g+w(未来所有创建的目录,所属组都有可写权限)

50. 关于" setfacl "的命令

① setfacl -m u:ken:rw test.txt单独为ken用户设置对test.txt的权限为读和执行

② setfacl -x u:ken test.txt清除ken用户对test.txt文件的acl规则

③ setfacl -b test.txt清除test.txt文件所有acl规则

51. 关于" grep "的命令

① grep hello file.txt在file.txt文件匹配出存在hello的行

② grep -v hello file.txt在file.txt文件输出不存在hello的行,相当于排除

③ grep -n hello file.txt以行号形式输出带有hello的行

④ grep -v hello file.txt忽略hello大小写输出带有hello的行

⑤ grep ^h file.txt输出匹配到以h开头的行

⑥ grep o$ file.txt输出匹配到以o结尾的行

⑦ grep ^$ file.txt输出空行

52. 关于" find,-exec "的命令

① find /var/log -cmin -120 -exec cp {} /opt \(查找/var/log当前目录及子目录下120分钟前修改过的文件,并使用-exec交给下一条命令,因为管道符" | "无法在find使用,过滤出的文件相当于{}\代表额外处理命令结束)

② find /var/log -type f(查找类型是文件的,f文件、d目录、l链接文件)

③ find /var/log -name "*.log"(查找出以.log结尾的目录文件,与ls不同的是find也能寻找子目录)

④ find /var/log -iname test(按文件名查找并忽略大小写)

⑤ find /var/log -size +10k -type f(查找大于10k的文件,其中"+"代表大于,"-"代表小于,可以使用K、M、G)

⑥ find /var/log -size +10k -a -size -20k -type f(查找大于10k并且小于20k的文件,-a代表并且)

⑦ find /var/log -name "*.log" -o -size -10k -type f(查找以.log结尾的文件或小于10k的文件,-o代表或者)

⑧ find / -user 用户名(查找哪个用户的文件目录)

⑨ find /var/log -mtime +10 -type f(查找10天之前的文件,其中"+"代表多少天之前,"-"代表多少天之内,"0"代表24小时之内)

⑩ find /var/log -name *.log -type f -a -mtime +10 -exec cp /dev/null {} \(清空find查找到的文件内容)

53. 关于" df "的命令

① df(查看文件系统(分区)使用情况,有多少空闲磁盘空间)

② df -h(以易读的方式查看文件系统(分区)使用情况,有多少空闲磁盘空间)

③ df -T(查看文件系统(分区)使用情况并显示文件系统类型)

④ df -hT(查看分区的使用情况)

54. 关于" blkid "的命令

① blkid(显示系统中所有块设备的名称、UUID、文件系统类型)

55. 关于" du "的命令

① du /root(显示/root目录下各个子目录和文件的空间大小)

② du -h /root(显示/root目录下各个子目录和文件的空间大小,并以人类可读的方式显示)

③ du -sh /root(显示/root目录下各个子目录和文件空间的总大小,并以人类可读的方式显示,而ll -d只统计文件名字数据而不是里面)

56. 关于" fdisk "的命令

① fdisk -l /dev/nvme0n1(列出磁盘的分区信息,dos磁盘标签类型是MBR分区格式)

② fdisk /dev/nvme0n1 -> n(新增一个分区)-> p(主分区)/ e(扩展分区)-> 1-4(分区号) -> 2048-209715199(起始扇区) -> +大小K/M/G(起始开始要加多少空间,这个分区空间大小)

③ fdisk /dev/nvme0n1 -> m(获取命令帮助)

④ fdisk /dev/nvme0n1 -> d删除一个分区) -> 1-2

⑤ fdisk /dev/nvme0n1 -> w保存分区退出

⑥ fdisk /dev/nvme0n1 -> q不保存分区退出

57. 关于" mkfs "的命令

① mkfs.xfs /dev/sdb1(将分区格式化为xfs类型文件系统类型)

② mkfs.ext4 /dev/sdb1(将分区格式化为ext4类型文件系统类型)

58. 关于" mount,umount,remount "的命令

① mount /dev/sdb1 挂载点目录(临时挂载文件系统类型到一个目录,如果该目录有数据挂载后会暂时隐藏,卸掉挂载点就会出现。一个目录只允许挂载一个分区。起存储作用是磁盘和内存,卸掉挂载点里的数据会一直存放在挂载点)

② umount 挂载点目录(卸载文件系统类型)

③ mount -a(依照/etc/fstab将所有未挂载的磁盘挂载上来)

④ mount -o 挂载参数 /dev/sdb1 /mnt/ntfs(根据挂载参数进行挂载)

⑤ remount(重新挂载文件系统)

59. 关于" gdisk "的命令

① gdisk -l /dev/nvme0n1(列出磁盘分区类型和分区信息)

② gdisk /dev/nvme0n1 -> n(新增一个分区)-> 1-128(分区号)-> 2048-209715199(起始扇区)-> +大小K/M/G(起始开始要加多少空间)

③ gdisk /dev/nvme0n1 -> ?(获取命令帮助)

④ gdisk /dev/nvme0n1 -> p(显示磁盘分区表,gpt磁盘标签类型是GPT分区格式)

⑤ gdisk /dev/nvme0n1 -> d(删除一个分区)

⑥ gdisk /dev/nvme0n1 -> w(保存分区退出)

⑦ gdisk /dev/nvme0n1 -> q(不保存分区退出)

60. 关于" pstree "的命令

① pstree(查看进程树)

# systemd(天赋进程)——NetworkManager——2*[{NetworkManager}]:

代表一个进程,父进程——子进程,"2*"代表两个线程

② pstree -p(显示进程PID)

③ pstree -a(显示完整的命令行)

④ pstree -u(列出每个进程所属账号名称)

⑤ pstree -pa 其他用户名(查看指定的用户进程树,并显示PID和命令行)

61. 关于" top "的命令

① top动态系统性能及运行状态;键盘上下键翻行;h获取交互模式帮助;P按照CPU排序;M按照内存排序;q退出

② top -d 5指定5秒刷新一次,默认3秒

top

第一行top字段

① 15:25:59(当前系统的本地时间)

② up 1:43(当前系统已经运行的时间)

③ 3 users(多少个终端在登录)

④ load average:0.00, 0.01, 0.05(CPU的1分钟,5分钟,15分钟之前平均负载量,根据CPU核数判断系统CPU负载量,1核CPU若高于1代表负载过高,以此类推)

第二行Tasks字段

① 115 total(当前系统中进程的总数量)

② 1 running(正在运行的进程数量)

③ 114 sleeping(正在睡眠的进程数量)

④ 0 stopped(正在停止的进程数量)

⑤ 0 zombie(僵尸进程数量,僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程)

kill -9 + 父进程号(杀死僵尸进程)

第三行%CPU(s)字段

① 0.0 us(用户进程占用的CPU百分比)

② 0.0 sy(系统进程占用的CPU百分比)

③ 0.0 ni(改变过优先级的用户进程占用的CPU百分比)

④ 100.0 id(空闲的CPU百分比)

⑤ 0.0 wa(等待输入/输出的进程的占用CPU百分比)

⑥ 0.0 hi(硬中断请求服务占用的CPU百分比)

⑦ 0.0 si(软中断请求服务占用的CPU百分比)

62. 关于" pgrep "的命令

① pgrep sshd(简洁过滤,通过程序名匹配其进程PID)

② ps aux | grep ssh(完整过滤)

③ pgrep -l ssh(输出PID与进程名)

④ pgrep -u 用户名(查找该用户的进程)

⑤ pgrep -x ssh(精准匹配名为”ssh”的进程)

⑥ pgrep -t tty1(查找指定终端进程PID)

63. 关于" kill,killall,pkill "的命令

① kill -l(列出可用进程信号)

② kill PID(杀死进程)= kill -15 PID

③ kill -1 PID(重启进程)

④ kill -9 PID(强制杀死进程,适用于僵尸进程)

⑤ killall sleep(强制杀死进程,比kill删的更彻底)

⑥ killall -9 -u 用户名(杀死所有关于sleep的命令)

⑦ pkill -9 -t 终端号(踢出指定终端用户)

64. 关于" last,lastb "的命令

① last(显示历史登录成功的用户信息)

② lastb(显示登录失败的用户信息)

65. 关于" netstat,ss "的命令

① netstat -antulp 或 ss -antulp(查看系统中启动的端口信息,前者是CentOS6后者是CentOS7,-a显示所有端口信息,-n以数字格式显示端口号,-t显示TCP连接的端口,-u显示UDP连接的端口,-l显示服务正在监听的端口信息,-p显示监听端口的程序名)

66. 关于" systemctl "的命令

① systemctl start 程序名(启动服务)        

② systemctl restart 程序名(重启服务)

③ systemctl stop 程序名(停止服务)      

④ systemctl enable 程序名(设置服务随机自启)

# to /usr/lib/systemd/system/vsftpd.service(会生成一个随机自启的控制文件)

⑤ systemctl disable 程序名(设置服务不随机自启)

⑥ systemctl status 程序名(查看服务状态)

# 最后一行 -14274 /usr/sbin/vsftpd(所在路径)/etc/vsftpd/vsftpd.conf(配置文件)

⑦ systemctl is-enabled 程序名(查看服务是否被设置随机自启)

三、相关解释

1. 关于" 后缀含义 "的解释

① .sh(脚本文件)

② .conf(配置文件)

③ .conf(配置文件)

④ .log(日志文件)

⑤ .rpm(软件包)

⑥ .tar(压缩包)

2. 关于" / 目录 "的解释

① /dev(存放硬件设备,如键盘、鼠标、硬盘、光盘等)

② /etc(存放用户信息文件,服务配置文件)

③ /home(系统普通用户的家目录)

④ /mnt 或 /media(光盘和镜像等预设的挂载点)

⑤ /var/log(随时都在变化的日志文件)

⑥ /usr/local(额外安装的软件存放目录)

3. 关于" /etc/passwd 用户基本信息文件 "的解释

① vim /etc/passwd(存放用户的基本信息的文件,每一行即代表一个用户)

vim /etc/passwd

# root : x : 0 : 0 : root : /root : /bin/bash

① 用户名

② 密码占位符,永远都是x

③ 用户的UID(UID 1~999系统伪用户,不能登录系统;UID 0超级管理员;UID 1000~65535普通用户,管理员创建的用户)

④ 基本组GID(基本组也称初始组,一个用户只允许有一个基本组。而附加组,一个用户可以允许有多个附加组)

⑤ 用户描述信息

⑥ 家目录

⑦ 解释器程序(用户→解释器→内核→硬件)

4. 关于" /etc/shadow 用户密码文件 "的解释

① cat /etc/shadow(存放用户的密码文件,/etc/passwd用户信息文件有多少用户则/etc/shadow用户密码文件就有多少)

vim /etc/shadow

① 用户名

② 密码,加密字符串,加密算法为SHA512。如果密码位是"⭐"或者"! !"表示密码已过期

③ 密码最后一次修改日期,日期从1970.1.1起每过一天时间戳加1

④ 密码修改的期限,如果该字段为10,则10天之内不可以修改密码

⑤ 密码有效期,过了这个有效期需要改密码并继续相同有效期

⑥ 密码到期前警告时间,与第⑤相比

⑦ 密码过期后宽限天数,登录必须重新改密码,与第⑤相比

⑧ 账户失效时间,日期从1970.1.1起

⑨ 保留

5. 关于" /etc/group,/etc/gshadow "的解释

vim /etc/group

① 组名

② 组密码占位符"x"

③ GID

④ 组里的附加用户

vim /etc/gshadow(存放组密码文件)

① 组名

② 组密码,若是"!"代表没密码

③ 组内管理员

④ 组里的附加用户

6. 关于" RAID "的解释

RAID:磁盘阵列,将多个独立的磁盘整合成一个逻辑磁盘(RAID盘),再把多块RAID盘组合成虚拟硬盘(卷组)

① RAID0:等量存储,至少由两块磁盘组成。能并行写入但没有冗余功能

② RAID1:完全备份,至少由两块磁盘组成。同一文档复制多份存储,具备完全冗余功能,但读写效率下降

③ RAID2:至少由三块磁盘组成。数据分散存储不同磁盘,采用检验算法,数据量比原有数据大且开销较大

④ RAID3:至少由三块磁盘组成。校验数据单独存放在另外一块磁盘

⑤ RAID4:至少由三块磁盘组成。与RAID3区别是数据分割方式不同

⑥ RAID5:至少由三块磁盘组成。校验数据分散写入不同磁盘

⑦ RAID6:至少由四块磁盘组成。2倍校验数据分散写入不同磁盘,采用双校验算法

⑧ RAID7:美国SCC公司专利

⑨ RAID10:是RAID0与RAID1组合,至少由四块磁盘组成。将4块磁盘组合成两组RAID1,再把两组RAID1组合成RAID0。缺点是可用容量是总容量的一半

7. 关于" ps,系统进程 "的解释

① ps aux(以Unix格式静态查看系统进程,a显示当前终端所有进程,u以用户格式输出,x当前用户在所有终端下进程)

② ps -ef(以Linux格式静态查看系统进程,-e显示系统所有进程,-f显示最完整的进程信息,-l以长格式输出信息)

① user:进程属于哪个用户

② PID:进程PID号

③ %CPU:进程占用CPU资源百分比

④ %MEM:进程占用物理内存百分比

⑤ VSZ:进程使用掉的虚拟内存量(单位kb)

⑥ RSS:进程占用固定内存量(单位kb)

⑦ TTY:进程在哪个终端运行,如果内核直接调用则显示"?",tty1-tty6表示本机终端登录用户的进程,pts/0-255则表示远程终端登录用户的进程

⑧STAT:进程状态R(Running)运行、S(Sleep)休眠、s包含子进程、T(stop)停止、Z(Zombie)僵尸表示子进程结束父进程没有回收+后台进程

ps -e -o ppid,start | grep Z(查找僵尸进程与其父进程)

⑨ START:进程启动时间

⑩ TIME:占用CPU运算时间

⑪ COMMAND:产生进程的命令  

8. 关于" 查看已登录的用户信息 "的解释

① users(查看已登录的用户信息)

② who(查看已登录的用户信息,显示终端号)

③ w(查看已登录的用户信息,显示终端号)

w(第一行为top命令显示的第一行)

① USER:已登录的用户名

② TTY:用户登录终端编号

③ FROM:登录地址

④ LOGIN@:登录时间

⑤ IDLE:用户空闲时间,这是个计时器,一旦用户执行任何操作,该计时器就会被重置

⑥ JCPU:该终端所有进程占用CPU处理时间,包括正在运行和后台作业占用时间

⑦ PCPU:进程执行以后消耗的CPU时间

⑧ WHAT:当前正在执行的任务命令

9. 关于" 软件包类型 "的解释

软件类型

① 源码包

可以自定义安装路径,但需要手动编译且手动解决软件包的依赖关系

② 二进制包=RPM包

可以rpm安装,可以yum安装

被提取编译,但功能不能自定义,看不见源代码

vsftpd-3.0.2-25.el7.x86_64.rpm  

① vsftpd(软件包名称)

② 3.0.2(软件包版本,主版本.次版本.修改版本)

③ 25(补丁次数)

④ el7(适合的系统,el7表示RHEL7 centos7也可以)

⑤ x86_64(适合的CPU架构)

⑥ rpm(rpm包扩展名)

10. 关于" rpm "的解释

RPM

①需要手动解决软件包之间的依赖关系

②安装的系统镜像文件也具备很多软件包也可以直接使用,在/dev/sr0中,软连接到/dev/cdrom,需要挂载才能查看Packages,如mount /dev/cdrom /mnt/centos

③下载软件包要在该包路径或指定其路径(/mnt/centos/Packages/包名)

④软件包分程序名vsftpd和软件包全名vsftpd-3.0.2-25.el7.x86_64.rpm

① rpm -ivh vsftpd-3.0.2-25.el7.x86_64.rpm(安装软件包,其中i是安装,v是显示详细信息,h显示软件安装进度)

② rpm -q vsftpd(查询该软件是否安装)

③ rpm -qa(列出已经安装的软件包,可配合grep过滤)

④ rpm -qi vsftpd(列出该软件包的详细信息,包含版本与官网)

⑤ rpm -qf /etc/passwd(查询配置文件由哪个软件包产生)

⑥ rpm -ql vsftpd(列出与该软件包相关所有文件与目录的存放)

⑦ rpm -Uvh vsftpd-3.0.2-25.el7.x86_64.rpm(升级安装软件包,升级时要做好相关备份,先cp备份出来)

⑧ rpm -e vsftpd(卸载软件包,一般只会停止)

⑨ rpm -i --nodesps vsftpd-3.0.2-25.el7.x86_64.rpm(忽略依赖关系安装软件包)

⑩ rpm --import RPM-GPG-KEY-CentOS-7(导入红帽签名文件)

11. 关于" yum "的解释

yum

①提供众多软件包的仓库,并自动解决软件包之间复杂的依赖关系

②安装系统镜像文件会自带很多软件包在Packages中,可以自己创建一个文件并在文件中配置仓库参数,自己搭建一个本地仓库

③连接外网,使用网络仓库

本地仓库配置,本地yum源配置

① vim /etc/yum.repos.d/local.repo(必须在/etc/yum.repos.d路径下,且以.repo结尾)

[local](仓库名称,自定义英文,具有唯一性)

name=local_centos(仓库描述信息,不具备唯一性)

baseurl=file:///mnt/centos(指定软件仓库地址,file://用于指定本地软件包存放位置(即Packages的路径))

enabled=1(软件仓库是否启动,1启动,0不启动)

gpgcheck=0(是否检测软件包签名,0不检测,1检测)

配置本地yum源

① 进入"光盘CD/DVD"使用ISO映像文件(里面有包与镜像)

② lsblk(查看是否挂载成功)

# sr0 ll:0 1 6.6G 0 rom /run/media/root/RHEL-8-0-0-BaseOS-x86_64

上面的目录是/etc/yum.repos.d/local.repo中baseurl=file://中包的目录

③ yum repolist(验证本地yum源)

① yum install vim -y(安装软件包,-y自动回复yes)

② yum repolist(列出仓库可用软件包)

③ yum list(列出可按照的软件包包含已安装过的,也可以指定vim)

④ yum updata vim(升级软件包)

⑤ yum list vim --showduplicates(列出仓库中该软件所有版本)

⑥ yum -y install --setopt=obsoletes=0 vim(安装软件包,但此包不会替换掉已安装的旧版本)

⑦ yum remove vim(卸载软件包,不会卸载依赖包)

⑧ yum provides vim(搜索该命令由哪个软件包产生)

⑨ yum makecache(生成缓存,加快下载速度)

⑩ yum clean all(清除仓库缓存)

⑪ yum -y install lrzsz(可以把windows的软件传到Linux中)

网络仓库配置,网络yum源配置

① cd /etc/yum.repos.d/

② wget https://developer.aliyun.com/special/mirrors/notice(配置阿里软件仓库)

③ wget https://mirrors.163.com/.help/CentOS6-Base-163.repo(配置网易软件yum源)

④ yum -y install yum-priorites(安装yum-priorities插件,当同时具有本地yum源和网络yum源,从本地安装更快。下载完插件 vim /etc/yum.repos.d/local.repo并在最后一行加priority=1,优先级为1-99之间)

四、相关操作

1. 关于查看" CPU,内存信息 "的操作

① cat /proc/cpuinfo 或 lscpu(查看CPU信息)

② cat /proc/meminfo 或 free(查看内存信息)

③ free -h(查看内存信息并以K、M、G显示)

2. 关于查看,修改,重启" 网卡信息 "的操作

① cat /etc/sysconfig/network-scripts/ifcfg-ens*(查看网卡信息)

# DEVICE="ens32"(网卡名字)

# ONBOOT="yes"(开机或重启时是否启动网卡,需要等于yes)

# IPADDR="192.168.0.80"(IP地址)

# PREFIX="24"(子网掩码)

# GATEWAY="192.168.0.254"(网关)

② ifconfig 或 ip a(查看网卡参数信息。yum -y install net-tools安装软件包,该包提供ifconfig

③ nmcli connection modify 网卡名 ipv4.method manual ipv4.addresses IP地址/掩码 conncetion.autoconnect yes(修改网卡的IP地址)

# numcli connection modify(修改)

# 网卡名 ipv4.method(配置ipv4地址方法)

# manual(手动配置)

# ipv4.addresses(ipv4地址)

# IP地址/掩码 connction.autoconnect yes(开机自动连接)

④ systemctl restart network(重启网络)

⑤ ifdown ens32 + ifup ens32(重启网卡)

3. 关于查看,修改" 主机名 "的操作

① cat /etc/hostname 或 hostname(查看主机名)

② hostname 新主机名(临时修改主机名,需要重新登录生效,但/etc/hostname配置文件没改变)

③ hostnamectl set-hostname 新主机名(永久修改主机名,需要重新登录生效,/etc/hostname发送改变则永久生效)

4. 关于" 管道符 "的操作

① head /root/test.txt | tail -5(管道符,将前面输出的开头10行命令只输出后5行)

5. 关于" 重定向 "的操作

① cat -n /etc/passwd > test.txt(重定向操作,前面命令的输出结果写入到后面文件中,也具备创建新文件功能)

重定向

① >重定向输出,反复重定向会覆盖,只收集正确的输出

② >>重定向输出,可追加,只收集正确的输出

③ 2>只收集错误输出,覆盖

④ 2>>只收集错误输出,追加

⑤ &>正确错误的输出都收集,覆盖

⑥ &>>正确错误的输出都收集,追加

⑦ <输入重定向,覆盖

⑧ <<输入重定向,追加

6. 关于" 用户模板目录 "的操作

① ls -a /etc/skel(/etc/skel是用户模板目录,为新建用户提供统一的初始化环境,需要把隐藏目录找出来)

7. 关于查看" 解释器 "的操作

① cat /etc/shells(查看解释器,有/bin/sh的Unix和/bin/bash解释器)

8. 关于查看" 用户的默认值信息 "的操作

① vim /etc/default/useradd(存放用户的默认值信息,如用户默认组、用户家目录、默认使用什么解释器)

9. 关于如何" 匹配多个字符 "的操作

① ls /var/log/*[0-9]*(匹配中间存在0至9的文件)

② touch test{1..100}(连续创建100个文件)

③ ls /etc/*{a,b,c}(匹配存在a、b和c的文件目录,不需abc连在一起)

10. 关于" 解压缩文件 "的操作

① gzip 文件名(压缩文件,格式为.gz,压缩后大小最大,速度最快)

② bzip2 文件名(压缩文件,格式为.bz2,压缩后大小中等)

③ xz 文件名(压缩文件,格式为.xz,压缩后大小最小,速度最慢)

④ gzip -d 文件名(解压缩.gz文件)

⑤ bzip2 -d 文件名(解压缩.bz2文件)

⑥ xz -d 文件名(解压缩.xz文件)

⑦ zcat 文件名.gz(查看压缩文件)

⑧ bzcat 文件名.bz2(查看压缩文件)

⑨ xzcat 文件名.xz(查看压缩文件)

⑩ tar -cf opt.tar /opt(打包/opt目录为opt.tar文件,-c创建打包文件,-f指定打包后的名称)

⑪ tar -czf log.tar.gz /car/log(调用gzip压缩工具打包/var/log目录为log.tar.gz文件,-z调用gzip压缩工具、-J调用xz压缩工具、-j调用bzip2压缩工具)

⑫ tar -tf log.tar.gz(列出打包文件的内容,-t列出内容)

⑬ tar -xf log.tar.gz(解压打包文件)

⑭ tar -xf log.tar.gz -C /opt(解答打包文件并指明解压路径)

⑮ tar -vczf log.tar.gz /var/log(显示详细信息,会告诉你对哪些文件进行了压缩)

11. 关于设置" 开机自动挂载 "的操作

vim /etc/fstab

# 开机自动挂载 /dev/nvme0n1 / xfs defaults 0 0

① 挂载的设备路径

② 挂载点目录

③ 设备系统文件类型

④ 挂载参数

⑤ 是否对文件系统进行备份,0不备份,1备份(一般为0)

⑥ 是否检查文件系统顺序,0代表不检查,1的优先权最高(一般为0)

12. 关于" 卷组,逻辑卷 "的操作

多个逻辑卷=卷组LVM(由多个物理分区组成)

① vgcreate 卷组名 /dev/sdb2 /dev/sdb3(创建卷组,选的物理分区一般都是空的且没挂载点)

② vgdisplay 卷组名(查看卷组)

③ vgs(查看卷组)

④ lvcreate -L 大小 -n 逻辑卷名 卷组名(创建逻辑卷)

⑤ lvdisplay /dev/卷组名/逻辑卷名(查看逻辑卷)

⑥ lvs(查看逻辑卷)

⑦ mkfs.xfs /dev/卷组名/逻辑卷名(xfs格式化文件系统)

⑧ mount /dev/卷组名/逻辑卷名 挂载点目录(挂载逻辑卷)

⑨ df -h(查看分区使用情况)

⑩ vim /etc/fstab(开机自动挂载)

⑪ mount -a(参照/etc/fstab将没挂载的磁盘分区挂载上来)

lvextend -L +大小K/M/G 逻辑卷挂载目录(扩展逻辑卷,前提是卷组有空间)

① vgs(查看卷组空间)

② lsblk(列出所有分区,将需要的分区加入卷组)

③ vgextend 卷组名 /dev/sdb5 /dev/sdc(扩展卷组)

④ lvs(查看逻辑卷空间)

⑤ df -h(查看分区使用情况发现后面扩展的空间没成功,因为没文件系统)

⑥ xfs_growfs /逻辑卷挂载目录(扩容xfs设备)

⑦ resize2fs /dev/卷组名/逻辑卷名(扩容ext3/ext4设备)

缩容逻辑卷(先缩容文件系统 -> 再缩容逻辑卷空间并需要卸载挂载点,使用lvreduce命令)

删除逻辑卷(要卸载挂载点)

① umount /mnt/databse

② e2fsck -f /dev/datastore/database(检查)

③ resize2fs /dev/datastore/database 6G(调整文件系统)

④ lvreduce -L 6G /dev/datastore/database(缩容逻辑卷)

⑤ umount /mnt/database

⑥ lvremove /dev/datastore/database(删除逻辑卷)

删除pv物理卷(要删除lv逻辑卷 -> 删除vg卷组 -> 删除pv物理卷,但分区文件系统还存在,重新格式化分区数据会丢失)

① rpm -q lvm2

② pvcreate /dev/sda1 /dev/sdc1

③ pvs 或 pvdisplay(查看)

④ vgcreate -s 16M(指定PE块大小16M,默认8M) datastore /dev/sdb1 /dev/sdc1

13. 关于" 放入后台运行 "的操作

① sleep 5 &(将该进程放入后台运行)

② jobs -l(查看后台进程列表)

③ fg %1(进程编号,将后台进程恢复至前台运行)

④ ctrl + z(挂起当前进程并放入后台)

⑤ bg %1(进程编号,激活被放入后台的进程)

14. 关于" 源码包安装 "的操作

① wget http://nginx.org/download/nginx-1.20.2.tar.gz(从官网复制链接下载源码包,并根据官方给到文档依次下载源码包的依赖包,直接yum安装依赖包)

② tar -xf nginx-1.20.2.tar.gz(解压源码包)

③ cd nginx-1.20.2(进入源码包路径)

④ ./configure --help(获取帮助文档)

⑤ ./configure --prefix=/usr/local/nginx(安装在某个路径 检测系统环境)

⑥ make(进行编译,将源码包变成二进制包=RPM包)

⑦ make install(安装软件包)

⑧ rm -rf /usr/local/nginx(卸载源码包)

⑨ ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_gizp_static_module(修改configure配置,也需添加原先有的并重新编译make后复制覆盖原先的,不需要make install

15. 关于" 配置网卡 "的操作

服务器设置 -> 网络适配器 -> 桥接模式

编辑 -> 虚拟网络编辑器 -> VMnet0 -> 已桥接位置改为本机

① ifconfig -a

② nmcli connection modify ens33 ipv4.method manual ipv4.addresses 10.9.22.203/24 ipv4.gateway 10.9.22.1 connection.autoconnect yes connection.interface-name ens33(ipv4.dns)

③ nmcli connection reload

④ nmcli connection down ens33

⑤ nmcli connection up ens33

16. 关于" 放通防火墙端口协议 "的操作

① firewall-cmd --permanent --zone=public --add-port=22/tcp

② firewall-cmd --reload

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值