在 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.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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive