本文主要挑選出讀者有必要首先學(xué)習(xí)的 11 個 Linux 命令沉御,如果不熟悉的讀者可以在虛擬機或云服務(wù)器上實操下,對于開發(fā)人員來說,能熟練掌握 Linux 做一些基本的操作是必要的谣膳!
事不宜遲谈山,這里有 11 個 Linux 命令行技巧智亮,可以使你的生活工作更輕松忆某。
1. grep
$ grep "some string" file
grep 命令在每個文件中搜索,它還會尋找由換行符分隔的模式阔蛉,并且 grep 會打印與模式匹配的每一行弃舒。
使用 grep 命令查找文件中的所有 React 關(guān)鍵字:
該 -i 選項使我們能夠在給定文件中不區(qū)分大小寫地搜索字符串。它匹配 "REACT"状原、"REact" 和 "react" 之類的詞聋呢。
$ grep -i "REact" file
我們可以使用 -c (count)標志找到與給定字符串/模式匹配的行數(shù)。
$ grep -c "react" index.js
這是在網(wǎng)上找到的關(guān)于 grep 命令有趣且有教育意義的漫畫颠区。
2. ls
$ ls
ls 列出當(dāng)前活動路徑中的文件和目錄削锰。如果路徑名是文件,ls 則根據(jù)請求的選項在文件上顯示信息毕莱。如果路徑名是目錄器贩,則 ls 顯示有關(guān)文件和其中的子目錄的信息。
使用 ls 命令顯示當(dāng)前目錄中的所有文件:
你可能已經(jīng)注意到文件顯示為灰色朋截,而文件夾為藍色蛹稍。這是為了幫助我們區(qū)分文件夾和文件。
3. pwd
$ pwd
打印出當(dāng)前工作目錄(pwd):
pwd 命令是用于打印當(dāng)前工作目錄的命令行實用程序部服。輸出會將當(dāng)前工作目錄的完整系統(tǒng)路徑打印到標準輸出唆姐。默認情況下,pwd 命令會忽略符號鏈接饲宿,盡管可以使用選項顯示當(dāng)前目錄的完整物理路徑。
4. cat
$ cat somefile.js
該cat命令具有與文本文件有關(guān)的三個相關(guān)功能:
- 顯示它們
- 合并副本
- 創(chuàng)造一個新的
cat 的最常見用法是讀取文件的內(nèi)容胆描,并且 cat 通常也是最方便讀取文件的命令瘫想。
在以下示例中,使用輸出重定向運算符(由向右指向的尖括號表示)將 cat 的標準輸出重定向到 file2:
$ cat somefile > somefile2
用 cat 創(chuàng)建文件:
5. echo
$ echo "some text"
Linux 中的命令用于顯示作為參數(shù)傳遞的一行文本/字符串昌讲。這是一個內(nèi)置命令国夜,主要用于 Shell 腳本和批處理文件中,以將狀態(tài)文本輸出到屏幕或文件短绸。
6. touch
$ touch somefile
touch 命令用于創(chuàng)建沒有任何內(nèi)容的文件车吹。當(dāng)用戶在創(chuàng)建文件時沒有要存儲的數(shù)據(jù)時,可以使用 touch 命令醋闭。
touch 創(chuàng)建新文件:
我們是如何使用 touch 來創(chuàng)建文件和 cat 查看文件內(nèi)部的窄驹。由于新創(chuàng)建的 index2.js 文件是空,因此 cat 不返回任何內(nèi)容证逻。
以下是 cat 和 touch 之間的主要區(qū)別:
- cat:用于創(chuàng)建包含內(nèi)容的文件乐埠。
- touch:創(chuàng)建一個沒有任何內(nèi)容或空文件的文件。請記住,使用 touch 命令創(chuàng)建的文件為空丈咐。當(dāng)用戶在文件創(chuàng)建時沒有要存儲的數(shù)據(jù)時瑞眼,此命令很有用。
7. mkdir
$ mkdir some-directory
如您所料棵逊,mkdir 在當(dāng)前活動路徑中創(chuàng)建一個新的空目錄伤疙。使用此命令創(chuàng)建新文件夾,而不是在文本編輯器或 GUI 中四處單擊辆影。
使用 mkdir 創(chuàng)建一個新目錄:
7.1 rm
$ rm someFile
rm 代表 remove徒像,它會執(zhí)行刪除文件操作。
使用 rm 命令刪除文件:
默認情況下秸歧,rm 命令不會刪除目錄厨姚。你需要傳遞 -rf 標志以刪除目錄。
$ rm -rf some-directory
使用 rm 命令刪除目錄:
7.2 rmdir
$ rmdir some-directory
rmdir 如果目錄內(nèi)沒有內(nèi)容键菱,該命令將刪除目錄谬墙。
使用 rmdir 刪除空目錄:
8. tail
$ tail somefile
tail 命令讀取文件并輸出文件的最后部分。
輸出最后的 num 行:
tail 在查看崩潰報告或以前的歷史記錄日志時经备,該命令很有用拭抬,以下是使用 tail 命令查詢文件日志的示例。
[root@wupx ~]# tail -20f /sell/logs/sell.log
2019-12-09 20:35:40,024 - INFO #[operation,,,]# [http-nio-8111-exec-2] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:537]: 查詢參數(shù):BaseQueryDTO{startDate=Tue Jan 01 08:00:00 CST 2019, endDate=Mon Dec 09 14:45:31 CST 2019, regionList=[], productCodeList=[apple]}
2019-12-09 20:35:40,024 - INFO #[sell,,,]# [http-nio-8111-exec-2] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:538]: 查詢接口:/products/projects/engineerType/count/range
2019-12-09 20:35:40,085 - INFO #[sell,,,]# [http-nio-8111-exec-9] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:483]: 查詢參數(shù):BaseQueryDTO{startDate=Tue Jan 01 08:00:00 CST 2019, endDate=Mon Dec 09 14:45:31 CST 2019, regionList=[], productCodeList=[apple]}
2019-12-09 20:35:40,085 - INFO #[sell,,,]# [http-nio-8111-exec-9] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:484]: 查詢接口:/products/projects/active/count
2019-12-09 20:35:40,145 - INFO #[sell,,,]# [http-nio-8111-exec-7] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:483]: 查詢參數(shù):BaseQueryDTO{startDate=Tue Jan 01 08:00:00 CST 2019, endDate=Mon Dec 09 14:45:31 CST 2019, regionList=[], productCodeList=[apple]}
2019-12-09 20:35:40,145 - INFO #[sell,,,]# [http-nio-8111-exec-7] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:484]: 查詢接口:/products/projects/active/count
2019-12-09 20:35:40,246 - INFO #[sell,,,]# [http-nio-8111-exec-8] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:483]: 查詢參數(shù):BaseQueryDTO{startDate=Tue Jan 01 08:00:00 CST 2019, endDate=Mon Dec 09 14:45:31 CST 2019, regionList=[], productCodeList=[apple]}
2019-12-09 20:35:40,246 - INFO #[sell,,,]# [http-nio-8111-exec-8] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:484]: 查詢接口:/products/projects/active/count
2019-12-09 20:35:40,313 - INFO #[sell,,,]# [http-nio-8111-exec-5] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:483]: 查詢參數(shù):BaseQueryDTO{startDate=Tue Jan 01 08:00:00 CST 2019, endDate=Mon Dec 09 14:45:31 CST 2019, regionList=[], productCodeList=[apple]}
2019-12-09 20:35:40,313 - INFO #[sell,,,]# [http-nio-8111-exec-5] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:484]: 查詢接口:/products/projects/active/count
2019-12-09 20:35:40,401 - INFO #[sell,,,]# [http-nio-8111-exec-4] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:306]: 查詢參數(shù):BaseQueryDTO{startDate=Tue Jan 01 08:00:00 CST 2019, endDate=Mon Dec 09 14:45:31 CST 2019, regionList=[], productCodeList=[apple]}
2019-12-09 20:35:40,401 - INFO #[sell,,,]# [http-nio-8111-exec-4] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:307]: 查詢接口:/products/projects/new/statics
2019-12-09 20:35:40,490 - INFO #[sell,,,]# [http-nio-8111-exec-1] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:279]: 查詢參數(shù):BaseQueryDTO{startDate=Tue Jan 01 08:00:00 CST 2019, endDate=Mon Dec 09 14:45:31 CST 2019, regionList=[], productCodeList=[apple]}
2019-12-09 20:35:40,490 - INFO #[sell,,,]# [http-nio-8111-exec-1] c.g.s.c.i.ProjectIndexApi [ProjectIndexApi.java:280]: 查詢接口:/products/projects/liveness/statics
9. wget
$ wget someurl
GNU Wget 是一個免費軟件包侵蒙,用于使用 HTTP造虎,HTTPS,F(xiàn)TP 和 FTPS(最廣泛使用的Internet協(xié)議)檢索文件纷闺。這是一個非交互式命令行工具算凿,因此可以很容易地從腳本、CRON 作業(yè)犁功,不支持 X-Windows 的終端等中調(diào)用它氓轰。
wget 獲取有關(guān)網(wǎng)頁的信息:
GNU Wget 具有許多使檢索大型文件或鏡像整個 Web 或 FTP 站點變得容易的功能,包括:
- 可以使用 REST 和 RANGE 恢復(fù)中止的下載
- 可以使用文件名通配符并遞歸鏡像目錄
- 基于 NLS 的消息文件浸卦,適用于多種語言
- 將下載的文檔中的絕對鏈接轉(zhuǎn)換為相對鏈接署鸡,以便下載的文檔可以在本地彼此鏈接
- 在大多數(shù)類似 UNIX 的操作系統(tǒng)以及 Microsoft Windows 上運行
- 支持 HTTP 代理
- 支持 HTTP cookie
- 支持持久的 HTTP 連接
- 無人值守/后臺操作
- 使用本地文件時間戳確定鏡像時是否需要重新下載文檔
- GNU Wget 是根據(jù) GNU 通用公共許可證發(fā)行的。
10. find
$ find path -name filename
find 命令使你可以快速查找文件或目錄限嫌。當(dāng)你正在處理具有數(shù)百個文件和多個目錄的大型項目時靴庆,此功能很有用。
查找所有名為 index.js 的文件:
搜索特定類型的文件
find 命令還允許您在目錄(及其子目錄)中搜索相同類型的文件怒医。例如炉抒,以下命令將搜索 .js 當(dāng)前工作目錄中的所有文件。
$ find . -name "*.js"
在 components 目錄中查找所有.js文件:
11. mv
$ mv somefile /to/some/other/path
mv 命令將文件或目錄從一個位置移動到另一個位置稚叹。mv 命令支持移動單個文件端礼,多個文件和目錄禽笑。
將 some 目錄從組件移動到 utils 目錄:
總結(jié)
這篇文章主要是介紹常用的 11 個 Linux 命令,感謝你的閱讀蛤奥,希望你能從中學(xué)到了一些知識佳镜。