Linux 常用命令

面向 CentOS7。


一、帮助信息

ls --help # 打印 ls 命令的帮助信息
man ls    # 查看 ls 命令的说明文档
whatis ls # 查看 ls 命令的简要说明(将 man 手册 NAME 节区下的那句描述的话打印出来)
info ls   # 查看 ls 命令更加详细的说明文档

二、文件和目录

cd

切换目录。

cd /  # 切换到顶层目录
cd ~  # 切换到当前用户的 home 目录(比如 root 用户的 home 目录为 /root)
cd .. # 切换到当前目录的父目录
cd -  # 进入上一次工作路径

pwd

Print working directory。显示用户当前所在的工作目录。

[root@localhost ~]# pwd
/root

ls

显示目录文件(目录也视作文件)。

[root@localhost ~]# ls
anaconda-ks.cfg
-1 按行显示
-a --all,列出目录所有文件,包含隐藏文件
-A --almost-all,列出除 . 及 .. 的其它文件
-h --human-readable,以易读大小显示,常与 l 选项一起出现
-l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
-R --recursive,递归列出全部内容
-r --reverse,反序排列
-S 以文件大小排序
-t 以文件修改时间排序,最新文件在前
ll       # ls -l 的简写形式
ls [dir] # 查看指定目录下的内容

touch

修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

touch test.txt          # 如果 test.txt 文件不存在,则创建一个名为 test.txt 的新的空白文件
echo 'text' > test.txt  # 在 test.txt 文件中写入内容(覆盖原内容)
echo 'text' >> test.txt # 在 test.txt 文件中追加内容

mkdir

mkdir <dir>                   # 创建目录
mkdir -p <dir1>/<dir2>/<dir3> # 创建多级目录,-p 表示若路径中的某些目录尚不存在,系统将自动建立好那些尚不在的目录

rm

rm -i <file> # 删除文件,删除前询问确认
rm -f <file> # 不带提示地(强制)删除文件
rm -r <dir>  # 递归地删除指定目录
rm -rf <dir> # 不带提示地(强制)递归删除指定目录

rmdir

删除空目录。

rmdir <dir>    # 删除空目录
rmdir -p <dir> # 删除多级空目录,-p 表示当子目录被删除后使父目录为空目录的话,则一并删除
rmdir dir*     # 删除以 dir 开头的空目录

mv

为文件或目录改名、或将文件或目录移动到其他位置。

mv -i <file1> <file2>    # 将 file1 重命名为 file2,如果 file2 已经存在,则询问是否覆盖
mv <file> <dir>          # 将 file 移动到 dir
mv <dir1> <dir2>         # 如果 dir2 不存在,就将 dir1 重命名为 dir2;如果 dir2 存在,就将 dir1 移动到 dir2
mv <file1> <dir>/<file2> # 将 file1 移动到 dir 并改名为 file2
mv * ../                 # 将当前目录下的所有内容移动到父目录

cp

复制文件到指定目录。

-i 提示
-r 复制目录及目录内所有项目
cp <file> <dir>        # 将文件复制到指定目录下
cp <file> ./test.txt   # 将文件复制到当前目录下,并改名为 test.txt(创建指定名称的文件副本)
cp -r <dir1> <dir2>    # 将 dir1 和 dir1 下的所有内容复制到 dir2
cp -r <dir1>/* <dir2>  # 将 dir1 下的所有内容复制到 dir2
cp -s a.txt link_a.txt # 为 a.txt 建立一个名为 link_a.txt 的快捷方式

cat

Concatenate。连接文件并打印到标准输出设备上。

-n 输出所有行号
-b 仅对非空行输出行号
cat <file>                  # 显示文件内容
cat -n file1 > file2        # 把 file1 的内容加上行号后输入到 file2
cat > filename              # 从键盘创建一个文件,只能创建新文件,不能编辑已有文件
cat -b file1 file2 >> file3 # 把 file1 和 file2 的文档内容加上行号(空白行不加)之后将内容附加到 file3 文档里
cat file1 file2 > file      # 将几个文件合并为一个文件

more

与 cat 类似,不过会以一页一页的形式显示,更方便使用者逐页阅读。

-c 从顶部清屏,然后显示
-n 定义屏幕大小为 n 行
+n 从笫 n 行开始显示
-p 通过清除窗口而不是滚屏来对文件进行换页,与 -c 选项相似
-s 把连续的多个空行显示为一行
more +3 text.txt # 显示文件中从第 3 行起的内容
ll | more -5  # 在所列出文件目录详细信息,借助管道使每次显示 5 行

常用操作命令:

<Enter> 向下滚动一行
<Space> 向下滚动一屏
b       返回上一屏
=       输出当前行的行号
h       显示帮助信息
q       退出 more

less

与 more 类似。可以按键盘上下方向键显示上下内容,退出后不会留下刚显示的内容。

-i         忽略搜索时的大小写
-N         显示每行的行号
-s         显示连续空行为一行
/<str>     向下搜索字符串
?<str>     向上搜索字符串
n          重复前一个搜索(与 / 或 ? 有关)
N          反向重复前一个搜索(与 / 或 ? 有关)
b          向后翻一页
d          向后翻半页
h          显示帮助界面
q          退出 less 命令
u          向前滚动半页
y          向前滚动一行
<Space>    滚动一页
<Enter>    滚动一行
<PageDown> 向下翻动一页
<PageUp>   向上翻动一页
ps -aux | less -N # ps 查看进程信息并通过 less 分页显示

显示文件开头内容。

-n <行数> 显示的行数(行数为负数表示从最后向前数)
head 1.log -n 20  # 显示 1.log 文件中前 20 行
head -n -10 t.log # 显示 t.log 最后 10 行

tail

显示文件结尾内容。常用于查看日志文件。

-f 循环读取(常用于查看递增的日志文件)
-n <行数> 显示行数(从后向前)
tail -f <file> # 动态查看文件末尾的内容(监测更新),通常用于查看日志文件的内容
tail -5 <file> # 查看文件末尾 5 行的内容

tar

Tape archive。用来打包、解包、压缩、解压文件。tar 本身不具有压缩功能,只具有打包 / 解包功能,压缩及解压需要调用其它的程序来完成。

弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。包文件后缀为 .tar 表示只是完成了打包,并没有压缩;包文件后缀为 .tar.gz 表示打包的同时用 gzip 进行了压缩。

常用参数:

-z  --gzip,支持 gzip 压缩 / 解压
-c  --create,建立新的包文件
-x  --extract,从包文件中抽取文件
-v  --verbose,显示操作过程
-f  指定包文件名称
-t  显示包文件中的内容
-C <目的目录> 提取到指定目录
tar -cvf dir.tar <dir>        # 将指定文件夹打包为名为 dir.tar 的包,同时打印打包过程
tar -zcvf dir.tar.gz <dir>    # 将指定文件夹打包为名为 dir.tar.gz 的包,打包的同时进行压缩
tar -xvf dir.tar              # 将指定打包文件解包到当前目录
tar -zxvf dir.tar.gz          # 将指定压缩文件解压到当前目录
tar -zxvf dir.tar.gz -C <dir> # 将指定压缩文件解压到 dir 目录
tar -ztvf dir.tar.gz          # 查看刚打包的文件内容(加 z 因为是使用 gzip 压缩的)
tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc # 压缩打包 /home, /etc ,但不要 /home/dmtsai

ln

Link files。为文件在另外一个位置建立一个同步的链接。

链接分类:软件链接及硬链接。

软链接:

  • 软链接,以路径的形式存在。类似于 Windows 操作系统中的快捷方式;
  • 软链接可以跨文件系统 ,硬链接不可以;
  • 软链接可以对一个不存在的文件名进行链接;
  • 软链接可以对目录进行链接。

硬链接:

  • 硬链接,以文件副本的形式存在。但不占用实际空间;
  • 不允许给目录创建硬链接;
  • 硬链接只有在同一个文件系统中才能创建。

需要注意:

  • 第一:ln 命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;
  • 第二:软链接用ln –s <源文件> <目标文件>创建,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接用ln <源文件> <目标文件>创建,没有参数 -s,它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
-b 删除,覆盖以前建立的链接
-s 软链接(符号链接)
-v 显示详细处理过程
ln -v source.log link1.log # 给文件创建硬链接,并显示操作信息
ln -sv source.log link.log # 给文件创建软链接,并显示操作信息
ln -sv /opt/soft/test/test3 /opt/soft/test/test5 # 给目录创建软链接

wc

Word count。统计指定的文件中的字节数、字数、行数,并将统计结果输出。

-c 统计字节数
-l 统计行数
-m 统计字符数
-w 统计词数,一个字被定义为由空白、跳格或换行字符分隔的字符串
wc text.txt # 输出文件的行数、单词数、字节数、文件名
cat test.txt | wc -l # 统计输出结果的行数

三、查找

在 linux 要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:

which   查看可执行文件的位置
whereis 查看文件的位置
locate  配合数据库查看文件位置
find    搜寻硬盘查询文件名称

which

在 $PATH 中搜索某个系统命令的位置,返回第一个搜索结果。使用 which 命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

echo $PATH # 查看当前 $PATH 变量
which ls   # 查看 ls 命令是否存在,执行哪个

whereis

在预定目录下(whereis -l 查看)查找二进制文件(参数 -b)、man 说明文件(参数 -m)和源代码文件(参数 -s)。如果省略参数,则返回所有信息。whereis 及 locate 都是基于系统内建的数据库进行搜索,因此效率很高,而 find 则是遍历硬盘查找文件。

-b 定位可执行文件
-m 定位帮助文件
-s 定位源代码文件
-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件
whereis ls # 查找 ls 程序相关文件

locate

通过搜寻系统内建文档数据库快速查找内容。数据库由 updatedb 程序来更新,文件若是最近才建立或刚更名的,locate 可能会找不到,可以执行 updatedb 命令来手动更新数据库。

locate 与 find 命令相似,可以使用如 *、? 等进行正则匹配查找

-l <num> 只显示指定行数
-r       使用正则表达式
locate pwd                  # 查找和 pwd 相关的所有文件(文件名中包含 pwd)
locate /etc/sh              # 搜索 etc 目录下所有以 sh 开头的文件
locate -r '^/var/.*reason$' # 查找 /var 目录下,以 reason 结尾的文件(其中 .* 表示非空的任意多个字符)

find

-print 将匹配的文件列出到标准输出。
-exec  对匹配的文件逐个执行该参数所给出的 shell 命令。相应命令的形式为 'command' {  } \;,注意 {   } 和 \; 之间的空格。
-ok    和 -exec 的作用相同,只不过以一种更为安全的模式来执行该参数所给出的 shell 命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
-name  按照文件名查找文件
-perm  按文件权限查找文件
-user  按文件属主查找文件
-group 按照文件所属的组来查找文件。
-type  查找某一类型的文件
    d 目录
    f 普通文件
-size +<n> 查找文件大于为 n 单位的文件,+ 替换为 - 表示文件小于 n 单位的文件
    c 字节
    b 块(512 字节)
    w 字(2 字节)
    k 千字节
    M 兆字节
    G 吉字节
-atime +n 查找系统中 n*24 小时前访问的文件
-ctime -n 查找系统中最近 n*24 小时被改变文件状态的文件
-mtime +n 查找系统中 n*24 小时前被改变文件数据的文件
(- 限定时间在距今 n 日以内,+ 限定时间在距今 n 日以前)
-maxdepth n 最大查找目录深度
-mindepth n 最小查找目录深度
-depth  优先查找子目录
-path   配合 -prune 排除搜索目录
-prune  排除目录。如果同时使用了 -depth 选项,那么 -prune 选项会被忽略
-delete 将查找出的文件删除
find ./ -name '*.log' # 在当前目录查找 以 .log 结尾的文件。 **.** 代表当前目录
find -atime -2        # 查找 48 小时内修改过的文件
find /opt -perm 777   # 查找 /opt 目录下 权限为 777 的文件
find -size +1000c     # 查找大于 1000 Byte 的文件
find -size 1000c      # 查找等于 1000 Byte 的文件
find -size -1000c     # 查找小于 1000 Byte 的文件
find test -path 'test/test4' -prune # 在 test 目录查找,不在 test4 子目录查找,-path 和 -prune 搭配用来排除搜索路径

-exec 参数后面跟的是 command 命令,它的终止是以 ; 为结束标志,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{} 花括号代表前面 find 查找出来的文件名。

find . -type f -mtime +10 -exec rm -f {} \;      # 在当前目录中查找更改时间在 10 日以前的文件并删除它们(无提醒)
find . -name '*.log' mtime +5 -ok -exec rm {} \; # 当前目录中查找所有文件名以 .log 结尾、更改时间在 5 日以上的文件,并删除它们,在删除之前先给出提示
find . -f -name 'passwd*' -exec grep "pkg" {} \; # 当前目录下查找文件名以 passwd 开头,内容包含 "pkg" 字符的文件
find . -name '*.log' -exec cp {} test3 \;        # 用 exec 选项执行 cp 命令

可以把匹配到的文件用管道符传递给 xargs 命令。xargs 命令每次获取一批文件,这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。

find . -type f -print | xargs file                         # 查找当前目录下每个普通文件,然后使用 xargs 执行 file 命令判断文件类型
find . -name "*.log" | xargs -i mv {} test4                # 利用 xargs 执行 mv 命令,-i 表示替换 {} 为各查找结果
find . -name \* -type f -print | xargs grep -n 'hostnames' # 用 grep 命令在当前目录下的所有普通文件中搜索 hostnames 这个词,并标出所在行
find -type f -name '*.js' | xargs grep -lF 'editor'        # 查找当前目录下所有以 js 结尾的并且其中包含 'editor' 字符的普通文件

grep

文本搜索。Global Regular Expression Print。

grep [option] pattern file|dir
-A n --after-context 显示匹配字符后 n 行
-B n --before-context 显示匹配字符前 n 行
-C n --context 显示匹配字符前后 n 行
-c --count 计算匹配列数
-i 忽略大小写
-l 列出文件内容符合指定模式的文件的文件名
-n 显示匹配内容所在行数
-R 递归查找文件夹
-E 使用扩展正则表达式

grep 的规则表达式:

^        # 锚定行的开始 如:'^grep'匹配所有以 grep 开头的行。
$        # 锚定行的结束 如:'grep$'匹配所有以 grep 结尾的行。
.        # 匹配一个非换行符的字符 如:'gr.p'匹配 gr 后接一个任意字符,然后是 p。
*        # 匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟 grep 的行。
.*       # 一起用代表任意字符。
[]       # 匹配一个指定范围内的字符,如'[Gg]rep'匹配 Grep 和 grep。
[^]      # 匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含 A-R 和 T-Z 的一个字母开头,紧跟 rep 的行。
\(..\)   # 标记匹配字符,如'\(love\)',love 被标记为 1。
\<       # 锚定单词的开始,如:'\<grep'匹配包含以 grep 开头的单词的行。
\>       # 锚定单词的结束,如'grep\>'匹配包含以 grep 结尾的单词的行。
x\{m\}   # 重复字符 x,m 次,如:'0\{5\}'匹配包含 5 个 o 的行。
x\{m,\}  # 重复字符 x,至少 m 次,如:'o\{5,\}'匹配至少有 5 个 o 的行。
x\{m,n\} # 重复字符 x,至少 m 次,不多于 n 次,如:'o\{5,10\}'匹配 5--10 个 o 的行。
\w       # 匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以 G 后跟零个或多个文字或数字字符,然后是 p。
\W       # \w 的反置形式,匹配一个或多个非单词字符,如点号句号等。
\b       # 单词锁定符,如: '\bgrep\b'只匹配 grep。
ps -ef | grep svn        # 查找指定进程
ps -ef | grep svn -c     # 查找指定进程个数
grep -lR '^grep' /tmp    # 从文件夹中递归查找以 grep 开头的行,并只列出文件
grep '^[^x]' test.txt    # 查找非 x 开关的行内容
grep -E 'ed|at' test.txt # 显示包含 ed 或者 at 字符的内容行

四、管理

uname

Unix name。显示系统信息。

-a  --all,显示全部的信息
-m  --machine,显示计算机类型
-n  --nodename,显示在网络上的主机名称
-r  --release,显示操作系统的发行编号
-s  --sysname,显示操作系统名称
-v  显示操作系统的版本
--version 显示版本信息
uname -m # 查看计算机类型

ip

显示或设置网络设备。

ip addr                             # 或者 ip addr show,显示网卡 IP 信息
ip link                             # 或者 ip link show,显示网络接口信息
ip link set eth0 up                 # 开启 eth0 网卡
ip link set eth0 down               # 关闭 eth0 网卡
ip addr add 192.168.0.1/24 dev eth0 # 设置 eth0 网卡 IP 地址
ip addr del 192.168.0.1/24 dev eth0 # 删除 eth0 网卡 IP 地址

systemctl

System control。管理系统服务。

systemctl status <服务>  # 查看服务状态
systemctl stop <服务>    # 暂时关闭服务
systemctl start <服务>   # 开启服务
systemctl restart <服务> # 重启服务
systemctl enable <服务>  # 设置开机启动
systemctl disable <服务> # 关闭并禁止开机启动
systemctl | grep running                  # 列出所有运行中服务
systemctl list-unit-files --state=enabled # 列出所有已启用服务,或者 systemctl list-unit-files | grep enabled
systemctl status sshd # 查看 sshd 状态

防火墙

systemctl status firewalld  # 查看防火墙状态,或者 firewall-cmd --state
systemctl stop firewalld    # 暂时关闭防火墙
systemctl start firewalld   # 开启防火墙
systemctl enable firewalld  # 设置开机启动
systemctl disable firewalld # 关闭并禁止开机启动
firewall-cmd --reload       # 重启防火墙
firewall-cmd --zone=public --list-ports # 查看指定区域所有打开的端口
firewall-cmd --zone=public --add-port=80/tcp --permanent    # 在指定区域打开 80 端口(记得重启防火墙),--permanent 表示永久生效
firewall-cmd --zone=public --remove-port=80/tcp --permanent # 在指定区域关闭 80 端口(记得重启防火墙)

说明:

--zone              作用域
--add-port=8080/tcp 添加端口,格式为:端口 / 通讯协议
--permanent         永久生效,没有此参数重启后失效

为了保证系统安全,不建议关闭服务器的防火墙。

chmod

Change mode。改变 linux 系统文件或目录的访问权限。只有文件所有者和超级用户可以修改文件或目录的权限。

-c 当发生改变时,报告处理信息
-R 处理指定目录以及其子目录下所有文件

每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主(Owner)的读、写和执行权限;与属主同组(Group)的用户的读、写和执行权限;系统中其他用户(Other Users)的读、写和执行权限。

以文件 log2012.log 为例:

[root@localhost test]# ls -l
-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log

第一列共有 10 个位置,第一个字符指定了文件类型。第一个字符如果是横线,表示是一个文件,如果是 d,表示是一个目录。从第二个字符开始到第十个 9 个字符,3 个字符一组,分别表示了 3 组用户对文件或者目录的权限。权限字符用横线代表空许可,r 代表可读,w 代表可写,x 代表可执行。

img

可以使用绝对模式(八进制数字模式)或符号模式指定文件的权限。

符号模式:

chmod [who][operator][permission] [file|dir]

可包含多个[who][operator][permission]项目,每个项目之间用逗号隔开。

who(用户类型):

u 目录或者文件的当前的用户
g 目录或者文件的当前的群组
o 除了目录或者文件的当前用户或群组之外的用户或者群组
a 所有的用户及群组

operator(操作符):

+ 为指定的用户类型增加权限
- 去除指定用户类型的权限
= 设置指定用户权限的设置,即将用户类型的所有权限重新设置

常用 permission(权限):

r 读权限,用数字 4 表示
w 写权限,用数字 2 表示
x 执行权限,用数字 1 表示
- 删除权限,用数字 0 表示

示例:

chmod a+x t.log               # 增加文件 t.log 所有用户可执行权限
chmod u=r t.log -c            # 撤销原来所有的权限,然后使拥有者具有可读权限,并输出处理信息
chmod u=rwx,g=rx,o=x t.log -c # 给 file 的属主分配读、写、执行的权限,给 file 的所在组分配读、执行的权限,给其他用户分配执行的权限
chmod u+r,g+r,o+r -R text/ -c # 将 test 目录及其子目录所有文件添加可读权限

绝对模式:

chmod [sum1][sum2][sum3] [file|dir]

sum 为一个数字,是三个相邻符号的和,log2012.log 的权限为rw-r--r--sum(rw-)=4+2+0=6sum(r--)=4+0+0=4,所以rw-r--r--等价于644

示例:

chmod 751 t.log -c # 与 chmod u=rwx,g=rx,o=x t.log -c 效果相同 sun(rwx)=7,sum(rx)=5,sum(x)=1。 
img

ps

Process status。用来查看当前运行的进程状态,一次性查看。需要动态连续结果时使用 top 命令。

linux 上进程有 5 种状态,ps 工具标识进程的 5 种状态码:

D 不可中断
R 运行
S 中断
T 停止
Z 僵死
-a   显示同一终端下所有进程,除了阶段作业领导者之外
a    显示当前终端机下的所有进程,包括其他用户的进程
-A   显示所有进程,不以终端机来区分
c    显示进程真实名称
e    显示环境变量
f    显示进程间的关系
-aux 显示所有进程,不以终端机来区分,比 -A 显示更多栏的信息
ps -ef                         # 显示所有进程环境变量及进程间关系
ps -A                          # 显示所有进程
ps -aux | grep apache          # 与 grep 联用查找某进程
ps -aux | grep '(cron|syslog)' # 找出与 cron 与 syslog 这两个服务有关的 PID 号码

kill

发送指定的信号到相应进程。不指定信号将发送 SIGTERM(15) 终止指定进程。如果仍无法终止该程序可用"-KILL" 参数,其发送的信号为 SIGKILL(9) ,将强制结束进程,使用 ps 命令或者 jobs 命令可以查看进程号。root 用户将影响用户的进程,非 root 用户只能影响自己的进程。

-l 列出信号名称
-a 当处理当前进程时,不限制命令名和进程号的对应关系
-p 只打印相关进程的进程号(PID),而不发送任何信号
-u 指定用户

常用信号:

1  (HUP)  重新加载进程
9  (KILL) 杀死一个进程
15 (TERM) 正常停止一个进程
kill -l                          # 列出全部的信号名称
kill -l 9                        # 列出指定信号名称
kill -9 $(ps -ef | grep pro1)    # 先使用 ps 查找进程 pro1,然后用 kill 杀掉
kill -KILL $(ps -ef | grep pro1) # 与上面的命令等价
kill -u Bob                      # 杀死指定用户所有进程

free

显示系统内存使用情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。

-h 以易读格式显示信息
-b 以 Byte 为单位显示
-k 以 KB 为单位显示
-m 以 MB 为单位显示
-g 以 GB 为单位显示
-s <间隔秒数> 持续显示
-t 显示总合
free -ht   # 以易读格式显示内存使用情况,且显示总和
free -s 10 # 周期性查询内存使用情况

df

Disk free。显示磁盘空间使用情况。

-a 全部文件系统列表
-h 以易读格式显示信息
-i 显示 Inode 信息
-l 只显示本地磁盘
-T 列出文件系统类型
df -lh  # 以易读格式显示本地磁盘使用情况
df -haT # 以易读方式列出所有文件系统及其类型

du

Disk usage。显示每个文件和目录的磁盘使用空间。

-a 显示子目录中文件的大小
-k 以 KB 为单位显示
-m 以 MB 为单位显示
-g 以 GB 为单位显示
-h 以易读方式显示
-s --summarize,仅显示总计
-c --total,除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
du -h test/          # 以易读方式显示文件夹内及子文件夹大小
du -ha test/         # 以易读方式显示文件夹内所有文件大小
du -hc test1/ test2/ # 显示几个文件或目录各自占用磁盘空间的大小,并统计它们的总和
du -hc --max-depth=1 # 输出当前目录下各个子目录所使用的空间
du -h -s             # 显示当前目录总计空间

五、其他

history                 # 查看历史命令
clear                   # 清屏
reset                   # 重新初始化终端
wget <url>              # 下载文件
curl <url>              # 发起请求
nohup /root/test.sh &   # 不挂起后台执行 /root/test.sh 命令
jobs                    # 查看后台作业
netstat -ntlp           # 查看占用的端口
cat /etc/redhat-release # 查看 CentOS 版本

ref:
Linux 常用命令学习 | 菜鸟教程
Linux 命令搜索引擎Linux 课程
linux 命令 which,whereis,locate,find 的区别 - 知乎
which/whereis/whatis/locate/find 的区别 - 诸子流 - 博客园
Linux chmod 命令 | 菜鸟教程
Linux touch 命令 | 菜鸟教程
BV13a411q753
systemd - How to list all enabled services from systemctl? - Ask Ubuntu
Linux ip 命令 | 菜鸟教程
Linux uname 命令 | 菜鸟教程
Linux nohup 命令 | 菜鸟教程
find 命令,Linux find 命令详解:在指定目录下查找文件 - Linux 命令搜索引擎
linux 怎么查看 CentOS 版本
Linux cat 命令 | 菜鸟教程

posted @ 2022-07-02 21:32  Higurashi-kagome  阅读(54)  评论(0编辑  收藏  举报