本文主要挑選出讀者有必要首先學習的 11 個 Linux 命令,若是不熟悉的讀者能夠在虛擬機或雲服務器上實操下,對於開發人員來講,能熟練掌握 Linux 作一些基本的操做是必要的!java
事不宜遲,這裏有 11 個 Linux 命令行技巧,能夠使你的生活工做更輕鬆。react
$ grep "some string" file
grep 命令在每一個文件中搜索,它還會尋找由換行符分隔的模式,而且 grep 會打印與模式匹配的每一行。segmentfault
使用 grep 命令查找文件中的全部 React 關鍵字:服務器
該 -i 選項使咱們可以在給定文件中不區分大小寫地搜索字符串。它匹配 "REACT"、"REact" 和 "react" 之類的詞。cookie
$ grep -i "REact" file
咱們能夠使用 -c (count)標誌找到與給定字符串/模式匹配的行數。app
$ grep -c "react" index.js
這是在網上找到的關於 grep 命令有趣且有教育意義的漫畫。編輯器
$ ls
ls 列出當前活動路徑中的文件和目錄。若是路徑名是文件,ls 則根據請求的選項在文件上顯示信息。若是路徑名是目錄,則 ls 顯示有關文件和其中的子目錄的信息。工具
使用 ls 命令顯示當前目錄中的全部文件:學習
你可能已經注意到文件顯示爲灰色,而文件夾爲藍色。這是爲了幫助咱們區分文件夾和文件。url
$ pwd
打印出當前工做目錄(pwd):
pwd 命令是用於打印當前工做目錄的命令行實用程序。輸出會將當前工做目錄的完整系統路徑打印到標準輸出。默認狀況下,pwd 命令會忽略符號連接,儘管能夠使用選項顯示當前目錄的完整物理路徑。
$ cat somefile.js
該cat命令具備與文本文件有關的三個相關功能:
cat 的最多見用法是讀取文件的內容,而且 cat 一般也是最方便讀取文件的命令。
在如下示例中,使用輸出重定向運算符(由向右指向的尖括號表示)將 cat 的標準輸出重定向到 file2:
$ cat somefile > somefile2
用 cat 建立文件:
$ echo "some text"
Linux 中的命令用於顯示做爲參數傳遞的一行文本/字符串。這是一個內置命令,主要用於 Shell 腳本和批處理文件中,以將狀態文本輸出到屏幕或文件。
$ touch somefile
touch 命令用於建立沒有任何內容的文件。當用戶在建立文件時沒有要存儲的數據時,能夠使用 touch 命令。
touch 建立新文件:
咱們是如何使用 touch 來建立文件和 cat 查看文件內部的。因爲新建立的 index2.js 文件是空,所以 cat 不返回任何內容。
如下是 cat 和 touch 之間的主要區別:
$ mkdir some-directory
如您所料,mkdir 在當前活動路徑中建立一個新的空目錄。使用此命令建立新文件夾,而不是在文本編輯器或 GUI 中四處單擊。
使用 mkdir 建立一個新目錄:
$ rm someFile
rm 表明 remove,它會執行刪除文件操做。
使用 rm 命令刪除文件:
默認狀況下,rm 命令不會刪除目錄。你須要傳遞 -rf 標誌以刪除目錄。
$ rm -rf some-directory
使用 rm 命令刪除目錄:
$ rmdir some-directory
rmdir 若是目錄內沒有內容,該命令將刪除目錄。
使用 rmdir 刪除空目錄:
$ 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]: 查詢參數: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]: 查詢參數: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]: 查詢參數: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]: 查詢參數: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]: 查詢參數: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]: 查詢參數: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]: 查詢參數: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
$ wget someurl
GNU Wget 是一個免費軟件包,用於使用 HTTP,HTTPS,FTP 和 FTPS(最普遍使用的Internet協議)檢索文件。這是一個非交互式命令行工具,所以能夠很容易地從腳本、CRON 做業,不支持 X-Windows 的終端等中調用它。
wget 獲取有關網頁的信息:
GNU Wget 具備許多使檢索大型文件或鏡像整個 Web 或 FTP 站點變得容易的功能,包括:
$ find path -name filename
find 命令使你能夠快速查找文件或目錄。當你正在處理具備數百個文件和多個目錄的大型項目時,此功能頗有用。
查找全部名爲 index.js 的文件:
搜索特定類型的文件
find 命令還容許您在目錄(及其子目錄)中搜索相同類型的文件。例如,如下命令將搜索 .js 當前工做目錄中的全部文件。
$ find . -name "*.js"
在 components 目錄中查找全部.js文件:
$ mv somefile /to/some/other/path
mv 命令將文件或目錄從一個位置移動到另外一個位置。mv 命令支持移動單個文件,多個文件和目錄。
將 some 目錄從組件移動到 utils 目錄:
這篇文章主要是介紹經常使用的 11 個 Linux 命令,感謝你的閱讀,但願你能從中學到了一些知識。