Linux 常用命令
什么是Linux命令
Linux命令(英文:Linux commands)
-
长久以来呢,Linux操作系统以其稳定、高效且可靠等优点被大量的应用于企业服务器领域。大部分对 Linux服务器的管理和维护都是通过远程登录的方式来进行的。而绝大部分的管理维护操作都是基于 Linux命令来实现的,所以Linux命令在工作中就显得至关重要。在将 Linux命令之前,先得了解它的工作原理。
-
原理很简单,其实就是我们用户输入一串字符命令,由She将这条命令“翻译”为系统内核能够懂的“语言”,然后系统内核便根据这条命令去执行相关操作。
什么是Shell ?
-
Linux系统中运行的种特殊程序
-
在用户和内核之间充当“翻译官”
-
用户登录 Linux系统时,自动加载一个Shell程序
-
Bash是 Linux系统中默认使用的She程序 文件位于/bin/bash目录下
命令提示符
我们在登录系统后,第一眼看到的内容是:
[root@localhost ~]#
这就是 Linux系统的命令提示符。那么这个提示符的含义是什么?
-
[]:这是提示符的分隔符号,没有特殊含义,方便查看。
-
root:显示当前登录的用户名。
-
@:分隔符号,没有特妹含义。
-
localhost:当前系统的简写主机名(完整名: localhost localdomain)。
-
~:代表用户当前所在目录,此例中用户当前所在的目录是家目录
-
#:命令提示符,Linux用这个符号标识登录的用户权限等级。超级用户提示符#,普通用户提示符$
什么是家目录 ?
家目录又称主目录,用户登录后,要有一个初始登录位置,这个初始登录位置就称为用户的家目录。
-
超级用户的家目录:/root
-
普通用户的家目录:/home/用户名
-
用户在自己的家目录中拥有完整权限
Linux命令的基本格式
一条 Linux命令,一般由三个部分组成,分别为: 命令字 、选项 、参数 。在这三个部分中,命令字是最关键的一部分,也是不能缺少的,另外两个部分根据具体情况是可以不要。另外命令字、选项、参数之间都是由 空格 分割的。
[root@localhost ~]# 命令 [选项] [参数]
命令 | 不可缺少 |
---|---|
选项 | 分为长格式选项和短格式选项,长格式选项用“--”符号引导,一般后面接单词代表一个功能;短格式选项用“-”符号引导,一般后面接单个字母为一个功能 |
参数 | 命令字的处理对象,可以是文件名、目录名或用户名等,数量可以是零到多个 |
常用简单命令
命令 | 说明 |
---|---|
poweroff | 立刻关机 |
halt | 立刻关机(需要root权限,禁用系统内核) |
reboot | 立刻重启 |
init 0 | 关机 |
init 3 | 纯文本模式 |
init 5 | 图形模式 |
init 6 | 重新启动 |
shutdown | 用法:shutdown [选项] 时间 |
shutdown -c | 取消前一个关机命令 |
shutdown -h | 关机 |
shutdown -r | 重启 |
切换路径命令
cd 是 Change Directory的缩写,用来切换工作目录。
Linux命令按照来源方式可分为两种,分别是Shell内置命令和外部命令。所谓Shell内置命令,就是Shell自带的命令,这些命令是没有执行文件的;而外部命令就是由程序员单独开发的,是命令,所以会有命令的执行文件。 Linux中的绝大多数命令是外部命令,而cd命令是一个典型的Shell内置命令,所以cd命令没有执行文件所在路径。
[root@localhost ~]# cd [相对路径或绝对路径]
特殊符号 | 作用 |
---|---|
~ | 代表当前登录用户的主目录 |
~用户名 | 表示切换至指定用户的主目录 |
- | 代表上次所在目录 |
. | 代表当前目录(不会有路径变化) |
.. | 代表上级目录 |
打印工作目录命令
pwd 是 Print Working Directory的缩写,用来在目录上显示当前目录的绝对路径。
基本格式如下:
[root@localhost ~]# pwd
显示目录内容命令
ls 是list缩写是最常见的目录操作命令,其主要功能是显示当前目录下的内容。
基本格式如下:
[root@localhost ~]# ls [选项] 目录名
具体选项有: -a、-l、-d、-f等
常用命令 :
命令 | 说明 |
---|---|
ls | 显示所有文件和目录(不详细) |
ls -l | 显示所有文件和目录(详细) |
ls -la | 显示所有文件和目录(详细,包括隐藏文件) |
ls -lR | 递归显示目录下的所有文件 |
ls -lh | 显示所有文件文件的大小 |
新建文件夹命令
mkdir 是 make directories的缩写,用户创建新目录,此命令所有用户都可使用。
基本格式如下:
[root@localhost ~]# mkdir [选项] 目录名
具体选项有:
-p:递归创建所有目录;
-m:选项自定义目录权限。
删除文件夹命令
rmdir 是 remove empty directories的缩写,命令用于删除空目录,此命令所有用户都可使用。
基本格式如下:
[root@localhost ~]#rmdir [选项] 目录名
具体选项有:
-p:递归删除所有空目录。
因rmdir只能删除空目录 , 所以此命令不经常使用,后面我们会讲到rm 删除命令的使用,比rmdir命令更加强大。
新建文件命令
touch 是用于用户创建新文件,并目此命令可以修改文件的时间参数(当文件存在时)。
Linux系统中,每个文件主要拥有3个时间参数(通过stat命令进行查看),分别是文件的访问时间、数据修改时
间以及状态修改时间:
-
访问时间( Access Time,简称 atime):只要文件的内容被读取,访问时间就会更新
-
数据修改时间( Modify Time,简称 mtime):当文件的内容数据发生改变,数据修改时间就会跟着相应改
变 -
状态修改时间( Change Time,简称 ctime):当文件的状态发生变化,就会相应改变这个时间。
基本格式如下:
[root@localhost ~]# touch [选项] 文件名
具体选项有:
-a:只修改文件的访问时间
-c:仅修改文件的时间参数(3个时间参数都改变),如果文件不存在,则不新建立文件
-d:后面可以跟欲修订的日期,只修改访问时间和数据修改时间,状态修改时间变更为当前服务器时间。
-m:只修改文件的数据修改时间
-t:后面可跟欲修订时间,书写格式: YYMMDDhhmm
删除命令
rm 命令是 remove的缩写,用于用户永久性的删除文件或者目录,在使用rm命令删除文件或目录时,系统
不会产生任何提示信息。
基本格式如下:
[root@localhost ~]# rm [选项] 文件或目录
具体选项有:
-f:强制删除,和 -i 选项相反,使用 -f 系统不在询问,直接删除目标
-i:在删除文件或者目录前,系统会给出提示信息,防止用户误删
-r:递归删除,主要用户删除目录,可删除指定目录及包含所有内容,包括子目录和文件
注意 :rm命令是一个具有破坏性的命令 , 因为rm命令会永久性地删除文件或目录,这就意味着,如果没有对文件
或目录进行备份, 一旦使用rm命令将其删除,将无法恢复,除非依赖第三方的数据恢复工具。
复制命令
cp 命令是copy的缩写,用于文件或目录的拷贝。
基本格式如下:
[root@localhost ~]# cp [选项] 源文件目标文件
具体选项有:
-a:相当于-d、-p、-r选项的集合,这几个选项我们—一介绍;
-d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接
-i:询问,如果目标文件已经存在,则会询问是否覆盖
-l:把目标文件建立为源文件的硬链接文件,而不是复制源文件;
-s:把目标文件建立为源文件的软链接文件,而不是复制源文件
-p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)
-r:递归复制,用于复制目录
-u:若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用。
移动命令
mv 命令是move的缩写,用于文件或目录的移动,在移动中可以对文件或者目录进行重命名。
基本格式如下:
[root@localhost ~]# mv [选项] 源文件目标文件
具体选项有:
-f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖;
-i:交互移动,如果目标文件己经存在,则询问用户是否覆盖(默认选项);
-n:如果目标文件己经存在,则不会覆盖移动,而且不询问用户;
-v:显示文件或目录的移动过程
-u:若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级。
注意 :同rm命令类似, mν命令也是一个具有破坏性的命令 , 如果使用不当,很可能给系统带来灾难性的后果。
显示文件内容命令
cat 命令是 concatenate(链接、连续)的简写,用来显示文本文件的内容(类似于DOS下的type命令),也可以把几个文件内容附加到另一个文件中,即连接合并文件。
基本格式如下:
root@localhost ~]# cat [选项] 文件名
root@localhost ~]# cat 文件1文件2 > 文件3
具体选项有:
-a:相当于νvET选项的整合,用于列出所有隐藏符号;
-E:列出每行结尾的回车符$;
-n:对输出的所有行进行编号
-b:同-n不同,此选项表示只对非空行进行编号;
-T:把Tab键^显示出来;
-V:列出特殊字符
-s:当遇到有连续2行以上的空白行时,就替换为1行的空白行。
注意 :cat命令适合查看不太大的文件 。当然,在Lnux中是可以使用其他的命令或方法来查看大文件的。
more 命令是可以分页显示文本文件的内容,使用者可以逐页阅读文件中内容。
基本格式如下:
[root@localhost ~]# more [选项] 文件名
具体选项有:
-f:计算行数时,以实际的行数,而不是自动换行过后的行数。
-p:不以卷动的方式显示每页,而是先清除屏幕后再显示内容
-c:跟-p选项相似,不同的是先显示内容再清除其他旧资料。
-s:当遇到有连续两行以上的空白行时,就替换为一行的空白行。
-u:不显示下引号(根据环境变量TERM指定的终端而有所不同)。
+n:从第n行开始显示文件内容,n代表数字。
-n:次显示的行数,n代表数字。
head 命令是显示指定文件前若干行的文件内容。
基本格式如下:
[root@localhost ~]# head [选项] 文件名
具体选项有:
-n K :这里的K表示行数,该选项用来显示文件前K行的内容;如果使用"-K"作为参数,则表示除了文件最后K行外,显示剩余的全部内容。
-c K :这里的K表示字节数,该选项用来显示文件前K个字节的内容;如果使用"-K",则表示除了文件最后K字节的内容,显示剩余全部内容。
-v :显示文件名。
注意 :如不设置显示的具体行数,则默认显示10行的文本数据。
tail 命令正好和head相反,它用来查看文件末尾的数据
基本格式如下:
[root@localhost ~]# tail [选项] 文件名
具体选项有:
-n K :这里的K指的是行数,该选项表示输出最后K行,在此基础上,如果使用-n+K,则表示从文件的第K行开始输出
-c K :这里的K指的是字节数,该选项表示输出文件最后K个字节的内容,在此基础上,使用-C+K则表示从文件第K个字节开始输出。
-f :输出文件变化后新增加的数据。
注意 :-f命令会显示文件的最后10行内容,而且光标不会退出命令,每隔一秒会检查一下文件是否增加新的内容, 如果增加就追加到原来的输出结果后面并显示。
查找文件find 命令
一 简介
find 命令的基本结构如下:find [paths] [expression] [actions]
find 命令接受一个或多个路径 (paths )作为搜索范围,并在该路径下递归 地搜索。即检索完指定的目录后,还会对该目录下的子目录进行检索,以及子目录下的子目录。。。直到到达目录树底部。
默认情况下(不带任何搜索条件),find 命令会返回指定目录下的所有文件 ,所以常常需要通过特定的 expression
对结果进行筛选 。
find 命令默认的 action
是将所有检索结果打印至标准输出。可以通过自定义 action
,让 find 命令对搜索到的结果执行特定的操作。
二 搜索条件(expression)
1. 根据文件名检索
find 命令中的 -name
选项可以根据文件名称进行检索(区分大小写 )。如需要忽略文件名中的大小写,可以使用 -iname
选项。
-name
和 -iname
两个选项都支持 wildcards 。如:
-
?
可以表示任意一个单一的符号 -
*
可以表示任意数量(包括 0)的未知符号
find /usr -name '*.txt'
查找 /usr 目录下所有文件名以 .txt
结尾的文件find /usr -name '????'
查找 /usr 目录下所有文件名刚好为 4 个字符的文件
有些时候,你需要在搜索时匹配某个文件或目录的完整路径 ,而不仅仅是匹配文件名。可以使用 -path
或 -ipath
选项。
如查找 /usr 下所有文件名以 .txt
结尾的文件或目录,且该文件的父目录必须是 src
。可以使用以下命令:find /usr -path '*/src/*.txt'
2. 根据文件类型检索
如果只想搜索得到文件或 目录,即不想它们同时出现在结果中。可以使用 -type
选项指定文件类型。
-type
选项最常用的参数如下:
-
f: 文件
-
d: 目录
-
l: 符号链接
find /usr -type d -name 'python*'
检索 /usr 下所有文件名以 python
开头的目录
3. 检索空文件
find 命令支持 -empty
选项用来检索为空 的文件或目录。空文件即文件里没有任何内容,空目录即目录中没有任何文件或子目录。
find ~ -type d -empty
检索用户主目录下所有的空目录
4. 反义匹配
find 命令也允许用户对当前的匹配条件进行“反义”(类似于** 逻辑非**操作)。
如需要检索 /usr 下所有文件名不 以 .txt
为后缀的文件。可以使用以下命令:find /usr -type f ! -name '*.txt'
也可以“翻转”任何其他的筛选条件,如:find /usr -type f ! -empty
检索 /usr 下所有内容不为空的文件
5. 根据文件的所属权检索
为了检索归属于特定用户的文件或目录,可以使用 -user
选项。
find / -type f -user starky
检索根目录下所有属主为 starky 的文件
类似于 -user
选项,-group
选项则可以根据文件或目录的属组 进行检索。
6. 根据时间日期进行检索
有些时候,需要根据文件创建或修改的时间进行检索。
Linux 系统中,与文件相关联的时间参数有以下三种:
-
修改时间(Modification time):最后一次文件内容有过更改的时间点
-
访问时间(Access time):最后一次文件有被读取过的时间点
-
变更时间(Change time):最后一次文件有被变更 过的时间点(如内容被修改,或权限等 metadata 被修改)
与此对应的是 find 命令中的 -mtime
,-atime
和 -ctime
三个选项。
这三个选项的使用遵循以下示例中的规则:
-
-mtime 2
:该文件 2 天前被修改过 -
-mtime -2
:该文件 2 天以内 被修改过 -
-mtime +2
:该文件距离上次修改已经超过 2 天时间
find /usr -type f -mtime 2
检索 /usr 下两天前被修改过的文件
如果觉得 -mtime
等选项以天 为单位时间有点长,还可以使用 -mmin
,-amin
,-cmin
三个选项:find /usr -type f -mtime +50 -mtime -100
检索 /usr 下 50 到 100 天之前修改过的文件find /usr -type f -mtime 2 -amin 5
检索 /usr 下两天前被修改过且 5 分钟前又读取过的文件
7. 根据文件大小检索
-size
选项允许用户通过文件大小进行搜索(只适用于文件,目录没有大小……)。
表示文件大小的单位由以下字符组成:
-
c
:字节 -
k
:Kb -
M
:Mb -
G
:Gb
另外,还可以使用 +
或 -
符号表示大于 或小于 当前条件。
find / -size +1G
检索文件大小高于 1 GB 的文件
8. 根据文件权限检索
find 命令可以使用 -perm
选项以文件权限为依据进行搜索。
使用符号形式
如需要检索 /usr 目录下权限为 rwxr-xr-x
的文件,可以使用以下命令:find /usr -perm u=rwx,g=rx,o=rx
搜索 /usr 目录下所有权限为 r-xr-xr-x
(即系统中的所有用户都只有读写权限)的文件和目录,可以使用以下命令:find /usr -perm a=rx
很多时候,我们只想匹配文件权限的一个子集 。比如,检索可以直接被任何用户执行的文件,即只关心文件的执行权限,而不用管其读写权限是什么。
上述的需求可以通过以下命令实现:find / -type f -perm /a=x
其中 a=x
前面的 /
符号即用来表示只匹配权限的某个子集(执行权限),而不用关心其他权限的具体设置。
使用数字形式
-perm
选项也支持数字形式的文件权限标记。
find /usr -perm 644
搜索 /usr 目录下权限为 644 (即 rwxr-xr-x
)的文件
9. 限制遍历的层数
find 命令默认是以递归 的方式检索项目的,这有时候会导致得到的结果数量非常巨大。可以使用 -maxdepth
限制 find 命令递归的层数。
find / -maxdepth 3
搜索时向下递归的层数最大为 3
10. 逻辑组合
在之前的例子中有出现多个搜索条件的组合 以及对某个搜索条件的反转 。实际上 find 命令支持 “and” 和 “or” 两种逻辑运算,对应的命令选项分别是 -a
和 -o
。通过这两个选项可以对搜索条件进行更复杂的组合。
此外还可以使用小括号 对搜索条件进行分组 。注意 find
命令中的小括号常需要用单引号 包裹起来。因小括号在 Shell 中有特殊的含义。
如检索 /usr 下文件名以 python
开头且类型为目录的文件find /usr -type d -name 'python*'
该命令等同于:find /usr -type d -a -name 'python*'
更复杂的组合形式如:find / '(' -mmin -5 -o -mtime +50 ')' -a -type f
三 对搜索结果执行命令
1. 删除文件
-delete
选项可以用来删除搜索到的文件和目录。
如删除 home 目录下所有的空目录:find ~ -type d -empty -delete
2. 执行自定义命令
-exec
选项可以对搜索到的结果执行特定的命令。
如需要将 home 目录下所有的 MP3 音频文件复制到移动存储设备(假设路径是 /media/MyDrive
),可使用下面的命令:find ~ -type f -name '*.mp3' -exec cp {} /media/MyDrive ';'
其中的大括号 ({}
)作为检索到的文件的 占位符 ,而分号( ;
)作为命令结束的标志。因为分号是 Shell 中有特殊含义的符号,所以需要使用单引号括起来。每当 find 命令检索到一个符合条件的文件,会使用其完整路径取代命令中的 {}
,然后执行 -exec
后面的命令一次。
另一个很重要的用法是,在多个文件中检索某个指定的字符串。如在用户主目录下的所有文件中检索字符串 hello
,可以使用如下命令:find ~ -type f -exec grep -l hello {} ';'
-exec 选项中的 + 符号
创建 Gzip 格式的压缩文件的命令为:tar -czvf filename.tar.gz <list of files>
现在假设需要将用户主目录下所有的 MP3 文件添加到压缩包 music.tar.gz
中,直观的感觉是,其命令应为如下形式:find ~ -type f -name '*.mp3' -exec tar -czvf music.tar.gz {} ';'
实际情况是,这样得到的 music.tar.gz
其实只包含一个 MP3 文件。原因是 find 命令每次 发现一个音频文件,都会再执行一次 -exec
选项后面的压缩命令。导致先前生成的压缩包被覆盖。
可以先让 find 命令检索出所有符合条件的音频文件,再将得到的文件列表 传递给后面的压缩命令。完整的命令如下:find ~ -type f -name '*.mp3' -exec tar -czvf music.tar.gz {} +
显示文件信息
如果想浏览搜索到的文件(目录)的详细信息(如权限和大小等),可以直接使用 -ls
选项。
find / -type file -size +1G -ls
浏览所有 1G 以上大小的文件的详细信息
常用参数汇总
参数 | 解析 |
---|---|
-atime n[smhdw] | 距离文件上次被访问时的时间间隔 |
-ctime n[smhdw] | 距离文件创建时的时间间隔 |
-delete | 删除检索到的文件 |
-depth n | 检索深度为 n 的文件,即位于指定目录以下 n 层的文件 |
-empty | 检索空文件或空目录 |
-fstype type | 指定文件所在的文件系统的类型 |
-group gname | 指定文件的属组 |
-iname pattern | 同 -name ,忽略大小写 |
-ipath pattern | 同 -path ,忽略大小写 |
-ls | 打印搜索到的文件的详细信息 |
-maxdepth n | 指定递归的最大层数为 n |
-mtime n[smhdw] | 距离文件上次发生变更时的时间间隔 |
-name pattern | 搜索时使用 pattern 对文件名进行匹配 |
-path pattern | 搜索时使用 pattern 对文件路径进行匹配 |
-perm mode | 根据文件权限搜索 |
-size n[ckMGTP] | 根据文件大小搜索 |
-type t | 根据文件类型搜索 |
-user uname | 指定文件的属主 |
内容查找 grep命令
grep 命令是 global regular expressions print缩写,grep命令是用来在每一个文件或中(或特定输出上)搜索特定的模式,当使用grep时,包含指定字符模式的每一行内容,都会被打印(显示)到屏幕上,但是使用grep命令并不改变文件中的内容。
基本格式如下:
[root@localhost ~]# grep [选项] 模式 文件名
具体选项有:
-c:仅列出文件中包含模式的行数
-i:忽略模式中的字母大小写
-l:列出带有匹配行的文件名
-n:在每一行的最前面列出行号
-v:列出没有匹配模式的行
-w:把表达式当做一个完整的单字符来搜寻,忽略那些部分匹配的行
注意 :
-
基本格式中的模式要么是字符(串),要么是正则表达式。
-
如果是搜索多个文件,grep命令的搜索结果只显示文件中发现匹配模式的文件名;而如果搜索单个文件grep命令的结果将显示每一个包含匹配模式的行。有兴趣的同学可以学习一下另外两个命令:sed命令和awk命令
sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处理、编辑文本文件。Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。
详细介绍以及用法:https://www.runoob.com/linux/linux-comm-sed.html
**awk ** 是一种处理文本文件的语言,是一个强大的文本分析工具。之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。
详细介绍以及用法:https://www.runoob.com/linux/linux-comm-awk.html
打包/解打包命令
.tar
tar 命令是常用的归档(打包)命令,该命令可以将许多文件一起保存到一个单独的归档文件。不仅如此,该命令还可以从归档文件中还原所需文件,也就是打包的反过程,称为解打包。使用tar命令归档的包通常称为tar包,tar包文件都是以"tar”结尾。
基本格式如下:
[root@localhost ~]# tar [选项] 源文件或目录(打包)/压缩包(解打包)
具体选项有:
-c:将多个文件或目录进行打包
-A:追加tar文件到归档文件
-f:指定包的文件名或者指定解压的tar包的包名。包的扩展名是用来给管理员识别格式的,所以一定要正确指定扩展名
-v:显示打包或解打包的具体过程
-x:对tar包做解打包操作
-t:只查看tar包中有哪些文件或目录,不对tar包做解打包操忄
-C目录:指定解打包位
[root@localhost Desktop]# ls
[root@localhost Desktop]# touch 1 2 3 4
[root@localhost Desktop]# ls
1 2 3 4
[root@localhost Desktop]# tar -cvf new.tar 1 2 3 4 //打包
1 2 3 4
[root@localhost Desktop]# ls
1 2 3 4 new.tar
[root@localhost Desktop]# mkdir new
[root@localhost Desktop]# ls
1 2 3 4 new new.tar
[root@localhost Desktop]# tar -xvf new.tar -C ./new //指定目录解包
1 2 3 4
[root@localhost Desktop]# ls
1 2 3 4 new new.tar
[root@localhost Desktop]# cd new
[root@localhost new]# ls
1 2 3 4
[root@localhost new]#
压缩/解压缩命令
.tgz
tar 可以通过参数** -z** 同时调用gzip对tar包进行压缩
**tgz压缩命令** :
[root@localhost ~]# tar -zcvf examples.tgz examples (examples当前执行路径下的目录)
说明:
-z, --gzip filter the archive through gzip 通过gzip压缩的形式对文件进行归档
举例:
[root@localhost ~]# tar -zcvf file.tgz dir #dir目录
**tgz 解压命令** :
[root@localhost ~]# tar -zxvf examples.tgz (解压至当前执行目录下)
[root@localhost ~]# tar -zxvf examples.tgz -C /path (/path 解压至其它路径)
举例:
[root@localhost ~]# tar -zxvf file.tgz
[root@localhost ~]# tar -zxvf file.tgz -C /temp
.gz
注意gzip只能压缩文件不能打包 ,并不会将某一目录打包为xxx.gz,而是将该目录下的所有文件分别压缩为.gz
**gzip压缩:**
[root@localhost ~]# gzip -r -6 examples.gz examples
说明:
-z, --gzip filter the archive through gzip 通过gzip压缩的形式对文件进行归档
-6 指定压缩效率,默认为6,范围1到9,1的压缩效率最小压缩速度最快,9反之
**gzip解压:**
[root@localhost ~]# gzip -dr examples.gz
[root@localhost ~]# gunzip -r examples.gz
.zip
zip 格式是开放且免费的,所以广泛使用在 Windows、Linux、MacOS 平台,要说 zip
有什么缺点的话,就是它的压缩率并不是很高,不如 rar及 tar.gz 等格式。
**zip压缩:**
[root@localhost ~]# zip -r examples.zip examples (examples为目录)
具体选项有:
**-r:递归压缩目录,及将制定目录下的所有文件以及子目录全部压缩**
-m:将文件压缩之后,删除原始文件,相当于把文件移到压缩文件中
-v:显示详细的压缩过程信息
-q:在压缩的时候不显示命令的执行过程。
-压缩级别:压缩级别是从1~9的数字,-1代表压缩速度更快,-9代表压缩效果更好
-u:更新压缩文件,即往压缩文件中添加新文件
-r:递归压缩目录,及将制定目录下的所有文件以及子目录全部压缩
实例:
[root@localhost new]# ls
1 2 3 4
[root@localhost new]# zip -v 1.zip 1 2 3 4
adding: 1 (in=0) (out=0) (stored 0%)
adding: 2 (in=0) (out=0) (stored 0%)
adding: 3 (in=0) (out=0) (stored 0%)
adding: 4 (in=0) (out=0) (stored 0%)
total bytes=0, compressed=0 -> 0% savings
[root@localhost new]# ls
1 1.zip 2 3 4
注意 :zip压缩命令需要手工指定压缩之后的压缩包名,注意写清楚扩展名 ,以便解压缩时使用。
**zip解压:**
[root@localhost ~]# unzip examples.zip
具体选项有:
-d:目录名将压缩文件解压到指定目录下
-n:解压时并不覆盖已经存在的文件
-l:显示压缩包中的文件,但不解压
-v:查看压缩文件的详细信息,包括压缩文件中包含的文件大小、文件名以及压缩比等,但并不做解压
-t:测试压缩文件有无损坏,但并不解压
-x:文件列表解压文件,但不包含文件列表中指定的文件
-d目录名:将压缩文件解压到指定目录下
.rar
**rar压缩:**
[root@localhost ~]# rar -a examples.rar examples
**rar解压:**
[root@localhost ~]# rar -x examples.rar
[root@localhost ~]# unrar examples.rar
网络相关命令
|显示或设置网络设备|ifconfig | netstat | ip address | ss|
|---|---|
|显示各种网络相关信息|netstat -antlp|
|重启网卡|systemctl restart network | /etc/init.d/network restart | service network restart|
更新相关命令
更新软件源中的所有软件列表 | sudo apt-get update |
---|---|
更新软件 | sudo apt-get upgrade |
更新系统版本 | sudo apt-get dist-upgrade |
常用更新命令 | sudo apt-get update && sudo apt-get dist-upgrade -y |
内核相关命令
显示系统内核信息 | uname -a |
---|