四剑客第三关

四剑客第三关

1 find使用方法:
根据文件大小查找 命令:
根据文件权限查找数据 :

find /etc/passwd -type f -size +10M


find /etc/passwd -perm 755



[root@master ~]# find /etc/passwd -type f -size +10M
[root@master ~]# find /etc/passwd -perm 755


2 把 abc压缩成格式如 2020-09-29.abc.tar.gz

tar -zcf "$(date +%Y-%m-%d).abc.tar.gz" abc




[root@master ~]# cat abc
dshjfgsd
sdkfhksdf
sdkfgsdf
flksehfhes
sakhjfasjghdfas
fjnksdfsdjf



sdfjkhsdjfse
sajkefhjsegf

wenrjeshfukse
wejnrkhefghwe
rasejghfujiwebf
'fsebjfhse
ejkrgsefhe
sekfbegfe
askefseuifbwejfsekjtg
wjkerusegufhbse
sejnkrghsehjfge
tnwejfhwejfbwe
asnjefghesjkf
se'e,k



ejkrgseuiuhe


enrjsehfwe

awejkfjiwehf


sejkhrsehfw
'arnweh


serheuishfuihwe




[root@master ~]# tar -zcf "$(date +%Y-%m-%d).abc.tar.gz" abc
[root@master ~]# ls
10.txt  14.txt  18.txt                 20.txt  3.txt  7.txt  anaconda-ks.cfg        nwq1.6.sh
11.txt  15.txt  19.txt                 21.txt  4.txt  8.txt  CentOS6-Base-163.repo  profile
12.txt  16.txt  1.txt                  22.txt  5.txt  9.txt  hosts
13.txt  17.txt  2024-03-14.abc.tar.gz  2.txt   6.txt  abc    motd


3 解压如上文件

tar -xzf "2020=09-29.abc.tar.gz"

 tar -xzf "2024-03-14.abc.tar.gz"  -C /test  解压到目录


[root@master ~]# tar -xzf "2024-03-14.abc.tar.gz"  -C /test
[root@master ~]# cd /test
[root@master test]# ls
abc
[root@master test]# cat abc
dshjfgsd
sdkfhksdf
sdkfgsdf
flksehfhes
sakhjfasjghdfas
fjnksdfsdjf



sdfjkhsdjfse
sajkefhjsegf

wenrjeshfukse
wejnrkhefghwe
rasejghfujiwebf
'fsebjfhse
ejkrgsefhe
sekfbegfe
askefseuifbwejfsekjtg
wjkerusegufhbse
sejnkrghsehjfge
tnwejfhwejfbwe
asnjefghesjkf
se'e,k



ejkrgseuiuhe


enrjsehfwe

awejkfjiwehf


sejkhrsehfw
'arnweh


serheuishfuihwe






4 美元符号:$ 表达什么:
!作用:
| 作用:
xargs作用:

$ 引用变量或命令替换
!   执行历史记录或逻辑非操作  通常与[]结合使用
|  前一个命令的输出作为后一个命令的输入

5 查找指定数据信息进行复制 查找出.txt文件,批量复制到/tmp目录

find . -name "*.txt" |xargs cp -t /tmp
或者
find . -name "*.txt" -exec cp {} /tmp \;





[root@master ~]# touch {1..22}.txt
[root@master ~]# ls
10.txt  13.txt  16.txt  19.txt  21.txt  3.txt  6.txt  9.txt                  hosts      profile
11.txt  14.txt  17.txt  1.txt   22.txt  4.txt  7.txt  anaconda-ks.cfg        motd
12.txt  15.txt  18.txt  20.txt  2.txt   5.txt  8.txt  CentOS6-Base-163.repo  nwq1.6.sh
[root@master ~]# find . -name "*.txt" -exec cp {} /tmp \;
[root@master ~]# ls
10.txt  13.txt  16.txt  19.txt  21.txt  3.txt  6.txt  9.txt                  hosts      profile
11.txt  14.txt  17.txt  1.txt   22.txt  4.txt  7.txt  anaconda-ks.cfg        motd
12.txt  15.txt  18.txt  20.txt  2.txt   5.txt  8.txt  CentOS6-Base-163.repo  nwq1.6.sh
[root@master ~]# cd /tmp
[root@master tmp]# ls
10.txt  14.txt  18.txt  21.txt  4.txt  8.txt       yum_save_tx.2024-03-09.20-43.MjeG_P.yumtx
11.txt  15.txt  19.txt  22.txt  5.txt  9.txt
12.txt  16.txt  1.txt   2.txt   6.txt  test01.txt
13.txt  17.txt  20.txt  3.txt   7.txt  test.txt

6 查找指定数据信息进行移动 查找出*.txt文件,批量移动到/tmp目录

find . -name "*.txt" -exec mv {} /tmp \;




[root@master ~]# touch {1..20}.txt
[root@master ~]# ls
10.txt  13.txt  16.txt  19.txt  2.txt  5.txt  8.txt            CentOS6-Base-163.repo  nwq1.6.sh   test.txt
11.txt  14.txt  17.txt  1.txt   3.txt  6.txt  9.txt            hosts                  profile
12.txt  15.txt  18.txt  20.txt  4.txt  7.txt  anaconda-ks.cfg  motd                   test01.txt
[root@master ~]# find . -name "*.txt"
./1.txt
./test.txt
./test01.txt
./2.txt
./3.txt
./4.txt
./5.txt
./6.txt
./7.txt
./8.txt
./9.txt
./10.txt
./11.txt
./12.txt
./13.txt
./14.txt
./15.txt
./16.txt
./17.txt
./18.txt
./19.txt
./20.txt
[root@master ~]# find . -name "*.txt" -exec mv {} /tmp \;

[root@master ~]# cd /tmp
[root@master tmp]# ls
10.txt  13.txt  16.txt  19.txt  2.txt  5.txt  8.txt       test.txt
11.txt  14.txt  17.txt  1.txt   3.txt  6.txt  9.txt       yum_save_tx.2024-03-09.20-43.MjeG_P.yumtx
12.txt  15.txt  18.txt  20.txt  4.txt  7.txt  test01.txt

7 将以abc开头的行找出来?

语法  grep  "^abc"  文件名

grep "^abc" /etc/passwd



[root@master ~]# cat test01.txt 
sdjfgs
sdjkhfjksdhf


sdfjksdkfhshd
sdjfhjsgf
sdkfhksduise
jkshfhsdb
ashdfsdf
linux fsdhfsdfjsfhshdfslinux
sdjfjsdfs
askjdfasugfugsef
sensfhasgf
asekfsehf
eksheshb
abcehiehkheke
ejkrsehfuies
abcehiiegbwejthiehi


efjhehew

rjkthrkhgwe
eklrhteh

etwehut

ethkeht

ejkfekhre
ehrkefie
nrekwhwet
ekhke



ektheh



[root@master ~]# grep '^abc' test01.txt 
abcehiehkheke
abcehiiegbwejthiehi



8 将以linux结尾的行找出来?

grep 'linux$' 文件名


[root@master ~]# cat test01.txt 
sdjfgs
sdjkhfjksdhf


sdfjksdkfhshd
sdjfhjsgf
sdkfhksduise
jkshfhsdb
ashdfsdf
linux fsdhfsdfjsfhshdfslinux
sdjfjsdfs
askjdfasugfugsef
sensfhasgf
asekfsehf
eksheshb
abcehiehkheke
ejkrsehfuies
abcehiiegbwejthiehi


efjhehew

rjkthrkhgwe
eklrhteh

etwehut

ethkeht

ejkfekhre
ehrkefie
nrekwhwet
ekhke



ektheh



[root@master ~]# grep 'linux' test01.txt 
linux fsdhfsdfjsfhshdfslinux


9 将全部内容显示,但不要显示空行

grep -v '^$' 文件名




[root@master ~]# cat test01.txt 
sdjfgs
sdjkhfjksdhf


sdfjksdkfhshd
sdjfhjsgf
sdkfhksduise
jkshfhsdb
ashdfsdf
linux fsdhfsdfjsfhshdfslinux
sdjfjsdfs
askjdfasugfugsef
sensfhasgf
asekfsehf
eksheshb
abcehiehkheke
ejkrsehfuies
abcehiiegbwejthiehi


efjhehew

rjkthrkhgwe
eklrhteh

etwehut

ethkeht

ejkfekhre
ehrkefie
nrekwhwet
ekhke



ektheh



[root@master ~]# grep -v '^$' test01.txt 
sdjfgs
sdjkhfjksdhf
sdfjksdkfhshd
sdjfhjsgf
sdkfhksduise
jkshfhsdb
ashdfsdf
linux fsdhfsdfjsfhshdfslinux
sdjfjsdfs
askjdfasugfugsef
sensfhasgf
asekfsehf
eksheshb
abcehiehkheke
ejkrsehfuies
abcehiiegbwejthiehi
efjhehew
rjkthrkhgwe
eklrhteh
etwehut
ethkeht
ejkfekhre
ehrkefie
nrekwhwet
ekhke
ektheh

10 利用linux什么命令真正统计目录的大小?

du -sh /etc/passwd



[root@master ~]# du -sh /etc/passwd
8.0K	/etc/passwd


posted @ 2024-03-14 18:25  三思博客  阅读(7)  评论(0编辑  收藏  举报