每一個開發人員都應該掌握的 11 個控制檯命令

提升您的平常開發效率🚀html

本文是翻譯文章,原文點擊這裏react

命令行使咱們的生活變得更加輕鬆,由於咱們能夠自動化一些常見的任務來提升咱們的效率。咱們只須要執行一些命令而不須要單擊圖形用戶界面(GUI)就能夠把咱們想作的事情完成。linux

Unix shell是命令行解釋器或shell,可爲相似Unix的操做系統提供命令行用戶界面。shell既是交互式命令語言又是腳本語言,而且操做系統使用它來使用shell腳本控制系統的執行。web

默認狀況下,每一個基於Linux或Mac的操做系統都安裝了一個命令行,一般以「 Terminal」爲名稱。命令行(CLI)使咱們能夠輕鬆地移動和重命名文件,對數據進行排序以及在計算機中瀏覽。shell

好了,讓咱們來看看如下這11個命令行技巧,讓您的生活更輕鬆。bash

1. grep

grep "some string" file
複製代碼

grep命令在每一個文件中搜索模式。它還會尋找由換行符分隔的模式,而且grep打印與模式匹配的每一行。cookie

img
img

-i選項使咱們可以在給定文件中搜索字符串時不區分大小寫。它匹配「 REACT」,「 REact」和「 react」之類的詞。編輯器

grep -i "REact" file
複製代碼

咱們可使用-c(count)標誌找到與給定的字符串/模式匹配的行數。工具

grep -c "react" index.js
複製代碼
img
img

這是我在互聯網上找到的有關grep命令的有趣且具備教育意義的漫畫。url

img
img

另外,變體程序egrepfgrep的做用與grep -Egrep -F是同樣的。這些變體已棄用,但爲了向後兼容而提供。

您可使用grep作不少事情,想了解更多信息能夠查看這份文檔

2. ls

ls
複製代碼

ls列出當前活動路徑中的文件和目錄。若是路徑名是文件,則ls根據請求的選項顯示有關文件的信息。若是路徑名是目錄,則ls顯示有關文件和其中的子目錄的信息。

img
img

您可能已經注意到文件顯示爲灰色,而文件夾爲藍色。這是爲了幫助咱們區分文件夾和文件。

3. pwd

pwd
複製代碼
img
img

pwd命令用於打印當前工做目錄。它會將當前工做目錄的完整系統路徑打印到標準輸出。默認狀況下,pwd命令會忽略符號連接,儘管可使用選項顯示當前目錄的完整物理路徑。

4. cat

cat somefile.js
複製代碼
img
img

cat命令具備與文本文件有關的三個相關功能:

  • 顯示它們
  • 合併副本
  • 創造新的文件

cat的最多見用法是讀取文件的內容,而且cat一般是用於此目的的最方便的程序。

在如下示例中,使用輸出重定向運算符(由向右指向的尖括號表示)將cat的標準輸出重定向到file2

cat somefile > somefile2
複製代碼
img
img

5. echo

echo "some text"
複製代碼

Linux中的echo命令用於顯示做爲參數傳遞的一行文本/字符串。echo是一個內置命令,主要用於 shell 腳本和批處理文件中,以將狀態文本輸出到屏幕或文件中。

img
img

6. touch

touch somefile
複製代碼

touch命令用於建立不包含任何內容的文件。當用戶在建立文件時沒有要存儲的數據時,可使用touch命令。

img
img

你能夠注意到,咱們是經過touch來建立文件的,使用cat來查看文件的內容。因爲新建立的index2.js文件爲空,所以cat不返回任何內容。

如下是cattouch之間的主要區別:

  • cat 用於建立包含內容的文件。
  • touch 建立一個沒有任何內容或空文件的文件。請記住,使用 touch命令建立的文件爲空。當用戶在建立文件時沒有要存儲的數據時,此命令頗有用。

譯者注:

這裏做者指的「cat 用於建立包含內容的文件」應該是cat配合>來建立新文件。

7. mkdir

mkdir some-directory
複製代碼

mkdir在當前活動路徑中建立一個新的空目錄。不須要在文本編輯器或GUI中單擊,您可使用此命令來建立新文件夾。

img
img

注意:請注意咱們如何使用前面的ls命令來查看目錄。

7.1 rm

rm someFile
複製代碼

rm表明remove。正如它的字面意思那樣,rm的做用是刪除,或者說,刪除文件。

img
img

默認狀況下,rm命令不會刪除目錄。您須要傳遞-rf標誌以刪除目錄。

rm -rf some-directory
複製代碼
img
img

注意:不管目錄內部是否包含內容,這都會無條件刪除目錄。

7.2 rmdir

rmdir some-directory
複製代碼

若是目錄中沒有內容,則rmdir命令將刪除目錄。

img
img

8. tail

tail somefile
複製代碼

tail命令讀取文件並輸出文件的最後部分(尾巴)。

img
img

在查看崩潰報告或之前的歷史記錄日誌時,tail命令頗有用。這是處理文件日誌時有用的示例。

# 輸入
tail /var/log/messages
 # 輸出
Mar 20 12:42:22 hameda1d1c dhclient[4334]: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x280436dd)
Mar 20 12:42:24 hameda1d1c avahi-daemon[2027]: Registering new address record for fe80::4639:c4ff:fe53:4908 on eth0.*.
Mar 20 12:42:28 hameda1d1c dhclient[4334]: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x280436dd)
Mar 20 12:42:28 hameda1d1c dhclient[4334]: DHCPACK from 10.76.198.1 (xid=0x280436dd)
Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: Joining mDNS multicast group on interface eth0.IPv4 with address 10.76.199.87.
Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: New relevant interface eth0.IPv4 for mDNS.
Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: Registering new address record for 10.76.199.87 on eth0.IPv4.
Mar 20 12:42:30 hameda1d1c NET[4385]: /sbin/dhclient-script : updated /etc/resolv.conf
Mar 20 12:42:30 hameda1d1c dhclient[4334]: bound to 10.76.199.87 -- renewal in 74685 seconds.
Mar 20 12:45:39 hameda1d1c kernel: usb 3-7: USB disconnect, device number 2
複製代碼

9. wget

wget someurl
複製代碼

GNU Wget是一個免費軟件包,可以使用HTTP,HTTPS,FTP和FTPS(使用最普遍的Internet協議)檢索文件。它是一種非交互式的命令行工具,所以能夠輕鬆地從腳本,CRON做業,終端(不支持X-Windows)等中調用。

img
img

GNU Wget 有不少功能,使得檢索大型文件或鏡像整個Web或FTP站點變得容易,包括:

  • 可使用REST和RANGE恢復停止的下載
  • 可使用文件名通配符並遞歸鏡像目錄
  • 基於NLS的消息文件,適用於多種語言
  • (可選)將下載的文檔中的絕對連接轉換爲相對連接,以便下載的文檔能夠在本地彼此連接
  • 在大多數相似UNIX的操做系統以及Microsoft Windows上運行
  • 支持HTTP代理
  • 支持HTTP cookies
  • 支持持久的HTTP鏈接
  • 無人值守/後臺操做
  • 使用本地文件時間戳肯定鏡像時是否須要從新下載文檔
  • GNU Wget是根據 GNU通用公共許可證發行的

閱讀官方GNU文檔以獲取更多信息。

10. find

find path -name filename
複製代碼

使用find命令能夠快速查找文件或目錄。當您正在處理包含數百個文件和多個目錄的大型項目時,此功能很是有用。

img
img

搜索特定類型的文件

使用find命令還能夠在目錄(及其子目錄)中搜索相同類型的文件。例如,如下命令將搜索當前工做目錄中的全部.js文件。

find . -name "*.js"
複製代碼
img
img

11. mv

mv somefile /to/some/other/path
複製代碼

mv命令將文件或目錄從一個位置移動到另外一個位置。mv命令支持移動單個文件,多個文件和目錄。

img
img

好了,以上就是開發人員應該掌握的 11 個控制檯命令。感謝您的閱讀,但願您學到了一些新知識。若是您知道更好用的命令行技巧,能夠評論中留言,咱們一塊兒成長!

相關文章
相關標籤/搜索