Linux-学习笔记-02

一、上堂回顾

系统设置:/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:~$ 

猜你喜欢

转载自blog.csdn.net/weixin_42569562/article/details/82670312