Loading

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 命令的快捷键

image

less 命令的快捷键

image

搜索查找命令

find 命令

想要查找某个文件在什么位置,可以使用find命令,他的使用格式为find [范围] [选项] [选项值]

从根目录内查找名字为 1.txt 的文件
[root@localhost home]# find / -name 1.txt
/root/1.txt
/home/1.txt

find命令可以选的选项有

image

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

该命令有两个常用的参数

image

压缩解压命令

在接触压缩解压命令之前,先在根目录创建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

image

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

image

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文件
posted @ 2021-12-16 16:49  Java小学生丶  阅读(172)  评论(0编辑  收藏  举报