0


Linux 操作系统管理命令(全)

1、Linux常用命令

(1)date

用于显示系统当前的时间

  1. ubuntu@VM-8-7-ubuntu:~$ date
  2. Sun Dec 11 21:57:18 CST 2022

(2)pwd命令

用于显示当前工作路径

  1. ubuntu@VM-8-7-ubuntu:~$ pwd
  2. /home/ubuntu

(3)cd命令

切换当前路径

  1. ubuntu@VM-8-7-ubuntu:~$ cd /home
  2. ubuntu@VM-8-7-ubuntu:/home$ pwd
  3. /home

(4)cal命令

用于显示日历,可显示公园1~9999年中某年某月的日历,不带参数显示当前月份日历,带参数显示指定年份、月份的日历

  1. ubuntu@VM-8-7-ubuntu:/home$ cal
  2. December 2022
  3. Su Mo Tu We Th Fr Sa
  4. 1 2 3
  5. 4 5 6 7 8 9 10
  6. 11 12 13 14 15 16 17
  7. 18 19 20 21 22 23 24
  8. 25 26 27 28 29 30 31
  9. ubuntu@VM-8-7-ubuntu:/home$ cal 09 2019
  10. September 2019
  11. Su Mo Tu We Th Fr Sa
  12. 1 2 3 4 5 6 7
  13. 8 9 10 11 12 13 14
  14. 15 16 17 18 19 20 21
  15. 22 23 24 25 26 27 28
  16. 29 30

(5)who命令

显示当前已经登录到系统的所有用户名、登录中断以及登陆时间

  1. ubuntu@VM-8-7-ubuntu:/home$ who
  2. ubuntu pts/0 2022-12-11 21:56 (123.138.101.244)

(6)wc命令

统计文件的行数(-l)、字数(w)、字符数(-c)

  1. ubuntu@VM-8-7-ubuntu:~$ wc -l tete.c
  2. 13 tete.c
  3. ubuntu@VM-8-7-ubuntu:~$ wc -w tete.c
  4. 10 tete.c
  5. ubuntu@VM-8-7-ubuntu:~$ wc -c tete.c
  6. 30 tete.c

(7)uname命令

显示当前操作系统的信息,可带多个选项

  1. ubuntu@VM-8-7-ubuntu:~$ uname -a
  2. Linux VM-8-7-ubuntu 4.15.0-193-generic #204-Ubuntu SMP Fri Aug 26 19:20:21 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
  3. ubuntu@VM-8-7-ubuntu:~$ uname
  4. Linux

(8)clear命令

用于刷新屏幕,清空屏幕上的所有信息

(9)logout命令

注销登录信息,用户输入logout命令直接退出系统,回到登录前的界面

(10)shutdown命令

执行关闭操作系统

2、命令高级操作

(1)命令补全tab键 :w+tab键

  1. ubuntu@VM-8-7-ubuntu:~$ w
  2. w watchgnupg whatis whiptail wipefs wqdump
  3. wait wc whereis who wish wqdump_ext
  4. wall wdctl which whoami wish8.6 write
  5. watch wget while wifi-status w.procps

(2)使用历史命令 上下左右键

(3)输入/输出重定向

输入重定向符号“<”或者“<<”

输出重定向符号“>”或者“>>”

(4)管道功能

“|”把一个命令的输出信息当做另一个命令的输入信息

3、文件操作命令

(1)ls显示文件列表

命令选项含义-a显示所有文件及目录,目录中以“.”开头的文件为隐藏文件,普通ls文件不回列出,只有带“-a”参数才能显示-l以长格式显示目录下的内容列表,从左至右包括文件名、文件类型、权限模式、硬链接数、所有者、组、文件大小和文件最后修改时间等-i显示文件索引节点号(indone),一个索引节点代表一个文件-r以文件名反序排列输出目录内容列表-t用文件和目录的更改时间排序-m用“,”号区隔每个文件和目录的名称-R/r递归显示指定目录下的所有文件及子目录

  1. ubuntu@VM-8-7-ubuntu:~$ ls
  2. main.cc project test.cc text
  3. ubuntu@VM-8-7-ubuntu:~$ ls -a
  4. . .bashrc .local project test.cc .vscode-server
  5. .. .cache main.cc .pydistutils.cfg text .wget-hsts
  6. .bash_history .git .pip .ssh .vim .Xauthority
  7. .bash_logout .gnupg .profile .sudo_as_admin_successful .viminfo
  8. ubuntu@VM-8-7-ubuntu:~$ ls -l
  9. total 44
  10. -rw-rw-r-- 1 ubuntu ubuntu 39137 Dec 11 22:27 main.cc
  11. drwxr-xr-x 2 root root 4096 Nov 27 20:23 project
  12. -rw-rw-r-- 1 ubuntu ubuntu 0 Dec 11 22:29 test.cc
  13. -rw-rw-r-- 1 ubuntu ubuntu 0 Dec 11 22:18 text
  14. ubuntu@VM-8-7-ubuntu:~$ ls -i
  15. 131335 main.cc 786865 project 131171 test.cc 131251 text
  16. ubuntu@VM-8-7-ubuntu:~$ ls -r
  17. text test.cc project main.cc
  18. ubuntu@VM-8-7-ubuntu:~$ ls -t
  19. test.cc main.cc text project
  20. ubuntu@VM-8-7-ubuntu:~$ ls -m
  21. main.cc, project, test.cc, text
  22. ubuntu@VM-8-7-ubuntu:~$ ls -R
  23. .:
  24. main.cc project test.cc text
  25. ./project:
  26. ubuntu@VM-8-7-ubuntu:~$

(2)cd命令

切换工作目录至指定目录 两种 绝对路径和相对路径

(3)cat命令

显示文件内容,可以利用输入/输出重定向功能建立小型文件或者将两个文件连接起来,文件过大,文件内容在屏幕迅速闪过(滚屏),可以用以下方式,Ctrl+S组合键停止滚屏,Ctrl+Q回复滚屏Ctrl+C中断

  1. ubuntu@VM-8-7-ubuntu:~$ cat main.cc
  2. #include <iostream>
  3. #include<string.h>
  4. #include <windows.h>
  5. #include <vector>
  6. #include<algorithm>
  7. #include <string>
  8. ubuntu@VM-8-7-ubuntu:~$ cat -n main.cc //-n带行号
  9. 1
  10. 2 #include <iostream>
  11. 3 #include<string.h>
  12. 4 #include <windows.h>
  13. 5 #include <vector>
  14. 6 #include<algorithm>
  15. 7 #include <string>

(4)more命令

分屏相爱十年还大文件,当显示满后一屏后停下来

  1. //*****************************************************//�����
  2. class info//��Ϣ��
  3. {
  4. protected:
  5. long number;//���
  6. --More--(1%)
  7. //按空格键显示下一个屏幕,B上一个屏幕,Q退出,Enter下一行
  8. teachername = tea;
  9. }
  10. course(const course& c1)//��������
  11. {
  12. number = c1.number;
  13. --More--(2%)

(5)head命令

显示文件的开头内容 默认十行( head -数字 显示几行)

  1. ubuntu@VM-8-7-ubuntu:~$ head main.cc
  2. # head -数字 显示几行
  3. #include <iostream>
  4. #include<string.h>
  5. #include <windows.h>
  6. #include <vector>
  7. #include<algorithm>
  8. #include <string>
  9. using namespace std;
  10. using std::vector;
  11. int Menu();

(6)tail命令

显示文件末尾多好行的内容 默认十行

  1. ubuntu@VM-8-7-ubuntu:~$ tail main.cc
  2. s1.havec.push_back(c2);//������ѧ����ѡ�γ�
  3. s.push_back(s1);//������ѧ��
  4. student s2(2, "�", "Ů", "���", 22);
  5. s2.havec.push_back(c2);//������ѧ����ѡ�γ�
  6. s.push_back(s2);//������ѧ��
  7. login();
  8. Menu();
  9. system("pause");
  10. return 0;

(7)cp命令

将一个或者多个源文件(目录)复制到指定目标目录中

  1. cp [选项] 源文件或目录 目标文件目录

命令选项含义-d当复制符号连接时,把目标文件或目录也建立为符号连接的原始文件或目录-f强制复制文件或目录,不论目标文件或目录是否已经存在-i覆盖既有文件之前询问用户-l对源文件建立硬链接,而不是复制文件-s对源文件建立符号连接,而非复制文件-u在源文件的更改时间较目标文件更新时名称相互对应的目标文件并不从在时,财复制文件-R/r递归处理,将指定目录的所有文件与子目录一并处理

(8)mv命令

将文件从一个目录移动到另一个目录中,或将文件或目录重新命名

  1. mv [选项]源文件或目录 目标文件或目录

命令选项含义-b当目标文件存在时,覆盖前,为其创建一个备份-f若目标文件或目录和现在的文件目录重合,直接覆盖-i交互式操作,覆盖前先询问用户

(9)rm命令

删除一个目录中的一个或者多个文件或目录,也可以将某个目录及其下属的所有文件和子目录删除。如果删除是链接文件,链接文件对应的源文件保持不变。

  1. rm [选项] 文件或目录列表

命令选项选项-f强制删除文件或者目录-i交互式操作 ,询问用户-R/r递归删除,将指定目录下的多有稳健与子目录一并处理

  1. ubuntu@VM-8-7-ubuntu:~$ ls
  2. main.cc project sample.html test.cc text
  3. ubuntu@VM-8-7-ubuntu:~$ rm text
  4. ubuntu@VM-8-7-ubuntu:~$ ls
  5. main.cc project sample.html test.cc

(10)touch命令

创建一个性的文件或者改变一个已有文件的时间标签

  1. touch [选项] 文件名
  1. ubuntu@VM-8-7-ubuntu:~$ ls
  2. a main.cc project sample.html test.cc
  3. ubuntu@VM-8-7-ubuntu:~$ touch main.cc
  4. ubuntu@VM-8-7-ubuntu:~$ ls
  5. a main.cc project sample.html test.cc
  6. ubuntu@VM-8-7-ubuntu:~$ ls -l main.cc
  7. -rw-rw-r-- 1 ubuntu ubuntu 39137 Dec 12 00:43 main.cc

(11)file命令

识别文件类型,辨别文件的编码格式

  1. ubuntu@VM-8-7-ubuntu:~$ file main.cc
  2. main.cc: C++ source, ISO-8859 text, with CRLF line terminators
  3. ubuntu@VM-8-7-ubuntu:~$ file project
  4. project: directory

(12)find命令

在文件系统中查找指定文件,可以根据文件的名称、大小、建立时间、等为条件。

  1. find [目录列表] [文件的匹配标准]

匹配类型含义-name指定文件名字符串,可使用通配符*和?-type文件类型 例如发f(普通文件)-perm权限数值的文件目录-links硬链接数目的文件-size指定文件的文件大小,c-字节 w-字 b-快 k-千字节 m-atime指定时间曾被存取的文件或目录 单位天-mtime指定时间被更改过的文件或目录 单位天-user指定拥有者名称的文件或目录-group指定群组名称或目录

  1. ubuntu@VM-8-7-ubuntu:~$ find / -name "*.c" | head
  2. /usr/lib/python3.6/config-3.6m-x86_64-linux-gnu/config.c
  3. /usr/lib/python3/dist-packages/twisted/test/raiser.c
  4. /usr/lib/python3/dist-packages/twisted/python/_sendmsg.c

(13)grep命令

在指定文件中检索匹配关键字信息,并把匹配的行打印出来
命令选项含义-i忽略字符大小写的差别-n在输出匹配行之前,标为该行的行号-v反转查找,即查找不包含所查找字符串的行

  1. ubuntu@VM-8-7-ubuntu:~$ grep root /etc/passwd
  2. root:x:0:0:root:/root:/bin/bash

(14)sort命令

对文件进行排序,并将排序结果标准输出。既可以从特定文件,也可以从输入设备中获取输入,将文件的每一行作为一个单位进行比较,比较原则是从首字符向后,按照ASCII码进行比较,按照升序输出。不改变文件本身
命令选项含义-b忽略每一行前面的所有字符,从第一个可见字符开始-n要以数值来排序-f排序时,将小写字母视为大写字母,忽略大小写-t设定间隔符-k指定排序关键字-r以相反的顺序排序

  1. ubuntu@VM-8-7-ubuntu:~$ sort /etc/passwd
  2. _apt:x:104:65534::/nonexistent:/usr/sbin/nologin
  3. backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
  4. bin:x:2:2:bin:/bin:/usr/sbin/nologin
  5. daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
  6. dnsmasq:x:107:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin
  7. games:x:5:60:games:/usr/games:/usr/sbin/nologin
  8. gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
  9. irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
  10. landscape:x:108:112::/var/lib/landscape:/usr/sbin/nologin
  11. lighthouse:x:1000:1000::/home/lighthouse:/bin/bash

(15)mkdir命令

创建目录

  1. mkdir [选项] 目录列表

命令选项含义-m建立目录的同时设置目录权限-p若要建立目录的上层目录尚未建立,则一并建立

(16)rmdir 命令

删除空目录 -r递归删除含有文件的目录

  1. mkdir [选项] 目录列表

命令选项含义-r强制删除目录及目录中的文件和子目录-p删除指定目录后,若该目录的上层已变成空目录,则将其一并删除

(17)tar 命令

打包、压缩 生成的文件以.tar。tar命令本身没有压缩功能,需要调用gzip程序对生成的tar包进行压缩

  1. tar [选项] 文件或目录

命令选项含义命令选项含义-c建立新的备份文件-x从备份文件中还原文件-f指定备份文件-v打包时显示指令的执行过程-z通过gzip指令处理备份文件

  1. ubuntu@VM-8-7-ubuntu:~$ tar -cvfcf.tar *.cc
  2. main.cc
  3. test.cc
  4. ubuntu@VM-8-7-ubuntu:~$ ls
  5. a cf.tar main.cc project sample.html test.cc

(18)gzip命令

  1. gzip [选项] 文件

命令选项含义-d解开压缩文件-l列出压缩文件的相关信息-r将指定目录下的文件及子目录一并处理-t测试压缩文件是否正确无误-v显示指令执行过程

  1. buntu@VM-8-7-ubuntu:~$ gzip test.cc
  2. ubuntu@VM-8-7-ubuntu:~$ ls
  3. a cf.tar main.cc project sample.html test.cc.gz
  4. ubuntu@VM-8-7-ubuntu:~$ gzip -l test.cc.gz
  5. compressed uncompressed ratio uncompressed_name
  6. 28 0 0.0% test.cc

4、用户与组管理命令

配置文件

Linux用户分为3类

  • root:超级用户UID为0,对系统有绝对的控制权,能够对系统进行所有的操作。
  • 系统用户 :UID为1~499,任何一个人进程都会有 一个用户身份,某些系统进程或服务启动时,对应的身份就是系统用户
  • 普通用户:UID大于等于500都是普通用户,用户权限会受到限制。

LInux操作系统的用户和组信息保存在系统的配置文件中 ,其中的用户信息保存在/passwd和etc/shadow文件中,组信息保存在/etc/group和/etc/gshadow文件中,这些文件都是文本文件,文件格式类似。

  1. ubuntu@VM-8-7-ubuntu:~$ cat /etc/passwd | head
  2. root:x:0:0:root:/root:/bin/bash
  3. daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
  4. bin:x:2:2:bin:/bin:/usr/sbin/nologin
  5. sys:x:3:3:sys:/dev:/usr/sbin/nologin
  6. sync:x:4:65534:sync:/bin:/bin/sync
  7. games:x:5:60:games:/usr/games:/usr/sbin/nologin
  8. man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
  9. lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
  10. mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
  11. news:x:9:9:news:/var/spool/news:/usr/sbin/nologin

上图文件格式:

  1. 用户名:口令:用户ID:组ID:注释性描述:主目录:登录shell
  1. ubuntu@VM-8-7-ubuntu:~$ cat /etc/group |head
  2. root:x:0:
  3. daemon:x:1:
  4. bin:x:2:
  5. sys:x:3:
  6. adm:x:4:syslog,ubuntu
  7. tty:x:5:
  8. disk:x:6:
  9. lp:x:7:
  10. mail:x:8:
  11. news:x:9:
  • 组名称:用户组的名称
  • 组密码:用户组的密码 ,现在用“X”填充
  • 组ID:组ID与用户ID类似,也是一个整数,被系统内部用来标识组
  • 组用户列表:属于这个组的所有用户的列表,不同用户之间用“,”隔开

用户与组管理命令

(1)useradd命令

  1. useradd [选项] 用户名

命令选项含义-d指定用户登录时的其实目录-c给用户加上备注文字-e指定账号的有效期限-f指定在密码过期后多少天即关闭该账号-g指定用户所属的组-s指定用户登入后的所使用的的shell-u指定用户ID

  1. root@VM-8-7-ubuntu:/home/ubuntu# useradd user1
  2. root@VM-8-7-ubuntu:/home/ubuntu# tail /etc/passwd
  3. uuidd:x:106:110::/run/uuidd:/usr/sbin/nologin
  4. dnsmasq:x:107:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin
  5. landscape:x:108:112::/var/lib/landscape:/usr/sbin/nologin
  6. sshd:x:109:65534::/run/sshd:/usr/sbin/nologin
  7. pollinate:x:110:1::/var/cache/pollinate:/bin/false
  8. ubuntu:x:500:500:ubuntu,,,:/home/ubuntu:/bin/bash
  9. ntp:x:111:115::/nonexistent:/usr/sbin/nologin
  10. statd:x:112:65534::/var/lib/nfs:/usr/sbin/nologin
  11. lighthouse:x:1000:1000::/home/lighthouse:/bin/bash
  12. user1:x:1001:1001::/home/user1:/bin/sh
  13. root@VM-8-7-ubuntu:/home/ubuntu#

(2)passwd命令

修改自己的用户密码,超级用户使用该命令修改自己和普通用户的密码,设置普通用户的密码有效期、锁定用户密码等

  1. passwd [选项] 用户名

命令选项含义命令选项含义-l锁定密码,使用户无法登陆系统-u启动已停止的账户-d删除密码-f强制执行-S显示密码信息

  1. root@VM-8-7-ubuntu:/home/ubuntu# passwd user1
  2. Enter new UNIX password:
  3. Retype new UNIX password:
  4. passwd: password updated successfully

(3)userdel 命令 删除用户账号

  1. userdel [选项] 用户名

命令选项含义-r删除用户的同时也删除用户家目录里面的文件-f强制删除用户账号,即使该用户在登录

(4)usermod命令

修改用户账号的信息,例如用户ID,用户组

  1. usermod [选项] 用户名

命令选项含义-c修改用户账号的备注文字-d修改用户登录时的目录-f修改在密码过期后多少天关闭账号-g修改用户所属的群组-l修改用户的账号名称-L锁定用户密码,是密码无效-s修改用户登录的适应shell-u修改用户ID-U解除密码锁定-e修改账号的有效时间

(5)groupadd 命令

天剑用户的用户账号

  1. groupadd [选项] 用户组名

命令选项含义-g指定新建用户组的ID-r创建系统用户组,系统用户组的ID为1~499-0允许添加用户组ID号不唯一的工作组

(6)groupdel

删除用户组

  1. groupdel [选项] 工作组名

(7)groupmod 命令

修改用户组属性

  1. groupmod [选项] 工作组

命令选项含义-g修改新的用户组ID-n修改用户组名称-o允许用户组ID不唯一

(8)su命令

切换当前用户身份到其他用户身份

  1. su [选项] 用户名

命令选项含义-c执行完指定指令后,恢复原来身份-l改变身份时,也同时变更工作目录,环境变量-m/-p改变身份时,不要改变环境变量-s指定要执行的shell

(9)sudo 命令

切换用户 配置文件/etc/sudoers

  1. sudo [选项] 用户名

命令选项含义-b在后台执行-H将HOME环境变量设为新身份的HOME环境变量-k结束密码的有效期限,也就是下次再执行sudo命令时需要输入密码-l列出目前用户可执行与无法执行的指令-p改变询问密码的提示符-s执行指定的shell-u指定的用户做为新的身份默认为root-v延长密码时间5min

5、网络管理命令

ipconfig 命令

用于配置和显示Linux内核网络接口的网络参数

  1. ipconfig [参数]

(1)显示网卡配置。执行ipconfig命令不带参数,显示当前的网卡配置

(2)重新设置网卡的IP地址。其用法格式为

  1. ipconfig 网卡设备 IP地址
  2. ifconfig eth0 192.168.10.10

(3)激活或停止指定的网卡

  1. ipconfg 网卡设备 up|down
  2. #ipconfig eth0 down

homename命令

(1)hostname命令用于显示或设置主机名

  1. hostname [参数]
  2. ubuntu@VM-8-7-ubuntu:~$ hostname
  3. VM-8-7-ubuntu

(2)修改当前主机名称为linux-1

  1. ubuntu@VM-8-7-ubuntu:~$ sudo hostname linux-1
  2. ubuntu@VM-8-7-ubuntu:~$ hostname
  3. linux-1

netstat命令

显示linux中网络系统的状态信息

  1. netstat [选项]

命令选项含义命令选项含义-a显示所有连线中的socket-c持续列出网络状态-t显示TCP传输协议的连接情况-r显示Routing Table-u显示UDP传输协议的连接情况-s显示网络工作信息统计表

  1. ubuntu@VM-8-7-ubuntu:~$ netstat -t
  2. Active Internet connections (w/o servers)
  3. Proto Recv-Q Send-Q Local Address Foreign Address State
  4. tcp 0 52 linux-1:ssh 123.138.101.244:31218 ESTABLISHED
  5. tcp 0 0 linux-1:58476 169.254.0.138:8186 ESTABLISHED
  6. ubuntu@VM-8-7-ubuntu:~$ netstat -u
  7. Active Internet connections (w/o servers)
  8. Proto Recv-Q Send-Q Local Address Foreign Address State
  9. ubuntu@VM-8-7-ubuntu:~$ netstat -s

ping命令

测试主机之间的网络连通性,通过向测试的目标主机地址发送ICMP报文并且接收返回报文,测试主机之间的网络连通状态

  1. ping [选项] [参数]

命令选项含义命令选项含义-c设置完成要求回应的次数-r记录路由过程-s设置数据包的大小-v详细显示指令的执行过程-i指定收发数据的间隔时间,单位是s

  1. ubuntu@VM-8-7-ubuntu:~$ ping -c 4 www.baidu.com
  2. PING www.a.shifen.com (110.242.68.3): 56 data bytes
  3. 64 bytes from 110.242.68.3: icmp_seq=0 ttl=251 time=9.167 ms
  4. 64 bytes from 110.242.68.3: icmp_seq=1 ttl=251 time=9.190 ms
  5. 64 bytes from 110.242.68.3: icmp_seq=2 ttl=251 time=9.234 ms
  6. 64 bytes from 110.242.68.3: icmp_seq=3 ttl=251 time=9.205 ms
  7. --- www.a.shifen.com ping statistics ---
  8. 4 packets transmitted, 4 packets received, 0% packet loss
  9. round-trip min/avg/max/stddev = 9.167/9.199/9.234/0.024 ms

write命令

给其他用户发送实时消息,要求该用户登录系统

  1. write 用户名

wall命令

以广播的形式给所有用户发送实时消息

  1. wall 消息内容

如果消息内容太多,可以将消息保存在文件里,然后以文件形式发送

  1. ubuntu@VM-8-7-ubuntu:~$ wall hello every one

talk命令

和其他用户聊天,聊天双方同时登陆主机

  1. talk 用户名
  1. ubuntu@VM-8-7-ubuntu:~$ talk user1

6、进程管理命令

ps命令

查看当前系统的进程状态,查看系统中有哪些正在运行的进程状态、进程是否结束、进程所占用的系统资源等

  1. ps [选项]

命令选项含义-s显示所有用户进程-u以用户为主的格式显示进程状况-x显示所有进程,不以终端机来区分-e列出进程时,显示每个进程所使用的的环境变量-r只列出当前终端机正在执行的进程-f显示进程的详细信息-l以长格式显示进程列表

  1. ubuntu@VM-8-7-ubuntu:~$ ps -a
  2. PID TTY TIME CMD
  3. 11278 pts/0 00:00:00 ps
  4. ubuntu@VM-8-7-ubuntu:~$ ps -u
  5. USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
  6. ubuntu 3164 0.0 0.2 22268 5408 pts/0 Ss 16:38 0:00 -bash
  7. ubuntu 11285 0.0 0.1 36720 3340 pts/0 R+ 17:27 0:00 ps -u
  8. ubuntu@VM-8-7-ubuntu:~$ ps -x
  9. PID TTY STAT TIME COMMAND
  10. 3073 ? Ss 0:00 /lib/systemd/systemd --user
  11. 3074 ? S 0:00 (sd-pam)
  12. 3163 ? R 0:00 sshd: ubuntu@pts/0
  13. 3164 pts/0 Ss 0:00 -bash
  14. 11297 pts/0 R+ 0:00 ps -x

输出信息对照表
选项说明UID进程所有者用户名PID进程号PPID父进程的进程号C占用CPU时间与总时间的百分比USER用户名VSZ进程所占虚拟机内存(KB)RSS进程所占用内存空间TIME进程从启动依赖占用CPU总时间TTY进程从那个终端启动STIME进程开始执行的时间STAT进程当前的状态CMD进程的命令名%CPU占用的CPU的时间与总时间的百分比NI进程的优先级
ps命令进程状态含义
符号含义符号含义S睡眠状态Z僵尸状态W进程没有驻留页D不间断睡眠R运行或准备运行状态T停止或追踪I空闲N低优先级任务

进程树pstree命令

  1. ubuntu@VM-8-7-ubuntu:~$ pstree
  2. systemd─┬─accounts-daemon───2*[{accounts-daemon}]
  3. ├─acpid
  4. ├─2*[agetty]
  5. ├─atd
  6. ├─barad_agent─┬─barad_agent
  7. └─barad_agent───2*[{barad_agent}]
  8. ├─cron
  9. ├─dbus-daemon
  10. ├─inetd
  11. ├─2*[iscsid]
  12. ├─lvmetad
  13. ├─lxcfs───8*[{lxcfs}]
  14. ├─networkd-dispat───{networkd-dispat}
  15. ├─ntpd───{ntpd}
  16. ├─polkitd───2*[{polkitd}]
  17. ├─rpcbind
  18. ├─rshim───{rshim}
  19. ├─rsyslogd───3*[{rsyslogd}]
  20. ├─sgagent───{sgagent}
  21. ├─sshd───sshd───sshd───bash───pstree
  22. ├─systemd───(sd-pam)
  23. ├─systemd-journal
  24. ├─systemd-logind
  25. ├─systemd-network
  26. ├─systemd-resolve
  27. ├─systemd-udevd
  28. ├─tat_agent───6*[{tat_agent}]
  29. └─unattended-upgr───{unattended-upgr}

实时显示进程命令top

交互式页面,实时更新这个页面,显示了 PID,用户,CPU占有率等

  1. top - 17:37:55 up 14 days, 21:39, 1 user, load average: 0.00, 0.00, 0.00
  2. Tasks: 106 total, 1 running, 60 sleeping, 0 stopped, 1 zombie
  3. top - 17:38:18 up 14 days, 21:39, 1 user, load average: 0.00, 0.00, 0.00
  4. Tasks: 105 total, 1 running, 60 sleeping, 0 stopped, 0 zombie
  5. %Cpu(s): 0.5 us, 0.8 sy, 0.0 ni, 98.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
  6. KiB Mem : 2040628 total, 282140 free, 161004 used, 1597484 buff/cache
  7. KiB Swap: 0 total, 0 free, 0 used. 1681364 avail Mem
  8. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  9. 2111 root 20 0 512336 17032 4344 S 1.3 0.8 91:10.57 barad_agent
  10. 423 root 19 -1 436880 292032 280344 S 0.3 14.3 1:03.55 systemd-journal
  11. 12932 root 20 0 108000 7104 6104 S 0.3 0.3 0:00.01 sshd
  12. 1 root 20 0 159896 9116 6648 S 0.0 0.4 0:16.60 systemd
  13. 2 root 20 0 0 0 0 S 0.0 0.0 0:00.11 kthreadd
  14. 4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H
  15. 6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
  16. 7 root 20 0 0 0 0 S 0.0 0.0 0:03.75 ksoftirqd/0
  17. 8 root 20 0 0 0 0 I 0.0 0.0 1:05.37 rcu_sched
  18. 9 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_bh
  19. 10 root rt 0 0 0 0 S 0.0 0.0 0:01.71 migration/0

指定进程优先级命令nice和renice

(1)nice改变程序执行的优先级等级,范围为-20~19,数字越小,优先越高。

一般情况下,普通程序的优先级权值为0,普通用户只能在0~19调整程序的优先级

  1. nice [选项] [程序或命令]
  1. ubuntu@VM-8-7-ubuntu:~$ nice #默认
  2. 0
  3. ubuntu@VM-8-7-ubuntu:~$ nice -n 19 ./test
  4. #以最低优先级执行这个程序

2)renice允许修改一个运行进程的优先权

  1. renice [选项] [参数]
  2. -n 改变优先级
  3. -g 指定进程组
  4. -p 改变制定PID程序的优先级等级
  5. -u 指定开启进程用户名

kill

结束进程 -9强制杀死进程

  1. kill -signal PID

SIGNAL说明HUP :1终端断线INT:2中断QUIT:3退出TEAM:15终止KILL:9强制终止CONT:18继续STOP:19暂停..

jobs查看后台进程

jobs命令用于查看后台运行的进程。jobs 命令执行的结果中,加号(+)表示是一个当前的任务,减号(一)表示是一个当前任务之后的任务。如果后台的任务号有2个,当第[1]个后台任务顺利执行完毕,第[2]个后台任务还在执行中时,当前任务便会自动变成后台任务号码[2]的后台任务,即当前任务是动态变化的。当用户输人fg、bg和stop等命令时,如果不加任何参数,则所变动的均是当前任务。

  1. ubuntu@VM-8-7-ubuntu:~$ sleep 300&
  2. [1] 15483
  3. ubuntu@VM-8-7-ubuntu:~$ jobs
  4. [1]+ Running sleep 300 &
  5. ubuntu@VM-8-7-ubuntu:~$ vi &
  6. [2] 15513
  7. ubuntu@VM-8-7-ubuntu:~$ jobs
  8. [1]- Running sleep 300 &
  9. [2]+ Stopped vi
  10. ubuntu@VM-8-7-ubuntu:~$

进程前台于后台控制命令

系统执行的进程,按照执行方式分为前台与后台两种,引人后台工作方式,可以在命令行方式下同时执行多个程序,这样能极大地提高系统的工作效率。fg命令用于将后台任务调至前台,而bg命令用于将前台命令调至后台。

使用fg命令将创建的sleep进程从后台调至前台。

  1. ubuntu@VM-8-7-ubuntu:~$ sleep 300 &
  2. [1] 15997
  3. ubuntu@VM-8-7-ubuntu:~$ fg 1
  4. sleep 300
  1. ubuntu@VM-8-7-ubuntu:~$ sleep 300
  2. ^Z #Ctrl+Z挂起
  3. [1]+ Stopped sleep 300
  4. ubuntu@VM-8-7-ubuntu:~$ jobs
  5. [1]+ Stopped sleep 300
  6. ubuntu@VM-8-7-ubuntu:~$ bg 1
  7. [1]+ sleep 300 &
  8. ubuntu@VM-8-7-ubuntu:~$

计划任务命令

(1)at命令 LInux操作系统计划任务是指通过系统设定,使操作系统在未来某时某刻执行项任务,主要由at命令和crontab命令来实现。

at命令用于指定在未来某一时间执行一个任务 ,该任务只能被执行一次。at 命令允许使用一套相当复杂的指定时间的方法。它能够接受在当天的hh: mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。当然也能够使用midnight(深夜)、noon(中午)、teatime(饮茶时间,一般是下午4点)等比较模糊的词语来指定时间。用户还能够采用12h计时制,即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午。也能够指定命令执行的具体日期:指定格式为month day(月日/d/yy(月/日/年)或dd. m.yy(日.月.年)。指定的日期必须跟在指定时间的后面。at命令语法格式如下:

  1. at [选项] [时间]
  2. f :指定包含具体指令的任务文件
  3. q :指定新任务的队列名称
  4. l :显示待执行任务队列
  5. d :删除指定的待执行任务
  6. m :任务执行完成后向用户发送E-mail
  1. warning: commands will be executed using /bin/sh
  2. at> who>userlist
  3. at> <EOT>
  4. at> <EOT>
  5. job 1 at Tue Dec 13 12:00:00 2022
  6. ubuntu@linux-1:~$ atq #查看
  7. 1 Tue Dec 13 12:00:00 2022 a ubuntu
  8. ubuntu@linux-1:~$ atrm 1#删除
  9. ubuntu@linux-1:~$ atq

(2)crontab命令

cron是一个Linux下的定时执行工具,可以使系统周期性地执行某项任务。在Linux操作系统中,使用crontab命令来设定这些定期任务。cron 的配置文件是/etc/ crontab,首 先查看一下/etc/crontab文件的内容:

  1. ubuntu@linux-1:~$ cat /etc/crontab
  2. # /etc/crontab: system-wide crontab
  3. # Unlike any other crontab you don't have to run the `crontab'
  4. # command to install the new version when you edit this file
  5. # and files in /etc/cron.d. These files also have username fields,
  6. # that none of the other crontabs do.
  7. SHELL=/bin/sh
  8. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  9. # m h dom mon dow user command
  10. 17 * * * * root cd / && run-parts --report /etc/cron.hourly
  11. 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
  12. 47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
  13. 52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
  14. #

前2行是有关设置cron任务运行的环境变量。SHELL变量的值指定系统使用的SHELL环境(该样例为bash shell),PATH变量定义了执行命令的路径。cron的输出以电子邮件的形式发给MAILTO变量定义的用户名。如果MAILTO变量定义为空字符串,电子邮件不会被发送。后4行分别给出了每小时、每天、每周、每月运行任务的例子。

7、帮助命令

man命令

  1. man [选项] 命令

命令选项含义命令选项含义-a查看所有man帮助手册搜索-p指定内容是使用分页程序-f显示给定命令的简短描述信息-m指定man手册搜索路径

man --help

显示工具的信息

  1. ubuntu@linux-1:~$ cp --help
  2. Usage: cp [OPTION]... [-T] SOURCE DEST
  3. or: cp [OPTION]... SOURCE... DIRECTORY
  4. or: cp [OPTION]... -t DIRECTORY SOURCE...
  5. Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
  6. Mandatory arguments to long options are mandatory for short options too.
  7. -a, --archive same as -dR --preserve=all
  8. --attributes-only don't copy the file data, just the attributes
  9. --backup[=CONTROL] make a backup of each existing destination file
  10. -b like --backup but does not accept an argument
  11. --copy-contents copy contents of special files when recursive
  12. -d same as --no-dereference --preserve=links
  13. -f, --force if an existing destination file cannot be
  14. opened, remove it and try again (this option
  15. is ignored when the -n option is also used)
  16. -i, --interactive prompt before overwrite (overrides a previous -n
  17. ....

本文转载自: https://blog.csdn.net/weixin_48560325/article/details/128292094
版权归原作者 小小圆脸 所有, 如有侵权,请联系我们删除。

“Linux 操作系统管理命令(全)”的评论:

还没有评论
关于作者
...
overfit同步小助手
文章同步