自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

處理Linux文件的3個技巧

系統(tǒng) Linux
Linux 提供了多種用于處理文件的命令,這些命令可以節(jié)省你的時間,并使你的工作不那么繁瑣。

[[278789]]

Linux 提供了許多用于查找、計數(shù)和重命名文件的命令。這有一些有用的選擇。

Linux 提供了多種用于處理文件的命令,這些命令可以節(jié)省你的時間,并使你的工作不那么繁瑣。

查找文件

當(dāng)你查找文件時,find 可能會是第一個想到的命令,但是有時精心設(shè)計的 ls 命令會更好。想知道你昨天離開辦公室回家前調(diào)用的腳本么?簡單!使用 ls 命令并加上 -ltr 選項。最后一個列出的將是最近創(chuàng)建或更新的文件。

  1. $ ls -ltr ~/bin | tail -3
  2. -rwx------ 1 shs shs 229 Sep 22 19:37 checkCPU
  3. -rwx------ 1 shs shs 285 Sep 22 19:37 ff
  4. -rwxrw-r-- 1 shs shs 1629 Sep 22 19:37 test2

像這樣的命令將僅列出今天更新的文件:

  1. $ ls -al --time-style=+%D | grep `date +%D`
  2. drwxr-xr-x 60 shs shs 69632 09/23/19 .
  3. drwxrwxr-x 2 shs shs 8052736 09/23/19 bin
  4. -rw-rw-r-- 1 shs shs 506 09/23/19 stats

如果你要查找的文件可能不在當(dāng)前目錄中,那么 find 將比 ls 提供更好的選項,但它可能會輸出比你想要的更多結(jié)果。在下面的命令中,我們搜索以點開頭的目錄(它們很多一直在更新),指定我們要查找的是文件(即不是目錄),并要求僅顯示最近一天 (-mtime -1)更新過的文件。

  1. $ find . -not -path '*/\.*' -type f -mtime -1 -ls
  2. 917517 0 -rwxrw-r-- 1 shs shs 683 Sep 23 11:00 ./newscript

注意 -not 選項反轉(zhuǎn)了 -path 的行為,因此我們不會搜索以點開頭的子目錄。

如果只想查找最大的文件和目錄,那么可以使用類似 du 這樣的命令,它會按大小列出當(dāng)前目錄的內(nèi)容。將輸出通過管道傳輸?shù)?tail,僅查看最大的幾個。

  1. $ du -kx | egrep -v "\./.+/" | sort -n | tail -5
  2. 918984 ./reports
  3. 1053980 ./notes
  4. 1217932 ./.cache
  5. 31470204 ./photos
  6. 39771212 .

-k 選項讓 du 以塊列出文件大小,而 x 可防止其遍歷其他文件系統(tǒng)上的目錄(例如,通過符號鏈接引用)。事實上,du 會先列出文件大小,這樣可以按照大小排序(sort -n)。

文件計數(shù)

使用 find 命令可以很容易地計數(shù)任何特定目錄中的文件。你只需要記住,find 會遞歸到子目錄中,并將這些子目錄中的文件與當(dāng)前目錄中的文件一起計數(shù)。在此命令中,我們計數(shù)一個特定用戶(username)的家目錄中的文件。根據(jù)家目錄的權(quán)限,這可能需要使用 sudo。請記住,第一個參數(shù)是搜索的起點。這里指定的是用戶的家目錄。

  1. $ find ~username -type f 2>/dev/null | wc -l
  2. 35624

請注意,我們正在將上面 find 命令的錯誤輸出發(fā)送到 /dev/null,以避免搜索類似 ~username/.cache 這類無法搜索并且對它的內(nèi)容也不感興趣的文件夾。

必要時,你可以使用 maxdepth 1 選項將 find 限制在單個目錄中:

  1. $ find /home/shs -maxdepth 1 -type f | wc -l
  2. 387

重命名文件

使用 mv 命令可以很容易地重命名文件,但是有時你會想重命名大量文件,并且不想花費大量時間。例如,要將你在當(dāng)前目錄的文件名中找到的所有空格更改為下劃線,你可以使用如下命令:

  1. $ rename 's/ /_/g' *

如你懷疑的那樣,此命令中的 g 表示“全局”。這意味著該命令會將文件名中的所有空格更改為下劃線,而不僅僅是第一個。

要從文本文件中刪除 .txt 擴展名,可以使用如下命令:

  1. $ rename 's/.txt//g' *

總結(jié)

Linux 命令行提供了許多用于處理文件的有用選擇。請?zhí)岢瞿阏J(rèn)為特別有用的其他命令。 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2024-06-24 13:35:48

2015-06-16 10:36:45

Linux命令行

2023-11-30 16:05:17

2020-11-03 09:45:43

Python開發(fā)代碼

2023-06-25 11:39:00

Linux文件

2023-10-16 07:55:15

JavaScript對象技巧

2024-05-28 14:45:00

2018-09-12 21:44:32

Linux命令行操作系統(tǒng)

2011-03-24 09:55:22

2020-07-28 08:14:30

JavaScript開發(fā)技術(shù)

2020-03-02 10:01:31

Linux工具數(shù)據(jù)

2013-06-13 09:12:07

LinuxLinux技巧海量文件

2021-02-23 10:48:30

Python代碼開發(fā)

2020-03-20 11:49:20

Linux命令技巧

2018-03-01 19:40:44

Linux運維常見問題

2020-11-09 08:06:37

HTML技巧上傳

2010-07-20 10:04:25

Linux內(nèi)核編譯

2023-07-24 07:11:43

2022-07-17 12:58:43

Docke技巧

2024-09-24 10:16:13

PythonWord文檔
點贊
收藏

51CTO技術(shù)棧公眾號