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 選項,能以 GMK 為單位顯示文件大小。

$ 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.

使用 headtail 命令在伺服器中查看日誌文件十分有用。我有一個小型 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 命令比較安全,例如 trashytrash-cli 命令。這樣你可以在文件永久刪除前,將其放入暫存區。

$ rm docs/lorem.txt

只需很少的命令即可在命令行中管理文件。使用 ls 命令顯示目錄中的文件,使用 catheadtail 命令查看文件中的內容。使用 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中國