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: 該位可以了解為防删除位. 一個檔案是否可以被>某使用者删除, 主要取決于
該檔案所屬的組是否對該使用者具有寫權限. 如果沒有寫權限, 則這個目錄下的所有檔案都不
能被删除, 同時也不能添加新的檔案. 如果希望使用者能夠添加檔案但同時不能删除檔案, 則
可以對檔案使用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: <none>
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 <檔案系統類型>][檔案系統...]
補充說明:當檔案系統發生錯誤四化,可用fsck指令嘗試加以修複。
參 數:
-a 自動修複檔案系統,不詢問任何問題。
-A 依照/etc/fstab配置檔案的内容,檢查檔案内所列的全部檔案系統。
-N 不執行指令,僅列出實際執行會進行的動作。
-P 當搭配"-A"參數使用時,則會同時檢查所有的檔案系統。
-r 采用互動模式,在執行修複時詢問問題,讓使用者得以确認并決定處理方式。
-R 當搭配"-A"參數使用時,則會略過/目錄的檔案系統不予檢查。
-s 依序執行檢查作業,而非同時執行。
-t<檔案系統類型> 指定要檢查的檔案系統類型。
-T 執行fsck指令時,不顯示标題資訊。
-V 顯示指令執行過程。
#G
#H
<a target="_blank" href="http://baike.baidu.com/view/4808053.htm">hdparm</a>
功能:顯示與設定硬碟的參數,hdparm可檢測,顯示與設定IDE或SCSI硬碟的參數。
-a<快取分區> 設定讀取檔案時,預先存入塊區的分區數,若不加上<快取分區>選項,則顯示目前的設定。
-A<0或1> 啟動或關閉讀取檔案時的快取功能。
-c<I/O模式> 設定IDE32位I/O模式。
-C 檢測IDE硬碟的電源管理模式。
-d<0或1> 設定磁盤的DMA模式。
-f 将記憶體緩沖區的資料寫入硬碟,并清除緩沖區。
-g 顯示硬碟的磁軌,磁頭,磁區等參數。
-h 顯示幫助。
-i 顯示硬碟的硬體規格資訊,這些資訊是在開機時由硬碟本身所提供。
-I 直接讀取硬碟所提供的硬體規格資訊。
-k<0或1> 重設硬碟時,保留-dmu參數的設定。
-K<0或1> 重設硬碟時,保留-APSWXZ參數的設定。
-m<磁區數> 設定硬碟多重分區存取的分區數。
-n<0或1> 忽略硬碟寫入時所發生的錯誤。
-p<PIO模式> 設定硬碟的PIO模式。
-P<磁區數> 設定硬碟内部快取的分區數。
-q 在執行後續的參數時,不在螢幕上顯示任何資訊。
-r<0或1> 設定硬碟的讀寫模式。
-S<時間> 設定硬碟進入省電模式前的等待時間。
-t 評估硬碟的讀取效率。
-T 評估硬碟快取的讀取效率。
-u<0或1> 在硬碟存取時,允許其他中斷要求同時執行。
-v 顯示硬碟的相關設定。
-W<0或1> 設定硬碟的寫入快取。
-X<傳輸模式> 設定硬碟的傳輸模式。
-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 && 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 > 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 < 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 <src-dir>/ <dst-dir>
rsync -av --progress <src-dir> <dst-dir>/
--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 && 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
a
b
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 <密碼>][.zip檔案][檔案][-d <目錄>][-x <檔案>] 或 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<密碼> 使用zip的密碼選項。
-q 執行時不顯示任何資訊。
-s 将檔案名中的空白字元轉換為底線字元。
-V 保留VMS的檔案版本資訊。
-X 解壓縮時同時回存檔案原來的UID/GID。
[.zip檔案] 指定.zip壓縮檔案。
[檔案] 指定要處理.zip壓縮檔案中的哪些檔案。
-d<目錄> 指定檔案解壓縮後所要存儲的目錄。
-x<檔案> 指定不要處理.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%[======================================>] 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