第1节 帮助命令
1.1 help 获得Shell内置命令的帮助信息
1)基本语法:
help 命令 (功能描述:获得Shell内置命令的帮助信息)
2)案例:
[root@linux121 bin]# help cd
1.2 man 获得帮助信息
1)基本语法:
man [命令或配置⽂件] (功能描述:获得帮助信息)
(1)显示说明
NAME 命令的名称和单⾏描述
SYNOPSIS 怎样使⽤命令
DESCRIPTION 命令功能的深⼊讨论
按q退出man帮助
2)案例
[root@hadoop106 home]# man ls
1.3 常⽤快捷键
1)ctrl + c:停⽌进程
2)ctrl+l:清屏
3)善于⽤tab键
4)上下键:查找执⾏过的命令,或者是history命令
Version:0.9 StartHTML:0000000105 EndHTML:0000006609 StartFragment:0000000141 EndFragment:0000006569
第2节 ⽂件⽬录类
2.1 pwd 显示当前⼯作⽬录的绝对路径
1)基本语法:
pwd(功能描述:显示当前⼯作⽬录的绝对路径)
2)案例
[root@linux121 home]# pwd
/home
2.2 ls 列出⽬录的内容
1)基本语法:
ls [选项] [⽬录或是⽂件]
选项:
-a :all,全部的⽂件,连同隐藏的⽂档( 开头为 . 的⽂件) ⼀起列出来(常⽤)
-l : ⻓数据串列出,包含⽂件的属性与权限等等数据;(常⽤)
每⾏列出的信息依次是: ⽂件类型与权限 链接数 ⽂件属主 ⽂件属组 ⽂件⼤⼩⽤byte来表示 建⽴或最近修改的时间 名字
等同于ll命令
2)案例
[hadoop@linux121 ~]$ ls -al
2.3 mkdir 创建⼀个新的⽬录
1)基本语法:
mkdir [-p] 要创建的⽬录
选项:
-p:创建多层⽬录
2)案例
[root@linux121 ~]# mkdir test
[root@linux121 ~]# mkdir -p test/test1
2.4 rmdir 删除⼀个空的⽬录
1)基本语法:
rmdir 要删除的空⽬录,remove 即移除
2)案例
[root@linux121 ~]# mkdir test2
[root@linux121 ~]# rmdir test2
2.5 touch 创建空⽂件
1)基本语法:
touch ⽂件名称
2)案例
[root@linux121 ~]# touch test.txt
2.6 cd 切换⽬录
1)基本语法:
(1)cd 绝对路径
(2)cd 相对路径
(3)cd ~或者cd (功能描述:回到⾃⼰的家⽬录)
(4)cd - (功能描述:回到上⼀次所在⽬录)
(5)cd .. (功能描述:回到当前⽬录的上⼀级⽬录)
(6)cd . (功能描述:回到当前⽬录)
.即⼀个英⽂点号代表当前⽬录,..即两个英⽂点号代表上⼀级⽬录。
2)案例
(1)使⽤ mkdir 命令创建hadoop⽬录
[root@linux121 ~]# mkdir hadoop
(2)使⽤绝对路径切换到hadoop⽬录
[root@linux121 ~]# cd /root/hadoop/
(3)使⽤相对路径切换到hadoop⽬录
[root@linux121 ~]# cd ./hadoop/
(4)表示回到⾃⼰的家⽬录,亦即是 /root 这个⽬录
[root@linux121 hadoop]# cd ~
(5)cd - 回到上⼀次所在⽬录
[root@linux121 hadoop]# cd -
(6)表示回到当前⽬录的上⼀级⽬录,亦即是 /root 的上⼀级⽬录的意思;
[root@linux121 ~]# cd ..
2.7 cp 复制⽂件或⽬录
1)基本语法:
(1)cp source dest (功能描述:复制source⽂件到dest)
(2)cp -r sourceFolder targetFolder (功能描述:递归复制整个⽂件夹)
注意:r即recursive递归,这⾥是递归拷⻉,将该⽬录以及所有⼦⽬录(包括再多的⼦⽬录)下的所有⽂件即⽂件夹都拷⻉
2)案例
(1)复制⽂件
[root@linux121 opt]# cp test.txt test1.txt
(2)递归复制整个⽂件夹
[root@linux121 opt]# cp -r test.txt test1.txt
2.8 rm 移除⽂件或⽬录
1)基本语法
(1)rmdir deleteEmptyFolder (功能描述:删除空⽬录),缺点:只能删除空⽬录。
(2)rm -rf deleteFile (功能描述:递归删除⽬录中所有内容)慎⽤
2)案例
1)删除空⽬录
[root@linux121 test]# rmdir test1
2)递归删除⽬录中所有内容
[root@linux121 test]# rm -rf test2
2.9 mv 移动⽂件与⽬录或重命名
1)基本语法:
(1)mv oldNameFile newNameFile (功能描述:重命名)
(2)mv /temp/movefifile /targetFolder (功能描述:递归移动⽂件)
2)案例:
1)重命名
[root@linux121 test]# mv fifile1 fifile11 (把fifile1⽂件夹改名为fifile11)
2)移动⽂件
[root@linux121 test]# mv fifile11 test (把fifile11⽂件夹放到test⽂件夹内)
2.10 cat 查看⽂件内容
查看⽂件内容,从第⼀⾏开始显示。
1)基本语法
cat [选项] 要查看的⽂件
选项:
-A :相当于 -vET 的整合选项,可列出⼀些特殊字符⽽不是空⽩⽽已;
-b :列出⾏号,仅针对⾮空⽩⾏做⾏号显示,空⽩⾏不标⾏号!
-E :将结尾的断⾏字节 $ 显示出来;
-n :列出⾏号,连同空⽩⾏也会有⾏号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出⼀些看不出来的特殊字符
2)案例
[hadoop@linux121 ~]$ cat -A test.txt
hellda $
dasadf ^I$
da^I^I^I$
das$
3)⾯试题:查看CentOS版本命令
[hadoop@linux121 ~]$ cat /etc/redhat-release
CentOS Linux release 7.6 1810 (Core)
2.11 tac查看⽂件内容
查看⽂件内容,从最后⼀⾏开始显示,按⾏倒序显示,可以看出 tac 是 cat 的倒著写。
1)基本语法:
tac [选项参数] 要查看的⽂件
2)案例
2.12 more 查看⽂件内容
查看⽂件内容,⼀⻚⼀⻚的显示⽂件内容。
1)基本语法:
more 要查看的⽂件
2)功能使⽤说明
空⽩键 (space):代表向下翻⼀⻚;
Enter:代表向下翻『⼀⾏』;
q代表⽴刻离开 more ,不再显示该⽂件内容。
Ctrl+F (注意是⼤写)向下滚动⼀屏
Ctrl+B 返回上⼀屏
= 输出当前⾏的⾏号
3)案例
[root@linux121 test1]# more test1.java
2.13 less 查看⽂件内容
less 的作⽤与 more ⼗分相似,都可以⽤来浏览⽂字档案的内容,不同的是 less 允许使⽤[pageup] [pagedown]往回滚动。
1)基本语法:
less 要查看的⽂件
2)功能使⽤说明
空⽩键 :向下翻动⼀⻚;
[pagedown]:向下翻动⼀⻚;
[pageup] :向上翻动⼀⻚;
/字串 :向下搜寻『字串』的功能;n:向下查找;N:向上查找;
?字串 :向上搜寻『字串』的功能;n:向上查找;N:向下查找;
q :离开 less 这个程序;
3)案例
[root@linux121 test1]# less test1.java
2.14 head查看⽂件内容
查看⽂件内容,只看头⼏⾏,优点:对于⼤⽂件不必都加载,只显示头⼏⾏即可。
1)基本语法
head -n 10 ⽂件 (功能描述:查看⽂件头10⾏内容,10可以是任意⾏数)
2)案例
[root@linux121 test]# head -n 2 test1.test
hello
hadoop
2.15 tail 查看⽂件内容
查看⽂件内容,只看尾巴⼏⾏,优点:可以查看⽂件实时追加的内容。
1)基本语法
(1)tail -n 10 ⽂件 (功能描述:查看⽂件头(从末尾开始数)10⾏内容,10可以是任意⾏数)
(2)tail -f ⽂件 (功能描述:实时追踪该⽂档的所有更新)
2)案例
⽂件内容
hello hadoop hello2 hadoop2 hello3 hadoop3
(1)查看⽂件最后1⾏内容
[root@linux121 test]# tail -n 1 test1.txt (不加1默认是10⾏)
(2)实时追踪该档的所有更新,在⽂件内容最后⼀⾏添加“zhuijia”
[root@linux121 test]# tail -f test1.txt
看到结果后,ctr+c结束
2.16 重定向命令
1)基本语法:
(1)ls -l >a.txt⽂件 (功能描述:列表的内容写⼊⽂件a.txt中(覆盖写))
(2)ls -al >>a.txt⽂件 (功能描述:列表的内容追加到⽂件aa.txt的末尾)
2)案例
(1)[root@linux121 test]# ls -l>t.txt
(2)[root@linux121 test]# ls -l>>t.txt
(3)[root@linux121 test]# echo hello>>test1.java
2.17 echo
1)基本语法:
(1)echo 要显示的内容 >> 存储内容的的⽂件 (功能描述:将要显示的内容,存储到⽂件中)
(2)echo 变量 (功能描述:显示变量的值)
2)案例
vi test1.txt 打开test1.txt看到已追加写⼊echoshow
2.19 history查看所敲命令历史
1)基本语法:
history
2)案例
[root@linux121 test]# history
第3节 时间⽇期类
1)基本语法
date [OPTION]... [+FORMAT]
3.1 date显示当前时间
1)基本语法:注意命令与参数之间有空格
(1)date (功能描述:显示当前时间)
(2)date +%Y (功能描述:显示当前年份)
(3)date +%m (功能描述:显示当前⽉份)
(4)date +%d (功能描述:显示当前是哪⼀天)
(5)date +%Y%m%d … (功能描述:显示当前年⽉⽇各种格式 )
(6)date "+%Y-%m-%d %H:%M:%S" 或者单引号也可以 (功能描述:显示年⽉⽇时分秒)
2)案例
[root@linux121 /]# date
[root@linux121 /]# date +"%Y-%m-%d"(注意date后⾯有个空格再加 ) ➕
[root@linux121 /]# date "+%Y-%m-%d %H:%M:%S"(注意date后⾯有个空格再加 ;注意%d空格%H)
3.2 date显示⾮当前时间
显示的是字符串描述的时间,不是当前时间。
1)基本语法:
(1)date -d '1 days ago' (功能描述:显示前⼀天⽇期)
(2)date -d yesterday +"%Y-%m-%d"(同上)
(3)date -d next-day +"%Y-%m-%d" (功能描述:显示明天⽇期)
(4)date -d 'next monday' (功能描述:显示下周⼀时间)
2)案例:
[root@linux121 /]# date -d '1 days ago'
2020年 04⽉ 01⽇ 星期三 21:07:22 CST
[root@linux121 /]# date -d 'next monday'
2020年 04⽉ 01⽇ 星期三 00:00:00 CST
3.3 date设置系统时间
1)基本语法:
date -s 字符串时间
2)案例
[root@hadoop106 /]# date -s "2020-04-01 20:52:18"
3.4 cal查看⽇历
1)基本语法:
cal [选项] (功能描述:不加选项,显示本⽉⽇历)
选项:
-3 ,显示系统前⼀个⽉,当前⽉,下⼀个⽉的⽇历
具体某⼀年,显示这⼀年的⽇历。
2)案例:
[root@linux121 /]# cal
[root@linux121 /]# cal -3
[root@linux121 /]# cal 2020
第4节 ⽤户管理命令
4.1 useradd 添加新⽤户(前提是有添加⽤户的权限)
1)基本语法:
useradd ⽤户名 (功能描述:添加新⽤户)
2)案例:
[root@linux121 ~]# useradd hadoop
4.2 passwd 设置⽤户密码
1)基本语法:
passwd ⽤户名 (功能描述:设置⽤户密码)
2)案例
[root@linux121 ~]# passwd hadoop
4.3 id 判断⽤户是否存在
1)基本语法:
id ⽤户名
2)案例:
[root@linux121 ~]#id hadoop
4.4 su 切换⽤户
1)基本语法:
su ⽤户名称 (功能描述:切换⽤户,只能获得⽤户的执⾏权限,不能获得环境变量)
su - ⽤户名称 (功能描述:切换到⽤户并获得该⽤户的环境变量及执⾏权限)
2)案例
[root@linux121 ~]#su hadoop
[root@linux121 ~]#su - hadoop
4.5 userdel 删除⽤户
1)基本语法:注意区别
(1)userdel ⽤户名 (功能描述:删除⽤户但保存⽤户主⽬录)
(2)userdel -r ⽤户名 (功能描述:⽤户和⽤户主⽬录,都删除)
2)案例:
(1)删除⽤户但保存⽤户主⽬录
[root@linux121 ~]#userdel hadoop
(2)删除⽤户和⽤户主⽬录,都删除
[root@linux121 ~]#userdel -r hadoop
4.6 who 查看登录⽤户信息
1)基本语法
(1)whoami (功能描述:显示⾃身⽤户名称)
(2)who am i (功能描述:显示登录⽤户的⽤户名)
(3)who (功能描述:看当前有哪些⽤户登录到了本台机器上)
2)案例
[root@linux121 ~]# whoami
[root@linux121 ~]# who am i
[root@linux121 ~]# who
4.7 设置Linux普通⽤户具有root权限即sudo的使⽤
1)修改配置⽂件
修改 /etc/sudoers ⽂件,找到下⾯⼀⾏,在root下⾯添加⼀⾏,如下所示:
## Allow root to run any commands anywhere root ALL=(ALL) ALL hadoop ALL=(ALL) ALL
2)案例
[hadoop@linux121 ~]$ sudo mkdir module
[root@linux121 ~]# chown hadoop:hadoop module/
4.8 cat /etc/passwd 查看创建了哪些⽤户
cat /etc/passwd
4.9 usermod修改⽤户
1)基本语法:
usermod -g ⽤户组 ⽤户名
2)案例:
将⽤户hadoop加⼊mygroup⽤户组
[root@linux121 ~]#usermod -g mygroup hadoop
第5节 ⽤户组管理命令
每个⽤户都有⼀个⽤户组,系统可以对⼀个⽤户组中的所有⽤户进⾏集中管理。不同Linux 系统对⽤户组的规定有所不同,如Linux下的⽤户属于与它同名的⽤户组,这个⽤户组在创建⽤户时同时创建。
⽤户组的管理涉及⽤户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group⽂件的更新。
5.1 groupadd 新增组
1)基本语法
groupadd 组名
2)案例:
添加⼀个hadoop组
[root@linux121 ~]#groupadd hadoop
5.2 groupdel删除组
1)基本语法:
groupdel 组名
2)案例
[root@linux121 ~]# groupdel hadoop
5.3 groupmod修改组
1)基本语法:
groupmod -n 新组名 ⽼组名
2)案例
修改hadoop组名称为hadoop1
[root@linux121 hadoop]# groupmod -n hadoop1 hadoop
5.4 cat /etc/group 查看创建了哪些组
cat /etc/group
第6节 ⽂件权限类
6.1 ⽂件属性
Linux系统是⼀种典型的多⽤户系统,不同的⽤户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的⽤户访问同⼀⽂件(包括⽬录⽂件)的权限做了不同的规定。在Linux中我们可以使⽤ll或者ls –l命令来显示⼀个⽂件的属性以及⽂件所属的⽤户和组。
1)从左到右的10个字符表示:
如果没有权限,就会出现减号[ - ]⽽已。从左⾄右⽤0-9这些数字来表示:
(1)0⾸位表示类型
在Linux中第⼀个字符代表这个⽂件是⽬录、⽂件或链接⽂件等等
- 代表⽂件
d 代表⽬录
c 字符流,装置⽂件⾥⾯的串⾏端⼝设备,例如键盘、⿏标(⼀次性读取装置)
s socket
p 管道
l 链接⽂档(link fifile);
b 设备⽂件,装置⽂件⾥⾯的可供储存的接⼝设备(可随机存取装置)
(2)第1-3位确定属主(该⽂件的所有者)拥有该⽂件的权限。---User
(3)第4-6位确定属组(所有者的同组⽤户)拥有该⽂件的权限,---Group
(4)第7-9位确定其他⽤户拥有该⽂件的权限 ---Other
a 代表all所有。
2)rxw作⽤⽂件和⽬录的不同解释
(1)作⽤到⽂件:
[ r ]代表可读(read): 可以读取,查看
[ w ]代表可写(write): 可以修改,但是不代表可以删除该⽂件,删除⼀个⽂件的前提条件是对该⽂件所在的⽬录有写权限,才能删除该⽂件实际演示中,root不受限制)
[ x ]代表可执⾏(execute):可以被系统执⾏
(2)作⽤到⽬录:
[ r ]代表可读(read): 可以读取,ls查看⽬录内容
[ w ]代表可写(write): 可以修改,⽬录内创建+删除+重命名⽬录
[ x ]代表可执⾏(execute):可以进⼊该⽬录
3)案例
[hadoop@linux121 ~]$ ls -l
总⽤量 8
drwxrwxr-x. 2 hadoop hadoop 4096 4⽉ 27 14:14 hello
-rw-rw-r--. 1 hadoop hadoop 34 4⽉ 27 14:20 test.txt
(1) 如果查看到是⽂件:链接数指的是硬链接个数。所谓硬链接就是原来⽂件的⼀个副本,其中任何⼀个修改,另外⼀个也会跟着改,创建硬链接⽅法
ln [原⽂件] [⽬标⽂件]
[root@linux121 xiyou]# ln aa bb
(2)如果查看的是⽂件夹:链接数指的是⼦⽂件夹个数。
[root@linux121 xiyou]# ls -al hadoop/
总⽤量 8
drwxr-xr-x. 2 root root 4096 4⽉ 3 19:02 .
drwxr-xr-x. 5 root root 4096 4⽉ 3 21:21 ..
如果某个⽂件夹是空的,其实⾥⾯也有两个⽬录,⼀个点代表当前⽬录,两个点代表⽗级⽬录
6.2 chmod改变权限
1)基本语法:
chmod [{ugoa}{+-=}{rwx}] [⽂件或⽬录] [mode=421 ] [⽂件或⽬录]
2)功能描述
改变⽂件或者⽬录权限
⽂件: r-查看;w-修改;x-执⾏⽂件
⽬录: r-列出⽬录内容;w-在⽬录中创建和删除;x-进⼊⽬录
删除⼀个⽂件的前提条件:该⽂件所在的⽬录有写权限,你才能删除该⽂件。
3)案例
[root@linux121 test]# chmod u+x test1.txt
[root@linux121 test]# chmod g-x test1.txt
[root@linux121 test]# chmod o+x test1.txt
[root@linux121 test]# chmod 777 test1.txt
[root@linux121 test]# chmod -R 777 testdir
6.3 chown改变所有者
1)基本语法:
chown [最终⽤户] [⽂件或⽬录] (功能描述:改变⽂件或者⽬录的所有者)
2)案例
[root@linux121 test]# chown hadoop test1.txt
[root@linux121 test]# ls -al
6.4 chgrp改变所属组
1)基本语法:
chgrp [最终⽤户组] [⽂件或⽬录] (功能描述:改变⽂件或者⽬录的所属组)
2)案例
[root@linux121 test]# chgrp hadoop test1.test
[root@linux121 test]# ls -al
-rwxr-xr-x. 1 root hadoop 551 4⽉ 23 13:02 test1.java
6.5 su 切换⽤户
1)基本语法:
su -username (功能描述:切换⽤户)
2)案例
[root@linux121 hadoop]# su hadoop
[hadoop@linux121 ~]$
[hadoop@linux121 ~]$ su root
密码:
[root@linux121 hadoop]#
第7节 搜索查找类
7.1 find 查找⽂件或者⽬录
1)基本语法:
find [搜索范围] [匹配条件]
2)案例
(1)按⽂件名:根据名称查找/opt⽬录下的fifilename.txt⽂件。
[root@linux121 ~]# find /opt/ -name *.txt
(2)按拥有者:查找/opt⽬录下,所有者为hadoop的⽂件
[root@linux121 ~]# find /opt/ -user hadoop
(3)按⽂件⼤⼩:在/home⽬录下查找⼤于200m的⽂件(+n ⼤于 -n⼩于 n等于)
[root@linux121 ~]find /home -size +204800
7.2 grep 过滤查找及“|”管道符
0)管道符,“|”,表示将前⼀个命令的处理结果输出传递给后⾯的命令处理
1)基本语法
grep+参数+查找内容+源⽂件
参数:
-c:只输出匹配⾏的计数。
-I:不区分⼤⼩写(只适⽤于单字符)。
-h:查询多⽂件时不显示⽂件名。
-l:查询多⽂件时只输出包含匹配字符的⽂件名。
-n:显示匹配⾏及⾏号。
-s:不显示不存在或⽆匹配⽂本的错误信息。
-v:显示不包含匹配⽂本的所有⾏。
2)案例
[root@linux121 test]# ls | grep -n test
2:test1
3:test2
4:test3
7.3 which ⽂件搜索命令
1)基本语法:
which 命令 (功能描述:搜索命令所在⽬录及别名信息)
Version:0.9 StartHTML:0000000105 EndHTML:0000006502 StartFragment:0000000141 EndFragment:0000006462
2)案例
[root@linux121 test]# which ls
/bin/ls
第8节 进程线程类
进程是正在执⾏的⼀个程序或命令,每⼀个进程都是⼀个运⾏的实体,都有⾃⼰的地址空间,并占⽤⼀定的系统资源。
8.1 ps查看系统中所有进程
1)基本语法:
ps -aux (功能描述:查看系统中所有进程)
2)功能说明
USER:该进程是由哪个⽤户产⽣的
PID:进程的ID号
%CPU:该进程占⽤CPU资源的百分⽐,占⽤越⾼,进程越耗费资源;
%MEM:该进程占⽤物理内存的百分⽐,占⽤越⾼,进程越耗费资源;
VSZ:该进程占⽤虚拟内存的⼤⼩,单位KB;
RSS:该进程占⽤实际物理内存的⼤⼩,单位KB;
TTY:该进程是在哪个终端中运⾏的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界⾯终端,tty7是图形终端。pts/0-255代表虚拟终端。
STAT:进程状态。常⻅的状态有:R:运⾏、S:睡眠、T:停⽌状态、s:包含⼦进程、+:位于后台
START:该进程的启动时间
TIME:该进程占⽤CPU的运算时间,注意不是系统时间
COMMAND:产⽣此进程的命令名
8.2 top查看系统健康状态
1)基本命令
top [选项]
(1)选项:
-d 秒数:指定top命令每隔⼏秒更新。默认是3秒。
-i:使top不显示任何闲置或者僵死进程。
-p:通过指定监控进程ID来仅仅监控某个进程的状态。
(2)操作选项,即在执⾏top命令之后,与top命令进⾏交互:
P: 以CPU使⽤率排序,默认就是此项
M:以内存的使⽤率排序
N: 以PID排序
q: 退出top
(3)查询结果字段解释
第⼀⾏信息为任务队列信息
第⼆⾏为进程信息
第三⾏为CPU信息
第四⾏为物理内存信息
第五⾏为交换分区(swap)信息
2)案例
[root@linux121 hadoop]# top -d 1
[root@linux121 hadoop]# top -i
[root@linux121 hadoop]# top -p 2575
执⾏上述命令后,可以按P、M、N对查询出的进程结果进⾏排序。
8.3 pstree查看进程树
安装pstree命令
yum install psmisc -y
1) 基本语法:pstree [选项]
2)案例:
[root@linux121 ~]# pstree -u
[root@linux121 ~]# pstree -p
选项 -p: 显示进程的PID
-u: 显示进程的所属⽤户
8.4 kill终⽌进程
1)基本语法:
kill -9 pid进程号
选项
-9 表示强迫进程⽴即停⽌
2)案例:
启动fifirefox浏览器程序
切换到root⽤户执⾏
[root@linux121 ~]# kill -95102
8.5 netstat显示⽹络统计信息
安装命令
yum install net-tools
1)基本语法:
netstat -anp (功能描述:此命令⽤来显示整个系统⽬前的⽹络情况。例如⽬前的连接、数据包传递数
据、或是路由表内容)
选项:
-an 按⼀定顺序排列输出
-p 表示显示哪个进程在调⽤
-nltp 查看tcp协议进程端⼝号
2)案例
查看端⼝22的使⽤情况
[root@linux121 hadoop-2.7.2]# netstat -anp | grep 22
第9节 压缩和解压类
9.1 gzip/gunzip压缩
1)基本语法:
gzip+⽂件 (功能描述:压缩⽂件,只能将⽂件压缩为*.gz⽂件,执⾏后,原来⽂件消失,⽣成压缩⽂件)
gunzip+⽂件.gz (功能描述:解压缩⽂件命令,执⾏后,压缩⽂件消失,⽣成解压后的⽂件)
2)特点:
(1)只能压缩⽂件不能压缩⽬录
(2)不保留原来的⽂件
3)案例
(1)gzip压缩
[root@linux121 test]# gzip test.txt
(2)gunzip解压缩⽂件
[root@linux121 test]# gunzip test.txt.gz
9.2 zip/unzip压缩
安装命令
yum install zip unzip
1)基本语法:
zip + 参数 + XXX.zip + 将要压缩的内容 (功能描述:压缩⽂件和⽬录的命令,window/linux通⽤且可以压缩⽬录且保留源⽂件)
参数:
-r 压缩⽬录
2)案例:
(1)压缩 test1.txt 和test.txt,压缩后的名称为test.zip
[root@linux121 ~]# zip test.zip test1.txt test.txt
(2)解压 test.zip,如果存在重名,则会提示覆盖、不操作、或者重命名。
[root@linux121 ~]# unzip test.zip
(3)解压test.zip到指定⽬录-d
[root@linux121 ~]# unzip test.zip -d /opt
9.3 tar打包
1)基本语法:
tar + 参数 + XXX.tar.gz + 将要打包进去的内容 (功能描述:打包⽬录,压缩后的⽂件格式.tar.gz)
参数:
-c 产⽣.tar打包⽂件 create
-v 显示详细信息 verbose
-f 指定压缩后的⽂件名 fifilename
-z 打包同时压缩
-x 解包.tar⽂件
2)案例
(1)压缩:tar -zcvf XXX.tar.gz n1.txt n2.txt
压缩多个⽂件
(2)解压:tar -zxvf XXX.tar.gz,如果有重名,则直接覆盖。
解压到当前⽬录
[root@linux121 opt]# tar -zxvf test.tar.gz
解压到/opt⽬录
[root@linux121 opt]# tar -zxvf test.tar.gz -C /opt