- 前言
- cd 切換目錄
- pwd 顯示當(dāng)前路徑
- ls 顯示目錄下內(nèi)容及相關(guān)屬性信息
- mkdir 創(chuàng)建目錄
- tree 以樹形結(jié)構(gòu)顯示目錄下的內(nèi)容
- touch 創(chuàng)建空白文件或改變文件的時(shí)間戳屬性
- cp 復(fù)制文件或目錄
- mv 移動(dòng)或重命名文件
- rm 刪除文件或目錄
- chown 改變文件或目錄的用戶用戶組
- chmod 改變文件或目錄的權(quán)限
- chgrp 更改文件用戶組
- ln 硬鏈接與軟連接
- redlink 查看符號(hào)連接文件的內(nèi)容
- find 查找目錄下的文件
- xargs 將標(biāo)準(zhǔn)輸入轉(zhuǎn)換成命令行參數(shù)
- rename 重命名文件
- file 顯示文件類型
- md5sum 計(jì)算和校驗(yàn)文件的MD5值
前言
這期呢主要說一說Linux中文件與目錄相關(guān)的命令,一共包含19個(gè)命令
cd 切換目錄
1、簡(jiǎn)介
cd 是“change directory” 中每個(gè)單詞的首字母,其功能是從當(dāng)前目錄切換到目標(biāo)路徑。
2、語法格式
cd [參數(shù)選項(xiàng)] [目標(biāo)路徑]
3、參數(shù)說明
這里呢只列出常用參數(shù)
參數(shù)選項(xiàng) | 參數(shù)說明 |
---|---|
- | 從當(dāng)前目錄切換到用戶上一次所在目錄 |
~ | 從當(dāng)前目錄切換到家目錄,即假設(shè)當(dāng)前登錄的用戶是xiezhr,執(zhí)行命令后路徑將切換到/home/xiezhr |
.. | 從當(dāng)前目錄切換到上一級(jí)目錄 |
在使用cd命令時(shí),配合“tab”鍵的自動(dòng)補(bǔ)全功能,可以大大提高效率。
既然說到了切換路徑,我們這里就說一說什么時(shí)相對(duì)路徑?什么時(shí)絕對(duì)路徑?
簡(jiǎn)單來說,從“/”根目錄開始的路徑為絕對(duì)路徑,不從“/”開始的為相對(duì)路徑。
/home/xiezhr、/home/user/local 是絕對(duì)路徑,而 date/,webapp/log/ 為相對(duì)路徑
4、實(shí)踐操作
① 進(jìn)入系統(tǒng) /usr/local 目錄 。這里我們會(huì)用到pwd命令來顯示當(dāng)前所在路徑,這個(gè)命令我們會(huì)在下一個(gè)命令中講,這里知道即可
[root@xiezhr ~]# cd /usr/local/
[root@xiezhr local]# pwd
/usr/local
② 切換到上級(jí)目錄
[root@xiezhr local]# pwd
/usr/local
[root@xiezhr local]# cd ..
[root@xiezhr usr]# pwd
/usr
③ 切換到父目錄的父目錄
[root@xiezhr local]# pwd
/usr/local
[root@xiezhr local]# cd ../../
[root@xiezhr /]# pwd
/
④ 返回當(dāng)前用戶上一次所在的目錄
[root@xiezhr ~]# cd /usr/local/
[root@xiezhr local]# cd /root/
[root@xiezhr ~]# pwd
/root
[root@xiezhr ~]# cd -
/usr/local
⑤ 返回家目錄【當(dāng)前用戶為root用戶,家目錄為/root】
[root@xiezhr local]# cd /usr/local/
[root@xiezhr local]# pwd
/usr/local
[root@xiezhr local]# cd ~
[root@xiezhr ~]# pwd
/root
pwd 顯示當(dāng)前路徑
1、簡(jiǎn)介
pwd 是“print working directory”每個(gè)單詞的首字母,功能是打印/顯示當(dāng)前所在目錄姐絕對(duì)路徑。在實(shí)際工作中,我們經(jīng)常會(huì)在各個(gè)目錄之間切換,切換的多了,很容易忘記走到哪了,這時(shí)就需要有一幅地圖指引我們,使我們不至于迷路。由此可見這個(gè)命令的重要性
2、語法格式
pwd [參數(shù)選項(xiàng)]
3、參數(shù)說明
一般不需要加參數(shù)
4、實(shí)踐操作
① 進(jìn)入到/usr/local后顯示路徑
[root@xiezhr ~]# cd /usr/local/
[root@xiezhr local]# pwd
/usr/local
ls 顯示目錄下內(nèi)容及相關(guān)屬性信息
1、簡(jiǎn)介
ls 是“list” 英文單詞的縮寫,功能是列出當(dāng)前目錄下的內(nèi)容和內(nèi)容屬性信息。類似于DOS系統(tǒng)下的dir命令
2、語法格式
ls [參數(shù)選項(xiàng)] [文件或目錄]
由于用的比較少,這里就不作說明了,大概知道就好了
3、參數(shù)說明
參數(shù) | 參數(shù)說明 |
---|---|
-l | 使用長(zhǎng)格式列出文件即目錄信息 相當(dāng)于直接使用ll |
-a | 顯示目錄下的所有文件,包括.開頭的隱藏文件 |
-t | 根據(jù)最后修改時(shí)間(time)排序,默認(rèn)是按文件名排序的 |
-r | 以相反次序排序 |
-F | 在條目后加上文件類型的只是符號(hào)(*、/、=、@、|中的一個(gè)) |
-d | 當(dāng)遇到目錄時(shí),列出目錄本身而非目錄內(nèi)文件 |
-h | 以人類可讀信息顯示文件或目錄大小,如1KB,23M,3GB等 |
4、實(shí)踐操作
① 直接使用ls命令,不帶參數(shù),顯示當(dāng)前目錄下的文件和路徑
[root@xiezhr test]# ls
a.txt b.txt c.txt dir1 dir2 dir3
②加上【-a】參數(shù),顯示所有文件,包含隱藏文件("."開頭的為隱藏文件),如下所示,ls沒有顯示隱藏文件,ls -a 顯示了隱藏文件.d.txt
[root@xiezhr test]# ls
a.txt b.txt c.txt dir1 dir2 dir3
[root@xiezhr test]# ls -a
. .. a.txt b.txt c.txt dir1 dir2 dir3 .d.txt
③ 加上【-l】參數(shù),顯示文件目錄的詳細(xì)信息
這個(gè)參數(shù)時(shí)我們最常用的,這個(gè)命令會(huì)列出文件或目錄類型、權(quán)限、所屬組、創(chuàng)建修改時(shí)間(最后一次修改時(shí)間,如果時(shí)新創(chuàng)建的文件則為創(chuàng)建時(shí)間),需要熟練掌握
[root@xiezhr test]# ls -l
total 12
-rw-r--r-- 1 root root 0 Mar 10 23:39 a.txt
-rw-r--r-- 1 root root 0 Mar 10 23:39 b.txt
-rw-r--r-- 1 root root 0 Mar 10 23:39 c.txt
drwxr-xr-x 2 root root 4096 Mar 10 23:38 dir1
drwxr-xr-x 2 root root 4096 Mar 10 23:38 dir2
drwxr-xr-x 2 root root 4096 Mar 10 23:38 dir3
小技巧:上面的命令我們會(huì)發(fā)現(xiàn),時(shí)間沒顯示年份,那么怎么才能顯示出我們?nèi)庋奂瓤梢钥炊臅r(shí)間呢?
[root@xiezhr test]# ls -l --time-style=long-iso
total 16
-rw-r--r-- 1 root root 22 2022-03-10 23:44 a.txt
-rw-r--r-- 1 root root 0 2022-03-10 23:39 b.txt
-rw-r--r-- 1 root root 0 2022-03-10 23:39 c.txt
drwxr-xr-x 2 root root 4096 2022-03-10 23:38 dir1
drwxr-xr-x 2 root root 4096 2022-03-10 23:38 dir2
drwxr-xr-x 2 root root 4096 2022-03-10 23:38 dir3
哇哦,上面命令這么長(zhǎng),使用起來真的不方便,我們給它起個(gè)別名吧,這樣叫起來也比較方便
[root@xiezhr test]# alias lst='ls -l --time-style=long-iso'
[root@xiezhr test]# alias |grep lst
alias lst='ls -l --time-style=long-iso'
[root@xiezhr test]# lst
total 16
-rw-r--r-- 1 root root 22 2022-03-10 23:44 a.txt
-rw-r--r-- 1 root root 0 2022-03-10 23:39 b.txt
-rw-r--r-- 1 root root 0 2022-03-10 23:39 c.txt
drwxr-xr-x 2 root root 4096 2022-03-10 23:38 dir1
drwxr-xr-x 2 root root 4096 2022-03-10 23:38 dir2
drwxr-xr-x 2 root root 4096 2022-03-10 23:38 dir3
④ 加上【-F】參數(shù),F是大寫,在文件尾部加上文件類型符號(hào)(、/、=、@、|)中一個(gè)
**""表示普通可執(zhí)行文件、"/"表示目錄、"="表示套接字、"@"表示符號(hào)鏈接、"|"表示FIFOs**
具體文件類型可以參照【文件類型】這篇文章
[root@xiezhr test]# ls -F
a.txt b.txt c.txt dir1/ dir2/ dir3/ # 三個(gè)目錄尾部加上了/
小技巧:通過【-F】參數(shù),可以過濾出所有目錄和普通文件
[root@xiezhr test]# ls -F # 當(dāng)前路徑下一共包含三個(gè)文件和三個(gè)目錄
a.txt b.txt c.txt dir1/ dir2/ dir3/
[root@xiezhr test]# ls -F|grep / # 過濾出所有路徑
dir1/
dir2/
dir3/
[root@xiezhr test]# ls -F|grep -v / #過濾出普通文件
a.txt
b.txt
c.txt
⑤ 假設(shè)一個(gè)目錄下面有很多很多個(gè)文件,我們忘記了最近改過的文件的名字(年紀(jì)大了,記性越來越不好),這時(shí)候要找出它,可以用如下命令
[root@xiezhr test]# touch xiezhr.txt
[root@xiezhr test]# ls -lt
total 16
-rw-r--r-- 1 root root 0 Mar 11 23:02 xiezhr.txt
-rw-r--r-- 1 root root 0 Mar 11 22:52 tt.txt
-rw-r--r-- 1 root root 22 Mar 10 23:44 a.txt
-rw-r--r-- 1 root root 0 Mar 10 23:39 c.txt
-rw-r--r-- 1 root root 0 Mar 10 23:39 b.txt
drwxr-xr-x 2 root root 4096 Mar 10 23:38 dir3
drwxr-xr-x 2 root root 4096 Mar 10 23:38 dir2
drwxr-xr-x 2 root root 4096 Mar 10 23:38 dir1
我們最近創(chuàng)建或修改的文件就排在最前面了,有沒有很方便哦
當(dāng)然了,可以讓你最顯目,也可以讓你排到最后去。ls -lrt 即可按照時(shí)間倒序排。-r 是倒序的意思
mkdir 創(chuàng)建目錄
1、簡(jiǎn)介
mkdir 是"make directoy" 英文單詞的縮寫,功能是創(chuàng)建目錄。如果目錄存在則提示已存在,不會(huì)繼續(xù)創(chuàng)建
2、語法格式
mkdir [參數(shù)選項(xiàng)] [目錄]
3、參數(shù)說明
參數(shù) | 參數(shù)說明 |
---|---|
-p | 遞歸創(chuàng)建目錄。即可以父目錄兒子目錄孫子目錄重孫目錄....等一起創(chuàng)建 |
-m | 創(chuàng)建目錄的同時(shí)授予權(quán)限 |
4、實(shí)踐操作
① mkdir 不帶任何參數(shù)
[root@xiezhr test]# ls
a.txt b.txt c.txt dir1 dir2 dir3 tt.txt xiezhr.txt
[root@xiezhr test]# mkdir xiezhr
[root@xiezhr test]# ls
a.txt b.txt c.txt dir1 dir2 dir3 tt.txt xiezhr xiezhr.txt
② 同時(shí)創(chuàng)建多個(gè)目錄
[root@xiezhr test]# ls
a.txt b.txt c.txt dir1 dir2 dir3 tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# mkdir dir4 dir5 dir6
[root@xiezhr test]# ls
a.txt b.txt c.txt dir1 dir2 dir3 dir4 dir5 dir6 tt.txt xiezhr xiezhr.txt
③ 使用【-p】參數(shù)遞歸創(chuàng)建目錄
[root@xiezhr test]# ls
a.txt b.txt c.txt dir1 dir2 dir3 tt.txt xiezhr.txt
[root@xiezhr test]# mkdir -p xiezhr/test
[root@xiezhr test]# tree
.
├── a.txt
├── b.txt
├── c.txt
├── dir1
├── dir2
├── dir3
├── tt.txt
├── xiezhr
│ └── test
└── xiezhr.txt
5 directories, 5 files
④ 使用【-m】參數(shù),創(chuàng)建目錄同時(shí)授權(quán)
[root@xiezhr test]# mkdir -m 755 dir
tree 以樹形結(jié)構(gòu)顯示目錄下的內(nèi)容
1、簡(jiǎn)介
tree 一看到這個(gè)命令,我們就知道是樹的意思,當(dāng)然了這里的樹并非種的樹,而是以樹形結(jié)構(gòu)顯示目錄下內(nèi)容。
2、語法格式
tree [參數(shù)選項(xiàng)] [目錄]
3、參數(shù)說明
參數(shù) | 參數(shù)說明 |
---|---|
-d | 只顯示目錄 |
-L level | 遍歷目錄的最大層數(shù),level為大于0的整數(shù) |
4、實(shí)踐操作
注意:個(gè)別Linux版本可能沒有默認(rèn)安裝tree,大家也不用慌,我們按照如下步驟安裝即可
- 下載安裝包
wget http://mama.indstate.edu/users/ice/tree/src/tree-1.7.0.tgz
- 解壓安裝包
tar -zxvf tree-1.7.0.tgz
- 切換到解壓后的目錄
cd tree-1.7.0
- 編譯安裝
make install
- 大功告成,輸入tree 命令回車
① 不帶參數(shù)的tree
[root@xiezhr test]# tree
.
├── a.txt
├── b.txt
├── c.txt
├── dir
├── dir1
├── dir2
├── dir3
├── tt.txt
├── xiezhr
│ └── test
└── xiezhr.txt
6 directories, 5 files
② 加上【-d】參數(shù),只顯示目錄
[root@xiezhr test]# tree -d
.
├── dir
├── dir1
├── dir2
├── dir3
└── xiezhr
└── test
6 directories
③ 加上【-L leave】 列出目錄下第leave層結(jié)構(gòu)
[root@xiezhr test]# tree -L 1
.
├── a.txt
├── b.txt
├── c.txt
├── dir
├── dir1
├── dir2
├── dir3
├── tt.txt
├── xiezhr
└── xiezhr.txt
5 directories, 5 files
④ 加上【-f】顯示完整的路徑名稱 加上【-i】則不顯示樹枝部分
[root@xiezhr test]# tree -f
.
├── ./a.txt
├── ./b.txt
├── ./c.txt
├── ./dir
├── ./dir1
├── ./dir2
├── ./dir3
├── ./tt.txt
├── ./xiezhr
│ └── ./xiezhr/test
└── ./xiezhr.txt
6 directories, 5 files
[root@xiezhr test]# tree -i
.
a.txt
b.txt
c.txt
dir
dir1
dir2
dir3
tt.txt
xiezhr
test
xiezhr.txt
6 directories, 5 files
[root@xiezhr test]# tree -fi
.
./a.txt
./b.txt
./c.txt
./dir
./dir1
./dir2
./dir3
./tt.txt
./xiezhr
./xiezhr/test
./xiezhr.txt
6 directories, 5 files
⑤ 加上【-F】參數(shù)區(qū)分目錄和文件
[root@xiezhr test]# tree -F
.
├── a.txt
├── b.txt
├── c.txt
├── dir/
├── dir1/
├── dir2/
├── dir3/
├── tt.txt
├── xiezhr/
│ └── test/
└── xiezhr.txt
6 directories, 5 files
尾部帶/的為目錄
touch 創(chuàng)建空白文件或改變文件的時(shí)間戳屬性
1、簡(jiǎn)介
touch 是觸摸的意思,摸一下文件可以創(chuàng)建空白文件或改變文件時(shí)間屬性
touch 不能創(chuàng)建目錄但是能改變目錄的時(shí)間戳屬性
2、語法格式
touch [參數(shù)選項(xiàng)] [文件]
3、參數(shù)說明
參數(shù) | 參數(shù)說明 |
---|---|
-a | 只更改文件最后訪問時(shí)間 |
-m | 只更改文件最后修改時(shí)間 |
-d string | 使用字符串string代表的時(shí)間模板設(shè)置指定文件的時(shí)間屬性 |
4、實(shí)踐操作
① 不帶任何參數(shù)
[root@xiezhr test]# touch xiezhr.txt
[root@xiezhr test]# ls
a.txt b.txt c.txt dir dir1 dir2 dir3 tt.txt xiezhr xiezhr.txt
②更改文件時(shí)間戳屬性(文件的時(shí)間戳屬性:訪問時(shí)間、修改時(shí)間、狀態(tài)改變時(shí)間)
- stat 查看文件時(shí)間戳屬性
- -m 更改文件修改時(shí)間
- -a 更改文件的訪問時(shí)間
[root@xiezhr test]# stat xiezhr.txt
File: ‘xiezhr.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd01h/64769d Inode: 2661 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2022-03-12 21:04:32.681919249 +0800
Modify: 2022-03-12 21:04:32.681919249 +0800
Change: 2022-03-12 21:04:32.681919249 +0800
Birth: -
[root@xiezhr test]# touch -m xiezhr.txt
[root@xiezhr test]# stat xiezhr.txt
File: ‘xiezhr.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd01h/64769d Inode: 2661 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2022-03-12 21:04:32.681919249 +0800
Modify: 2022-03-12 21:08:22.344330251 +0800
Change: 2022-03-12 21:08:22.344330251 +0800
Birth: -
[root@xiezhr test]# touch -a xiezhr.txt
[root@xiezhr test]# stat xiezhr.txt
File: ‘xiezhr.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd01h/64769d Inode: 2661 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2022-03-12 21:08:42.528893719 +0800
Modify: 2022-03-12 21:08:22.344330251 +0800
Change: 2022-03-12 21:08:42.528893719 +0800
Birth: -
cp 復(fù)制文件或目錄
1、簡(jiǎn)介
cp 是copy 英文單詞的縮寫,功能是復(fù)制文件或目錄
2、語法格式
cp [參數(shù)選項(xiàng)] [源文件] [目標(biāo)文件]
3、參數(shù)說明
參數(shù) | 參數(shù)說明 |
---|---|
-p | 復(fù)制時(shí)保持源文件的權(quán)限、時(shí)間屬性 |
-d | 如果復(fù)制的文件時(shí)符號(hào)鏈接,那么僅賦值符號(hào)鏈接本身,而且保留符號(hào)鏈接所指向的目標(biāo)文件或目錄 |
-r | 遞歸復(fù)制目錄,即復(fù)制目錄下所有層級(jí)的子目錄及文件 |
-a | 等同于-p、-d、-r三個(gè)命令總和 |
-i | 覆蓋已有文件提示用戶確認(rèn) |
4、實(shí)踐操作
① 將文件a.txt 復(fù)制為 aaa.txt
[root@xiezhr test]# cp a.txt aaa.txt
[root@xiezhr test]# ls
aaa.txt a.txt b.txt c.txt dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
②復(fù)制目錄,將dir 目錄復(fù)制為dir_bak
[root@xiezhr test]# ls
aaa.txt a.txt b.txt c.txt dir dir1 dir2 dir3 tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# cp -r dir dir_bak
[root@xiezhr test]# ls
aaa.txt a.txt b.txt c.txt dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
mv 移動(dòng)或重命名文件
1、簡(jiǎn)介
mv 是 move 的縮寫,功能是移動(dòng)重命名文件
2、語法格式
mv [參數(shù)選項(xiàng)] [源文件] [目標(biāo)文件]
3、參數(shù)說明
參數(shù) | 參數(shù)說明 |
---|---|
-f | 若目標(biāo)文件已經(jīng)存在,則不會(huì)詢問直接覆蓋 |
-i | 若目標(biāo)文件已存在,則會(huì)詢問是否覆蓋 |
-n | 不覆蓋已經(jīng)存在的文件 |
-u | 在源文件比目標(biāo)文件新,或目標(biāo)文件不存在時(shí)才進(jìn)行移動(dòng) |
4、實(shí)踐操作
① 給文件改名(如果a1.txt 不存在,則將aaa.txt 重命名為a1.txt)
[root@xiezhr test]# ls
aaa.txt b.txt c.txt dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# mv aaa.txt a1.txt
[root@xiezhr test]# ls
a1.txt b.txt c.txt dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
② 給文件重命名(如果a2.txt存在,則將a1.txt 覆蓋為a2.txt)
[root@xiezhr test]# ls
a1.txt a2.txt b.txt c.txt dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# mv a1.txt a2.txt
mv: overwrite ‘a(chǎn)2.txt’? y
[root@xiezhr test]# ls
a2.txt b.txt c.txt dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
③ 移動(dòng)單個(gè)文件或多個(gè)文件
[root@xiezhr test]# ls
a2.txt b.txt c.txt dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# mv a2.txt dir/
[root@xiezhr test]# ls
b.txt c.txt dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# mv b.txt c.txt dir/
[root@xiezhr test]# ls
dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
④移動(dòng)目錄 如果目錄存在則將文件移動(dòng)到目錄中,如果不存在則將目錄改名
[root@xiezhr test]# ls
a2.txt b.txt c.txt dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# mv a2.txt dir/
[root@xiezhr test]# ls
b.txt c.txt dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# mv b.txt c.txt dir/
[root@xiezhr test]# ls
dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# mv dir1 dir
[root@xiezhr test]# ls
dir dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# mv dir2 dir5
[root@xiezhr test]# ls
dir dir3 dir5 dir_bak tt.txt xiezhr xiezhr.txt
rm 刪除文件或目錄
1、簡(jiǎn)介
rm 時(shí)rmove 英文單詞的縮寫,功能時(shí)刪除一個(gè)或多個(gè)文件、目錄。rm是Linux中最危險(xiǎn)的命令。如果刪錯(cuò)了那只有跑路了~ 慎重慎重慎重??
2、語法格式
rm [參數(shù)選項(xiàng)] [文件或目錄]
3、參數(shù)說明
參數(shù) | 參數(shù)說明 |
---|---|
-f | 強(qiáng)制刪除,忽率不存在的文件,不提示確認(rèn) |
-r | 遞歸刪除目錄及其內(nèi)容 |
4、實(shí)踐操作
① 不帶參數(shù)的刪除,刪除需要確認(rèn)
[root@xiezhr test]# ls
a.txt b.txt c.txt dir dir3 dir5 dir_bak tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# rm a.txt
rm: remove regular empty file ‘a(chǎn).txt’? y
[root@xiezhr test]# ls
b.txt c.txt dir dir3 dir5 dir_bak tt.txt xiezhr xiezhr.txt
②強(qiáng)制刪除文件,不需要確認(rèn)
[root@xiezhr test]# ls
b.txt c.txt dir dir3 dir5 dir_bak tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# rm -f b.txt
[root@xiezhr test]# ls
c.txt dir dir3 dir5 dir_bak tt.txt xiezhr xiezhr.txt
③ 遞歸刪除目錄文件
[root@xiezhr test]# tree dir1/
dir1/
└── a
└── b
└── t.txt
2 directories, 1 file
[root@xiezhr test]# rm -rf dir1/
[root@xiezhr test]# ls
c.txt dir dir3 dir5 dir_bak tt.txt xiezhr xiezhr.txt
注意:數(shù)據(jù)無價(jià),慎重、慎重、慎重
- 盡量用mv代替rm ,先將文件移動(dòng)到其他目錄/tmp,類似于windows的垃圾回收站
- 刪除前必須備份,即使只是刪除一個(gè)很不起眼的文件
- 如果非要用到“rm -rf”,一定要確認(rèn)好路徑,別來個(gè)rm -rf/ 那就真的玩完了,跑路都是小事,如果造成損失可能要負(fù)法律責(zé)任。
chown 改變文件或目錄的用戶用戶組
1、簡(jiǎn)介
chown 是change owner 英文的縮寫,用于改變文件或目錄的所屬用戶和用戶組
2、語法格式
chown [參數(shù)選項(xiàng)] [用戶:用戶組] [文件或目錄]
chown 用戶 文件或目錄 # 僅僅授權(quán)用戶
chown :組 文件或目錄 # 僅僅授權(quán)組
chown 用戶:組 文件或目錄 # 不僅授權(quán)用戶,還授權(quán)組
3、參數(shù)說明
參數(shù) | 參數(shù)說明 |
---|---|
-R | 遞歸更改目錄的用戶和用戶組 |
4、實(shí)踐操作
① 更改文件的用戶和組
[root@xiezhr test]# ll c.txt
-rw-r--r-- 1 root root 0 Mar 14 22:37 c.txt
[root@xiezhr test]# chown xiezhr:xiezhr c.txt
[root@xiezhr test]# ll c.txt
-rw-r--r-- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
② 遞歸更改目錄即目錄下所有目錄及文件的用戶和用戶組屬性
[root@xiezhr test]# ll -d dir
drwxr-xr-x 3 root root 4096 Mar 13 16:08 dir
[root@xiezhr test]# chown -R xiezhr.xiezhr dir/
[root@xiezhr test]# ll -d dir
drwxr-xr-x 3 xiezhr xiezhr 4096 Mar 13 16:08 dir
chmod 改變文件或目錄的權(quán)限
1、簡(jiǎn)介
chmod 是change mode 英文單詞的縮寫,用戶改變文件或目錄的權(quán)限。該命令只有文件的屬主和root用戶可以使用
2、語法格式
chmod [參數(shù)選項(xiàng)] [模式選項(xiàng)] [文件或目錄]
我們輸入如下命令后,會(huì)顯示文件或目錄的詳細(xì)信息。那么開頭的一堆東西代表什么呢?
[root@xiezhr test]# ll
total 20
-rw-r--r-- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
drwxr-xr-x 3 xiezhr xiezhr 4096 Mar 13 16:08 dir
drwxr-xr-x 2 root root 4096 Mar 10 23:38 dir3
如上圖所示,
-
Linux權(quán)限分為三級(jí) : 文件所有者(Owner)、用戶組(Group)、其它用戶(Other Users)
-
第一位代表文件類型,-表示普通文件 d 表示目錄
-
r是read的縮寫,代表可讀權(quán)限 對(duì)應(yīng)4
-
w是write的縮寫,代表可寫權(quán)限 對(duì)應(yīng)2
-
x是execute的縮寫,代表可執(zhí)行權(quán)限 對(duì)應(yīng)1
-
-沒有任何權(quán)限 對(duì)應(yīng)0
-
a 是all 的縮寫,代表所有等于u、g、o的綜合
-
u 是user的縮寫,代表文件擁有者
-
g 是group的縮寫,代表用戶組
-
o 是other的縮寫,代表其他用戶
3、參數(shù)說明
參數(shù) | 參數(shù)說明 |
---|---|
-R | 遞歸處理指定目錄及其子目錄下的所有文件 |
4、實(shí)踐操作
① 設(shè)置所有權(quán)限為空
[root@xiezhr test]# ll c.txt
-rw-r--r-- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
[root@xiezhr test]# chmod a= c.txt
[root@xiezhr test]# ll c.txt
---------- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
② 設(shè)置文件擁有者具有文件可執(zhí)行屬性
[root@xiezhr test]# ll c.txt
---------- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
[root@xiezhr test]# chmod u+x c.txt
[root@xiezhr test]# ll c.txt
---x------ 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
②設(shè)置文件組具有文件可寫權(quán)限
[root@xiezhr test]# ll c.txt
---x------ 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
[root@xiezhr test]# chmod g+w c.txt
[root@xiezhr test]# ll c.txt
---x-w---- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
③ 設(shè)置其他用戶具有文件可讀權(quán)限
[root@xiezhr test]# ll c.txt
---x-w---- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
[root@xiezhr test]# chmod o+r c.txt
[root@xiezhr test]# ll c.txt
---x-w-r-- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
④ 多個(gè)權(quán)限一起
[root@xiezhr test]# ll c.txt
---x-w-r-- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
[root@xiezhr test]# chmod ugo+x c.txt
[root@xiezhr test]# ll c.txt
---x-wxr-x 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
⑤ 撤銷其他用戶可執(zhí)行權(quán)限
[root@xiezhr test]# ll c.txt
---x-wxr-x 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
[root@xiezhr test]# chmod o-x c.txt
[root@xiezhr test]# ll c.txt
---x-wxr-- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
⑥ 通過數(shù)字設(shè)置文件擁有者可讀可寫可執(zhí)行、用戶組可讀可執(zhí)行、其他用戶可讀可執(zhí)行
[root@xiezhr test]# ll c.txt
---x-wxr-- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
[root@xiezhr test]# chmod 755 c.txt
[root@xiezhr test]# ll c.txt
-rwxr-xr-x 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
⑦使用【-R】參數(shù)遞歸授予dir目錄下所有文件權(quán)限
[root@xiezhr test]# ll dir
total 8
-rw-r--r-- 1 xiezhr xiezhr 90 Mar 13 15:24 a2.txt
-rw-r--r-- 1 xiezhr xiezhr 0 Mar 10 23:39 b.txt
-rw-r--r-- 1 xiezhr xiezhr 0 Mar 10 23:39 c.txt
drwxr-xr-x 2 xiezhr xiezhr 4096 Mar 10 23:38 dir1
[root@xiezhr test]# chmod -R 755 dir/
[root@xiezhr test]# ll dir
total 8
-rwxr-xr-x 1 xiezhr xiezhr 90 Mar 13 15:24 a2.txt
-rwxr-xr-x 1 xiezhr xiezhr 0 Mar 10 23:39 b.txt
-rwxr-xr-x 1 xiezhr xiezhr 0 Mar 10 23:39 c.txt
drwxr-xr-x 2 xiezhr xiezhr 4096 Mar 10 23:38 dir1
chgrp 更改文件用戶組
1、簡(jiǎn)介
chgrp 是change group 的縮寫,僅僅用于改變文件的用戶組。chgrp 允許普通用戶改變文件所屬的組,只要該用戶是該組的一員。一般我們都使用chown 命令
2、語法格式
chgrp [參數(shù)選項(xiàng)] [用戶組] [文件或目錄]
3、參數(shù)說明
參數(shù) | 參數(shù)說明 |
---|---|
-R | 遞歸更改文件的用戶組 |
4、實(shí)踐操作
①修改文件組屬性
[root@xiezhr test]# ll a.txt
-rw-r--r-- 1 root root 0 Mar 15 21:35 a.txt
[root@xiezhr test]# chgrp xiezhr a.txt
[root@xiezhr test]# ll a.txt
-rw-r--r-- 1 root xiezhr 0 Mar 15 21:35 a.txt
② 遞歸改變文件用戶組屬性
[root@xiezhr test]# ll dir3/
total 0
-rw-r--r-- 1 root root 0 Mar 15 21:37 a.txt
-rw-r--r-- 1 root root 0 Mar 15 21:37 b.txt
[root@xiezhr test]# chgrp -R xiezhr dir3/
[root@xiezhr test]# ll dir3/
total 0
-rw-r--r-- 1 root xiezhr 0 Mar 15 21:37 a.txt
-rw-r--r-- 1 root xiezhr 0 Mar 15 21:37 b.txt
ln 硬鏈接與軟連接
1、簡(jiǎn)介
ln 是link英文單詞縮寫,功能是創(chuàng)建文件間的鏈接(鏈接分為軟鏈接和硬鏈接)
當(dāng)我們需要在不同的目錄,用到相同的文件時(shí),我們不需要在每一個(gè)需要的目錄下都放一個(gè)必須相同的文件,我們只要在某個(gè)固定的目錄,放上該文件,然后在 其它的目錄下用ln命令鏈接(link)它就可以,不必重復(fù)的占用磁盤空間。
那么什么是硬鏈接?什么又是軟鏈接呢?
【軟鏈接】
- 1.軟鏈接,以路徑的形式存在。類似于Windows操作系統(tǒng)中的快捷方式
- 2.軟鏈接可以 跨文件系統(tǒng) ,硬鏈接不可以
- 3.軟鏈接可以對(duì)一個(gè)不存在的文件名進(jìn)行鏈接
- 4.軟鏈接可以對(duì)目錄進(jìn)行鏈接
【硬鏈接】
- 1.硬鏈接,以文件副本的形式存在。但不占用實(shí)際空間。
- 2.不允許給目錄創(chuàng)建硬鏈接
- 3.硬鏈接只有在同一個(gè)文件系統(tǒng)中才能創(chuàng)建
2、語法格式
3、參數(shù)說明
參數(shù) | 參數(shù)說明 |
---|---|
無參數(shù) | 創(chuàng)建硬鏈接 |
-s | 創(chuàng)建硬鏈接 |
4、實(shí)踐操作
①為a.txt 創(chuàng)建軟連接linka。如果a.txt丟失,linka失效
[root@xiezhr dir]# ll
total 4
-rw-r--r-- 1 root root 17 Mar 15 22:25 a.txt
[root@xiezhr dir]# ln -s a.txt linka
[root@xiezhr dir]# ll
total 4
-rw-r--r-- 1 root root 17 Mar 15 22:25 a.txt
lrwxrwxrwx 1 root root 5 Mar 15 22:28 linka -> a.txt
② 給文件a.txt創(chuàng)建硬鏈接,lna,a.txt與lna的各項(xiàng)屬性相同
[root@xiezhr dir]# ll
total 4
-rw-r--r-- 1 root root 17 Mar 15 22:25 a.txt
lrwxrwxrwx 1 root root 5 Mar 15 22:28 linka -> a.txt
[root@xiezhr dir]# ln a.txt lna
[root@xiezhr dir]# ll
total 8
-rw-r--r-- 2 root root 17 Mar 15 22:25 a.txt
lrwxrwxrwx 1 root root 5 Mar 15 22:28 linka -> a.txt
-rw-r--r-- 2 root root 17 Mar 15 22:25 lna
總結(jié):
- 【刪除軟連接文件,對(duì)源文件及硬鏈接文件無影響】刪除軟連接linka,對(duì)a.txt和lna無影響
- 【刪除硬鏈接文件,對(duì)源文件及軟鏈接文件無影響】刪除硬鏈接lna,對(duì)a.txt和linka無影響
- 【刪除源文件,對(duì)硬鏈接文件無影響,但會(huì)導(dǎo)致軟鏈接失效】 刪除a.txt,對(duì)lna無影響,linka鏈接失效
- 【只有同事刪除源文件、硬鏈接文件才會(huì)真正刪除整個(gè)文件】刪除lna、a.txt 整個(gè)文件才會(huì)被刪除
redlink 查看符號(hào)連接文件的內(nèi)容
1、簡(jiǎn)介
我們使用cat/more 查看軟鏈接文件時(shí),只能查看源文件內(nèi)容,不能查看軟鏈接的時(shí)哪個(gè)文件。這時(shí)候readlink就派上用場(chǎng)了
2、語法格式
readlink [參數(shù)選項(xiàng)] [文件]
3、參數(shù)說明
一般不加參數(shù)
4、實(shí)踐操作
① 查看軟鏈接linka
[root@xiezhr dir]# cat linka
ffdfdfadf
fdfdf
[root@xiezhr dir]# readlink linka
a.txt
find 查找目錄下的文件
1、簡(jiǎn)介
find 根據(jù)根據(jù)意思,你可能就知道其功能了。find用戶查找目錄下的文件,同時(shí)也可以調(diào)用其他命令執(zhí)行相應(yīng)操作
2、語法格式
find [路徑] [操作語句] [執(zhí)行的動(dòng)作]
3、參數(shù)說明
參數(shù) | 參數(shù)說明 |
---|---|
pathname | 命令所查找的路徑,常用的.表示當(dāng)前路徑,/表示系統(tǒng)根目錄 |
-maxdepth levels | 查找的最大目錄級(jí)數(shù),leves 為自然數(shù) |
-name | 按照文件名查找文件,支持*、?、[] 通配符 |
-type | 查找某一類型的文件① b[塊設(shè)備文件] ② c[字符設(shè)備文件] ③ d[目錄] ④ p[管道文件] ⑤ l[符號(hào)鏈接文件] ⑥ f[普通文件] ⑦s[stocket文件] |
-exec | 對(duì)匹配的文件執(zhí)行該參數(shù)所給出的shell命令 |
! | 取反 |
-a | 取交集,and |
-o | 取并集,or |
4、實(shí)踐操作
① 【-name】根據(jù)文件名檢索
- 區(qū)分大小寫,需要忽略文件名中的大小寫,可以使用 -iname參數(shù)
- 可配合通配符"*"、"?" 使用
- "?" 可以表示任意一個(gè)單一的符號(hào)
- "*" 可以表示任意數(shù)量(包括 0)的未知符號(hào)
# 查找 /home/test 目錄下所有文件名以 .txt 結(jié)尾的文件
[root@xiezhr test]# find /home/test/ -name '*.txt'
/home/test/.d.txt
/home/test/dir/a.txt
/home/test/dir3/b.txt
/home/test/dir3/a.txt
/home/test/a.txt
/home/test/tt.txt
/home/test/c.txt
/home/test/xiezhr.txt
# 查找 /home/test 目錄下所有文件名剛好為 1 個(gè)字符的文件
[root@xiezhr test]# find /home/test/ -name '?.txt'
/home/test/dir/a.txt
/home/test/dir3/b.txt
/home/test/dir3/a.txt
/home/test/a.txt
/home/test/c.txt
② 【-type】 根據(jù)文件類型檢索
# 查找 /home/test 目錄下所有java普通文件 下面命令中f 代表普通文件。上面參數(shù)中已說明
[root@xiezhr test]# find /home/test/ -type f -name '*.java'
/home/test/user.java
/home/test/money.java
/home/test/test.java
/home/test/xiezhr.java
③ 【-atime -mtime】查找指定時(shí)間內(nèi)修改過的文件
# 查找當(dāng)前目錄,一天內(nèi)訪問過的文件 .表示當(dāng)前路徑,-1表示一天內(nèi)
[root@xiezhr test]# find . -atime -1
./user.java
./dir/linka
./dir/lna
./dir/a.txt
./money.java
./test.java
./xiezhr.java
# 在/home/test 目錄下,查找2天內(nèi)修改過的文件
[root@xiezhr test]# find /home/test/ -mtime -2
/home/test/
/home/test/user.java
/home/test/dir
/home/test/dir/linka
/home/test/dir/lna
參照上圖所示
④ 【!】 進(jìn)行反向查找
# 查找當(dāng)前目錄下所有目錄
[root@xiezhr test]# find -type d
.
./dir5
./xiezhr
./xiezhr/test
./dir
./dir3
./dir_bak
# 查找當(dāng)前目錄下非目錄的文件
[root@xiezhr test]# find ! -type d
./user.java
./.d.txt
./dir/linka
./dir/lna
./dir/a.txt
./money.java
./dir3/b.txt
./dir3/a.txt
./test.java
⑤【-size】 根據(jù)文件大小查找
如下命令中
- "+" 表示大于
- "-" 表示小于
- "c" 表示字節(jié)
- "k" 表示kb
- "M" 表示Mb
- "G" 表示Gb
[root@xiezhr test]# find -size +200c
.
./dir5
./xiezhr
./xiezhr/test
./dir
./dir3
./dir_bak
⑥ 【-perm】 根據(jù)文件權(quán)限查找
# 檢索 /home/test 目錄下權(quán)限為 rw-r--r-- 的文件
[root@xiezhr test]# find /home/test/ -perm u=rw-,g=r--,o=r--
/home/test/user.java
/home/test/.d.txt
/home/test/dir/lna
/home/test/dir/a.txt
/home/test/money.java
上面列子可以寫成如下
[root@xiezhr test]# find /home/test/ -perm 644
/home/test/user.java
/home/test/.d.txt
/home/test/dir/lna
/home/test/dir/a.txt
/home/test/money.java
⑦ 查找當(dāng)前目錄下所有普通問及那,并用ls -l 命令將其列出來
[root@xiezhr test]# find -type f -exec ls {} \;
./user.java
./.d.txt
./dir/lna
./dir/a.txt
./money.java
上述列子中
- -exec 后面的時(shí)操作命令,可以是ls、rm、delete 等命令
- 命令最后以;結(jié)尾,考慮到到各個(gè)系統(tǒng);可能有不同含義,所以在前面加上\進(jìn)行轉(zhuǎn)義
- {} 表示前面find 命令查到的結(jié)果,{} 前后必須要有空格
⑧ 在目錄中查找n天以前的文件并刪除它,實(shí)際工作中我們會(huì)經(jīng)常用到。
我們?cè)诜?wù)器上部署的應(yīng)用程序一般都會(huì)輸出日志文件,時(shí)間一長(zhǎng)可能日志文件會(huì)成百上千,一下就把你的磁盤空間給撐滿了。
這時(shí)候下面命令就顯得很重要了。
一般情況下,這些命令我們我們會(huì)配置到Linux任務(wù)調(diào)度中自動(dòng)執(zhí)行
[root@xiezhr test]# find . -type f -name "xiezhr*.log" -mtime +7 -exec rm -f {} \;
[root@xiezhr test]#
或者
# | 表示管道符號(hào) xargs是一個(gè)向其他命令傳遞參數(shù)的過濾器。后面都會(huì)說到
# 下面命令表示 find 查找到的普通文件 傳遞給rm -f 執(zhí)行
[root@xiezhr test]# find . -type f -name "xiezhr*.log" -mtime +7 |xargs rm -f
[root@xiezhr test]#
或者
[root@xiezhr test]# find . -type f -name "xiezhr*.log" -mtime +7 -delete
[root@xiezhr test]#
⑨ 將查找到的文件移動(dòng)到另一個(gè)目錄下
# 利用xargs -i 命令將find 查找當(dāng)前目錄下的所有java文件作為參數(shù)傳遞給mv命令
[root@xiezhr test]# find -type f -name "*.java" |xargs -i mv {} dir3/
[root@xiezhr test]# ls dir3
a.txt b.txt money.java test.java user.java xiezhr.java
⑩ 我們想將/home/test 目錄下多個(gè)的高清電影發(fā)給好兄弟,這時(shí)就需要篩選出當(dāng)前目錄下所有電影并進(jìn)行壓縮
[root@xiezhr test]# ls
a.txt c.txt dir dir3 dir5 dir_bak tt.txt xiezhr xiezhr.txt 化學(xué)資料.mp4 數(shù)學(xué)資料.mp4 物理.mp4
[root@xiezhr test]# find . -name "*.mp4" -exec tar -czvf movie.tar.gz {} \;
./數(shù)學(xué)資料.mp4
./物理.mp4
./化學(xué)資料.mp4
[root@xiezhr test]# ls
a.txt c.txt dir dir3 dir5 dir_bak movie.tar.gz tt.txt xiezhr xiezhr.txt 化學(xué)資料.mp4 數(shù)學(xué)資料.mp4 物理.mp4
movie.tar.gz 就是最后壓縮后的文件
xargs 將標(biāo)準(zhǔn)輸入轉(zhuǎn)換成命令行參數(shù)
1、簡(jiǎn)介
xargs 是 extended arguments 單詞的縮寫。它是命令傳遞參數(shù)的一個(gè)過濾器。xargs在上一個(gè)例子中已經(jīng)用到過。它能夠捕獲一個(gè)命令的輸出,然后傳遞給另外一個(gè)命令
2、語法格式
xargs [參數(shù)選項(xiàng)]
3、參數(shù)說明
參數(shù) | 參數(shù)選項(xiàng) |
---|---|
-n | 指定每行的最大參數(shù)量n,可以將輸入的文本劃分為多行,每行n個(gè)參數(shù),默認(rèn)空格分隔 |
-d | 自定義分隔符 |
-i | 以{}替代前面的結(jié)果 |
4、實(shí)踐操作
① 多行輸入變單行
[root@xiezhr test]# clear
[root@xiezhr test]# cat test.txt
1 2 3 4 5
6 7
8 9
10 11 12 13
14 15 17 18
[root@xiezhr test]# xargs < test.txt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 18
② 通過【-n】指定每行的輸出個(gè)數(shù)
[root@xiezhr test]# cat test.txt
1 2 3 4 5
6 7
8 9
10 11 12 13
14 15 17 18
[root@xiezhr test]# xargs -n 4 < test.txt
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 17
18
③ 通過【-d】自定義分隔符
[root@xiezhr test]# echo "xiezhr-的- 個(gè)人公眾號(hào)是:-XiezhrSpace" | xargs -d- -n4
xiezhr 的 個(gè)人公眾號(hào)是: XiezhrSpace
④ 通過【-I】可以指定一個(gè)替換的字符串
# xargs -i 參數(shù)可以讓{}替代前面find查找到的內(nèi)容
[root@xiezhr test]# find . -name "*.mp4"|xargs -i mv {} dir/
[root@xiezhr test]# ls
a.txt c.txt dir dir3 dir5 dir_bak movie.tar.gz test.txt tt.txt xiezhr xiezhr.txt
# -I 參數(shù)可以指定其他字符代替{},本例中則使用[] 替代{}
[root@xiezhr test]# ls
a.txt c.txt dir dir2 dir3 dir5 dir_bak movie.tar.gz test.txt tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# find . -name "*.txt"|xargs -I [] cp [] dir3
cp: ‘./dir3/b.txt’ and ‘dir3/b.txt’ are the same file
cp: ‘./dir3/a.txt’ and ‘dir3/a.txt’ are the same file
rename 重命名文件
1、簡(jiǎn)介
rename 根據(jù)名字就可以知道是重命名
2、語法格式
rename from to file
3、參數(shù)說明
- from 表示需要替換或者需要處理的字符(一般是文件名的一部分或擴(kuò)展名)
- to 把前面的from 代表的內(nèi)容替換成to代表的內(nèi)容
- file 表示待處理的文件,可以用"*"通配所有文件
4、實(shí)踐操作
[root@xiezhr dir5]# ll
total 0
-rw-r--r-- 1 root root 0 Mar 18 20:47 xie_20220315_unfidend.jpg
-rw-r--r-- 1 root root 0 Mar 18 20:47 xie_20220316_unfidend.jpg
-rw-r--r-- 1 root root 0 Mar 18 20:47 xie_20220317_unfidend.jpg
-rw-r--r-- 1 root root 0 Mar 18 20:47 xie_20220318_unfidend.jpg
-rw-r--r-- 1 root root 0 Mar 18 20:47 xie_20220319_unfidend.jpg
[root@xiezhr dir5]# rename "_unfidend" "" *
[root@xiezhr dir5]# ll
total 0
-rw-r--r-- 1 root root 0 Mar 18 20:47 xie_20220315.jpg
-rw-r--r-- 1 root root 0 Mar 18 20:47 xie_20220316.jpg
-rw-r--r-- 1 root root 0 Mar 18 20:47 xie_20220317.jpg
-rw-r--r-- 1 root root 0 Mar 18 20:47 xie_20220318.jpg
-rw-r--r-- 1 root root 0 Mar 18 20:47 xie_20220319.jpg
file 顯示文件類型
1、簡(jiǎn)介
file 我們都知道是文件的意思。其作用就是用于顯示文件類型。
2、語法格式
file [參數(shù)選項(xiàng)] [文件或目錄]
3、參數(shù)說明
一般不加參數(shù)
4、實(shí)踐操作
[root@xiezhr dir5]# file xie_20220315.jpg
xie_20220315.jpg: empty
md5sum 計(jì)算和校驗(yàn)文件的MD5值
1、簡(jiǎn)介
md5sum 用于計(jì)算和校驗(yàn)文件的MD5值。世界上沒有完全相同的兩片葉子,md5是一種不可逆的加密算法。我們可以通過比較兩個(gè)文件的md5值來判斷文件有沒有被修改過。
2、語法格式
md5 [參數(shù)選項(xiàng)] [文件]
3、參數(shù)說明
參數(shù) | 參數(shù)說明 |
---|---|
-c | 從指定文件中讀取MD5校驗(yàn)值,并進(jìn)行校驗(yàn) |
4、實(shí)踐操作
① 生成一個(gè)文件的md5值
[root@xiezhr test]# md5sum a.txt
d41d8cd98f00b204e9800998ecf8427e a.txt
②【-c】參數(shù)判斷文件是否被篡改
-c參數(shù)來對(duì)文件md5進(jìn)行校驗(yàn)。校驗(yàn)時(shí),根據(jù)已生成的md5來進(jìn)行校驗(yàn)。生成當(dāng)前文件的md5,并和之前已經(jīng)生成的md5進(jìn)行對(duì)比,如果一致則文件沒被修改,如果不一致則文件被篡改了。
[root@xiezhr dir6]# ls
xiezhr.txt
[root@xiezhr dir6]# md5sum xiezhr.txt
d41d8cd98f00b204e9800998ecf8427e xiezhr.txt
[root@xiezhr dir6]# md5sum xiezhr.txt >data.md5
[root@xiezhr dir6]# echo "個(gè)人公眾號(hào):XiezhrSpace" >> xiezhr.txt
[root@xiezhr dir6]# md5sum xiezhr.txt
8e32899aa04a3a842df366cdd883cdbf xiezhr.txt
[root@xiezhr dir6]# md5sum -c data.md5
xiezhr.txt: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
這期內(nèi)容就到這,下期根據(jù)思維導(dǎo)圖就到了文件內(nèi)容操作相關(guān)的命令使用了。
涉及到的命令有:cat、more、head、tail、less、cut、join、sort等等
敬請(qǐng)期待哦(●’?’●)
專欄目錄:快速上手Linux核心命令專欄目錄
上一篇:快速上手Linux核心命令(二):關(guān)機(jī)、重啟文章來源:http://www.zghlxwxcb.cn/news/detail-422453.html
下一篇:快速上手Linux核心命令(四):文件內(nèi)容相關(guān)命令文章來源地址http://www.zghlxwxcb.cn/news/detail-422453.html
到了這里,關(guān)于快速上手Linux核心命令(三):文件和目錄操作命令的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!