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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

目录

1、Linux常用命令

1date

2pwd命令

3cd命令

4cal命令

5who命令

6wc命令

7uname命令

8clear命令

9logout命令

10shutdown命令

2、命令高级操作

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

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

3输入/输出重定向

4管道功能

3、文件操作命令

1ls显示文件列表

2cd命令

3cat命令

4more命令

5head命令

6tail命令

7cp命令

8mv命令

9rm命令

10touch命令

11file命令

12find命令

13grep命令

14sort命令

15mkdir命令

16rmdir 命令

17tar 命令

18gzip命令

4、用户与组管理命令

配置文件

用户与组管理命令

1useradd命令

  (2)   passwd命令

3userdel 命令 删除用户账号

4usermod命令

5groupadd 命令

6groupdel

7groupmod 命令

8su命令

9sudo 命令

5、网络管理命令

ipconfig 命令

homename命令

netstat命令

ping命令

write命令

wall命令

talk命令

6、进程管理命令

ps命令

进程树pstree命令

实时显示进程命令top

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

kill

jobs查看后台进程

进程前台于后台控制命令

计划任务命令

2crontab命令

7、帮助命令

man命令

man --help


1、Linux常用命令

1date

用于显示系统当前的时间

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

2pwd命令

用于显示当前工作路径

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

3cd命令

切换当前路径

ubuntu@VM-8-7-ubuntu:~$ cd /home
ubuntu@VM-8-7-ubuntu:/home$ pwd
/home

4cal命令

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

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

5who命令

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

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

6wc命令

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

ubuntu@VM-8-7-ubuntu:~$ wc -l tete.c
13 tete.c
ubuntu@VM-8-7-ubuntu:~$ wc -w tete.c
10 tete.c
ubuntu@VM-8-7-ubuntu:~$ wc -c tete.c
30 tete.c

7uname命令

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

ubuntu@VM-8-7-ubuntu:~$ uname -a
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
ubuntu@VM-8-7-ubuntu:~$ uname
Linux

8clear命令

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

9logout命令

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

10shutdown命令

执行关闭操作系统

2、命令高级操作

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

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

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

3输入/输出重定向

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

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

4管道功能

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

3、文件操作命令

1ls显示文件列表

命令选项含义
-a显示所有文件及目录目录中以“.”开头的文件为隐藏文件普通ls文件不回列出只有带“-a”参数才能显示
-l以长格式显示目录下的内容列表从左至右包括文件名、文件类型、权限模式、硬链接数、所有者、组、文件大小和文件最后修改时间等
-i显示文件索引节点号indone一个索引节点代表一个文件
-r以文件名反序排列输出目录内容列表
-t用文件和目录的更改时间排序
-m用“”号区隔每个文件和目录的名称
-R/r递归显示指定目录下的所有文件及子目录
ubuntu@VM-8-7-ubuntu:~$ ls
main.cc  project  test.cc  text
ubuntu@VM-8-7-ubuntu:~$ ls -a
.              .bashrc  .local    project                    test.cc   .vscode-server
..             .cache   main.cc   .pydistutils.cfg           text      .wget-hsts
.bash_history  .git     .pip      .ssh                       .vim      .Xauthority
.bash_logout   .gnupg   .profile  .sudo_as_admin_successful  .viminfo
ubuntu@VM-8-7-ubuntu:~$ ls -l
total 44
-rw-rw-r-- 1 ubuntu ubuntu 39137 Dec 11 22:27 main.cc
drwxr-xr-x 2 root   root    4096 Nov 27 20:23 project
-rw-rw-r-- 1 ubuntu ubuntu     0 Dec 11 22:29 test.cc
-rw-rw-r-- 1 ubuntu ubuntu     0 Dec 11 22:18 text
ubuntu@VM-8-7-ubuntu:~$ ls -i
131335 main.cc  786865 project  131171 test.cc  131251 text
ubuntu@VM-8-7-ubuntu:~$ ls -r
text  test.cc  project  main.cc
ubuntu@VM-8-7-ubuntu:~$ ls -t
test.cc  main.cc  text  project
ubuntu@VM-8-7-ubuntu:~$ ls -m
main.cc, project, test.cc, text
ubuntu@VM-8-7-ubuntu:~$ ls -R
.:
main.cc  project  test.cc  text

./project:
ubuntu@VM-8-7-ubuntu:~$ 

2cd命令

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

3cat命令

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

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

4more命令

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

//*****************************************************//�����
class info//��Ϣ��
{
protected:
        long number;//���
--More--(1%)
//按空格键显示下一个屏幕B上一个屏幕Q退出Enter下一行
                teachername = tea;
        }
        course(const course& c1)//��������
        {
                number = c1.number;
--More--(2%)

5head命令

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

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

6tail命令

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

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

7cp命令

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

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

8mv命令

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

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

9rm命令

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

rm [选项] 文件或目录列表 
命令选项选项
-f强制删除文件或者目录
-i交互式操作 询问用户
-R/r递归删除将指定目录下的多有稳健与子目录一并处理
ubuntu@VM-8-7-ubuntu:~$ ls
main.cc  project  sample.html  test.cc  text
ubuntu@VM-8-7-ubuntu:~$ rm text
ubuntu@VM-8-7-ubuntu:~$ ls
main.cc  project  sample.html  test.cc

10touch命令

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

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

11file命令

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

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

12find命令

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

find [目录列表] [文件的匹配标准]
匹配类型含义
-name指定文件名字符串可使用通配符*和
-type文件类型 例如发f普通文件
-perm权限数值的文件目录
-links硬链接数目的文件
-size指定文件的文件大小c-字节 w-字 b-快 k-千字节 m
-atime指定时间曾被存取的文件或目录 单位天
-mtime指定时间被更改过的文件或目录 单位天
-user指定拥有者名称的文件或目录
-group指定群组名称或目录
ubuntu@VM-8-7-ubuntu:~$ find / -name "*.c" | head 
/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu/config.c
/usr/lib/python3/dist-packages/twisted/test/raiser.c
/usr/lib/python3/dist-packages/twisted/python/_sendmsg.c

13grep命令

在指定文件中检索匹配关键字信息并把匹配的行打印出来

命令选项含义
-i忽略字符大小写的差别
-n在输出匹配行之前标为该行的行号
-v反转查找即查找不包含所查找字符串的行
ubuntu@VM-8-7-ubuntu:~$ grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash

14sort命令

对文件进行排序并将排序结果标准输出。既可以从特定文件也可以从输入设备中获取输入将文件的每一行作为一个单位进行比较比较原则是从首字符向后按照ASCII码进行比较按照升序输出。不改变文件本身

命令选项含义
-b忽略每一行前面的所有字符从第一个可见字符开始
-n要以数值来排序
-f排序时将小写字母视为大写字母忽略大小写
-t设定间隔符
-k指定排序关键字
-r以相反的顺序排序
ubuntu@VM-8-7-ubuntu:~$ sort /etc/passwd
_apt:x:104:65534::/nonexistent:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
dnsmasq:x:107:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin
games:x:5:60:games:/usr/games:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
landscape:x:108:112::/var/lib/landscape:/usr/sbin/nologin
lighthouse:x:1000:1000::/home/lighthouse:/bin/bash

15mkdir命令

 创建目录

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

16rmdir 命令

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

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

17tar 命令

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

tar [选项] 文件或目录
命令选项含义命令选项含义
-c建立新的备份文件-x从备份文件中还原文件
-f指定备份文件-v打包时显示指令的执行过程
-z通过gzip指令处理备份文件
ubuntu@VM-8-7-ubuntu:~$ tar -cvfcf.tar *.cc
main.cc
test.cc
ubuntu@VM-8-7-ubuntu:~$ ls
a  cf.tar  main.cc  project  sample.html  test.cc

18gzip命令

gzip [选项] 文件
命令选项含义
-d解开压缩文件
-l列出压缩文件的相关信息
-r将指定目录下的文件及子目录一并处理
-t测试压缩文件是否正确无误
-v显示指令执行过程
buntu@VM-8-7-ubuntu:~$ gzip test.cc
ubuntu@VM-8-7-ubuntu:~$ ls
a  cf.tar  main.cc  project  sample.html  test.cc.gz
ubuntu@VM-8-7-ubuntu:~$ gzip -l test.cc.gz
         compressed        uncompressed  ratio uncompressed_name
                 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文件中这些文件都是文本文件文件格式类似。

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

上图文件格式

用户名口令用户ID组ID注释性描述主目录登录shell
ubuntu@VM-8-7-ubuntu:~$ cat /etc/group |head 
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,ubuntu
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
  • 组名称用户组的名称

  • 组密码用户组的密码 现在用“X”填充

  • 组ID组ID与用户ID类似也是一个整数被系统内部用来标识组

  • 组用户列表属于这个组的所有用户的列表不同用户之间用“”隔开

用户与组管理命令

1useradd命令

useradd [选项] 用户名
命令选项含义
-d指定用户登录时的其实目录
-c给用户加上备注文字
-e指定账号的有效期限
-f指定在密码过期后多少天即关闭该账号
-g指定用户所属的组
-s指定用户登入后的所使用的的shell
-u指定用户ID
root@VM-8-7-ubuntu:/home/ubuntu# useradd user1
root@VM-8-7-ubuntu:/home/ubuntu# tail /etc/passwd
uuidd:x:106:110::/run/uuidd:/usr/sbin/nologin
dnsmasq:x:107:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin
landscape:x:108:112::/var/lib/landscape:/usr/sbin/nologin
sshd:x:109:65534::/run/sshd:/usr/sbin/nologin
pollinate:x:110:1::/var/cache/pollinate:/bin/false
ubuntu:x:500:500:ubuntu,,,:/home/ubuntu:/bin/bash
ntp:x:111:115::/nonexistent:/usr/sbin/nologin
statd:x:112:65534::/var/lib/nfs:/usr/sbin/nologin
lighthouse:x:1000:1000::/home/lighthouse:/bin/bash
user1:x:1001:1001::/home/user1:/bin/sh
root@VM-8-7-ubuntu:/home/ubuntu# 

(2)passwd命令

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

passwd [选项] 用户名
命令选项含义命令选项含义
-l锁定密码使用户无法登陆系统-u启动已停止的账户
-d删除密码-f强制执行
-S显示密码信息
root@VM-8-7-ubuntu:/home/ubuntu# passwd user1
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

3userdel 命令 删除用户账号

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

4usermod命令

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

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

5groupadd 命令

天剑用户的用户账号

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

6groupdel

删除用户组

groupdel [选项] 工作组名

7groupmod 命令

修改用户组属性

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

8su命令

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

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

9sudo 命令

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

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

5、网络管理命令

ipconfig 命令

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

ipconfig [参数]

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

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

ipconfig 网卡设备 IP地址
ifconfig eth0 192.168.10.10

3激活或停止指定的网卡

ipconfg 网卡设备 up|down
#ipconfig eth0 down

homename命令

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

hostname [参数]
ubuntu@VM-8-7-ubuntu:~$ hostname
VM-8-7-ubuntu

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

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

netstat命令

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

netstat [选项]
命令选项含义命令选项含义
-a显示所有连线中的socket-c持续列出网络状态
-t显示TCP传输协议的连接情况-r显示Routing Table
-u显示UDP传输协议的连接情况-s显示网络工作信息统计表
ubuntu@VM-8-7-ubuntu:~$ netstat -t
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0     52 linux-1:ssh             123.138.101.244:31218   ESTABLISHED
tcp        0      0 linux-1:58476           169.254.0.138:8186      ESTABLISHED
ubuntu@VM-8-7-ubuntu:~$ netstat -u
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
ubuntu@VM-8-7-ubuntu:~$ netstat -s

ping命令

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

ping [选项] [参数]
命令选项含义命令选项含义
-c设置完成要求回应的次数-r记录路由过程
-s设置数据包的大小-v详细显示指令的执行过程
-i指定收发数据的间隔时间单位是s
ubuntu@VM-8-7-ubuntu:~$ ping -c 4 www.baidu.com 
PING www.a.shifen.com (110.242.68.3): 56 data bytes
64 bytes from 110.242.68.3: icmp_seq=0 ttl=251 time=9.167 ms
64 bytes from 110.242.68.3: icmp_seq=1 ttl=251 time=9.190 ms
64 bytes from 110.242.68.3: icmp_seq=2 ttl=251 time=9.234 ms
64 bytes from 110.242.68.3: icmp_seq=3 ttl=251 time=9.205 ms
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 9.167/9.199/9.234/0.024 ms

write命令

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

write 用户名

wall命令

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

wall 消息内容

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

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

talk命令

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

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

6、进程管理命令

ps命令

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

ps [选项]
命令选项含义
-s显示所有用户进程
-u以用户为主的格式显示进程状况
-x显示所有进程不以终端机来区分
-e列出进程时显示每个进程所使用的的环境变量
-r只列出当前终端机正在执行的进程
-f显示进程的详细信息
-l以长格式显示进程列表
ubuntu@VM-8-7-ubuntu:~$ ps -a
  PID TTY          TIME CMD
11278 pts/0    00:00:00 ps
ubuntu@VM-8-7-ubuntu:~$ ps -u
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
ubuntu    3164  0.0  0.2  22268  5408 pts/0    Ss   16:38   0:00 -bash
ubuntu   11285  0.0  0.1  36720  3340 pts/0    R+   17:27   0:00 ps -u
ubuntu@VM-8-7-ubuntu:~$ ps -x
  PID TTY      STAT   TIME COMMAND
 3073 ?        Ss     0:00 /lib/systemd/systemd --user
 3074 ?        S      0:00 (sd-pam)
 3163 ?        R      0:00 sshd: ubuntu@pts/0
 3164 pts/0    Ss     0:00 -bash
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命令

ubuntu@VM-8-7-ubuntu:~$ pstree
systemd─┬─accounts-daemon───2*[{accounts-daemon}]
        ├─acpid
        ├─2*[agetty]
        ├─atd
        ├─barad_agent─┬─barad_agent
        │             └─barad_agent───2*[{barad_agent}]
        ├─cron
        ├─dbus-daemon
        ├─inetd
        ├─2*[iscsid]
        ├─lvmetad
        ├─lxcfs───8*[{lxcfs}]
        ├─networkd-dispat───{networkd-dispat}
        ├─ntpd───{ntpd}
        ├─polkitd───2*[{polkitd}]
        ├─rpcbind
        ├─rshim───{rshim}
        ├─rsyslogd───3*[{rsyslogd}]
        ├─sgagent───{sgagent}
        ├─sshd───sshd───sshd───bash───pstree
        ├─systemd───(sd-pam)
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-network
        ├─systemd-resolve
        ├─systemd-udevd
        ├─tat_agent───6*[{tat_agent}]
        └─unattended-upgr───{unattended-upgr}

实时显示进程命令top

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

top - 17:37:55 up 14 days, 21:39,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 106 total,   1 running,  60 sleeping,   0 stopped,   1 zombie
top - 17:38:18 up 14 days, 21:39,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 105 total,   1 running,  60 sleeping,   0 stopped,   0 zombie
%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
KiB Mem :  2040628 total,   282140 free,   161004 used,  1597484 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1681364 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                        
 2111 root      20   0  512336  17032   4344 S   1.3  0.8  91:10.57 barad_agent                                    
  423 root      19  -1  436880 292032 280344 S   0.3 14.3   1:03.55 systemd-journal                                
12932 root      20   0  108000   7104   6104 S   0.3  0.3   0:00.01 sshd                                           
    1 root      20   0  159896   9116   6648 S   0.0  0.4   0:16.60 systemd                                        
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.11 kthreadd                                       
    4 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 kworker/0:0H                                   
    6 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 mm_percpu_wq                                   
    7 root      20   0       0      0      0 S   0.0  0.0   0:03.75 ksoftirqd/0                                    
    8 root      20   0       0      0      0 I   0.0  0.0   1:05.37 rcu_sched                                      
    9 root      20   0       0      0      0 I   0.0  0.0   0:00.00 rcu_bh                                         
   10 root      rt   0       0      0      0 S   0.0  0.0   0:01.71 migration/0 

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

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

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

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

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

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

kill

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

kill -signal PID
SIGNAL说明
HUP 1终端断线
INT2中断
QUIT3退出
TEAM:15终止
KILL:9强制终止
CONT:18继续
STOP:19暂停..

jobs查看后台进程

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

ubuntu@VM-8-7-ubuntu:~$ sleep 300&
[1] 15483
ubuntu@VM-8-7-ubuntu:~$ jobs
[1]+  Running                 sleep 300 &
ubuntu@VM-8-7-ubuntu:~$ vi &
[2] 15513
ubuntu@VM-8-7-ubuntu:~$ jobs
[1]-  Running                 sleep 300 &
[2]+  Stopped                 vi
ubuntu@VM-8-7-ubuntu:~$ 

进程前台于后台控制命令

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

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

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

计划任务命令

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

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

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

2crontab命令

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

ubuntu@linux-1:~$ cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

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

7、帮助命令

man命令

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

man --help

显示工具的信息

ubuntu@linux-1:~$ cp --help
Usage: cp [OPTION]... [-T] SOURCE DEST
  or:  cp [OPTION]... SOURCE... DIRECTORY
  or:  cp [OPTION]... -t DIRECTORY SOURCE...
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.

Mandatory arguments to long options are mandatory for short options too.
  -a, --archive                same as -dR --preserve=all
      --attributes-only        don't copy the file data, just the attributes
      --backup[=CONTROL]       make a backup of each existing destination file
  -b                           like --backup but does not accept an argument
      --copy-contents          copy contents of special files when recursive
  -d                           same as --no-dereference --preserve=links
  -f, --force                  if an existing destination file cannot be
                                 opened, remove it and try again (this option
                                 is ignored when the -n option is also used)
  -i, --interactive            prompt before overwrite (overrides a previous -n
  ....

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: linux