一、上堂回顾
系统设置:/etc 跟用户有关的文件【用户名和密码】
vim
su:切换用户
目录结构
/:根目录
/home:家目录,存储的是普通用户的用户名【目录】
/etc
/tmp:存放是程序运行的临时文件,系统会定期清理
快捷键
常用命令:
1.查看文档
histroy
2.文件管理
ls:列出指定目录下的所有的内容
ls -l:显示内容的详细信息
ls -a:显示隐藏文件
ls -a -l ---->ls -al---->ll【组合命令】
pwd:查看当前工作的目录
cd:切换工作目录,根据指定的目录切换
cd .
cd ..
cd 路径【相对路径】
一、常用命令
1.文件管理
1>查看文件
cat:查看完整的文件内容 -n :显示每一行的行号,包括空行 -b :显示每一行的行号,不包括空行 #直接使用cat查看文件,将文件中的内容输出到终端 #-n和-b,都会给内容进行编号,但是-b不包含空行 演示命令: yangyang@yangyang-virMachine:~$ pwd /home/yangyang yangyang@yangyang-virMachine:~$ cd Desktop/ yangyang@yangyang-virMachine:~/Desktop$ ls a1.txt yangyang@yangyang-virMachine:~/Desktop$ cat a1.txt tgjrgjrg jsfehgjf shgbjawrg jgnfgjgn gf hh hfs h ht hhhs yangyang@yangyang-virMachine:~/Desktop$ cat -n a1.txt 1 tgjrgjrg 2 jsfehgjf 3 4 5 6 shgbjawrg 7 jgnfgjgn 8 9 10 gf 11 12 hh 13 14 hfs 15 h 16 ht 17 hhhs 18 19 20 21 22 yangyang@yangyang-virMachine:~/Desktop$ cat -b a1.txt 1 tgjrgjrg 2 jsfehgjf 3 shgbjawrg 4 jgnfgjgn 5 gf 6 hh 7 hfs 8 h 9 ht 10 hhhs head:查看文件内容 #查看文件中的头部内容,默认只查看前10行 #-num,可以手动指定需要查看的行数 演示命令: yangyang@yangyang-virMachine:~/Desktop$ head a1.txt tgjrgjrg jsfehgjf shgbjawrg jgnfgjgn gf yangyang@yangyang-virMachine:~/Desktop$ head -2 a1.txt tgjrgjrg jsfehgjf tail:查看文件内容 #查看文件中的尾部内容,默认只查看后10行 #-num,可以手动指定需要查看的行数 演示命令: yangyang@yangyang-virMachine:~/Desktop$ tail a1.txt hfs h ht hhhs yangyang@yangyang-virMachine:~/Desktop$ tail -2 a1.txt less:查看文件 #按下enter向下翻一行,按下空格键向下翻一页,按上下箭头键可以向上或者向下翻行,按下q退出,类似于man 演示命令: yangyang@yangyang-virMachine:~/Desktop$ less a1.txt more:查看文件 #当文件内容较少的时候,和cat的用法完全相同,将内容输出到终端;当文件内容较多的时候,建议使用more,通过空格键和enter键控制翻页和翻行 演示命令: yangyang@yangyang-virMachine:~/Desktop$ more a1.txt tgjrgjrg jsfehgjf shgbjawrg jgnfgjgn gf hh hfs h ht hhhs wc:一次显示文件行数,字节数以及文件名信息 #并不是查看文件内容,查看文件属性 演示命令: yangyang@yangyang-virMachine:~/Desktop$ wc a1.txt 22 10 69 a1.txt stat:查看文件详细信息,可以获取文件的文件名、大小、权限,最近访问以及最近更改的时间,stat命令的输出信息比ls命令还要详细 #查看文件信息,使用ls更多 演示命令: yangyang@yangyang-virMachine:~/Desktop$ stat a1.txt 文件:'a1.txt' 大小:69 块:8 IO 块:4096 普通文件 设备:801h/2049d Inode:525551 硬链接:1 权限:(0644/-rw-r--r--) Uid:( 1000/yangyang) Gid:( 1000/ rock) 最近访问:2018-09-05 17:20:17.975441550 +0800 最近更改:2018-09-05 17:19:14.987440150 +0800 最近改动:2018-09-05 17:19:14.991440150 +0800 创建时间:- file:查看文件的类型 演示命令: yangyang@yangyang-virMachine:~/Desktop$ file a1.txt a1.txt: ASCII text echo:用于在终端输出字符串或变量的值 演示命令: yangyang@yangyang-virMachine:~/Desktop$ echo "hello" hello |:管道 #作用:将一个命令的输出,作为另一个命令的输入 #帮助理解:这里的|分为左右,左端写内容,右端读取内容 #【掌握】 重定向 >:输出重定向,Linux允许将执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中 #如果文件不存在,则会自动创建;如果文件存在,则会覆盖文件中的内容 #特殊情况:如果文件不存在,则先创建文件,然后才重定向 #w 演示命令: yangyang@yangyang-virMachine:~/Desktop$ ls a1.txt yangyang@yangyang-virMachine:~/Desktop$ ls > a2.txt yangyang@yangyang-virMachine:~/Desktop$ ls a1.txt a2.txt yangyang@yangyang-virMachine:~/Desktop$ cat a2.txt a1.txt a2.txt yangyang@yangyang-virMachine:~/Desktop$ ls -l > a2.txt yangyang@yangyang-virMachine:~/Desktop$ cat a2.txt 总用量 4 -rw-r--r-- 1 yangyang rock 69 9月 5 17:19 a1.txt -rw-r--r-- 1 yangyang rock 0 9月 5 17:43 a2.txt yangyang@yangyang-virMachine:~/Desktop$ cat a1.txt > a3.txt yangyang@yangyang-virMachine:~/Desktop$ cat a1.txt tgjrgjrg jsfehgjf shgbjawrg jgnfgjgn gf hh hfs h ht hhhs yangyang@yangyang-virMachine:~/Desktop$ cat a3.txt tgjrgjrg jsfehgjf shgbjawrg jgnfgjgn gf hh hfs h ht hhhs >>:输出重定向,Linux允许将执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中 #注意:和>之间的区别:如果文件不存在,则会自动创建;如果文件存在,则将重定向的内容追加到文件中 #a 演示命令: yangyang@yangyang-virMachine:~/Desktop$ ls >> text.txt yangyang@yangyang-virMachine:~/Desktop$ ls a1.txt a2.txt a3.txt text.txt yangyang@yangyang-virMachine:~/Desktop$ cat text.txt a1.txt a2.txt a3.txt text.txt yangyang@yangyang-virMachine:~/Desktop$ cat a2.txt >> text.txt yangyang@yangyang-virMachine:~/Desktop$ cat text.txt a1.txt a2.txt a3.txt text.txt 总用量 4 -rw-r--r-- 1 yangyang rock 69 9月 5 17:19 a1.txt -rw-r--r-- 1 yangyang rock 0 9月 5 17:43 a2.txt #【了解】 1> 标准正确输出,同上 #类似于>的操作,会覆盖 1>> 标准正确输出,同上 #类似于>>的操作,会追加 演示命令: yangyang@yangyang-virMachine:~/Desktop$ cat a2.txt 1> a4.txt yangyang@yangyang-virMachine:~/Desktop$ cat a4.txt 总用量 4 -rw-r--r-- 1 yangyang rock 69 9月 5 17:19 a1.txt -rw-r--r-- 1 yangyang rock 0 9月 5 17:43 a2.txt 2> 标准错误输出,同上 #如果使用错误输出的话,则将错误信息写入到指定文件中 2>> 标准错误输出,同上 &> 标准正确输出和标准错误输出,同上 将1和2结合在一起了
2>tree 以树形结构去显示目录结构
-d:只显示目录 -f:显示文件的完整路径 -L num:只查看前num级的目录 #注意:和ls的作用类似,只不过tree可以以目录的层级关系显示结果
3>mv 移动或者重命名文件或者目录
#move #格式:mv [选项] 源文件 [目标路径|目标文件名] -i:在目标文件存在的时候会询问是否需要覆盖【互动式操作】 -b:当发生冲突的时候,会对源文件进行备份 演示命令:
4>cp 复制文件或者目录
#copy #格式:cp [参数] 源文件 目标目录 -i:在目标文件存在的时候会询问是否需要覆盖【互动式操作】 #如果文件不存在,则不出现任何提示,如果文件已经存在,则提示是否需要覆盖,输入y或者n进行判断 -a:复制的时候保持源文件的属性 -f:对于已经存在的目标文件不提示 -v:显示拷贝进度 -r:若给出的源文件是一个目录文件,此时cp将递归复制源文件下的所有的内容,此时目标文件必须是一个目录名 在Linux下,复制分为三种情况: a.如果目标文件是目录,则将原文件复制到该目录下 b.如果目标文件是普通文件,则需要询问是否需要覆盖该文件 c.如果目标文件不存在的,则执行正常的复制操作
5>创建文件或者目录
#1.mkdir 创建一个新的目录 make directory -p:创建出具有嵌套关系的目录 #2.touch 创建一个新的文件,空白文件、 名词解释: atime:最后一次访问文件或者目录的时间【access time】 mtime:最后一次修改内容的时间【modify time】 ctime:最后一次修改属性的时间【change time】 -a:修改atime -m:修改mtime -c:修改ctime -d:同时修改atime和mtime -t:同时修改atime和mtime【格式:{YYYYMMDDhhmmss}】 演示命令:
6>删除文件或者目录
#1.rmdir:删除指定的目录,注意:只能删除空目录 #remove #2.rm:删除文件或者目录,可以删除一个目录中的一个或者多个文件以及目录, -r:删除目录,rm默认只能删除文件 -ri:交互删除,每次删除都会 进行询问,如果是一个目录,则依次进入每个子目录进行询问 -rf:不管目录下有没有内容,强制删除目录或者文件
7>ln 建立链接文件
注意:Linux下面的链接文件相当于Windows下的快捷方式 分类: 硬链接:只能链接普通文件,不能链接目录 软链接:不占用磁盘空间,源文件删除则软链接随着失效 软链接:ln -s 源文件 链接文件 硬链接:ln 源文件 链接文件 【总结】 对于软链接而言,如果软链接文件和源文件不在同一个目录下,则源文件最好使用绝对路径 对于硬链接而言,两个文件占用相同大小的磁盘空间,即使删除了源文件,链接文件仍然正常使用 所以,软链接是更常用的形态
8>grep 文本搜索
文本搜索工具,允许对文本文件进行模式查找,如果匹配到指定的模式,则在终端中显示匹配到的内容 注意:搜索内容可以是正则表达式 -c:仅仅显示找到的行数 -i:忽略大小写 -n:显示匹配的行以及行号 -v:反向选择,列出没有关键字的行【求反】
9>which 查找其他命令所在的位置
#注意:获取的是指定的linux存在的位置,一般情况下存放于/bin
10>type 寻找命令所在的位置,包括命令别名
-a:可以找到所有,包括别名 #type和which之间的区别,type优先列出指定命令的别名,如果命令没有别名,则列出指定命令所在的位置
11>find 按照指定条件来查找文件
#格式:find 【查找路径】 【查找方式】 【查找条件】 -name:匹配名称,默认是精确匹配 -size:匹配文件大小 -empty:匹配是否为空的文件 #注意:以后如果在众多的文件中需要筛选指定的文件,优先选用find
12>locate 查找数据
-i:忽略大小写 -c:不输出查询的结果,仅输出找到的文件的数量 -l:仅输出指定的行 ,格式:-l num ,输出num行 #说明:locate是在数据库中进行查找数据的,如果数据没有则在数据库中查找不到 touch aa.txt locate aa.txt---->没有查找到结果 数据库没有更新
13>sort 给文件内容排序
-f:忽略大小写的差异,A和a被认为是相同的编码 -b:忽略文本最前面的空格部分 -n:使用纯数字进行排序 -r:反向排序 -u:唯一的,相同的数据中,仅出现一行代表 -t:tab,分隔符,默认使用tab键分隔 -k:以哪个指定的区间进行排序 演示命令: yangyang@yangyang-virMachine:~/Desktop$ cat a1.txt hello abc good html linux fhjhgjadhgjhgja gafejfghanhjghh gjafghjahgj fjfgnjf yangyang@yangyang-virMachine:~/Desktop$ sort a1.txt abc fhjhgjadhgjhgja fjfgnjf gafejfghanhjghh gjafghjahgj good hello html linux yangyang@yangyang-virMachine:~/Desktop$ cat a1.txt hello abc good html linux fhjhgjadhgjhgja gafejfghanhjghh gjafghjahgj fjfgnjf yangyang@yangyang-virMachine:~/Desktop$ ls a1.txt A1.txt aa aa.txt b.txt yangyang@yangyang-virMachine:~/Desktop$ cat b.txt 43434:fhshfh:64756745 96976:ghsjghj:fhsfhg 12010:eyye474:574875fhdjhvhj yangyang@yangyang-virMachine:~/Desktop$ sort -t b.txt sort: 多字符标签"b.txt" yangyang@yangyang-virMachine:~/Desktop$ sort -t ":" b.txt 12010:eyye474:574875fhdjhvhj 43434:fhshfh:64756745 96976:ghsjghj:fhsfhg yangyang@yangyang-virMachine:~/Desktop$ sort -t ":" -k 2 b.txt 12010:eyye474:574875fhdjhvhj 43434:fhshfh:64756745 96976:ghsjghj:fhsfhg yangyang@yangyang-virMachine:~/Desktop$ sort -t ":" -k 3 b.txt 12010:eyye474:574875fhdjhvhj 43434:fhshfh:64756745 96976:ghsjghj:fhsfhg yangyang@yangyang-virMachine:~/Desktop$ cat a1.txt hello abc good html linux fhjhgjadhgjhgja gafejfghanhjghh gjafghjahgj fjfgnjf Fghjfgh Abc yangyang@yangyang-virMachine:~/Desktop$ sort -f a1.txt abc Abc Fghjfgh fhjhgjadhgjhgja fjfgnjf gafejfghanhjghh gjafghjahgj good hello html linux
14>cut 可以从一个文本文件或者文本流中提取文本列
-d:后面接分隔符。与-f一起使用 -f:依据-d的分隔符将一段信息分隔成数段,用-f表示提取出第几段的意思 -c:以字符为单位取出固定字符区间【-:连接,取的是和的意思,1-3表示1,2,3,但是,1,3表示1和3】 演示命令: yangyang@yangyang-virMachine:~/Desktop$ touch aa.txt yangyang@yangyang-virMachine:~/Desktop$ locate aa.txt yangyang@yangyang-virMachine:~/Desktop$ yangyang@yangyang-virMachine:~/Desktop$ cat a1.txt hello abc good html linux fhjhgjadhgjhgja gafejfghanhjghh gjafghjahgj fjfgnjf Fghjfgh Abc yangyang@yangyang-virMachine:~/Desktop$ cut -d "f" -f 1 a1.txt hello abc good html linux ga gja Fghj Abc yangyang@yangyang-virMachine:~/Desktop$ cut -c 1 a1.txt h a g h l f g f F A yangyang@yangyang-virMachine:~/Desktop$ cut -c 1,3 a1.txt hl ac go hm ln fj gf ff Fh Ac yangyang@yangyang-virMachine:~/Desktop$ cat a1.txt hello abc good html linux fhjhgjadhgjhgja gafejfghanhjghh gjafghjahgj fjfgnjf Fghjfgh Abc yangyang@yangyang-virMachine:~/Desktop$ cut -c 1-3 a1.txt hel abc goo htm lin fhj gaf fjf Fgh Abc
15>tee 读取标准输入的数据,并将其内容输出成文件
-a:读取源文件内容,并追加新的内容,如果不设置该选项,则新的内容直接覆盖掉旧的内容 #注意:从终端向指定文件中写入内容,和cat的功能相反 演示命令: yangyang@yangyang-virMachine:~$ cd Desktop/ yangyang@yangyang-virMachine:~/Desktop$ cat a1.txt yangyang@yangyang-virMachine:~/Desktop$ tee a1.txt hello hello jfjfgfg jfjfgfg hgjfehgjg hgjfehgjg ^C #ctrl + c 终止命令 yangyang@yangyang-virMachine:~/Desktop$ cat a1.txt hello jfjfgfg hgjfehgjg yangyang@yangyang-virMachine:~/Desktop$ tee -a a1.txt 467365 467365 54785475 54785475 ^C yangyang@yangyang-virMachine:~/Desktop$ cat a1.txt hello jfjfgfg hgjfehgjg 467365 54785475 yangyang@yangyang-virMachine:~/Desktop$ cat b.txt 43434:fhshfh:64756745 96976:ghsjghj:fhsfhg 12010:eyye474:574875fhdjhvhj yangyang@yangyang-virMachine:~/Desktop$ cat a1.txt b.txt hello jfjfgfg hgjfehgjg 467365 54785475 43434:fhshfh:64756745 96976:ghsjghj:fhsfhg 12010:eyye474:574875fhdjhvhj yangyang@yangyang-virMachine:~/Desktop$ tee a1.txt b.txt gjseg gjseg hgjshgj hgjshgj hngjhshg hngjhshg ^C yangyang@yangyang-virMachine:~/Desktop$ cat a1.txt b.txt gjseg hgjshgj hngjhshg gjseg hgjshgj hngjhshg
16>gedit 打开Linux下的文本编辑器
gedit :打开一个新的空的文档 gedit 指定路径:打开指定的文档
17>sed 流编辑器,一次处理一行内容,主要用来自动编辑一个或多个文件
格式:[-nefr] [动作] [文件] 选项: -e<script>或--expression=<script>:以选项中的指定的script来处理输入的文本文件; -f<script文件>或--file=<script文件>:以选项中指定的script文件来处理输入的文本文件; -h或--help:显示帮助; -n或--quiet或——silent:仅显示script处理后的结果; -V或--version:显示版本信息。 参数: 文件:指定待处理的文本文件列表。 命令: a\ 在当前行下面插入文本。 i\ 在当前行上面插入文本。 c\ 把选定的行改为新的文本。 d 删除,删除选择的行。 D 删除模板块的第一行。 s 替换指定字符 h 拷贝模板块的内容到内存中的缓冲区。 H 追加模板块的内容到内存中的缓冲区。 g 获得内存缓冲区的内容,并替代当前模板块中的文本。 G 获得内存缓冲区的内容,并追加到当前模板块文本的后面。 l 列表不能打印字符的清单。 n 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。 N 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。 p 打印模板块的行。 P(大写) 打印模板块的第一行。 q 退出Sed。 b lable 分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。 r file 从file中读行。 t label if分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。 T label 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。 w file 写并追加模板块到file末尾。 W file 写并追加模板块的第一行到file末尾。 ! 表示后面的命令对所有没有被选定的行发生作用。 = 打印当前行号码。 # 把注释扩展到下一个换行符以前。 sed替换标记 g 表示行内全面替换。 p 表示打印行。 w 表示把行写入一个文件。 x 表示互换模板块中的文本和缓冲区中的文本。 y 表示把一个字符翻译为另外的字符(但是不用于正则表达式) \1 子串匹配标记 & 已匹配字符串标记 sed元字符集 ^ 匹配行开始,如:/^sed/匹配所有以sed开头的行。 $ 匹配行结束,如:/sed$/匹配所有以sed结尾的行。 . 匹配一个非换行符的任意字符,如:/s.d/匹配s后接一个任意字符,最后是d。 * 匹配0个或多个字符,如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。 [] 匹配一个指定范围内的字符,如/[ss]ed/匹配sed和Sed。 [^] 匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。 \(..\) 匹配子串,保存匹配的字符,如s/\(love\)able/\1rs,loveable被替换成lovers。 & 保存搜索字符用来替换其他字符,如s/love/**&**/,love这成**love**。 \< 匹配单词的开始,如:/\<love/匹配包含以love开头的单词的行。 \> 匹配单词的结束,如/love\>/匹配包含以love结尾的单词的行。 x\{m\} 重复字符x,m次,如:/0\{5\}/匹配包含5个0的行。 x\{m,\} 重复字符x,至少m次,如:/0\{5,\}/匹配至少有5个0的行。 x\{m,n\} 重复字符x,至少m次,不多于n次,如:/0\{5,10\}/匹配5~10个0的行。 #1.a\:追加,a后面可以接字符串,新的字符串会出现在当前行的下一行 #2.i\:插入,i后面可以接字符串,新的字符串会出现在当前行的上一行 #3.s:替换, #4.d:删除, #sed的作用:获取文件中的内容,根据指定的条件或者操作进行筛选【增删改查】
18>打包和压缩
打包:将一大堆文件或者目录汇总成一个总的文件或者目录
压缩:通过压缩算法将大的文件变成较小的文件
说明;在Linux中,很多压缩程序只能针对一个文件进行压缩,如果当向压缩多个文件时,则可以先将多个文件打包成一个文件【tar】,然后再使用压缩命令将其进行压缩【gzip或者bzip2】
a.tar 可以把一大堆的文件和目录全部打包成一个文件
-A或--catenate:新增文件到已存在的备份文件; -B:设置区块大小;-c或--create:建立新的备份文件; -C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。 -d:记录文件的差别; -x或--extract或--get:从备份文件中还原文件; -z或--gzip或--ungzip:通过gzip指令处理备份文件; -Z或--compress或--uncompress:通过compress指令处理备份文件; -f<备份文件>或--file=<备份文件>:指定备份文件; -v或--verbose:显示指令执行过程; -r:添加文件到已经压缩的文件; -u:添加改变了和现有的文件到已经存在的压缩文件; -j:支持bzip2解压文件; -v:显示操作过程; -l:文件系统边界设置; -k:保留原有文件不覆盖; -m:保留文件不被覆盖; -w:确认压缩文件的正确性; -p或--same-permissions:用原来的文件权限还原文件; -P或--absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号; -N <日期格式> 或 --newer=<日期时间>:只将较指定日期更新的文件保存到备份文件里; --exclude=<范本样式>:排除符合范本样式的文件。 演示命令: yangyang@yangyang-virMachine:~/Desktop$ ls a1.txt A1.txt aa aa.txt b.txt text.txt yangyang@yangyang-virMachine:~/Desktop$ tar -cvf log.tar a1.txt a1.txt yangyang@yangyang-virMachine:~/Desktop$ ls a1.txt A1.txt aa aa.txt b.txt log.tar text.txt yangyang@yangyang-virMachine:~/Desktop$ rm -rf log.tar yangyang@yangyang-virMachine:~/Desktop$ tar -zcvf log.tar.gz a1.txt a1.txt yangyang@yangyang-virMachine:~/Desktop$ ls a1.txt A1.txt aa aa.txt b.txt log.tar.gz text.txt yangyang@yangyang-virMachine:~/Desktop$ rm -rf log.tar.gz ` > ^C yangyang@yangyang-virMachine:~/Desktop$ rm -rf log.tar.gz yangyang@yangyang-virMachine:~/Desktop$ tar -jcvf log.tar.bz2 a1.txt a1.txt yangyang@yangyang-virMachine:~/Desktop$ ls a1.txt A1.txt aa aa.txt b.txt log.tar.bz2 text.txt yangyang@yangyang-virMachine:~/Desktop$ tar -xf log.tar.bz2 yangyang@yangyang-virMachine:~/Desktop$ ls a1.txt A1.txt aa aa.txt b.txt log.tar.bz2 text.txt yangyang@yangyang-virMachine:~/Desktop$ rm -rf log.tar.bz2 #注意 a.选项-cvf后面的名字是自定义的,习惯上使用.tar结尾,表示是一个已经被打包的文件【只打包,不压缩】 b.选项使用-zcvf,则以.tar.gz结尾,代表使用gzip压缩过的【打包之后使用gzip压缩】 c.选项使用-jcvf,则以.tar.bz2结尾,代表使用bzip2压缩过的
b.gzip 对文件进行压缩和解压缩,压缩之后用“.gz”作为扩展名
还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式
好处:gzip命令对文件有60%~70%的压缩率,减小文件的好处:减少存储空间,通过网络传输文件的时候,可以节省时间
-d或--decompress或----uncompress:解开压缩文件; -f或——force:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接; -l或——list:列出压缩文件的相关信息; -L或——license:显示版本与版权信息; -n或--no-name:压缩文件时,不保存原来的文件名称及时间戳记; -N或——name:压缩文件时,保存原来的文件名称及时间戳记; -q或——quiet:不显示警告信息; -r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理; -t或——test:测试压缩文件是否正确无误; -v或——verbose:显示指令执行过程; -V或——version:显示版本信息; #-rv:将指定目录下的文件递归遍历,并挨个进行压缩 #-dr;递归解压 演示命令: angyang@yangyang-virMachine:~/Desktop$ ls a1.txt A1.txt aa aa.txt b.txt text.txt yangyang@yangyang-virMachine:~/Desktop$ gzip * gzip: aa is a directory -- ignored yangyang@yangyang-virMachine:~/Desktop$ ls a1.txt.gz A1.txt.gz aa aa.txt.gz b.txt.gz text.txt.gz yangyang@yangyang-virMachine:~/Desktop$ gzip -dv * a1.txt.gz: 4.3% -- replaced with a1.txt A1.txt.gz: 0.0% -- replaced with A1.txt gzip: aa is a directory -- ignored aa.txt.gz: 0.0% -- replaced with aa.txt b.txt.gz: 4.3% -- replaced with b.txt text.txt.gz: 2.4% -- replaced with text.txt yangyang@yangyang-virMachine:~/Desktop$ ls a1.txt A1.txt aa aa.txt b.txt text.txt yangyang@yangyang-virMachine:~/Desktop$ gzip -l * gzip: a1.txt: not in gzip format gzip: A1.txt: unexpected end of file yangyang@yangyang-virMachine:~/Desktop$ gzip * gzip: aa is a directory -- ignored yangyang@yangyang-virMachine:~/Desktop$ gzip -l * compressed uncompressed ratio uncompressed_name 47 23 4.3% a1.txt 27 0 0.0% A1.txt gzip: aa is a directory -- ignored 27 0 0.0% aa.txt 46 23 4.3% b.txt 68 42 2.4% text.txt 215 88 -113.6% (totals) yangyang@yangyang-virMachine:~/Desktop$ touch file1.txt yangyang@yangyang-virMachine:~/Desktop$ gzip -r file1.txt yangyang@yangyang-virMachine:~/Desktop$ ls a1.txt.gz A1.txt.gz aa aa.txt.gz b.txt.gz file1.txt.gz text.txt.gz yangyang@yangyang-virMachine:~/Desktop$ mkdir check yangyang@yangyang-virMachine:~/Desktop$ cd check/ yangyang@yangyang-virMachine:~/Desktop/check$ touch a.txt yangyang@yangyang-virMachine:~/Desktop/check$ touch b.txt yangyang@yangyang-virMachine:~/Desktop/check$ mkdir aa yangyang@yangyang-virMachine:~/Desktop/check$ ls aa a.txt b.txt yangyang@yangyang-virMachine:~/Desktop/check$ cd .. yangyang@yangyang-virMachine:~/Desktop$ gzip -rv check check/a.txt: 0.0% -- replaced with check/a.txt.gz check/b.txt: 0.0% -- replaced with check/b.txt.gz yangyang@yangyang-virMachine:~/Desktop$ gzip -dr check yangyang@yangyang-virMachine:~/Desktop$ cd check/ yangyang@yangyang-virMachine:~/Desktop/check$ ls aa a.txt b.txt
2.系统管理
1>date:查看当前时间
2>cal:查看当前日历
3>ping;检测网络的连通性
4>ifconfig:查看ip地址
演示命令: yangyang@yangyang-virMachine:~/Desktop/check$ cd .. yangyang@yangyang-virMachine:~/Desktop$ cd .. yangyang@yangyang-virMachine:~$ date 2018年 09月 06日 星期四 00:05:17 CST yangyang@yangyang-virMachine:~$ cal 九月 2018 日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 yangyang@yangyang-virMachine:~$ cal -y 2018 一月 二月 三月 日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六 1 2 3 4 5 6 1 2 3 1 2 3 7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10 14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17 21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24 28 29 30 31 25 26 27 28 25 26 27 28 29 30 31 四月 五月 六月 日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六 1 2 3 4 5 6 7 1 2 3 4 5 1 2 8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9 15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16 22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23 29 30 27 28 29 30 31 24 25 26 27 28 29 30 七月 八月 九月 日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六 1 2 3 4 5 6 7 1 2 3 4 1 8 9 10 11 12 13 14 5 6 7 8 9 10 11 2 3 4 5 6 7 8 15 16 17 18 19 20 21 12 13 14 15 16 17 18 9 10 11 12 13 14 15 22 23 24 25 26 27 28 19 20 21 22 23 24 25 16 17 18 19 20 21 22 29 30 31 26 27 28 29 30 31 23 24 25 26 27 28 29 30 十月 十一月 十二月 日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六 1 2 3 4 5 6 1 2 3 1 7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8 14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15 21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22 28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29 30 31 yangyang@yangyang-virMachine:~$ ping www.baidu.com PING www.a.shifen.com (119.75.216.20) 56(84) bytes of data. 64 bytes from 127.0.0.1 (119.75.216.20): icmp_seq=1 ttl=54 time=20.7 ms 64 bytes from 127.0.0.1 (119.75.216.20): icmp_seq=2 ttl=54 time=20.6 ms 64 bytes from 127.0.0.1 (119.75.216.20): icmp_seq=14 ttl=54 time=20.9 ms ^C --- www.a.shifen.com ping statistics --- 14 packets transmitted, 14 received, 0% packet loss, time 13027ms rtt min/avg/max/mdev = 19.443/22.452/37.996/5.723 ms yangyang@yangyang-virMachine:~$ ifconfig ens33 Link encap:以太网 硬件地址 00:0c:29:4d:b0:75 inet 地址:10.12.153.25 广播:10.12.153.255 掩码:255.255.255.0 inet6 地址: fe80::7752:3537:1163:101c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1 接收数据包:325684 错误:0 丢弃:0 过载:0 帧数:0 发送数据包:1787 错误:0 丢弃:0 过载:0 载波:0 碰撞:0 发送队列长度:1000 接收字节:20914292 (20.9 MB) 发送字节:138709 (138.7 KB) lo Link encap:本地环回 inet 地址:127.0.0.1 掩码:255.0.0.0 inet6 地址: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 跃点数:1 接收数据包:354 错误:0 丢弃:0 过载:0 帧数:0 发送数据包:354 错误:0 丢弃:0 过载:0 载波:0 碰撞:0 发送队列长度:1000 接收字节:37987 (37.9 KB) 发送字节:37987 (37.9 KB) yangyang@yangyang-virMachine:~$