CentOS7学习笔记(五) 常用命令记录
查看命令的帮助信息
man 命令查看帮助信息
在想要获取帮助信息的命令前面加上man
即可,例如查看ls命令的帮助信息
[root@localhost ~]# man ls
help 命令查看帮助信息
也可以通过help
命令查看帮助信息,在目标命令前面加上help即可,不过这种方法只对外建命令生效
[root@localhost ~]# help cd
cd: cd [-L|[-P [-e]]] [dir]
Change the shell working directory.
Change the current directory to DIR. The default DIR is the value of the
HOME shell variable........
除了这种方法之外,还能以参数的方式跟在命令后面,如下所示
[root@localhost ~]# ls --help
用法:ls [选项]... [文件]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all 不隐藏任何以. 开始的项目
-A, --almost-all 列出除. 及.. 以外的任何项目
.........
操作文件目录的命令
常用命令概览
命令 | 作用 |
---|---|
pwd | 查看当前所在位置 |
ls | 查看当前目录下所有的文件/文件夹,-a包括隐藏文件,-l查看详细信息 |
cd | 切换当前所在目录的位置,支持使用相对路径和绝对路径 |
mkdir | 创建文件夹,如需递归创建需要携带参数-p |
rmdir | 删除文件夹,只能删除递归目录,所以不常用 |
touch | 创建文件 |
cp | 复制文件/文件夹 |
rm | 删除文件或文件夹,-r递归,-f不提示询问 |
mv | 移动/重命名文件或文件夹 |
cat | 查看文件内容,-n显示行号 |
more | 以分页方式查看文件内容,快捷键信息看下面 |
less | 以分页方式查看文件内容,项目more命令功能更加强大,快捷键也有所不同 |
head | 显示文件开头的10行,可以通过-n指定具体多少行 |
tail | 显示文件结尾的10行,同样可以使用-n参数,也可以使用-f实时查看文件变化 |
echo | 输出内容到控制台,可以以$符号开头输出环境变量 |
> | 将内容写入到文件中,会覆盖文件原本的内容 |
>> | 将内容追加到文件末尾 |
ln | 创建硬连接,使用-s为软连接,使用格式为 ln [选项] [原路径] [软连接] |
history | 查看输入的历史命令 |
! | 配合history命令使用,每个历史命令都有一个编号,!5 的作用为执行第5条历史命令 |
| | 管道符前后都需要跟上其他命令,他的作用是将前面命令执行的结果交给后面的命令 |
ls 命令详解
ls命令的作用主要用于遍历目录下所有文件/文件夹
[root@localhost ~]# ls
公共 韩顺平_2021图解Linux全面升级已解锁去水印.pdf 模板 视频 图片 文档 下载 音乐 桌面
但是仅仅这样显示的内容太过简单,一般来说会配合-l选项使用,显示的内容更多
每一列分别对应的为【权限、目录下文件数量、所属用户、所属用户组、文件大小(字节)、上次修改时间、文件名称】
[root@localhost ~]# ls -l
总用量 9972
drwxr-xr-x. 2 root root 6 12月 10 10:36 公共
-rw-r--r--. 1 root root 10211278 12月 21 14:07 韩顺平_2021图解Linux全面升级已解锁去水印.pdf
drwxr-xr-x. 2 root root 6 12月 10 10:36 模板
drwxr-xr-x. 2 root root 6 12月 10 10:36 视频
.......
由于ls -l命令使用频率较高,Linux中提供了ll命令用于简化使用,使用-h选项可以将文件大小从字节优化为M显示
[root@localhost ~]# ll -h
总用量 9.8M
drwxr-xr-x. 2 root root 6 12月 10 10:36 公共
-rw-r--r--. 1 root root 9.8M 12月 21 14:07 韩顺平_2021图解Linux全面升级已解锁去水印.pdf
drwxr-xr-x. 2 root root 6 12月 10 10:36 模板
drwxr-xr-x. 2 root root 6 12月 10 10:36 视频
......
ls命令更多选项参考
选项 | 作用 |
---|---|
-l | 查看文件/文件夹的详细信息 |
-a | 查看包含隐藏的所有文件/文件夹 |
-t | 按上次修改时间、也就是最后修改时间进行排序 |
-S | 按文件大小进行排序,注意S是大写的 |
-r | 在当前排序的基础上倒序显示 |
more 命令的快捷键
less 命令的快捷键
搜索查找命令
find 命令
想要查找某个文件在什么位置,可以使用find命令,他的使用格式为find [范围] [选项] [选项值]
从根目录内查找名字为 1.txt 的文件
[root@localhost home]# find / -name 1.txt
/root/1.txt
/home/1.txt
find命令可以选的选项有
locate 命令
使用locate命令同样可以找到文件所在位置,且速度会更快
[root@localhost home]# locate 1.txt
/etc/brltty/brl-ts-pb65_pb81.txt
/etc/pki/nssdb/pkcs11.txt
/home/1.txt
/home/zhang/.cache/tracker/parser-sha1.txt
.......
该命令速度快是因为使用数据库进行查找,如果想要使用该命令查找文件需要经常维护数据库索引,维护数据库索引也非常简单,只需要执行一次updatedb
命令即可
grep 命令
grep 命令的作用是过滤,一般配合管道符使用,使用场景一般如下所示
该目录下所有文件
[root@localhost home]# ll
总用量 8
-rw-r--r--. 1 root root 10 12月 16 16:12 1.txt
drwx------. 5 test1 kaifa 128 12月 9 16:56 test1
drwx------. 5 test2 test2 128 12月 9 16:33 test2
drwx------. 15 zhang kaifa 4096 12月 16 15:38 zhang
找到名称包含test的文件
[root@localhost home]# ll | grep test
drwx------. 5 test1 kaifa 128 12月 9 16:56 test1
drwx------. 5 test2 test2 128 12月 9 16:33 test2
该命令有两个常用的参数
压缩解压命令
在接触压缩解压命令之前,先在根目录创建data文件夹,然后在data文件夹中创建如下的几个文件用于测试压缩
[root@localhost data]# pwd
/data
[root@localhost data]# touch 1.txt
[root@localhost data]# touch 2.txt
[root@localhost data]# mkdir -p 7/8/9
ZIP格式的压缩和解压:压缩
zip格式的压缩命令就是zip
,他的使用规范为zip [选项] 压缩包名 源文件或源目录列表
,使用方法如下
将1.txt文件压缩为a.zip
[root@localhost data]# zip a.zip 1.txt
adding: 1.txt (stored 0%)
将1.txt和2.txt两个文件压缩为b.zip
[root@localhost data]# zip b.zip 1.txt 2.txt
adding: 1.txt (stored 0%)
adding: 2.txt (stored 0%)
将该目录下所有文件压缩为c.zip,需要注意默认不支持递归,例如7/8/9三层文件夹只会压缩7,8和9不会被压缩
[root@localhost data]# zip c.zip *
adding: 1.txt (stored 0%)
adding: 2.txt (stored 0%)
adding: 7/ (stored 0%)
adding: a.zip (stored 0%)
adding: b.zip (stored 0%)
将该目录下所有文件递归压缩为d.zip,7/8/9三层文件夹都会被压缩
[root@localhost data]# zip -r d.zip *
adding: 1.txt (stored 0%)
adding: 2.txt (stored 0%)
adding: 7/ (stored 0%)
adding: 7/8/ (stored 0%)
adding: 7/8/9/ (stored 0%)
adding: a.zip (stored 0%)
adding: b.zip (stored 0%)
adding: c.zip (stored 0%)
zip命令的一些参数选项
选项 | 含义 |
---|---|
-r | 递归压缩目录,及将制定目录下的所有文件以及子目录全部压缩 |
-m | 将文件压缩之后,删除原始文件,相当于把文件移到压缩文件中 |
-v | 显示详细的压缩过程信息 |
-q | 在压缩的时候不显示命令的执行过程 |
-压缩级别 | 压缩级别是从1~9的数字,-1代表压缩速度更快,-9代表压缩效果更好 |
-u | 更新压缩文件,即往压缩文件中添加新文件 |
当我们把文件压缩为zip文件时,如果zip文件已经存在会执行追加/更新命令,这点可以通过日志观察出来
例如a.zip中只有1.txt一个文件,现在我们压缩2.txt文件为a.zip,那么a.zip中就会同时存在1.txt和2.txt
ZIP格式的压缩和解压:解压
解压命令为unzip
,使用规范为unzip [选项] 压缩包名
,使用方法如下
解压名为a.zip的压缩文件,因为目录下有同名文件所以询问是否替换等操作
[root@localhost data]# unzip a.zip
Archive: a.zip
replace 1.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
extracting: 1.txt
replace 2.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
extracting: 2.txt
将名为b.zip的文件解压到名称为3的文件夹中
[root@localhost data]# mkdir 3
[root@localhost data]# unzip -d 3 b.zip
Archive: b.zip
extracting: 3/1.txt
extracting: 3/2.txt
unzip命令的一些参数选项
选项 | 含义 |
---|---|
-d 目录名 | 将压缩文件解压到指定目录下 |
-n | 解压时并不覆盖已经存在的文件 |
-o | 解压时覆盖已经存在的文件,并且无需用户确认 |
-v | 查看压缩文件的详细信息,包括压缩文件中包含的文件大小、文件名以及压缩比等,但并不做解压操作 |
-t | 测试压缩文件有无损坏,但并不解压 |
-x 文件列表 | 解压文件,但不包含文件列表中指定的文件 |
GZ格式的压缩和解压:压缩
压缩为gz格式的文件需要使用gzip
命令,他只能将单个文件进行压缩,使用规范为gzip [选项] 源文件
,使用方法如下
清理zip的压缩文件
[root@localhost data]# rm -rf *.zip
[root@localhost data]# rm -rf 3/*
压缩名称为1.txt文件
[root@localhost data]# gzip 1.txt
[root@localhost data]# ls
1.txt.gz 2.txt 3 7
递归压缩名称为3的目录下的文件
[root@localhost data]# gzip -r 3
[root@localhost data]# ls 3/
1.txt.gz 2.txt.gz
在不删除源文件的情况下压缩名为2.txt的文件
[root@localhost data]# gzip -c 2.txt > 2.txt.gz
[root@localhost data]# ls
1.txt.gz 2.txt 2.txt.gz 3 7
如果压缩的文件是普通文本文件,那么在不解压的情况下可以直接使用zcat命令查看文件内容
[root@localhost data]# echo "Hello world" > 1.txt
[root@localhost data]# gzip 1.txt
[root@localhost data]# zcat 1.txt.gz
Hello world
gzip命令的一些参数选项
选项 | 含义 |
---|---|
-c | 将压缩数据输出到标准输出中,并保留源文件 |
-r | 递归压缩指定目录下以及子目录下的所有文件 |
-v | 对于每个压缩和解压缩的文件,显示相应的文件名和压缩比 |
-l | 对每一个压缩文件,显示以下字段:压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名称 |
-数字 | 用于指定压缩等级,-1 压缩等级最低,压缩比最差;-9 压缩比最高。默认压缩比是 -6 |
GZ格式的压缩和解压:解压
解压命令为gunzip
,使用规范为gunzip [选项] 压缩包名
,使用方法如下
解压名为1.txt.gz的压缩文件
[root@localhost data]# gunzip 1.txt.gz
解压名为2.txt.gz的压缩文件,因为压缩时保留了源文件,所以这里提示是否替换
[root@localhost data]# gunzip 2.txt.gz
gzip: 2.txt already exists; do you wish to overwrite (y or n)? y
递归解压名为3的目录下的所有压缩文件
[root@localhost data]# gunzip -r 3
TAR的打包和解包
gzip命令只能针对单个文件进行压缩,如果有多个文件需要压缩的话,除了zip命令之外,还可以将多个文件打包为tar,然后将打包好的文件进行压缩,就是比较常见的tar.gz
格式的压缩文件,他是由打包和压缩两个过程组成的
打包和解包的命令都是tar
命令,使用规范为tar [选项] 源文件或目录
,使用方法如下
将1.txt和2.txt两个文件进行打包
[root@localhost data]# tar -cvf a.tar 1.txt 2.txt
1.txt
2.txt
[root@localhost data]# ls
1.txt 2.txt 3 7 a.tar
将打包好的a.tar文件进行压缩
[root@localhost data]# gzip a.tar
[root@localhost data]# ls
1.txt 2.txt 3 7 a.tar.gz
在打包的同时进行压缩,省去手动执行gzip命令,注意后缀名要使用正确
[root@localhost data]# tar -zcvf b.tar.gz 1.txt 2.txt
1.txt
2.txt
[root@localhost data]# ls
1.txt 2.txt 3 7 a.tar.gz b.tar.gz
解包并解压名为b.tar.gz的压缩文件
[root@localhost data]# rm -rf *.txt
[root@localhost data]# tar -zxvf b.tar.gz
1.txt
2.txt
[root@localhost data]# ls
1.txt 2.txt 3 7 a.tar.gz b.tar.gz
tar命令的选项作用
选项 | 含义 |
---|---|
-z | 打包/解包的同时进行压缩/解压操作 |
-c | 将多个文件或目录进行打包 |
-v | 显示打包文件过程 |
-f 包名 | 指定包的文件名。包的扩展名是用来识别格式的,所以一定要正确指定扩展名 |
-x | 解包tar文件 |
作者多数为原创文章 ( 部分转载已标出 ),目前资历尚浅文章内描述可能有误,对此造成的后果深表歉意,如有错误还望指正