国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

快速上手Linux核心命令(三):文件和目錄操作命令

這篇具有很好參考價(jià)值的文章主要介紹了快速上手Linux核心命令(三):文件和目錄操作命令。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄
  • 前言
  • 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è)命令

快速上手Linux核心命令(三):文件和目錄操作命令

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核心命令(三):文件和目錄操作命令

快速上手Linux核心命令(三):文件和目錄操作命令

如上圖所示,

  • 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

快速上手Linux核心命令(三):文件和目錄操作命令

參照上圖所示

④ 【!】 進(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ī)、重啟

下一篇:快速上手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)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 快速上手Linux核心命令

    快速上手Linux核心命令

    Linux 的重要性不用我多說了吧,大多數(shù)互聯(lián)網(wǎng)公司,服務(wù)器都是采用的Linux操作系統(tǒng) Linux是一個(gè)主要通過命令行來進(jìn)行管理的操作系統(tǒng)。 只有熟練掌握Linux核心命令,在使用起來我們才會(huì)得心應(yīng)手 這里給大家整理了Linux一些核心命令,掌握這些核心命令,工作中應(yīng)該游刃有余

    2024年04月16日
    瀏覽(20)
  • 快速上手Linux核心命令(八):網(wǎng)絡(luò)相關(guān)命令

    快速上手Linux核心命令(八):網(wǎng)絡(luò)相關(guān)命令

    目錄 前言 測(cè)試主機(jī)之間網(wǎng)絡(luò)是否聯(lián)通 ifconfig 配置或顯示網(wǎng)絡(luò)信息 route 顯示或管理路由表 netstat 查看網(wǎng)絡(luò)狀況 telnet 遠(yuǎn)程登錄主機(jī) ssh 安全的遠(yuǎn)程登錄主機(jī) wget 命令行下載工具 ip網(wǎng)絡(luò)配置工具 tcpdump 監(jiān)聽網(wǎng)絡(luò)流量 nmap 網(wǎng)絡(luò)探測(cè)工具和安全/端口掃描器 ifup 激活網(wǎng)絡(luò)接口 ifdown 禁

    2024年02月01日
    瀏覽(20)
  • 快速上手Linux核心命令(十一):Linux用戶相關(guān)命令

    快速上手Linux核心命令(十一):Linux用戶相關(guān)命令

    目錄 前言 useradd 創(chuàng)建用戶 usermod 修改用戶信息 userdel 刪除用戶 groupadd 創(chuàng)建新的用戶組 groupdel 刪除用戶組 passwd 修改用戶密碼 chage 修改用戶密碼有效期 批量更新用戶密碼 su 切換用戶 visudo 編輯sudoers文件 sudo 以另一個(gè)用戶身份執(zhí)行命令 id 顯示用戶與用戶組信息 w 顯示已登錄用

    2024年02月03日
    瀏覽(24)
  • 快速上手Linux核心命令(七):Linux系統(tǒng)信息相關(guān)命令

    快速上手Linux核心命令(七):Linux系統(tǒng)信息相關(guān)命令

    目錄 前言 uname 顯示系統(tǒng)信息 hostname 顯示或設(shè)置系統(tǒng)主機(jī)名 du 統(tǒng)計(jì)磁盤空間使用情況 echo 顯示一行文本 watch 監(jiān)視命令執(zhí)行情況 stat whereis 顯示命令及其相關(guān)文件的全路徑 date 顯示與設(shè)置系統(tǒng)時(shí)間 which 顯示命令全路徑 locate 快速定位文件路徑 這期呢主要說一說Linux中與系統(tǒng)相關(guān)

    2023年04月27日
    瀏覽(20)
  • 快速上手Linux核心命令(十):Linux安裝軟件

    快速上手Linux核心命令(十):Linux安裝軟件

    目錄 前言 rpm rpm包管理器 yum 自動(dòng)化RPM包管理工具 這期呢主要說一說Linux中包軟件管理相關(guān)命令,這一期的命令雖然只有兩個(gè)。但 軟件包的安裝和卸載都是我們平常最常用的,需要熟練掌握。 rpm和yum 是CentOS 主要的包軟件管理。 兩個(gè)命令各有用處,①yum需要互聯(lián)網(wǎng),yum會(huì)去網(wǎng)

    2024年02月01日
    瀏覽(22)
  • 快速上手linux | 一文秒懂Linux各種常用目錄命令(上)

    快速上手linux | 一文秒懂Linux各種常用目錄命令(上)

    ?? 鴿芷咕 :個(gè)人主頁 ??? 個(gè)人專欄 :《C語言初階篇》 《C語言進(jìn)階篇》 ??生活的理想,就是為了理想的生活! 首先我們要明白linux進(jìn)入的命令行開頭代碼到底是什么意思: 我們來看下這張圖片看完大家就懂了,詳細(xì)列出了每一個(gè)字符的詳細(xì)含義 前面我們知道了開頭 local

    2024年02月04日
    瀏覽(17)
  • 快速上手Linux核心命令(五):文本處理三劍客

    快速上手Linux核心命令(五):文本處理三劍客

    目錄 前言 正則表達(dá)式 第一劍客 grep 第二劍客 sed 第三 劍客 awk 小結(jié) 上一篇中已經(jīng)預(yù)告,我們這篇主要說Linux文本處理 三劍客 。他們分別是 grep 、 sed 、 awk 。既然能被業(yè)界稱為三劍客,可見其在Linux命令中占有舉足輕重得地位。所以呢,這里也專門寫一篇文章說一說其用法。

    2023年04月25日
    瀏覽(21)
  • 快速上手Linux核心命令(六):Linux的文本編輯器vi和vim

    快速上手Linux核心命令(六):Linux的文本編輯器vi和vim

    目錄 前言 簡(jiǎn)介 小試牛刀 vi/vim 工作原理及三種模式 常用快捷鍵 命令行圖解 上一篇中已經(jīng)預(yù)告,我們這篇主要說Linux中vi/vim 編輯器。它是我們使用Linux系統(tǒng)不可缺少的工具,學(xué)會(huì)了,你就可以在Linux世界里暢通無阻,學(xué)廢了,常用操作你也會(huì)了,也是夠用了,O(∩_∩)O vi是L

    2023年04月26日
    瀏覽(29)
  • Linux文件目錄操作命令-mv命令

    ????????mv 命令是 move 的縮寫,可以用來移動(dòng)文件或者將文件改名(move (rename) files),是Linux系統(tǒng)下常用的命令,經(jīng)常用來備份文件或者目錄。? mv 命令中第二個(gè)參數(shù)類型的不同(是目標(biāo)文件還是目標(biāo)目錄), mv 命令將文件重命名或?qū)⑵湟浦烈粋€(gè)新的目錄中。當(dāng)?shù)诙€(gè)參數(shù)類型

    2024年02月02日
    瀏覽(35)
  • Linux 命令操作(一)——文件和目錄操作

    目錄信息 參考鏈接 Linux常用操作命令大全 1.1、創(chuàng)建文件夾 1.1.1、創(chuàng)建目錄 1.1.2、創(chuàng)建文件 touch命令操作 1.2、刪除文件夾/文件 1.2.1、刪除目錄操作 1.2.2、刪除文件 1.3、重命名目錄或者文件名稱 1.4、目錄切換 1.5、目錄以及文件列表查看 1.6、復(fù)制目錄或者文件 -r 遞歸處理,將

    2024年02月03日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包