原文地址: Here Are 11 Console Commands Every Developer Should Knowhtml
用這些控制檯命令,提升平常的工做效率react
命令行使咱們的生活更加容易,由於咱們能夠自動化一些普通的任務並使事情運行更順暢。無需點擊圖形用戶界面,咱們能夠觸發一些命令就能夠完成工做。linux
Unix shell 是一個命令行解釋器或者shell, 可爲類Unix操做系統提供命令行用戶界面。shell既是交互式命令語言又是腳本語言,而且操做系統使用它經過Shell腳原本控制系統的執行。web
Linux或者mac爲基礎的操做系統都默認安裝了命令行工具,一般叫作終端。命令行工具使咱們能夠輕鬆地移動、重命名文件,對數據進行排序以及在計算機上瀏覽。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
命令的漫畫,很是的有趣和具備教育意義。學習
另外,變體程序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"
複製代碼
echo
命令在linux中被用做展現做爲參數傳遞的一行文本或字符串。echo
是一個內置命令,主要用在shell腳本和批處理文件中,以狀態文本輸出到屏幕或者文件。
touch somefile
複製代碼
touch
命令用來建立空文件。當用戶建立文件時沒有要儲存數據時,可使用touch
命令。
注意,咱們是如何使用touch
來建立文件,cat
來查看文件內容。因爲新建立的index2.js
文件是空的,因此cat
不返回任何內容。
cat
和touch
的主要區別:
cat
—— 建立包含內容的文件touch
—— 建立沒有任何內容的空文件。記住,使用touch
命令建立的文件是空的。這個命令在當用戶在建立文件時沒有任何數據存儲時很是有用。mkdir some-directory
複製代碼
就如你所猜測的,mkdir
在當前路勁下建立一個新的空目錄。無需點擊你的文本編輯器或者圖形用戶界面,使用命令來建立新的文件夾。
注意:咱們能夠以前ls
命令來窺視目錄裏面。
rm someFile
複製代碼
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來檢索文件(使用最普遍的網路協議)。它是一個非交互式的命令行工具,因此它能夠輕鬆地被腳本,CRON做業,不支持X-Windows的終端調用。
GNU Wget有許多使檢索大型文件或者鏡像整個web或者FTP站點變得容易的功能,包括:
閱讀GNU官方文檔獲取更多信息。
find path -name filename
複製代碼
find
命令讓你能快速地查找文件或者目錄。當你處理上百個文件和多個目錄的項目時很是有用。
搜索特定類型的文件
find
命令也能讓你在一個目錄(及它的子目錄下)搜索同種類型的文件。好比,下面這條命令將會在當前目錄下搜索全部.js
文件。
find path -name "*.js"
複製代碼
mv somefile /to/some/other/path
複製代碼
mv
命令用來將文件或者文件夾從一個地方移動到另外一個地方。mv
命令支持移動單個文件,多個文件和目錄。
結論
感謝閱讀,我但願你能學到新的東西。若是你知道方便的命令行技巧,請發佈在回覆中,一塊兒學習成長。
永遠保持好奇與飢餓!