Linux中國

在 Linux 中如何使用命令行管理文件

在如 GNOME 或 KDE 等圖形桌面中使用滑鼠點擊管理文件。你點擊文件的圖標,將它移動到另一個文件夾中,或者移動到回收站里。圖形交互使得桌面計算機便於使用。

但是在 Linux 中,我們並不總是與圖形界面交互。如果你在伺服器上工作,那麼你可能需要使用命令行來解決問題。即使像我這樣使用桌面的用戶,可能也更喜歡使用終端和命令行和系統交互。我傾向於通過命令行運行命令來管理我的文件:

使用 ls 顯示文件

ls

對任何使用命令行的人來說,如果不知道有什麼文件,工作將很難進行下去。ls 命令 會羅列出文件夾中的文件。例如,要查看 Web 伺服器的文檔根目錄 /var/www/html 中的內容,你可以鍵入:

ls /var/www/html

大多數情況,我使用 ls 命令查看當前文件夾內的文件。只需要輸入 ls 即可查看所有文件。例如,當我在我的網頁項目的根目錄時,輸入 ls 後可以看到這些:

$ ls
about  fontawesome      fonts   index.php  styles
docs   fontawesome.zip  images  prism

ls 命令包含 60 種選項,可以以任意方式顯示文件和目錄。-l 是一個很有用的選項,可以詳細的顯示文件,包含許可權、文件大小以及所有者等信息。

$ ls -l

total 6252
drwxrwxr-x. 2 jhall jhall    4096 Jun 22 16:18 about
drwxr-xr-x. 2 jhall jhall    4096 Jun 25 16:35 docs
drwxr-xr-x. 2 jhall jhall    4096 Jun  7 00:00 fontawesome
-rw-r--r--. 1 jhall jhall 6365962 Jun  2 16:26 fontawesome.zip
drwxrwxr-x. 2 jhall jhall    4096 Jun 22 16:17 fonts
drwxr-xr-x. 2 jhall jhall    4096 Jun 25 13:03 images
-rw-rw-r--. 1 jhall jhall     327 Jun 22 16:38 index.php
drwxrwxr-x. 2 jhall jhall    4096 Jun 22 16:18 prism
drwxrwxr-x. 2 jhall jhall    4096 Jun 22 16:17 styles

上方的文件大小是以位元組為單位,或許看起來有點吃力。想要以方便我們閱讀的格式查看文件大小,只需要添加 -h 或 --human-readable 選項,能以 G 、M 、K 為單位顯示文件大小。

$ ls -l --human-readable
total 6.2M
drwxrwxr-x. 2 jhall jhall 4.0K Jun 22 16:18 about
drwxr-xr-x. 2 jhall jhall 4.0K Jun 25 16:35 docs
drwxr-xr-x. 2 jhall jhall 4.0K Jun  7 00:00 fontawesome
-rw-r--r--. 1 jhall jhall 6.1M Jun  2 16:26 fontawesome.zip
drwxrwxr-x. 2 jhall jhall 4.0K Jun 22 16:17 fonts
drwxr-xr-x. 2 jhall jhall 4.0K Jun 25 13:03 images
-rw-rw-r--. 1 jhall jhall  327 Jun 22 16:38 index.php
drwxrwxr-x. 2 jhall jhall 4.0K Jun 22 16:18 prism
drwxrwxr-x. 2 jhall jhall 4.0K Jun 22 16:17 styles

現在,ls 將 zip 文件顯示為 6.1M 或剛剛超過 6 MB 的文件大小,而不是 6365962。

使用 cat、head 和 tail 命令查看文件

cat
head
tail

當顯示出文件後,需要檢查文件夾中的內容。使用很少幾個命令即可做到。以我的 Web 伺服器中的 docs 文件夾為例:

$ ls docs
chapter1.tex  chapter4.tex  chapter7.tex  lorem.txt
chapter2.tex  chapter5.tex  chapter8.tex  readme.txt
chapter3.tex  chapter6.tex  chapter9.tex  workbook.tex

這些文件是什麼?我不知道,幸運的是該目錄中有一個 readme.txt 文件,我猜它包含了這個項目目錄中文件的描述。如果該文件不是很長,那我可以使用 cat 命令查看它:

$ cat docs/readme.txt 
This is the workbook for the C programming self-paced
video series. The main file is the workbook.tex file,
which includes the other chapters.

如果這個文件很長,則可以使用 head 命令查看文件的前幾行。該命令通常顯示前 10 行的內容,不過你也可以使用 -n 或者 --lines 選項來指定行數。例如,使用這兩個 head 命令的選項查看 lorem.txt 文件的前三行:

$ head -n 3 docs/lorem.txt 
Lorem ipsum dolor sit amet, consectetur adipiscing
elit. Nullam at ligula eget nunc feugiat pharetra. Nullam
nec vulputate augue. Suspendisse tincidunt aliquet

$ head --lines=3 docs/lorem.txt 
Lorem ipsum dolor sit amet, consectetur adipiscing
elit. Nullam at ligula eget nunc feugiat pharetra. Nullam
nec vulputate augue. Suspendisse tincidunt aliquet

如果我想要查看文件的最後幾行的內容,可以以相同方式使用 tail 命令。同樣,這兩個 tail 命令分別顯示 lorem.txt 文件的最後三行:

$ tail -n 3 docs/lorem.txt 
egestas sodales. Vivamus tincidunt ex sed tellus tincidunt
varius. Nunc commodo volutpat risus, vitae luctus lacus
malesuada tempor. Nulla facilisi.

$ tail --lines=3 docs/lorem.txt 
egestas sodales. Vivamus tincidunt ex sed tellus tincidunt
varius. Nunc commodo volutpat risus, vitae luctus lacus
malesuada tempor. Nulla facilisi.

使用 head 和 tail 命令在伺服器中查看日誌文件十分有用。我有一個小型 Web 伺服器運行在家庭網路,用於在網站上線前的測試。最近我發現 Web 伺服器的日誌很長,我好奇它存在多久了。使用 head 命令,我只列印第一行,可以看到該日誌文件是在 2020 年 12 月創建的:

$ ls -l --human-readable /var/log/httpd
total 13M
-rw-r--r--. 1 root root 13M Jun 25 16:23 access_log
-rw-r--r--. 1 root root 45K Jun  2 00:00 error_log

$ sudo head -n 1 /var/log/httpd/access_log
10.0.0.177 - - [05/Dec/2020:14:58:35 -0600] "GET / HTTP/1.1" 403 5564 "-" "Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"

使用 rm 命令刪除文件

rm

在包含示例文本文件的目錄中,lorem.txt 文件中包含 「 亂數假文 Lorem Ipsum 」 文本。這只是印刷行業中使用的虛擬文本,因此 lorem.txt 文件並不屬於該項目。讓我們用 rm 命令刪除這樣的文件:

$ ls docs
chapter1.tex  chapter4.tex  chapter7.tex  lorem.txt
chapter2.tex  chapter5.tex  chapter8.tex  readme.txt
chapter3.tex  chapter6.tex  chapter9.tex  workbook.tex

$ rm docs/lorem.txt 

$ ls docs
chapter1.tex  chapter4.tex  chapter7.tex  readme.txt
chapter2.tex  chapter5.tex  chapter8.tex  workbook.tex
chapter3.tex  chapter6.tex  chapter9.tex

由於用 rm 命令刪除的文件會直接刪除,而不會放入回收站,因此它很危險。安裝 trash 命令比較安全,例如 trashy 或 trash-cli 命令。這樣你可以在文件永久刪除前,將其放入暫存區。

$ rm docs/lorem.txt

只需很少的命令即可在命令行中管理文件。使用 ls 命令顯示目錄中的文件,使用 cat 、head 和 tail 命令查看文件中的內容。使用 rm 或者安全的 trash 命令將不需要的文件刪除。這五個命令足以幫你在 Linux 中管理文件。想要了解更多,可以使用 --help 選項來查看如何使用這些命令。例如使用 ls --help 查看 ls 命令如何使用。

via: https://opensource.com/article/22/7/manage-files-linux-command-line

作者:Jim Hall 選題:lkxed 譯者:Donkey 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理。

    More in:Linux中國

    Linux中國

    捐贈 Let's Encrypt,共建安全的互聯網

    隨著 Mozilla、蘋果和谷歌對沃通和 StartCom 這兩家 CA 公司處罰落定,很多使用這兩家 CA 所簽發證書的網站紛紛尋求新的證書籤發商。有一個非盈利組織可以為大家提供了免費、可靠和安全的 SSL 證書服務,這就是 Let's Encrypt 項目。現在,它需要您的幫助
    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...