Linux常用命令(3)
阿新 • • 發佈:2019-02-05
1、touch
功能說明:改變檔案或目錄時間。
語法:
touch 建立檔案
$ touch demo.c$ ls -l
-rw-r--r-- 1 root root 0 2月 9 09:03 demo.c
touch 更新已有檔案時間
$ touch demo.c$ ls -l
-rw-r--r-- 1 root root 0 2月 9 09:04 demo.c
touch -at 使用引數更新訪問時間
$ touch -at 01080101 demo.c
$ ls -l
-rw-r--r-- 1 root root 0 2月 9 09:04 demo.c
$ ls -lu
-rw-r--r-- 1 root root 0 1月 8 01:01 demo.c
2、less
功能說明:less的用法比起more更加的有彈性。在more的時候,我們並沒有辦法向前面翻,只能往後面看,但若使用了less時,就可以使用 [pageup] [pagedown] 等按鍵的功能來往前往後翻看檔案,更容易用來檢視一個檔案的內容。
語法:
檢視文件,分頁顯示
# less settings.xml
ps檢視程序資訊並通過less分頁顯示
# ps -ef | less
瀏覽多個檔案
# less log2013.log log2014.log
3、more
功能說明:more用於分頁顯示文字檔案
語法:
顯示指定的螢幕行數
$ more -5 demo
從指定行開始顯示,此處的-5是為了顯示資料段好擷取
$ more -5 +30 demo
4、sed(stream editor)
功能說明: 一個很好的檔案處理工具,本身是一個管道命令,主要是以行為單位進行處理,可以將資料行進行替換、刪除、新增、選取等特定工作。
語法:
常用選項:
-n∶使用安靜(silent)模式。在一般
sed 的用法中,所有來自 STDIN的資料一般都會被列出到螢幕上。但如果加上 -n 引數後,則只有經過sed 特殊處理的那一行(或者動作)才會被列出來。
-e∶直接在指令列模式上進行 sed 的動作編輯;
-f∶直接將 sed 的動作寫在一個檔案內, -f filename 則可以執行 filename 內的sed 動作;
-r∶sed 的動作支援的是延伸型正規表示法的語法。(預設是基礎正規表示法語法)
-i∶直接修改讀取的檔案內容,而不是由螢幕輸出。
常用命令:
a ∶新增, a 的後面可以接字串,而這些字串會在新的一行出現(目前的下一行)~
c ∶取代, c 的後面可以接字串,這些字串可以取代 n1,n2 之間的行!
d ∶刪除,因為是刪除啊,所以 d 後面通常不接任何咚咚;
i ∶插入, i 的後面可以接字串,而這些字串會在新的一行出現(目前的上一行);
p ∶列印,亦即將某個選擇的資料印出。通常 p 會與引數 sed -n 一起運作~
s ∶取代,可以直接進行取代的工作哩!通常這個 s 的動作可以搭配正規表示法!
舉例:(假設我們有一檔名為ab)
刪除某行
# sed '1d'
demo.txt #刪除第一行
# sed '$d'
demo.txt #刪除最後一行
# sed '2,$d'
demo.txt #刪除第二行到最後一行
顯示某行
# sed -n '1p'
demo.txt #顯示第一行
# sed -n '1,2p'
demo.txt #顯示第一行到第二行
使用模式進行查詢
# sed -n '/ruby/p'
demo.txt #查詢包括關鍵字ruby所在所有行
# sed -n '/\$/p'
demo.txt #查詢包括關鍵字$所在所有行,使用反斜線\遮蔽特殊含義
增加一行或多行字串
# cat | sed '1a sty' demo.txt
abc ac bc ab
sty
代替一行或多行
# sed '1,2c Hi'
demo.txt
Hi
Hi
替換一行中的某部分
# sed 's/bc/abc/g' demo.txt
aabc ab ac abc
5、mount
功能說明: 掛載檔案系統。
語法:
使用/mnt/vcdrom訪問光碟映象檔案mydisk.iso裡的所有檔案
#mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom
建立一個目錄用來作U盤掛接點(mount point)
#mount -t vfat /dev/sdd1 /mnt/usb
現在可以通過/mnt/usb來訪問U盤
#mount -t vfat -o iocharset=cp936 /dev/sdd1 /mnt/usb
6、umount
功能說明: 卸除檔案系統。
語法:
通過裝置名解除安裝
# umount -v /dev/sda1
通過掛載點解除安裝
# umount -v /mnt/usb/
7、pstree(process status tree)
功能說明: 以樹狀圖顯示程序間的關係。ps命令可以顯示當前正在執行的那些程序的資訊,但是對於它們之間的關係卻顯示得不夠清晰。在Linux系統中,系統呼叫fork可以建立子程序,通過子shell也可以建立子程序,Linux系統中程序之間的關係天生就是一棵樹,樹的根就是程序PID為1的init程序。
語法:
格式:pstree
以樹狀圖顯示程序,只顯示程序的名字,且相同程序合併顯示。
格式:pstree -p
以樹狀圖顯示程序,還顯示程序PID。
格式:pstree <pid>
格式:pstree -p <pid>
以樹狀圖顯示程序PID為<pid>的程序以及子孫程序,如果有-p引數則同時顯示每個程序的PID。
格式:pstree -a
以樹狀圖顯示程序,相同名稱的程序不合並顯示,並且會顯示命令列引數,如果有-p引數則同時顯示每個程序的PID。
因為pstree輸出的資訊可能比較多,所以最好與more/less配合使用。
# pstree -p
init(1)─┬─NetworkManager(1449)─┬─dnsmasq(28501)
│ ├─{NetworkManager}(1453)
│ └─{NetworkManager}(1537)
├─VGAuthService(9494)
├─accounts-daemon(2198)───{accounts-daemon}(2199)
├─acpid(1640)
├─atd(1646)
├─bamfdaemon(2835)─┬─{bamfdaemon}(2839)
│ └─{bamfdaemon}(2841)
├─bluetoothd(1060)
├─colord(2502)─┬─{colord}(2504)
│ └─{colord}(2828)
├─console-kit-dae(2221)─┬─{console-kit-dae}(2222)
│ ├─{console-kit-dae}(2223)
│ ├─{console-kit-dae}(2224)
│ ├─{console-kit-dae}(2225)
│ ├─{console-kit-dae}(2226)
8、nice
功能說明: 設定優先權。優先順序的數值為-20~19,其中數值越小優先順序越高,數值越大優先順序越低,-20的優先順序最高,19的優先順序最低。需要注意的是普通使用者只能在0~19之間調整應用程式的優先權值,只有超級使用者有權調整更高的優先權值(從-20~19)。
語法:
選項介紹:
-n <優先順序> 指定優先順序;
--help 幫助資訊;
--version 版本資訊;
# nice -n 5 su
# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 9776 9719 0 80 0 - 1898 poll_s pts/1 00:00:00 sudo
4 S 0 9777 9776 0 80 0 - 1833 wait pts/1 00:00:00 su
4 S 0 9785 9777 0 80 0 - 1941 wait pts/1 00:00:05 bash
5 S 0 19473 1 0 80 0 - 989 poll_s pts/1 00:00:00 dbus-launch
4 T 0 27629 9785 0 82 2 - 566 signal pts/1 00:00:00 ping
0 R 0 28609 9785 0 80 0 - 1601 - pts/1 00:00:00 ps
UID:代表執行者的身份
PID: 代表這個程序的代號
PPID:代表這個程序是由哪個程序發展衍生而來的,亦即父程序的代號
PRI:代表這個程序可被執行的優先順序,其值越小越早被執行
NI:代表這個程序的nice值
9、exit
功能說明: 退出目前的 shell。
10、su(super user)
功能說明: 變更使用者身份。
切換到root使用者
$ su - root
變更帳號為 root 並在執行 ls 指令後退出變回原使用者
su -c ls root
11、sudo(superuser do
功能說明: 以系統管理員身份來執行指令
語法:
允許系統管理員讓普通使用者執行一些或者全部的root命令的一個工具,如halt,reboot,su等等。