提升您的平常開發效率🚀html
本文是翻譯文章,原文點擊這裏react
命令行使咱們的生活變得更加輕鬆,由於咱們能夠自動化一些常見的任務來提升咱們的效率。咱們只須要執行一些命令而不須要單擊圖形用戶界面(GUI)就能夠把咱們想作的事情完成。linux
Unix shell是命令行解釋器或shell
,可爲相似Unix的操做系統提供命令行用戶界面。shell
既是交互式命令語言又是腳本語言,而且操做系統使用它來使用shell
腳本控制系統的執行。web
默認狀況下,每一個基於Linux或Mac的操做系統都安裝了一個命令行,一般以「 Terminal」爲名稱。命令行(CLI)使咱們能夠輕鬆地移動和重命名文件,對數據進行排序以及在計算機中瀏覽。shell
好了,讓咱們來看看如下這11個命令行技巧,讓您的生活更輕鬆。bash
grep "some string" file
複製代碼
grep
命令在每一個文件中搜索模式。它還會尋找由換行符分隔的模式,而且grep
打印與模式匹配的每一行。cookie
-i
選項使咱們可以在給定文件中搜索字符串時不區分大小寫。它匹配「 REACT」,「 REact」和「 react」之類的詞。編輯器
grep -i "REact" file
複製代碼
咱們可使用-c
(count)標誌找到與給定的字符串/模式匹配的行數。工具
grep -c "react" index.js
複製代碼
這是我在互聯網上找到的有關grep
命令的有趣且具備教育意義的漫畫。url
另外,變體程序egrep
和fgrep
的做用與grep -E
和grep -F
是同樣的。這些變體已棄用,但爲了向後兼容而提供。
您可使用grep
作不少事情,想了解更多信息能夠查看這份文檔。
ls
複製代碼
ls
列出當前活動路徑中的文件和目錄。若是路徑名是文件,則ls
根據請求的選項顯示有關文件的信息。若是路徑名是目錄,則ls
顯示有關文件和其中的子目錄的信息。
您可能已經注意到文件顯示爲灰色,而文件夾爲藍色。這是爲了幫助咱們區分文件夾和文件。
pwd
複製代碼
pwd
命令用於打印當前工做目錄。它會將當前工做目錄的完整系統路徑打印到標準輸出。默認狀況下,pwd
命令會忽略符號連接,儘管可使用選項顯示當前目錄的完整物理路徑。
cat somefile.js
複製代碼
cat
命令具備與文本文件有關的三個相關功能:
cat
的最多見用法是讀取文件的內容,而且cat
一般是用於此目的的最方便的程序。
在如下示例中,使用輸出重定向運算符(由向右指向的尖括號表示)將cat
的標準輸出重定向到file2
:
cat somefile > somefile2
複製代碼
echo "some text"
複製代碼
Linux中的echo
命令用於顯示做爲參數傳遞的一行文本/字符串。echo
是一個內置命令,主要用於 shell 腳本和批處理文件中,以將狀態文本輸出到屏幕或文件中。
touch somefile
複製代碼
touch
命令用於建立不包含任何內容的文件。當用戶在建立文件時沒有要存儲的數據時,可使用touch
命令。
你能夠注意到,咱們是經過touch
來建立文件的,使用cat
來查看文件的內容。因爲新建立的index2.js
文件爲空,所以cat
不返回任何內容。
如下是cat
和touch
之間的主要區別:
cat
用於建立包含內容的文件。
touch
建立一個沒有任何內容或空文件的文件。請記住,使用
touch
命令建立的文件爲空。當用戶在建立文件時沒有要存儲的數據時,此命令頗有用。
譯者注:
這裏做者指的「
cat
用於建立包含內容的文件」應該是cat
配合>
來建立新文件。
mkdir some-directory
複製代碼
mkdir
在當前活動路徑中建立一個新的空目錄。不須要在文本編輯器或GUI中單擊,您可使用此命令來建立新文件夾。
注意:請注意咱們如何使用前面的
ls
命令來查看目錄。
rm someFile
複製代碼
rm
表明remove
。正如它的字面意思那樣,rm
的做用是刪除,或者說,刪除文件。
默認狀況下,rm
命令不會刪除目錄。您須要傳遞-rf
標誌以刪除目錄。
rm -rf some-directory
複製代碼
注意:不管目錄內部是否包含內容,這都會無條件刪除目錄。
rmdir some-directory
複製代碼
若是目錄中沒有內容,則rmdir
命令將刪除目錄。
tail somefile
複製代碼
tail
命令讀取文件並輸出文件的最後部分(尾巴)。
在查看崩潰報告或之前的歷史記錄日誌時,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
複製代碼
wget someurl
複製代碼
GNU Wget是一個免費軟件包,可以使用HTTP,HTTPS,FTP和FTPS(使用最普遍的Internet協議)檢索文件。它是一種非交互式的命令行工具,所以能夠輕鬆地從腳本,CRON做業,終端(不支持X-Windows)等中調用。
GNU Wget 有不少功能,使得檢索大型文件或鏡像整個Web或FTP站點變得容易,包括:
閱讀官方GNU文檔以獲取更多信息。
find path -name filename
複製代碼
使用find
命令能夠快速查找文件或目錄。當您正在處理包含數百個文件和多個目錄的大型項目時,此功能很是有用。
使用find
命令還能夠在目錄(及其子目錄)中搜索相同類型的文件。例如,如下命令將搜索當前工做目錄中的全部.js
文件。
find . -name "*.js"
複製代碼
mv somefile /to/some/other/path
複製代碼
mv
命令將文件或目錄從一個位置移動到另外一個位置。mv
命令支持移動單個文件,多個文件和目錄。
好了,以上就是開發人員應該掌握的 11 個控制檯命令。感謝您的閱讀,但願您學到了一些新知識。若是您知道更好用的命令行技巧,能夠評論中留言,咱們一塊兒成長!