天天看點

linux 指令集合1

linux 指令集合1

#請使用 Ctrl + F 鍵查找

#A

#B

#C

<a href="http://www.cnblogs.com/healthy-tree/archive/2011/11/08/2240509.html" target="_blank">chmod + t</a>

Set uid, gid,sticky bit的三個權限的詳細說明 

如果是一個可執行檔案, 那麼在執行時, 一般該檔案隻擁有調用該檔案的使用者具有的權限. 而setuid, setgid 可以來改變這種設定.setuid: 設定使檔案在執行階段具有檔案所有者的權限. 典型的檔案是 /usr/bin/passwd. 如果一般使用者執行該檔案, 則在執行過程中, 該檔案可以獲得root權限, 進而可以更改使用者 

的密碼. 

setgid: 該權限隻對目錄有效. 目錄被設定該位後, 任何使用者在此目錄下建立的檔案都具有 

和該目錄所屬的組相同的組.sticky bit: 該位可以了解為防删除位. 一個檔案是否可以被&gt;某使用者删除, 主要取決于 

該檔案所屬的組是否對該使用者具有寫權限. 如果沒有寫權限, 則這個目錄下的所有檔案都不 

能被删除, 同時也不能添加新的檔案. 如果希望使用者能夠添加檔案但同時不能删除檔案, 則 

可以對檔案使用sticky bit位. 設定該位後, 就算使用者對目錄 

chmod u+s temp — 為temp檔案加上setuid标志. (setuid 隻對檔案有效)  

chmod g+s tempdir — 為tempdir目錄加上setgid标志 (setgid 隻對目錄有效)  

chmod o+t temp — 為temp檔案加上sticky标志 (sticky隻對檔案有效)  

設定完這些标志後, 可以用 ls -l 來檢視. 如果有這些标志, 則會在原來的執行标志位置上顯示. 如  

rwsrw-r– 表示有setuid标志  

rwxrwsrw- 表示有setgid标志  

rwxrw-rwt 表示有sticky标志  

chmod 4777  //是設sid  

chmod 2777  //是設定gid  

chmod 1777  //是設sticky  

0: 不設定特殊權限  

1: 隻設定sticky  

2 : 隻設定SGID  

3: 隻設定SGID和sticky  

4 : 隻設定SUID  

5 : 隻設定SUID和sticky  

6 : 隻設定SUID和SGID  

7 : 設定3種權限 

#D

date 指令

$ date -d '6 days ago' +'%F %T' 

2011-12-25 12:59:35 

$ date  +'%F %T' 

2011-12-31 12:59:41 

-d, --date=STRING

display time described by STRING, not ‘now’

 dd

用dd把iso鏡像寫到U盤

dd if=xx.iso of=/dev/sdb 

注意:sdb檔案和分區會清空,請先備份檔案。

df "inode 與 block"

root@dn-laptop:~# df  

檔案系統           1K-塊      已用      可用 已用% 挂載點 

/dev/sda10            14513072   8232492   5543352  60% / 

none                   1987620       344   1987276   1% /dev 

none                   1992152      5252   1986900   1% /dev/shm 

none                   1992152       120   1992032   1% /var/run 

none                   1992152         0   1992152   0% /var/lock 

none                   1992152         0   1992152   0% /lib/init/rw 

/dev/sda1             52436128   7817028  44619100  15% /mnt/sys 

/dev/sda5            101410280  80687628  20722652  80% /mnt/zm 

/dev/sda6            101378148  15257952  86120196  16% /mnt/cy 

/dev/sda7             20472816  10377856  10094960  51% /mnt/isolinux 

/dev/sda11            19704500   8949012   9754528  48% /data 

/dev/sda8                94195     21950     67381  25% /boot 

/dev/sdb1              7804068   2806716   4997352  36% /media/live 

root@dn-laptop:~# df -ih 

檔案系統            Inode (I)已用 (I)可用 (I)已用% 挂載點 

/dev/sda10              901K    156K    745K   18% / 

none                    486K     925    485K    1% /dev 

none                    487K       7    487K    1% /dev/shm 

none                    487K      61    487K    1% /var/run 

none                    487K       1    487K    1% /var/lock 

none                    487K       3    487K    1% /lib/init/rw 

/dev/sda1                43M     33K     43M    1% /mnt/sys 

/dev/sda5                20M     670     20M    1% /mnt/zm 

/dev/sda6                83M     25K     83M    1% /mnt/cy 

/dev/sda7                  0       0       0    -  /mnt/isolinux 

/dev/sda11              1.2M      23    1.2M    1% /data 

/dev/sda8                24K     206     24K    1% /boot 

/dev/sdb1                  0       0       0    -  /media/live 

root@dn-laptop:~# dumpe2fs -h /dev/sda11  

dumpe2fs 1.41.11 (14-Mar-2010) 

Filesystem volume name:   &lt;none&gt; 

Last mounted on:          /data 

Filesystem UUID:          661be7c6-c98f-49c7-b319-6a089c8c0ef3 

Filesystem magic number:  0xEF53 

Filesystem revision #:    1 (dynamic) 

Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize 

Filesystem flags:         signed_directory_hash  

Default mount options:    (none) 

Filesystem state:         clean 

Errors behavior:          Continue 

Filesystem OS type:       Linux 

Inode count:              1253376 

Block count:              5004800 

Reserved block count:     250240 

Free blocks:              2688872 

Free inodes:              1253353 

First block:              0 

Block size:               4096 

Fragment size:            4096 

Reserved GDT blocks:      1022 

Blocks per group:         32768 

Fragments per group:      32768 

Inodes per group:         8192 

Inode blocks per group:   512 

Flex block group size:    16 

Filesystem created:       Wed Nov  9 02:42:52 2011 

Last mount time:          Sun Feb  5 12:09:29 2012 

Last write time:          Sun Feb  5 12:09:29 2012 

Mount count:              4 

Maximum mount count:      25 

Last checked:             Sun Jan 15 08:46:34 2012 

Check interval:           15552000 (6 months) 

Next check after:         Fri Jul 13 08:46:34 2012 

Lifetime writes:          13 GB 

Reserved blocks uid:      0 (user root) 

Reserved blocks gid:      0 (group root) 

First inode:              11 

Inode size:           256 

Required extra isize:     28 

Desired extra isize:      28 

Journal inode:            8 

Default directory hash:   half_md4 

Directory Hash Seed:      0f11af5d-2a04-4715-a393-9aa09db6f743 

Journal backup:           inode blocks 

Journal features:         journal_incompat_revoke 

日志大小:             128M 

Journal length:           32768 

Journal sequence:         0x00000f42 

Journal start:            0 

root@dn-laptop:~# ls -i tmp 

275362 1key_install_haproxy+keepalived.tgz 

278238 cluster 

275363 cluster_25.tar.gz 

275424 convert 

272480 convert_old 

 15501 Discuz_X1.5.1_SC_UTF8.zip 

418768 hadoop 

278250 libevent-2.0.16-stable.tar.gz 

278235 mem 

278251 memcache-2.2.6.tgz 

278249 memcached-1.4.10.tar.gz 

278295 memcached.tar.gz 

278415 webbench-1.5.tar.gz 

278448 yh 

root@dn-laptop:~# stat tmp 

  File: "tmp" 

  Size: 4096        Blocks: 8          IO Block: 4096   目錄 

Device: 80ah/2058d  Inode: 272479      Links: 7 

Access: (0755/drwxr-xr-x)  Uid: ( 1000/      dn)   Gid: ( 1000/      dn) 

Access: 2012-02-05 14:24:31.595409520 +0800 

Modify: 2012-02-05 14:24:30.924790284 +0800 

Change: 2012-02-05 14:24:30.924790284 +0800 

#E

#F

find 指令

40分鐘内更改過的檔案

find -mmin -40 | grep php | xargs ls -l 

-rw-r--r-- 1 www www 106336 Nov 24 15:29 ./forumdisplay.php 

time 相關參數

­mtime n ­-n +n

用減号(-n)­來限定更改時間在距今n日以内的檔案,而用加号(+n)來限定更改時間在距今n日以前的檔案.

注意:用加号+來限定更改時間在距今 (n+1) 日以前的檔案.

-amin n 

查找系統中最後N分鐘通路的檔案 

-atime n 

查找系統中最後n*24小時通路的檔案 

-cmin n 

查找系統中最後N分鐘被改變檔案狀态的檔案 

-ctime n 

查找系統中最後n*24小時被改變檔案狀态的檔案 

-mmin n 

查找系統中最後N分鐘被改變檔案資料的檔案 

-mtime n 

查找系統中最後n*24小時被改變檔案資料的檔案 

 找到并且打包!

find . -name '*expect*' | xargs tar czvf /root/expect.tar.gz 

./Server/expect-5.43.0-5.1.i386.rpm 

./Server/expect-5.43.0-5.1.x86_64.rpm 

./Server/expect-devel-5.43.0-5.1.i386.rpm 

./Server/expect-devel-5.43.0-5.1.x86_64.rpm 

./Server/expectk-5.43.0-5.1.x86_64.rpm 

./Server/pexpect-2.3-1.el5.noarch.rpm

#找到5天以前的檔案 

date +'%F %T' 

2013-01-11 10:59:28 

find /test/DB/serverx/var/ -name 'mysql-bin*0*' -ctime +5 

/test/DB/serverx/var/mysql-bin.000063 

ll /test/DB/serverx/var/mysql-bin.000063  

-rw-rw----. 1 mysql mysql 1073742035 Dec 25 10:04 /test/DB/serverx/var/mysql-bin.000063 

#找到5天以内的檔案 

find /test/DB/serverx/var/ -name 'mysql-bin*0*' -ctime -5 

功能說明:檢查檔案系統并嘗試修複錯誤。 

語  法:fsck [-aANPrRsTV][-t &lt;檔案系統類型&gt;][檔案系統...] 

補充說明:當檔案系統發生錯誤四化,可用fsck指令嘗試加以修複。 

參  數: 

-a   自動修複檔案系統,不詢問任何問題。 

-A   依照/etc/fstab配置檔案的内容,檢查檔案内所列的全部檔案系統。 

-N   不執行指令,僅列出實際執行會進行的動作。 

-P   當搭配"-A"參數使用時,則會同時檢查所有的檔案系統。 

-r   采用互動模式,在執行修複時詢問問題,讓使用者得以确認并決定處理方式。 

-R   當搭配"-A"參數使用時,則會略過/目錄的檔案系統不予檢查。 

-s   依序執行檢查作業,而非同時執行。 

-t&lt;檔案系統類型&gt;   指定要檢查的檔案系統類型。 

-T   執行fsck指令時,不顯示标題資訊。 

-V   顯示指令執行過程。 

#G

#H

<a target="_blank" href="http://baike.baidu.com/view/4808053.htm">hdparm</a>

功能:顯示與設定硬碟的參數,hdparm可檢測,顯示與設定IDE或SCSI硬碟的參數。 

 -a&lt;快取分區&gt; 設定讀取檔案時,預先存入塊區的分區數,若不加上&lt;快取分區&gt;選項,則顯示目前的設定。 

  -A&lt;0或1&gt; 啟動或關閉讀取檔案時的快取功能。 

  -c&lt;I/O模式&gt; 設定IDE32位I/O模式。 

  -C 檢測IDE硬碟的電源管理模式。 

  -d&lt;0或1&gt; 設定磁盤的DMA模式。 

  -f 将記憶體緩沖區的資料寫入硬碟,并清除緩沖區。 

  -g 顯示硬碟的磁軌,磁頭,磁區等參數。 

  -h 顯示幫助。 

  -i 顯示硬碟的硬體規格資訊,這些資訊是在開機時由硬碟本身所提供。 

  -I 直接讀取硬碟所提供的硬體規格資訊。 

  -k&lt;0或1&gt; 重設硬碟時,保留-dmu參數的設定。 

  -K&lt;0或1&gt; 重設硬碟時,保留-APSWXZ參數的設定。 

  -m&lt;磁區數&gt; 設定硬碟多重分區存取的分區數。 

  -n&lt;0或1&gt; 忽略硬碟寫入時所發生的錯誤。 

  -p&lt;PIO模式&gt; 設定硬碟的PIO模式。 

  -P&lt;磁區數&gt; 設定硬碟内部快取的分區數。 

  -q 在執行後續的參數時,不在螢幕上顯示任何資訊。 

  -r&lt;0或1&gt; 設定硬碟的讀寫模式。 

  -S&lt;時間&gt; 設定硬碟進入省電模式前的等待時間。 

  -t 評估硬碟的讀取效率。 

  -T 評估硬碟快取的讀取效率。 

  -u&lt;0或1&gt; 在硬碟存取時,允許其他中斷要求同時執行。 

  -v 顯示硬碟的相關設定。 

  -W&lt;0或1&gt; 設定硬碟的寫入快取。 

  -X&lt;傳輸模式&gt; 設定硬碟的傳輸模式。 

  -y 使IDE硬碟進入省電模式。 

  -Y 使IDE硬碟進入睡眠模式。 

  -Z 關閉某些Seagate硬碟的自動省電功能。 

history 指令中顯示時間戳

export HISTTIMEFORMAT="%F %T " 

history 

1008  2011-11-03 16:58:03 date 

1009  2011-11-03 16:58:07 date -s '20111104 16:58:01' 

1010  2011-11-04 16:58:03 history  

添加 export HISTTIMEFORMAT="%F %T " 到 

/etc/profile  中即可自動開啟 history 時間戳了

#I

iostat 察看磁盤io

$ iostat -d -k -x 2 

Linux 2.6.32-71.el6.x86_64 (localhost.localdomain)     01/09/2012     _x86_64_    (48 CPU) 

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util 

sda               0.00    17.77    0.01   21.33     0.20   156.29    14.67     0.04    1.65   0.08   0.16 

sda               0.00    59.00    0.00  107.50     0.00   666.00    12.39     0.02    0.17   0.02   0.25 

sda               0.00     5.50    0.00   35.50     0.00   164.00     9.24     0.00    0.01   0.01   0.05 

^C 

$ iostat -d -k  2 

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn 

sda              21.34         0.20       156.29     445596  349320689 

sda               0.00         0.00         0.00          0          0 

sda              16.50         0.00        70.00          0        140 

sda              81.50         0.00       392.00          0        784 

-k 參數

某些使用block為機關的列強制使用Kilobytes為機關

-d 參數

tps:該裝置每秒的傳輸次數(Indicate the number of transfers  per  second  that  were  issued  to the device.)。“一次傳輸”意思是“一次I/O請求”。多個邏輯請求可能會被合并為“一次I/O請求”。 

kB_read/s:每秒從裝置(drive expressed)讀取的資料量; 

kB_wrtn/s:每秒向裝置(driveexpressed)寫入的資料量; 

kB_read:讀取的總資料量; 

kB_wrtn:寫入的總數量資料量;以上這些機關都為Kilobytes 。 

-x 參數 

rrqm/s:  每秒進行 merge 的讀操作數目。即 delta(rmerge)/s 

wrqm/s:  每秒進行 merge 的寫操作數目。即 delta(wmerge)/s 

r/s:     每秒完成的讀 I/O 裝置次數。即 delta(rio)/s 

w/s:     每秒完成的寫 I/O 裝置次數。即 delta(wio)/s 

rsec/s:  每秒讀扇區數。即 delta(rsect)/s 

wsec/s:  每秒寫扇區數。即 delta(wsect)/s 

rkB/s:   每秒讀K位元組數。是 rsect/s 的一半,因為每扇區大小為512位元組。(需要計算) 

wkB/s:   每秒寫K位元組數。是 wsect/s 的一半。(需要計算) 

avgrq-sz: 平均每次裝置I/O操作的資料大小 (扇區)。delta(rsect+wsect)/delta(rio+wio) 

avgqu-sz: 平均I/O隊列長度。即 delta(aveq)/s/1000 (因為aveq的機關為毫秒)。 

await:    平均每次裝置I/O操作的等待時間 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio) 

svctm:    平均每次裝置I/O操作的服務時間 (毫秒)。即 delta(use)/delta(rio+wio) 

%util:    一秒中有百分之多少的時間用于 I/O 操作,或者說一秒中有多少時間 I/O 隊列是非空的。即 delta(use)/s/1000 (因為use的機關為毫秒)

#J

#K

#L

#M

<a href="http://blog.csdn.net/bird67/article/details/2127235" target="_blank">minicom </a>

1.minicom 的執行 

第一次 啟動時: 

即輸入 minicom提示 錯誤。則 需: minicom -s 

啟動 

出現配置菜單:選serial port setup 

進入序列槽配置 

輸入A配置序列槽驅動為/dev/ttyS0 

輸入E配置速率為115200 8N1 

輸入F将 Hardware Flow Control 設 為 NO 

回車 退出 

由于我們使用minicom作為超級終端控制路由器等裝置, 而不是控制modem, 是以需要修改Modem and dialing, 将Init string, Reset string, Hang-up string設定為空. 設定完成後選擇Save setup as dfl将目前設定儲存為預設設定. 

在配置菜單 選Save setup as df1儲存(一定要記得這一步) 

選Exit退出 

下次在輸入minicon 即可直接進入。 

指令minicom是進入序列槽超級終端畫面,而minicom -s為配置minicom。 

說明/dev/ttyS0 對應為序列槽0 為你連接配接開發闆的端口。 

注意:非正常關閉minicom,會在/var/lock下建立幾個檔案LCK*,這幾個檔案阻止了minicom的運作,将它們删除後即可恢複

#N

-h 幫助資訊 

-i secs 延時的間隔 

-l 監聽模式,用于入站連接配接 

-n 指定數字的IP位址,不能用hostname 

-o file 記錄16進制的傳輸 

-p port 本地端口号 

-r 任意指定本地及遠端端口 

-s addr 本地源位址 

-u UDP模式 

-v 詳細輸出——用兩個 

-v可得到更詳細的内容 

-w secs timeout的時間 

-z 将輸入輸出關掉——用于掃描時,其中端口号可以指定一個或者用lo-hi式的指定範圍。 

<a href="http://hi.baidu.com/ego_integrity/blog/item/9f2463dc54bad0e776c638a2.html" target="_blank">//監控端口</a>

nc -nz 192.168.57.91 443 &amp;&amp; echo $? 

nc - arbitrary TCP and UDP connections and listens 

-n 這個參數隻能識别IP位址,如果是域名則不給解析 

-z 這個參數only scan 

//掃描端口

$ nc -w 2 10.0.100.70 -z 22-999 

Connection to 10.0.100.70 22 port [tcp/ssh] succeeded! 

Connection to 10.0.100.70 80 port [tcp/http] succeeded! 

Connection to 10.0.100.70 111 port [tcp/sunrpc] succeeded! 

Connection to 10.0.100.70 822 port [tcp/*] succeeded! 

Connection to 10.0.100.70 910 port [tcp/*] succeeded! 

Connection to 10.0.100.70 941 port [tcp/*] succeeded! 

//主機之間拷貝檔案

主機A監聽端口

主機監聽 1234端口,重定向資料到 rem.tar.gz

dn@dn-Vostro-230:~$ nc -l 1234 &gt; rem.tar.gz  

dn@dn-Vostro-230:~$ file rem.tar.gz  

rem.tar.gz: gzip compressed data, from Unix, last modified: Fri May 18 11:26:45 2012 

主機B傳送檔案

root@dn-ThinkPad-E420:~# nc 192.168.4.164 1234 &lt; remmina.tar.gz

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

TIME_WAIT 17 

ESTABLISHED 3254 

LAST_ACK 236 

FIN_WAIT_1 648 

FIN_WAIT_2 581 

CLOSING 7 

CLOSE_WAIT 4916 

解析: 

CLOSED //無連接配接是活動的或正在進行 

LISTEN //伺服器在等待進入呼叫 

SYN_RECV //一個連接配接請求已經到達,等待确認 

SYN_SENT //應用已經開始,打開一個連接配接 

ESTABLISHED //正常資料傳輸狀态/目前并發連接配接數 

FIN_WAIT1 //應用說它已經完成 

FIN_WAIT2 //另一邊已同意釋放 

ITMED_WAIT //等待所有分組死掉 

CLOSING //兩邊同時嘗試關閉 

TIME_WAIT //另一邊已初始化一個釋放 

LAST_ACK //等待所有分組死掉  

netstat -s | grep timestamp

... packets rejects in established connections because of timestamp

//netstat 其他參數

  -e    顯示以太網統計資訊。此選項可以與 -s選項組合使用。

  -s   顯示按協定統計資訊。預設地,顯示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的統計資訊;

執行netstat後,其輸出結果為

.....

從整體上看,netstat的輸出結果可以分為兩個部分:

一個是Active Internet connections,稱為有源TCP連接配接,其中"Recv-Q"和"Send-Q"指%0A的是接收隊列和發送隊列。這些數字一般都應該是0。如果不是則表示軟體包正在隊列中堆積。這種情況隻能在非常少的情況見到。

另一個是Active UNIX domain sockets,稱為有源Unix域套接口(和網絡套接字一樣,但是隻能用于本機通信,性能可以提高一倍)。

Proto顯示連接配接使用的協定,RefCnt表示連接配接到本套接口上的程序号,Types顯示套接口的類型,State顯示套接口目前的狀态,Path表示連接配接到套接口的其它程序使用的路徑名。

常見參數

-a (all)顯示所有選項,預設不顯示LISTEN相關

-t (tcp)僅顯示tcp相關選項

-u (udp)僅顯示udp相關選項

-n 拒絕顯示别名,能顯示數字的全部轉化成數字。

-l 僅列出有在 Listen (監聽) 的服務狀态

-p 顯示建立相關連結的程式名

-r 顯示路由資訊,路由表

-e 顯示擴充資訊,例如uid等

-s 按各個協定進行統計

-c 每隔一個固定時間,執行該netstat指令。

提示:LISTEN和LISTENING的狀态隻有用-a或者-l才能看到

#O

#P

<a target="_blank" href="http://www.cnblogs.com/ZJoy/archive/2011/03/17/1986925.html">parted 指令詳細說明</a>

check NUMBER                                檢查檔案系統 

cp [FROM-DEVICE]FROM-NUMBER TO-NUMBER      複制檔案系統到另外一個分區 

help[COMMAND]                             顯示全部幫助資訊或者指定指令的幫助資訊 

mklabel,mktable LABEL-TYPE                  在分區表中建立一個新的磁盤标簽 

mkfs NUMBER FS-TYPE                         在分區上建立一個指定類型的檔案系統 

mkpart PART-TYPE[FS-TYPE]START END          建立一個分區 

mkparts PART-TYPE[FS-TYPE]START END         建立一個分區,并在分區上建立指定的檔案系統 

move NUMBER START END                       移動分區 

name NUMBER NAME                            以指定的名字命名分區号 

print [free|NUMBER|all]                     顯示分區表、指定的分區或者所有裝置 

quit                                        退出parted程式 

rescue START END                            修複丢失的分區 

resize NUMBER START END                     更改分區的大小 

rm NUMBER                                   删除分區 

select DEVICE                               選擇需要更改的裝置 

set NUMBER FLAG STATE                       更改分區的标記 

toggle [NUMBER[FLAG]]                       設定或取消分區的标記 

unit UNIT                                   設定預設機關 

version                                     顯示parted的版本資訊

//resize 更改分區大小

(parted) p 

Model: VMware Virtual disk (scsi) 

Disk /dev/sda: 107GB 

Sector size (logical/physical): 512B/512B 

Partition Table: msdos 

Number  Start   End     Size    Type      File system  标志 

 1      32.3kB  107MB   107MB   主分區    ext3         啟動 

 2      107MB   4401MB  4294MB  主分區    linux-swap        

 3      4401MB  21.5GB  17.1GB  主分區    ext3              

 4      21.5GB  107GB   85.9GB  擴充分區               lba  

(parted) rm                                                                

分區編号? 4                                                               

(parted) p                                                                 

Number  Start   End     Size    Type    File system  标志 

 1      32.3kB  107MB   107MB   主分區  ext3         啟動 

 2      107MB   4401MB  4294MB  主分區  linux-swap        

 3      4401MB  21.5GB  17.1GB  主分區  ext3              

(parted) mkpart 

分區類型?  primary/主分區/extended/擴充分區? extended                     

起始點? 21.5GB                                                            

結束點? 100GB 

 4      21.5GB  100GB   78.5GB  擴充分區               lba  

(parted) resize 4 21.5GB 107GB                                             

 4      21.5GB  107GB   85.9GB  擴充分區               lba 

....

 5      21.5GB  483GB   462GB   logical 

(parted) toggle 5 lvm 

5      21.5GB  483GB   462GB   logical                   lvm 

pidof

pidof -- find the process ID of a running program. 

pidof sshd 

1051

#Q

#R

resize2fs

NAME 

       resize2fs - ext2/ext3/ext4 file system resizer 

SYNOPSIS 

       resize2fs  [  -fFpPM  ]  [ -d debug-flags ] [ -S RAID-stride ] device [ 

       size ] 

resize2fs計劃将調整的ext2,ext3或ext4檔案系統。 

它可用于放大或縮小位于挂載的檔案系統裝置。 

如果檔案系統被安裝,它可以用來擴大挂載檔案系統的大小,假設核心支援上線調整。  

(Linux 2.6核心的支援上線調整為檔案系統的安裝使用ext3和ext4)。

rsync 指令

rsync -av /root /tmp/ #同步整個源目錄(包括子目錄,隐藏檔案) 到 目的目錄

rsync -av /root/ /tmp/ #同步源目錄下的所有檔案(不包擴源目錄本身) 到 目的目錄

rsync -av /root/* /tmp/ #同步源目錄下的所有檔案(不包括源目錄本身,隐藏檔案) 到 目的目錄

#rsync伺服器 本地 

rsync -avz --progress test@xen::test/ /uu/test1/ 

#本地 rsync伺服器

rsync -avz --progress /data/yia_upload test@xen::test/       

#本地 本地 

rsync -av  --progress &lt;src-dir&gt;/ &lt;dst-dir&gt; 

rsync -av --progress &lt;src-dir&gt; &lt;dst-dir&gt;/

--delete 參數删除多檔案,注意 root 是系統賬戶,test 則是rsync配置的虛拟賬戶

rsync -avz --progress --delete root@xen:/data/test/ /mnt/isolinux/test/ 

--bwlimit 參數限制網絡帶寬 limit I/O bandwidth; KBytes per second

rsync -avzP rsync://192.168.57.71/iso/

<a target="_blank" href="http://www.linuxany.com/archives/226.html">rsync://</a>

Rsync的指令格式可以為以下六種: 

  rsync [OPTION]… SRC DEST 

  rsync [OPTION]… SRC [USER@]HOST:DEST 

  rsync [OPTION]… [USER@]HOST:SRC DEST 

  rsync [OPTION]… [USER@]HOST::SRC DEST 

  rsync [OPTION]… SRC [USER@]HOST::DEST 

  rsync [OPTION]… rsync://[USER@]HOST[:PORT]/SRC [DEST]

--exclude=PATTERN       exclude files matching PATTERN 

--exclude=PATTERN 

              This  option  is  a  simplified form of the --filter option that 

              defaults to an exclude rule and does not allow  the  full  rule- 

              parsing syntax of normal filter rules. 

              See  the  FILTER  RULES section for detailed information on this 

              option. 

-f, --filter=RULE           add a file-filtering RULE 

-f, --filter=RULE 

              This option allows you to add rules to selectively exclude  cer- 

              tain  files  from  the  list of files to be transferred. This is 

              most useful in combination with a recursive transfer. 

              You may use as many --filter options on the command line as  you 

              like to build up the list of files to exclude. 

#S

<a target="_blank" href="http://blog.itpub.net/post/170/65388">sar  察看網卡流量</a>

$ sar -V 

sysstat version 7.0.2 

$ sar -n DEV 2 0 

Linux 2.6.18-164.el5 (haproxy_space.yoka.com)     01/09/2012 

11:15:00 AM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s 

11:15:02 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00 

11:15:02 AM      eth0   2414.72   2253.30 474214.72 1541307.11      0.00      0.00      0.00 

11:15:02 AM      eth1   2789.85   2902.54 1576987.82 535732.49      0.00      0.00      0.00 

11:15:02 AM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00 

11:15:02 AM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s 

11:15:04 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00 

11:15:04 AM      eth0   1967.50   1746.50 407060.50 1156965.00      0.00      0.00      0.00 

11:15:04 AM      eth1   2343.50   2363.50 1226763.00 458485.50      0.00      0.00      0.00 

11:15:04 AM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00 

sysstat version 9.0.4 

$ sar -n DEV 2 | grep -E 'IFACE|eth1' 

10:43:00 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 

10:43:02 AM      eth1    140.50    133.00     25.70     64.43      0.00      0.00      0.00 

10:43:02 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 

10:43:04 AM      eth1    145.26    139.47     27.48     65.21      0.00      0.00      0.00 

10:43:04 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 

10:43:06 AM      eth1     59.81     44.50      7.08     27.71      0.00      0.00      0.00 

10:43:06 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 

10:43:08 AM      eth1    101.96     89.71     21.05     31.50      0.00      0.00      0.00 

10:43:08 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 

10:43:10 AM      eth1    138.31    134.33     25.19     57.16      0.00      0.00      0.00 

10:43:10 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 

10:43:12 AM      eth1    132.49    134.01     24.64     74.04      0.00      0.00      0.00 

-n DEV | EDEV | SOCK | FULL 

DEV參數: 

Network devices 的統計資訊被報告 

IFACE:裝置名字 

rxpck/s:每秒收到的包(package) 

txpck/s:每秒傳輸的包 

rxbyt/s:每秒收到的位元組 

txbyt/s:每秒傳輸的位元組 

rxcmp/s:每秒收到的壓縮包(如cslip..) 

txcmp/s: 

rxmcst/s: 每秒收到的廣播包

scp -P 參數

scp -P 90  rsync_tmp [email protected]:/root/ 

-P port  Specifies the port to connect to on the remote host 

# ssh 預設端口為22,如果更改了使用-P參數即可,這裡可以發現一個規律!  

command(指令名稱) option(選項) argument(參數)

          scp          -P 90        rsync_tmp [email protected]:/root/

sleep &amp;&amp; usleep

usleep - 睡眠若幹微秒   

總覽 (SYNOPSIS) 

usleep [number]   

描述 (DESCRIPTION) 

usleep 睡眠 指定數目 的 微秒數. 預設值 是 1.   

時間的機關換算 

1秒=1000毫秒(ms) 

1毫秒=1/1,000秒(s) 

1秒=1,000,000 微秒(μs)  

1微秒=1/1,000,000秒(s)  

1秒=1,000,000,000 納秒(ns)  

1納秒=1/1,000,000,000秒(s)  

1秒=1,000,000,000,000 皮秒(ps)  

1皮秒=1/1,000,000,000,000秒(s) 

<a href="http://book.51cto.com/art/200906/126278.htm" target="_blank">ssh</a>

選項 

-C (compression) 啟用壓縮功能。(在ssh的商業版本中,"-C"關閉壓縮功能,而"+C"則開啟壓縮功能。) 

-f (not foreground) 在詢問密碼之後且在執行command之前,将ssh送到背景運作。如果希望在背景執行command但是又必須輸入密碼的話,這個選項就特别有用。該選項還暗含着-n選項。 

-L 将本地系統中的某個端口轉發到遠端系統。更多資訊請參見8.6節。 

-l user (login)試圖以user使用者身份進行登入。 

-n (null)将ssh的标準輸入重定向,從/dev/null擷取輸入。如果在背景運作ssh的話(-f選項),就需要這個選項。 

-o option (option)按照配置檔案所用的格式來指定option(參見8.3.7節)。 

-p (port)指定要連接配接到的遠端主機的端口。通過使用配置檔案中的host聲明(參見8.3.7節),可以為你所連接配接到的每個系統指定不同的端口。 

-R 将遠端系統上的某個端口轉發到本地用戶端。更多資訊請參見8.6節。 

-t (tty)為遠端系統上的ssh程序配置設定一個僞tty(終端)。如果沒有使用這個選項,當你在遠端系統上運作某條指令的時候,ssh不會為該程序配置設定tty(終端)。相反,ssh将會把遠端程序的标準輸入和标準輸出附加到ssh會話上去,這通常就是你所希望的(但并非總是如此)。這個選項将強制ssh在遠端系統上配置設定tty,這樣那些需要tty的程式就能夠正常運作。 

-v (verbose)顯示與連接配接和傳送有關的調試資訊。如果指令運作不太正常的話,這個選項就會非常有用。 

-X (X11)開啟不可信X11轉發。如果在配置檔案中開啟X11不可信轉發的話,這個選項就沒有必要。更多資訊請參見8.6節的"X11轉發"部分。 

-x (X11)關閉X11轉發。 

-Y (X11trusted)開啟可信X11轉發。如果在配置檔案中開啟X11可信轉發的話,這個選項就沒有必要。更多資訊請參見8.6節的"X11轉發"部分。 

<a href="http://book.51cto.com/art/200906/126278.htm" target="_blank">ssh 執行遠端指令</a>

執行遠端指令 如果包含了command參數,ssh就會登入到host,執行command,關閉與host的連接配接,

然後将控制傳回到本地系統。遠端系統不曾顯示提示符。

$ ssh bbs2 'cat /etc/hosts' | diff - /etc/hosts

在運作ssh時,這條指令(在遠端系統上運作)的标準輸出将會傳送到本地shell,就像是這條指令在本地系統中運作一樣。

跟所有shell指令一樣,如果不希望本地系統解釋某些特殊字元,就必須将這些特殊字元用引号引起來。在上一個示例中,

bbs2上cat指令的輸出通過上的一個管道發送到diff,diff拿本地檔案/etc/hosts與

标準輸入(-)進行比較。下面的指令行具有同樣的效果,但是會讓diff在遠端系統上執行:

$ cat /etc/hosts | ssh bbs2 'diff - /etc/hosts'

遠端系統上diff的标準輸出被發送到本地shell,然後顯示在螢幕上(因為沒有進行重定向)。

<a href="http://blog.csdn.net/rufeng18/article/details/3314216" target="_blank">strace 指令</a>

-p 跟蹤指定的程序 

-f 跟蹤由fork子程序系統調用 

-F 嘗試跟蹤vfork子程序系統調吸入,與-f同時出現時, vfork不被跟蹤 

-o filename 預設strace将結果輸出到stdout。通過-o可以将輸出寫入到filename檔案中 

-ff 常與-o選項一起使用,不同程序(子程序)産生的系統調用輸出到filename.PID檔案 

-r 列印每一個系統調用的相對時間 

-t 在輸出中的每一行前加上時間資訊。 -tt 時間确定到微秒級。還可以使用-ttt列印相對時間 

-v 輸出所有系統調用。預設情況下,一些頻繁調用的系統調用不會輸出 

-s 指定每一行輸出字元串的長度,預設是32。檔案名一直全部輸出 

-c 統計每種系統調用所執行的時間,調用次數,出錯次數。 

-e expr 輸出過濾器,通過表達式,可以過濾出掉你不想要輸出

$ strace -c -p 30809 

Process 30809 attached - interrupt to quit 

Process 30809 detached 

% time     seconds  usecs/call     calls    errors syscall 

------ ----------- ----------- --------- --------- ---------------- 

 28.27    0.019333           1     25372           close 

  9.57    0.006546           1     12686           writev 

  9.21    0.006297           0     12686           accept 

  8.70    0.005951           0     12686           write 

  7.12    0.004868           0     12686           open 

  6.96    0.004756           0     12825           epoll_wait 

  6.19    0.004231           0     12635           stat 

  4.97    0.003398           0     12686           recvfrom 

  4.52    0.003092           0     12686           fstat 

  4.03    0.002755           0     12605           setsockopt 

  4.01    0.002741           0     12704           epoll_ctl 

  3.28    0.002241           0     12605           sendfile 

  3.17    0.002171           0     12686           ioctl 

100.00    0.068380                177548           total 

#T

tar

Removing leading '/' from members names 

tar  

-P, --absolute-names 

              don’t strip leading ‘/’s from file names 

 -C, --directory=DIR 

              change to directory DIR 

tar czfP mysql.tar.gz -C /usr/local/mysql/var/ mysql  

tar czfP /data/20130216/2013-02-16-wd.tar.gz -C /var/www/html/ wd 

#注意中間的空格 -C是臨時切換工作目錄,-P是絕對路徑.

$ cat tt 

c  

$ cat tt | tr '\n' ' ' 

a b c  [~]$

echo 'FLUSH TABLES WITH READ LOCK' | tr '[A-Z]' '[a-z]' 

flush tables with read lock 

#U

unzip

功能說明:解壓縮zip檔案 

語  法:unzip [-cflptuvz][-agCjLMnoqsVX][-P &lt;密碼&gt;][.zip檔案][檔案][-d &lt;目錄&gt;][-x &lt;檔案&gt;] 或 unzip [-Z] 

補充說明:unzip為.zip壓縮檔案的解壓縮程式。 

  -c   将解壓縮的結果顯示到螢幕上,并對字元做适當的轉換。 

  -f   更新現有的檔案。 

  -l   顯示壓縮檔案内所包含的檔案。 

  -p   與-c參數類似,會将解壓縮的結果顯示到螢幕上,但不會執行任何的轉換。 

  -t   檢查壓縮檔案是否正确。 

  -u   與-f參數類似,但是除了更新現有的檔案外,也會将壓縮檔案中的其他檔案解壓縮到目錄中。 

  -v   執行是時顯示詳細的資訊。 

  -z   僅顯示壓縮檔案的備注文字。 

  -a   對文本檔案進行必要的字元轉換。 

  -b   不要對文本檔案進行字元轉換。  

  -C   壓縮檔案中的檔案名稱區分大小寫。 

  -j   不處理壓縮檔案中原有的目錄路徑。 

  -L   将壓縮檔案中的全部檔案名改為小寫。 

  -M   将輸出結果送到more程式處理。 

  -n   解壓縮時不要覆寫原有的檔案。 

  -o   不必先詢問使用者,unzip執行後覆寫原有檔案。 

  -P&lt;密碼&gt;   使用zip的密碼選項。 

  -q   執行時不顯示任何資訊。 

  -s   将檔案名中的空白字元轉換為底線字元。 

  -V   保留VMS的檔案版本資訊。 

  -X   解壓縮時同時回存檔案原來的UID/GID。 

  [.zip檔案]   指定.zip壓縮檔案。 

  [檔案]   指定要處理.zip壓縮檔案中的哪些檔案。 

  -d&lt;目錄&gt;   指定檔案解壓縮後所要存儲的目錄。 

  -x&lt;檔案&gt;   指定不要處理.zip壓縮檔案中的哪些檔案。 

  -Z   unzip -Z等于執行zipinfo指令

#V

#W

#wget 指令

//-S | --server-response

//Print the headers sent by HTTP servers and responses sent by FTP servers.

 wget -S http://blog.test.com/wp-content/uploads/2012/07/u12-1.png 

--2012-07-23 13:48:30--  http://blog.test.com/wp-content/uploads/2012/07/u12-1.png 

Resolving blog.test.com (blog.test.com)... 192.168.57.82 

Connecting to blog.test.com (blog.test.com)|192.168.57.82|:80... connected. 

HTTP request sent, awaiting response...  

  HTTP/1.0 200 OK 

  Server: nginx 

  Date: Mon, 23 Jul 2012 02:50:52 GMT 

  Content-Type: image/png 

  Content-Length: 26191 

  Last-Modified: Mon, 23 Jul 2012 02:49:44 GMT 

  Expires: Sun, 19 May 2013 02:50:52 GMT 

  Cache-Control: max-age=25920000 

  Accept-Ranges: bytes 

  Age: 10644 

  X-Cache: HIT from cache02.test.com 

  X-Cache: MISS from cache01.test.com 

  Via: 1.1 cache02.test.com:80 (squid/2.7.STABLE9), 1.0 cache01.test.com:80 (squid/2.7.STABLE9) 

Length: 26191 (26K) [image/png] 

Saving to: `u12-1.png.1' 

 --no-check-certificate 以不安全的方式連接配接

wget https://192.168.7.81:1443/converter/VMware-Converter-Client.exe 

--2011-10-13 11:37:24--  https://192.168.7.81:1443/converter/VMware-Converter-Client.exe 

正在連接配接 192.168.7.81:1443... 已連接配接。 

錯誤: 無法驗證 192.168.7.81 的由 “/O=VMware Installer” 頒發的證書: 

  無法本地校驗頒發者的權限。 

錯誤: 證書通用名 “VMware default certificate” 與所要求的主機名 “192.168.7.81” 不符。 

要以不安全的方式連接配接至 192.168.7.81,使用‘--no-check-certificate’。 

wget --no-check-certificate https://192.168.57.81:1443/converter/VMware-Converter-Client.exe 

--2011-10-13 11:38:01--  https://192.168.7.81:1443/converter/VMware-Converter-Client.exe 

正在連接配接 192.168.57.81:1443... 已連接配接。 

警告: 無法驗證 192.168.57.81 的由 “/O=VMware Installer” 頒發的證書: 

警告: 證書通用名 “VMware default certificate” 與所要求的主機名 “192.168.7.81” 不符。 

已發出 HTTP 請求,正在等待回應... 200 OK 

長度: 26534072 (25M) [application/octet-stream] 

正在儲存至: “VMware-Converter-Client.exe” 

100%[======================================&gt;] 26,534,072  11.0M/s   in 2.3s     

2011-10-13 11:38:03 (11.0 MB/s) - 已儲存 “VMware-Converter-Client.exe” [26534072/26534072])

#X

#Y

#Z

本文轉自 dongnan 51CTO部落格,原文連結:http://blog.51cto.com/dngood/760878

繼續閱讀