您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Linux中每個開發人員都應該知道的控制臺命令有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
Unix shell是命令行解釋器或shell,可為類似Unix的操作系統提供命令行用戶界面。 Shell程序既是交互式命令語言又是腳本語言,并且操作系統使用它來控制系統的執行。
默認情況下,每個基于Linux或Mac的操作系統都安裝了一個命令行程序,通常以" Terminal"為名稱。命令行(CLI)使我們可以輕松地移動和重命名文件,對數據進行排序以及在計算機中瀏覽。
事不宜遲,這里有11個命令行技巧,可以使您的生活更輕松。
1. grep
$ grep "some string" file
grep命令在每個文件中搜索模式。 它還會尋找由換行符分隔的模式,并且grep打印與模式匹配的每一行。
Using the grep command to find all React keywords in a file
-i選項使我們能夠在給定文件中區分大小寫地搜索字符串。 它匹配" REACT"," REact"和" react"之類的詞。
$ grep -i "REact" file
我們可以使用-c(count)標志找到與給定字符串/模式匹配的行數。
$ grep -c "react" index.js
Counting the times the word "react" pops up in a life
這是我在互聯網上找到的有關grep命令的有趣且具有教育意義的漫畫。
Source: Wizard Zines
此外,變體程序egrep和fgrep分別與grep -E和grep -F相同。 不建議使用這些變體,但提供這些變體是為了向后兼容。
您可以使用grep做很多事情-在此處閱讀文檔以進行深入研究。
2. ls
$ ls
ls列出當前活動路徑中的文件和目錄。 如果路徑名是文件,則ls根據請求的選項顯示有關文件的信息。 如果路徑名是目錄,則ls顯示有關文件和其中的子目錄的信息。
Using the ls command to show all files in the current directory
您可能已經注意到文件顯示為灰色,而文件夾為藍色。 這是為了幫助我們區分文件夾和文件。
3. pwd
$ pwd
Printing out the current working directory (pwd)
pwd命令是用于打印當前工作目錄的命令行實用程序。 輸出會將當前工作目錄的完整系統路徑打印到標準輸出。 默認情況下,pwd命令會忽略符號鏈接,盡管可以使用選項顯示當前目錄的完整物理路徑。
4. Cat
$ cat somefile.js
Displaying content of a file with cat
cat命令具有與文本文件有關的三個相關功能:
顯示它們
合并副本
創造新的
cat的最常見用法是讀取文件的內容,而cat通常是用于此目的的最方便的程序。
在以下示例中,使用輸出重定向運算符(由向右指向的尖括號表示)將cat的標準輸出重定向到file2:
$ cat somefile > somefile2
Creating files with cat
5. echo
$ echo "some text"
Linux中的echo命令用于顯示作為參數傳遞的一行文本/字符串。 echo是一個內置命令,主要用于shell腳本和批處理文件中,以將狀態文本輸出到屏幕或文件中。
6. touch
$ touch somefile
touch命令用于創建不包含任何內容的文件。 當用戶在創建文件時沒有要存儲的數據時,可以使用touch命令。
Creating a new file with touch
請注意,我們是如何通過觸摸來創建文件的,如何使用cat來查看文件的內部。 由于新創建的index2.js文件為空,因此cat不返回任何內容。
以下是cat和touch之間的主要區別:
cat-用于創建包含內容的文件。
觸摸—創建一個沒有任何內容或空文件的文件。 請記住,使用touch命令創建的文件為空。 當用戶在創建文件時沒有要存儲的數據時,此命令很有用。
7. mkdir
$ mkdir some-directory
如您所料,mkdir在當前活動路徑中創建一個新的空目錄。 而不是在文本編輯器或GUI中單擊,而使用此命令來創建新文件夾。
Creating a new directory with mkdir
注意:請注意我們如何使用前面的ls命令監視目錄。
(1) rm
$ rm someFile
rm代表remove,它完全按照它說的去做。 刪除,或換句話說,刪除文件。
Removing a file with the rm command
默認情況下,rm命令不會刪除目錄。 您需要傳遞-rf標志以刪除目錄。
$ rm -rf some-directory
Removing a directory with the rm command (notice we're passing the flag to remove a directory)
注意:無論目錄內部是否包含內容,這都會無條件刪除目錄。
(2) 均方根
$ rmdir some-directory
如果目錄中沒有內容,則rmdir命令將刪除目錄。
Removing an empty directory with rmdir
8. tail
$ tail somefile
tail命令讀取文件并輸出文件的最后部分(" tail")。
Output the last num lines, instead of the default (10)
在查看崩潰報告或以前的歷史記錄日志時,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的終端等中調用。
get to fetch information about a webpage
GNU Wget具有許多使檢索大型文件或鏡像整個Web或FTP站點變得容易的功能,包括:
可以使用REST和RANGE恢復中止的下載
可以使用文件名通配符并遞歸鏡像目錄
基于NLS的消息文件,適用于多種語言
(可選)將下載的文檔中的絕對鏈接轉換為相對鏈接,以便下載的文檔可以在本地彼此鏈接
在大多數類似UNIX的操作系統以及Microsoft Windows上運行
支持HTTP代理
支持HTTP cookie
支持持久的HTTP連接
無人值守/后臺操作
使用本地文件時間戳確定鏡像時是否需要重新下載文檔
GNU Wget是根據GNU通用公共許可證發行的。
10. find
$ find path -name filename
使用find命令可以快速查找文件或目錄。 當您正在處理包含數百個文件和多個目錄的大型項目時,此功能非常有用。
Finding all files with the name of index.js
搜索特定類型的文件
使用find命令還可以在目錄(及其子目錄)中搜索相同類型的文件。 例如,以下命令將搜索當前工作目錄中的所有.js文件。
$ find . -name "*.js"
Finding all .js files in the components directory
11. MV
$ mv somefile /to/some/other/path
mv命令將文件或目錄從一個位置移動到另一個位置。 mv命令支持移動單個文件,多個文件和目錄。
Moving the some-directory from components to utils directory
感謝各位的閱讀!關于“Linux中每個開發人員都應該知道的控制臺命令有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。