首頁 > 系統教程 > Linux > 主體

程式設計師需要了解的10個Linux指令

PHPz
發布: 2024-02-10 20:57:13
轉載
1100 人瀏覽過

作為一個程式設計師,在軟體開發職業生涯中或多或少會用到Linux系統,並且可能會使用Linux命令來檢索所需的資訊。本文將為各位開發者分享10個有用的Linux指令,希望對你會有所幫助。

程式設計師需要了解的10個Linux指令

以下就是今天我們要介紹的Linux指令:

man touch, cat and less sort and grep cut sed tar find diff uniq chmod
登入後複製

接下來讓我們逐一來詳細介紹。

1、man指令

#第一個你需要知道的Linux指令就是man指令,該指令可以顯示指定指令的用法和描述。例如你想知道ls指令的用法和選項,可以在終端機執行「man ls」:

語法: man man ls

~# man ls LS(1) User Commands LS(1) NAME ls - list directory contents SYNOPSIS 
ls [OPTION]... [FILE]... DESCRIPTION List information about the FILEs (the curren
t directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is speciâ fied. Mandatory arguments to long options are mandatory for short op
tions too. -a, --all do not ignore entries starting with .
登入後複製

2、touch,cat和less指令

touch指令可以在Linux系統中建立大小為0的任意型別文件,作為程式開發者,當你需要在Linux伺服器上建立文件時,可以使用touch指令:

語法: touch touch demo.txt

#
~# touch demo.txt root@devopscube:~# ls demo.txt
登入後複製

cat指令用來查看檔案的內容,但是使用cat指令並不能編輯檔案的內容,它只是可以瀏覽檔案內容。 cat指令不支援鍵盤上下鍵翻頁。

語法: cat cat demo.txt

#同樣的less指令也可以讓你瀏覽文件,less指令非常快,並且支援上下鍵查看文件的開頭和結尾。然而more指令跟它類似,只是more指令只能用enter鍵實作檔案的向前翻頁,不支援回退。

語法: less more

less demo.txt more demo.txt
登入後複製

3、sort和grep指令

sort指令用來對檔案內容進行排序。建立一個名為test.txt的文件,並且把以下內容拷貝到該文件中:

1 mike level intermediate jan 10 lucy level beginer mar 45 Dave level expert
 dec 4 dennis start beginner jul 7 Megan employee trainee feb 58 Mathew Head CEO nov
登入後複製

上面的範例中,第二列是名稱,所以如果你想對名稱列按字母排序,就可以使用「-k」選項,並標註列號,例如「-k2」:

語法: sort sort -k2 test.txt

排序結果

~# sort -k2 test.txt 45 Dave level expert dec 4 dennis start beginner jul 10 lucy l
evel beginer mar 58 Mathew Head CEO nov 7 Megan employee trainee feb 1 mike level in
termediate jan
登入後複製

第一列是數字,如果你想按數字排序,可以使用「-h」選項。如果數字在不同列上,你可以在「-h」選項後面使用「-k」選項:

~# sort -h test.txt 1 mike level intermediate jan 4 dennis start beginner jul 7 Megan employ
ee trainee feb 10 lucy level beginer mar 45 Dave level expert dec 58 Mathew Head CEO nov
登入後複製

最後一列是月份,你可以使用「-M」選項來讓檔案內容按月份排序:

~# sort -k5 -M test.txt 1 mike level intermediate jan 7 Megan employee trainee feb 10 l
ucy level beginer mar 4 dennis start beginner jul 58 Mathew Head CEO nov 45 Dave level e
xpert dec
登入後複製

附註:如果你想消除重複的行,可以在sort指令後面使用「-u」選項。

使用「-r」選項,是檔案倒序排列:

~# sort -h -r test.txt 58 Mathew Head CEO nov 45 Dave level expert dec 10 lucy level beginer mar
 7 Megan employee trainee feb 4 dennis start beginner jul 1 mike level intermediate jan
登入後複製

Grep指令:

#Grep指令非常強大,系統管理員常常會用到它。 grep指令可以在檔案中搜尋指定格式的字串,同時對其進行標準輸出。

語法: grep “” grep “Mathew” test.txt

~# grep "dennis" test.txt 4 dennis start beginner jul
登入後複製

上面指令的輸出結果是包含該子字串的,如果你想檢索完整的單字,你需要加入「-i」選項。同時,也可以用grep指令在多個檔案中搜尋字串,指令碼如下:

while(!game_over) { for each possible move: count_no_of_merges_for_2-tiles and 4-tiles choose the move with large number of merges }
grep "dennis" test1.txt test2.txt test3.txt
登入後複製

當然你也可以用正規表示式來匹配字串。

4、cut指令

#cut指令可以讓你用列或分隔符號來擷取檔案中的指定部分。如果你要列出文件中某列的全部內容,可以使用「-c」選項。例如,下面將從test.txt檔案中提取第1、2列的全部內容。

cut -c1-2 test.txt
~# cut -c1-2 test.txt 1 10 45 4 7 58
登入後複製

如果你希望從檔案中提取指定的字串,那麼你可以使用分隔符號選項「-d」和「-f」選項選取列。例如,我們可以利用cut指令來提取names列:

cut -d' ' -f2 test.txt
~# cut -d' ' -f2 test.txt mike lucy Dave dennis Megan Mathew
登入後複製

下面的範例從/etc/passd file中提取users列:

cut -d':' -f1 /etc/passwd
登入後複製

5、sed指令

#sed 是一種線上編輯器,它一次處理一行內容。處理時,把目前處理的行儲存在暫存緩衝區中,稱為「模式空間」(pattern space),接著用sed指令處理緩衝區中的內容,處理完成後,把緩衝區的內容送到螢幕。接著處理下一行,這樣不斷重複,直到文件末尾。文件內容並沒有 改變,除非你使用重定向儲存輸出。

如果你想透過搜尋取代檔案中的指定內容,你可以使用「s」選項來檢索它然後將它取代。

語法: sed ‘s///’ test.txt

例如,在test.txt檔案中用「michael」取代「mike」:

sed 's/mike/michael/' test.txt
~# sed 's/mike/michael/' test.txt 1 michael level intermediate jan 10 lucy
 level beginer mar 45 Dave level expert dec 4 dennis start beginner jul 7 Megan employee 
trainee feb 58 Mathew Head CEO nov
登入後複製

6、tar指令

#tar指令用來壓縮和解壓縮文件,其中經常會用到“-cf”和“-xf”選項。

語法: tar

讓我們將test.txt檔案打包:

tar -cf test.tar test.txt
~# tar -cf test.tar test.txt root@devopscube:~# ls test.tar test.txt
登入後複製

用「-C」選項將剛才打包好的test.tar檔案解壓縮至「demo」目錄:

tar -xf test.tar -C /root/demo/
~# tar -xf test.tar -C /root/demo/ root@devopscube:~# cd demo/ root@devopscube:~/demo# ls test.txt
登入後複製

7、find指令

#find指令用來檢索文件,可以用「-name」選項來擷取指定名稱的文件:

find -name find -name test.txt
~#/home/ubuntu# cd ~ root@devopscube:~# find -name test.txt ./demo/test.txt ./test.txt
登入後複製

你也可以用「/ -name」來擷取指定名稱的資料夾:

find / -name passwd
~# find / -name passwd /etc/cron.daily/passwd /etc/pam.d/passwd /etc/passwd /usr/share/lintian/o
verrides/passwd
登入後複製

8、diff指令

#diff指令用來找出2個檔案的不同點。 diff指令透過分析檔案內容,然後將不同的行印出來,下面的範例可以找出兩個檔案test和test1的不同點

語法: diff diff test.txt test1.txt

~# diff test.txt test1.txt 7c7  59 sdfsd CTO dec
登入後複製

9、Uniq命令

uniq命令用来过滤文件中的重复行:

语法: uniq uniq test.txt

~# uniq test.txt 1 mike level intermediate jan 10 lucy level beginer mar 45 Da
ve level expert dec 4 dennis start beginner jul 7 Megan employee trainee feb 58 Mathew 
Head CEO nov
登入後複製

10、chmod命令

chmod命令用来改变文件的读/写/执行权限,权限数值如下所示:

4 – read permission 2 – write permission 1 – execute permission 0 – no permission

下面的命令可以给test.txt文件赋最高的权限:

chmod 755 test.txt
登入後複製

以上是程式設計師需要了解的10個Linux指令的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:lxlinux.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!