linux常用命令
一、Linux发行版本
常见的 Linux 发行版及其主要区别:
-
- Ubuntu
特点: 用户友好,适合新手,拥有广泛的社区支持。
用途: 桌面、服务器和云计算。
包管理: APT(Debian 包管理系统)
-
- CentOS / Rocky Linux
特点: 稳定性高,适合生产环境,基于 Red Hat Enterprise Linux (RHEL)。
用途: 企业级服务器,特别是在需要长期支持的环境中。
包管理: YUM/DNF
-
- Debian
特点: 稳定性和安全性高,社区驱动。
用途: 服务器和桌面,适合高级用户。
包管理: APT
-
- Fedora
特点: 最新技术和软件,更新频繁,开发者友好。
用途: 开发和测试新技术。
包管理: DNF
-
- Arch Linux
特点: 滚动更新,极简主义,灵活性高。
用途: 高级用户和开发者,适合定制化需求。
包管理: Pacman
-
- openSUSE
特点: 提供稳定和滚动版本,适合开发和企业使用。
用途: 桌面和服务器。
包管理: Zypper
-
- Linux Mint
特点: 基于 Ubuntu,用户友好,界面友好。
用途: 桌面,适合新手转向 Linux 的用户。
包管理: APT
-
- Manjaro
特点: 基于 Arch,用户友好,提供图形安装程序。
用途: 桌面,适合希望使用 Arch 但不想从头配置的用户。
包管理: Pacman
-
- 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
例子: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#
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!