linux常用命令


一、Linux发行版本



常见的 Linux 发行版及其主要区别:

    1. Ubuntu

特点: 用户友好,适合新手,拥有广泛的社区支持。
用途: 桌面、服务器和云计算。
包管理: APT(Debian 包管理系统)

    1. CentOS / Rocky Linux

特点: 稳定性高,适合生产环境,基于 Red Hat Enterprise Linux (RHEL)。
用途: 企业级服务器,特别是在需要长期支持的环境中。
包管理: YUM/DNF

    1. Debian

特点: 稳定性和安全性高,社区驱动。
用途: 服务器和桌面,适合高级用户。
包管理: APT

    1. Fedora

特点: 最新技术和软件,更新频繁,开发者友好。
用途: 开发和测试新技术。
包管理: DNF

    1. Arch Linux

特点: 滚动更新,极简主义,灵活性高。
用途: 高级用户和开发者,适合定制化需求。
包管理: Pacman

    1. openSUSE

特点: 提供稳定和滚动版本,适合开发和企业使用。
用途: 桌面和服务器。
包管理: Zypper

    1. Linux Mint

特点: 基于 Ubuntu,用户友好,界面友好。
用途: 桌面,适合新手转向 Linux 的用户。
包管理: APT

    1. Manjaro

特点: 基于 Arch,用户友好,提供图形安装程序。
用途: 桌面,适合希望使用 Arch 但不想从头配置的用户。
包管理: Pacman

    1. Slackware

特点: 最古老的 Linux 发行版之一,追求简洁和稳定。
用途: 高级用户,喜欢手动配置系统的人。
包管理: pkgtools


不同版本的命令

  • 大多数情况下,不同发行版的 Linux 命令是相同的,因为它们都遵循了 POSIX(Portable Operating System Interface)标准。POSIX 定义了一组操作系统接口标准,包括命令行工具和 shell 命令的语法和行为。

  • 但仍然存在一些差异。这些差异可能是命令选项的不同、命令的默认行为的不同,或者某些特定命令在某些发行版中不存在。
    此外,不同的发行版可能会提供一些特定于该发行版的工具和命令,用于特定的管理任务或配置文件。这些工具和命令可能在其他发行版中不可用或有所不同。

  • 因此,虽然大多数常见的 Linux 命令在不同的发行版中是相同的,但在使用特定发行版时,仍然需要注意一些细微的差异和特定工具的使用。



二、linux常用命令




此处的OS是Ubuntu 14.0 amd64 (64bit)


ls

用途: 列出当前目录下的文件和子目录。
用法: ls [选项] [目录]
示例: ls -l 列出详细信息,ls -a 列出所有文件(包括隐藏文件),ls /home 列出 /home 目录下的文件和子目录。

当前目录是/root
root@rootadmin:~# cd ..
root@rootadmin:/# ls
bin  boot  dev  etc  home  initrd.img  initrd.img.old  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  vmlinuz  vmlinuz.old
root@rootadmin:/# ls -l
total 76
drwxr-xr-x  2 root root  4096  9 10 06:41 bin
drwxr-xr-x  3 root root  4096  9 10 06:42 boot
drwxr-xr-x 15 root root  4160  9  9 15:38 dev
drwxr-xr-x 91 root root  4096  9 10 06:41 etc
drwxr-xr-x  3 root root  4096  8 26  2016 home
lrwxrwxrwx  1 root root    32  9 10 06:41 initrd.img -> boot/initrd.img-4.2.0-42-generic
lrwxrwxrwx  1 root root    32  8 26  2016 initrd.img.old -> boot/initrd.img-4.2.0-27-generic
drwxr-xr-x 21 root root  4096  9  9 19:15 lib
drwxr-xr-x  2 root root  4096  9  9 19:14 lib64
drwx------  2 root root 16384  8 26  2016 lost+found
drwxr-xr-x  4 root root  4096  8 26  2016 media
drwxr-xr-x  2 root root  4096  4 11  2014 mnt
drwxr-xr-x  4 root root  4096  9  9 21:59 opt
dr-xr-xr-x 94 root root     0  9  9 23:38 proc
drwx------  7 root root  4096  9 10 10:41 root
drwxr-xr-x 17 root root   700  9 10 10:41 run
drwxr-xr-x  2 root root  4096  9 10 06:41 sbin
drwxr-xr-x  2 root root  4096  2 18  2016 srv
dr-xr-xr-x 13 root root     0  9  9 23:38 sys
drwxrwxrwt 17 root root  4096  9 10 10:17 tmp
drwxr-xr-x 10 root root  4096  8 26  2016 usr
drwxr-xr-x 12 root root  4096  8 26  2016 var
lrwxrwxrwx  1 root root    29  9 10 06:41 vmlinuz -> boot/vmlinuz-4.2.0-42-generic
lrwxrwxrwx  1 root root    29  8 26  2016 vmlinuz.old -> boot/vmlinuz-4.2.0-27-generic
root@rootadmin:/# ls /home
rootadmin


-rw-r--r-- 1 user group 0 Sep 25 10:00 filename
这里的权限部分 -rw-r--r-- 表示:

第一个字符表示文件类型(- 表示普通文件,d 表示目录)。
接下来的三个字符表示文件所有者的权限(rw- 表示可读和可写)。
中间三个字符表示用户组的权限(r-- 表示可读)。
最后三个字符表示其他用户的权限(r-- 表示可读)。



cd

用途: 切换当前工作目录。
用法: cd [目录]
示例: cd /home 进入 /home 目录,cd .. 返回上一级目录。

root@rootadmin:/# cd usr/local
root@rootadmin:/usr/local# cd ..
root@rootadmin:/usr# cd /home
root@rootadmin:/home# 


pwd

用途: 显示当前工作目录的完整路径。
用法: pwd
示例: pwd 显示当前工作目录的完整路径。

root@rootadmin:/# cd usr/local
root@rootadmin:/usr/local# pwd
/usr/local


mkdir

用途: 创建一个新目录。
用法: mkdir [选项] 目录名
示例: mkdir mydir 创建一个名为 mydir 的新目录,mkdir -p /home/user/newdir 创建一个名为 newdir 的新目录,并在 /home/user 目录下创建必要的父目录。

root@rootadmin:/usr/local# mkdir kakafa 

root@rootadmin:/usr/local# mkdir -p /usr/local/kkf
root@rootadmin:/usr/local# mkdir -p /usr/local/kkf/aa/bb/cc
root@rootadmin:/usr/local# mkdir -p /root/dd/ee





touch

用途: 创建文件。
用法: touch [选项] 文件

root@rootadmin:/usr/local# touch example.txt

在当前目录创建了一个文件example.txt

root@rootadmin:/usr/local# touch /root/test.txt

在指定目录创建文件test.txt



rm

用途: 删除文件或目录。注意:是永久删除无法恢复
用法: rm [选项] 文件或目录
示例: rm myfile.txt 删除名为 myfile.txt 的文件,rm -r mydir 删除名为 mydir 的目录及其所有内容。

删除一个空文件夹ee:

root@rootadmin:/usr/local# rmdir /root/dd/ee

删除一个非空文件夹kkf:

root@rootadmin:/usr/local# rm -r /usr/local/kkf


删除一个文件:

root@rootadmin:/usr/local# rm /usr/local/example.txt


cp

用途: 复制文件或目录。
用法: cp [选项] 源文件或目录 目标文件或目录
示例: cp myfile.txt /home/user 将 myfile.txt 复制到 /home/user 目录下,cp -r mydir /home/user 将 mydir 目录及其所有内容复制到 /home/user 目录下。

root@rootadmin:/usr/local# cp test.txt /root

将 kakafa 目录及其所有内容复制到 /root 目录下:

root@rootadmin:/usr/local# cp -r kakafa /root



mv

用途: 移动或重命名文件或目录。
用法: mv [选项] 源文件或目录 目标文件或目录
示例: mv myfile.txt /home/user 将 myfile.txt 移动到 /home/user 目录下,mv mydir newdir 将 mydir 目录重命名为 newdir。

root@rootadmin:/usr/local# mv example.txt /root/dd

root@rootadmin:/usr/local# mv test.txt example.txt



cat

用途: 显示文件内容。
用法: cat [选项] 文件
示例: cat myfile.txt 显示 myfile.txt 文件的内容。

root@rootadmin:/usr/local/kakafa# cat example.txt
1111111111
2222222222
33333333root@rootadmin:/usr/local/kakafa# 



grep

用途: 在文件中查找匹配的文本。
用法: grep [选项] 模式 文件
示例: grep "hello" myfile.txt 在 myfile.txt 文件中查找包含 "hello" 的行。

root@rootadmin:/usr/local/kakafa# grep "1111" example.txt
1111111111


ps

用途: 显示当前运行的进程。
用法: ps [选项]
示例: ps aux 显示所有进程的详细信息。

root@rootadmin:/usr/local/kakafa# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.7  36564  7060 ?        Ss    9月09   0:02 /sbin/init
root         2  0.0  0.0      0     0 ?        S     9月09   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S     9月09   0:05 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<    9月09   0:00 [kworker/0:0H]
root         7  0.1  0.0      0     0 ?        S     9月09   1:59 [rcu_sched]
root         8  0.0  0.0      0     0 ?        S     9月09   0:00 [rcu_bh]
root         9  0.1  0.0      0     0 ?        R     9月09   2:32 [rcuos/0]
root        10  0.0  0.0      0     0 ?        S     9月09   0:00 [rcuob/0]
root        11  0.0  0.0      0     0 ?        S     9月09   0:00 [migration/0]
root        12  0.0  0.0      0     0 ?        S     9月09   0:00 [watchdog/0]
root        13  0.0  0.0      0     0 ?        S<    9月09   0:00 [khelper]
root        14  0.0  0.0      0     0 ?        S     9月09   0:00 [kdevtmpfs]
root        15  0.0  0.0      0     0 ?        S<    9月09   0:00 [netns]
root        16  0.0  0.0      0     0 ?        S<    9月09   0:00 [perf]
root        17  0.0  0.0      0     0 ?        S     9月09   0:00 [khungtaskd]
root        18  0.0  0.0      0     0 ?        S<    9月09   0:00 [writeback]
root        19  0.0  0.0      0     0 ?        SN    9月09   0:00 [ksmd]
root        20  0.0  0.0      0     0 ?        SN    9月09   0:00 [khugepaged]
root        21  0.0  0.0      0     0 ?        S<    9月09   0:00 [crypto]
root        22  0.0  0.0      0     0 ?        S<    9月09   0:00 [kintegrityd]
root        23  0.0  0.0      0     0 ?        S<    9月09   0:00 [bioset]
root        24  0.0  0.0      0     0 ?        S<    9月09   0:00 [kblockd]
root        25  0.0  0.0      0     0 ?        S<    9月09   0:00 [ata_sff]
root        26  0.0  0.0      0     0 ?        S<    9月09   0:00 [md]
root        27  0.0  0.0      0     0 ?        S<    9月09   0:00 [devfreq_wq]
root        31  0.0  0.0      0     0 ?        S     9月09   0:00 [kswapd0]
root        32  0.0  0.0      0     0 ?        S     9月09   0:00 [fsnotify_mark]
root        33  0.0  0.0      0     0 ?        S     9月09   0:00 [ecryptfs-kthrea]
root        44  0.0  0.0      0     0 ?        S<    9月09   0:00 [kthrotld]
root        45  0.0  0.0      0     0 ?        S<    9月09   0:00 [acpi_thermal_pm]
root        46  0.0  0.0      0     0 ?        S     9月09   0:00 [scsi_eh_0]
root        47  0.0  0.0      0     0 ?        S<    9月09   0:00 [scsi_tmf_0]
root        48  0.0  0.0      0     0 ?        S     9月09   0:00 [scsi_eh_1]
root        49  0.0  0.0      0     0 ?        S<    9月09   0:00 [scsi_tmf_1]
root        54  0.0  0.0      0     0 ?        S<    9月09   0:00 [ipv6_addrconf]
root        75  0.0  0.0      0     0 ?        S<    9月09   0:00 [deferwq]
root        76  0.0  0.0      0     0 ?        S<    9月09   0:00 [charger_manager]
root       122  0.0  0.0      0     0 ?        S<    9月09   0:00 [kpsmoused]
root       123  0.0  0.0      0     0 ?        S<    9月09   0:00 [hv_vmbus_con]
root       124  0.0  0.0      0     0 ?        S<    9月09   0:00 [kworker/0:1H]
root       125  0.0  0.0      0     0 ?        S     9月09   0:00 [scsi_eh_2]
root       126  0.0  0.0      0     0 ?        S<    9月09   0:00 [scsi_tmf_2]
root       128  0.0  0.0      0     0 ?        S     9月09   0:00 [scsi_eh_3]
root       130  0.0  0.0      0     0 ?        S<    9月09   0:00 [scsi_tmf_3]
root       131  0.0  0.0      0     0 ?        S     9月09   0:00 [scsi_eh_4]
root       132  0.0  0.0      0     0 ?        S<    9月09   0:00 [scsi_tmf_4]
root       142  0.0  0.0      0     0 ?        S     9月09   0:01 [jbd2/sda1-8]
root       143  0.0  0.0      0     0 ?        S<    9月09   0:00 [ext4-rsv-conver]
message+   366  0.0  0.2  39232  2588 ?        Ss    9月09   0:00 dbus-daemon --system --fork
syslog     387  0.0  0.8 255848  8464 ?        Ssl   9月09   0:03 rsyslogd
root       800  0.0  0.1  16220  1732 tty4     Ss+   9月09   0:00 /sbin/getty -8 38400 tty4
root       803  0.0  0.1  16220  1752 tty5     Ss+   9月09   0:00 /sbin/getty -8 38400 tty5
root       808  0.0  0.1  16220  1792 tty2     Ss+   9月09   0:00 /sbin/getty -8 38400 tty2
root       809  0.0  0.1  16220  1788 tty3     Ss+   9月09   0:00 /sbin/getty -8 38400 tty3
root       811  0.0  0.1  16220  1724 tty6     Ss+   9月09   0:00 /sbin/getty -8 38400 tty6
root       838  0.0  0.4  61376  4112 ?        Ss    9月09   0:03 /usr/sbin/sshd -D
daemon     839  0.0  0.0  19144     0 ?        Ss    9月09   0:00 atd
root       842  0.0  0.1  23660  1952 ?        Ss    9月09   0:00 cron
root       844  0.0  0.1   4372  1372 ?        Ss    9月09   0:00 acpid -c /etc/acpi/events -s /var/run/acpid.socket
root       917  0.0  0.1  16220  1812 tty1     Ss+   9月09   0:00 /sbin/getty -8 38400 tty1
root       944  0.0  0.0      0     0 ?        S     9月09   0:00 [kauditd]
root     21190  0.0  0.0      0     0 ?        S    09:57   0:02 [kworker/u128:0]
root     21789  0.0  0.0      0     0 ?        S    10:37   0:01 [kworker/u128:2]
root     21830  0.0  0.6 103100  6544 ?        Ss   10:41   0:00 sshd: root@pts/1    
root     21901  0.0  0.5  22968  5388 pts/1    Ss+  10:41   0:00 -bash
root     21924  0.0  0.6 103100  6504 ?        Ss   10:41   0:00 sshd: root@notty    
root     21976  0.0  0.1  12832  1932 ?        Ss   10:41   0:00 /usr/lib/openssh/sftp-server
root     23991  0.0  0.6 103100  6564 ?        Ss   14:22   0:00 sshd: root@pts/2    
root     24064  0.0  0.5  22968  5348 pts/2    Ss   14:22   0:00 -bash
root     24087  0.0  0.6 103100  6612 ?        Ss   14:24   0:00 sshd: root@notty    
root     24138  0.0  0.1  12832  1960 ?        Ss   14:24   0:00 /usr/lib/openssh/sftp-server
root     24159  0.0  0.1  12832  1812 ?        Ss   14:28   0:00 /usr/lib/openssh/sftp-server
root     24189  0.0  0.5  61392  5452 ?        Ss   14:34   0:00 sshd: [accepted]    
sshd     24190  0.0  0.2  61392  2868 ?        S    14:34   0:00 sshd: [net]         
root     24191  0.0  0.2  18856  2696 pts/2    R+   14:34   0:00 ps aux
root     31747  0.0  0.0      0     0 ?        S     9月09   0:08 [kworker/0:2]
root     48824  0.0  0.0  15288   196 ?        S    06:41   0:00 upstart-file-bridge --daemon
root     48825  0.0  0.1  15272  1920 ?        S    06:41   0:00 upstart-socket-bridge --daemon
root     48909  0.0  0.0  19488   176 ?        S    06:41   0:00 upstart-udev-bridge --daemon
root     48912  0.0  0.3  51484  3404 ?        Ss   06:41   0:00 /lib/systemd/systemd-udevd --daemon
root     49125  0.0  0.3  43464  3364 ?        Ss   06:41   0:00 /lib/systemd/systemd-logind
root     49128  0.0  0.0      0     0 ?        S    06:41   0:08 [kworker/0:1]
root     55771  0.0  0.0      0     0 ?        S<   06:41   0:00 [xfsalloc]
root     55772  0.0  0.0      0     0 ?        S<   06:41   0:00 [xfs_mru_cache]
root     55776  0.0  0.0      0     0 ?        S    06:41   0:00 [jfsIO]
root     55777  0.0  0.0      0     0 ?        S    06:41   0:00 [jfsCommit]
root     55778  0.0  0.0      0     0 ?        S    06:41   0:00 [jfsSync]
root     55797  0.0  0.0      0     0 ?        S<   06:41   0:00 [bioset]
root@rootadmin:/usr/local/kakafa# 



kill

kill 命令用于终止正在运行的进程。

用法:kill ,其中 是要终止的进程的进程ID。例如,要终止 PID 为 1234 的进程:
例子:kill 1234,如果进程没有响应,可以使用 -9 选项强制终止:kill -9 1234



top

top 命令用于实时显示系统中正在运行的进程及其资源使用情况。
示例:top
在运行 top 后,你可以按 q 退出。

root@rootadmin:/usr/local/kakafa# top
top - 14:42:46 up 23:04,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  88 total,   2 running,  86 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   1008052 total,   970788 used,    37264 free,   136232 buffers
KiB Swap:  2095100 total,     2880 used,  2092220 free.   616000 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                                                                                                      
    1 root      20   0   36564   7060   2736 S  0.0  0.7   0:02.49 init                                                                                                                                                                         
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd                                                                                                                                                                     
    3 root      20   0       0      0      0 S  0.0  0.0   0:05.37 ksoftirqd/0                                                                                                                                                                  
    5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H                                                                                                                                                                 
    7 root      20   0       0      0      0 S  0.0  0.0   1:59.81 rcu_sched                                                                                                                                                                    
    8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh                                                                                                                                                                       
    9 root      20   0       0      0      0 R  0.0  0.0   2:33.08 rcuos/0                                                                                                                                                                      
   10 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/0                                                                                                                                                                      
   11 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0                                                                                                                                                                  
   12 root      rt   0       0      0      0 S  0.0  0.0   0:00.44 watchdog/0                                                                                                                                                                   
   13 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 khelper                                                                                                                                                                      
   14 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs    


tree

tree 命令以树形结构显示目录内容(需要安装)。

安装:sudo apt-get install tree
用法示例:tree /path/to/directory
默认情况下,tree 会显示当前目录及其子目录的内容。

root@rootadmin:/usr/local/kakafa# tree /usr/local/kakafa
The program 'tree' is currently not installed. You can install it by typing:
apt-get install tree
root@rootadmin:/usr/local/kakafa# apt-get install tree
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列【新】软件包将被安装:
  tree
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 64 个软件包未被升级。
需要下载 37.8 kB 的软件包。
解压缩后会消耗掉 109 kB 的额外空间。
获取:1 http://cn.archive.ubuntu.com/ubuntu/ trusty/universe tree amd64 1.6.0-1 [37.8 kB]
下载 37.8 kB,耗时 0秒 (115 kB/s)
Selecting previously unselected package tree.
(正在读取数据库 ... 系统当前共安装有 94554 个文件和目录。)
Preparing to unpack .../tree_1.6.0-1_amd64.deb ...
Unpacking tree (1.6.0-1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
正在设置 tree (1.6.0-1) ...
root@rootadmin:/usr/local/kakafa# tree /usr/local/kakafa
/usr/local/kakafa
└── example.txt

0 directories, 1 file
root@rootadmin:/usr/local/kakafa# tree /usr/local
/usr/local
├── bin
├── etc
├── games
├── include
├── kakafa
│   └── example.txt
├── lib
│   ├── python2.7
│   │   ├── dist-packages
│   │   └── site-packages
│   └── python3.4
│       └── dist-packages
├── man -> share/man
├── sbin
├── share
│   ├── ca-certificates
│   ├── man
│   ├── sgml
│   │   ├── declaration
│   │   ├── dtd
│   │   ├── entities
│   │   ├── misc
│   │   └── stylesheet
│   └── xml
│       ├── declaration
│       ├── entities
│       ├── misc
│       └── schema
└── src

28 directories, 1 file



df

df 命令用于显示文件系统的磁盘空间使用情况。
用法示例:df -h
-h 选项表示以人类可读的格式(如 GB、MB)显示磁盘使用情况。

root@rootadmin:/usr/local/kakafa# df
Filesystem     1K-blocks    Used Available Use% Mounted on
udev              493244       4    493240   1% /dev
tmpfs             100808     412    100396   1% /run
/dev/sda1       13285488 2588244   9999340  21% /
none                   4       0         4   0% /sys/fs/cgroup
none                5120       0      5120   0% /run/lock
none              504024       0    504024   0% /run/shm
none              102400       0    102400   0% /run/user
root@rootadmin:/usr/local/kakafa# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            482M  4.0K  482M   1% /dev
tmpfs            99M  412K   99M   1% /run
/dev/sda1        13G  2.5G  9.6G  21% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none            493M     0  493M   0% /run/shm
none            100M     0  100M   0% /run/user



du

du 命令用于显示目录和文件的磁盘使用情况。
用法示例:du -h /path/to/directory
-h 选项表示以人类可读的格式显示使用情况。要查看某个目录的总使用情况,可以使用 -s 选项:du -sh /path/to/directory

#显示当前目录的磁盘使用情况
root@rootadmin:/usr/local# du
4	./include
4	./bin
4	./share/man
4	./share/xml/declaration
4	./share/xml/entities
4	./share/xml/schema
4	./share/xml/misc
20	./share/xml
4	./share/sgml/stylesheet
4	./share/sgml/declaration
4	./share/sgml/dtd
4	./share/sgml/entities
4	./share/sgml/misc
24	./share/sgml
4	./share/ca-certificates
56	./share
4	./games
4	./lib/python2.7/site-packages
4	./lib/python2.7/dist-packages
12	./lib/python2.7
4	./lib/python3.4/dist-packages
8	./lib/python3.4
24	./lib
4	./etc
8	./kakafa
4	./sbin
4	./src
116	.
root@rootadmin:/usr/local# du -s
116	.
root@rootadmin:/usr/local# du -h
4.0K	./include
4.0K	./bin
4.0K	./share/man
4.0K	./share/xml/declaration
4.0K	./share/xml/entities
4.0K	./share/xml/schema
4.0K	./share/xml/misc
20K	./share/xml
4.0K	./share/sgml/stylesheet
4.0K	./share/sgml/declaration
4.0K	./share/sgml/dtd
4.0K	./share/sgml/entities
4.0K	./share/sgml/misc
24K	./share/sgml
4.0K	./share/ca-certificates
56K	./share
4.0K	./games
4.0K	./lib/python2.7/site-packages
4.0K	./lib/python2.7/dist-packages
12K	./lib/python2.7
4.0K	./lib/python3.4/dist-packages
8.0K	./lib/python3.4
24K	./lib
4.0K	./etc
8.0K	./kakafa
4.0K	./sbin
4.0K	./src
116K	.
root@rootadmin:/usr/local# du -sh 
116K	.
root@rootadmin:/usr/local# du -sh /root
221M	/root





三、其他linux命令



ps -ef | grep train | grep -v grep | awk '{print \$2}' | xargs kill -9

这条命令的含义是查找并强制终止与 "train" 相关的所有进程。



ps -ef

这个命令用于列出当前系统中所有运行的进程。-e 选项表示显示所有进程,-f 选项表示以完整格式显示进程信息(包括 UID、PID、PPID、C、STIME、TTY、TIME 和 CMD)。


| grep train

管道符 | 将 ps -ef 的输出传递给 grep 命令。grep train 会过滤出包含 "train" 字符串的行,也就是说,它会显示所有与 "train" 相关的进程。


| grep -v grep

这个命令用于排除包含 "grep" 的行。因为在执行 grep train 时,grep 本身的进程也会被列出(因为它包含 "train" 字符串),所以我们使用 -v 选项来反向匹配,排除掉这些行。


| awk '{print \$2}'

awk 是一个文本处理工具。这里的命令 {print $2} 用于提取输出的第二列(即进程的 PID,进程 ID)。这样,我们就得到了所有与 "train" 相关的进程的 PID。


| xargs kill -9

xargs 将前面命令的输出(即 PID 列表)作为参数传递给 kill -9 命令。kill -9 是一个强制终止进程的命令,-9 选项表示发送 SIGKILL 信号,强制终止进程,而不进行正常的清理。



注意,使用 kill -9 强制终止进程可能会导致数据丢失或未保存的状态,因此在使用时要谨慎。


执行后报错:

root@rootadmin:/usr/local# ps -ef | grep train | grep -v grep | awk '{print \$2}' | xargs kill -9
awk: cmd. line:1: {print \$2}
awk: cmd. line:1:        ^ backslash not last character on line
awk: cmd. line:1: {print \$2}
awk: cmd. line:1:        ^ syntax error

原因是由于在 awk 命令中错误地使用了反斜杠(\)。在 Bash 中,反斜杠用于转义字符,因此 $2 应该直接写成 $2,而不需要加上反斜杠

修正后的命令:
ps -ef | grep train | grep -v grep | awk '{print $2}' | xargs kill -9


可以正确执行

root@rootadmin:/usr/local# ps -ef | grep train | grep -v grep | awk '{print $2}' | xargs kill -9
root@rootadmin:/usr/local# 






posted @   卡卡发  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示