用了一段linux,總結(jié)一下平時(shí)經(jīng)常用到的命令
壓縮解壓命令tar
格式: tar [選項(xiàng)] [文件或目錄,,多個(gè)時(shí)用空格隔開]
獨(dú)立選項(xiàng)
追加和更新命令只適用于未壓縮過的tar打包文件,,否則會(huì)提示‘tar: Cannot append to compressed archive.’
可選選項(xiàng)
- z:gzip壓縮
- j:bz2壓縮
- v:顯示信息
- p:保留文件屬性
- f:文件名(必須,且要放到最后)
- N:比后面接的日期(yyyy/mm/dd)還要新的才會(huì)被打包進(jìn)新建的文件中
- exclude :打包時(shí)排除某些文件或文件夾
示例:
BASH
1
2
3
4
5
6
7
8
| #將文件夾file壓縮到file.tar
tar -cvf file.tar file/
#解壓file.tar包到當(dāng)前目錄
tar –xvf file.tar ./
#在 /home 當(dāng)中,,比 2005/06/01 新的文件才備份
tar -N '2005/06/01' -zcvf home.tar.gz /home
#備份 /home, /etc ,,但不要 /home/dmtsai
tar -exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc |
拷貝文件cp、scp
cp — 主要是用于在同一臺(tái)電腦上,,在不同的目錄之間來回copy文件
scp — 主要是在不同的Linux系統(tǒng)之間來回copy文件
格式:cp [OPTIONS] 源 目錄— 多個(gè)源文件用空格分隔
OPTIONS:
-a same as -dpR 盡可能將源文件狀態(tài),、權(quán)限等資料都照原裝予以復(fù)制,并且是遞歸copy,;
-r 表示遞歸copy,,若source中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地,;
-f 表示force,,若目的地已經(jīng)有相同檔名的檔案存在,則在復(fù)制前先予以刪除再行復(fù)制,;
示例:
BASH
1
2
3
4
| #將文件夾img和images的文件和文件夾都拷貝到/tmp/images/
cp -arf img/* images/* /tmp/images/
#將本地home目錄拷貝至遠(yuǎn)程主機(jī)
scp -r /home/ root@192.168.1.2:/home/root |
數(shù)據(jù)同步rsync
發(fā)版用,,一次同步多臺(tái)主機(jī),比scp強(qiáng)大很多
格式:rsync [option] 源路徑 目標(biāo)路徑
常用option參數(shù)
- a, –archive 歸檔模式,,表示以遞歸方式傳輸文件,,并保持所有文件屬性
- b, –backup 創(chuàng)建備份,也就是對(duì)于目的已經(jīng)存在有同樣的文件名時(shí),,將老的文件重新命名為~filename,。可以使用–suffix選項(xiàng)來指定不同的備份文件前綴,。
- –backup-dir 將備份文件(如~filename)存放在在目錄下,。
- -suffix=SUFFIX 定義備份文件前綴
- –delete 刪除那些DST中SRC沒有的文件
- –bwlimit=KBPS 限制I/O帶寬
示例
BASH
1
2
3
4
| #將本機(jī)/tmp/a文件夾 同步至/tmp/b
rsync -avzP --delete /tmp/a /tmp/b
#將遠(yuǎn)程主機(jī)x中/tmp/a下的文件下載至本機(jī) /tmp/b
rsync -avz -e ssh root@192.168.0.1:/tmp/a /tmp/b |
改變文件屬性chmod
格式chmod [-cfvR] mode file
- -c : 若該檔案權(quán)限確實(shí)已經(jīng)更改,才顯示其更改動(dòng)作
- -f : 若該檔案權(quán)限無法被更改也不要顯示錯(cuò)誤訊息
- -R : 對(duì)目前目錄下的所有檔案與子目錄進(jìn)行相同的權(quán)限變更(即以遞回的方式逐個(gè)變更)
重點(diǎn)說下mode
+ 表示增加權(quán)限,、- 表示取消權(quán)限,、= 表示唯一設(shè)定權(quán)限。
r 表示可讀取,,w 表示可寫入,,x 表示可執(zhí)行,X 表示只有當(dāng)該檔案是個(gè)子目錄或者該檔案已經(jīng)被設(shè)定過為可執(zhí)行,。
另外權(quán)限可以用數(shù)字表示:r=4,,w=2,x=1(將rwx看成二進(jìn)制數(shù),,如果有則有1表示,,沒有則有0表示),。組合后共三位,第一位表示uesr的權(quán)限,,第二位表示user所在group的權(quán)限,,第三位表示其他用戶other
若要rwx屬性則4+2+1=7;
若要rw-屬性則4+2=6;
若要r-x屬性則4+1=5;
若要r–屬性則4;
若要-wx屬性則2+1=3;
若要-w-屬性則2;
若要–x屬性則1;
取消所有屬性則0。
示例
BASH
1
2
3
4
| #給所有用戶讀寫執(zhí)行的權(quán)限,。
chmod -R 777 dir/
#給用戶rwx權(quán)限,,給用戶組rx權(quán)限,其他用戶不給權(quán)限
chmod -R 750 dir/ |
這里要再提到一個(gè)命令chown,,root用戶可以使用此指令改變文件所屬的用戶和用戶組:chown user:group file
例如要把文件的屬主改為運(yùn)行apache的用戶和組,,好讓web用戶可以訪問到文件可以執(zhí)行 chown _www:_www file。這里的_www可以在http.conf配置,。
采集神器wget,、curl
先說wget,格式:wget [options] [URL]
常用參數(shù)
- -o:記錄log信息,,用法-ofilename
- -a:追加log信息
- -O:將文件保存到文件 -Ofilename
- -c:斷點(diǎn)續(xù)傳
- –referer,referer值,,采集必用
- –load-cookies=FILE 在開始會(huì)話前從文件 FILE中加載cookie
- –save-cookies=FILE 在會(huì)話結(jié)束后將 cookies保存到 FILE文件中
- -nc, –no-clobber 不要覆蓋已經(jīng)存在的文件
- -T,–timeout=SECONDS 設(shè)置超時(shí)時(shí)間
- -x,強(qiáng)制建立目錄(保持目標(biāo)網(wǎng)站的目錄結(jié)構(gòu))
- -r,遞歸下載整個(gè)網(wǎng)站
全部參數(shù)見手冊(cè)http://www./software/wget/manual/wget.html
curl沒有遞歸下載,,但是支持的協(xié)議要比wget多很多,,用法也更靈活
格式:curl [option] url
常用參數(shù)
- -c:斷點(diǎn)續(xù)傳
- -o:文件名,要自己寫
- -O:文件名,,自動(dòng)(和服務(wù)器上的名字一樣)
- -D:保存cookie,curl -D cookie.txt URL
- -b:使用cookie,curl -b cookie.txt URL
- -A:發(fā)送瀏覽器信息,,偽裝成瀏覽器。curl -A “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1626.0″ URL,這樣對(duì)方服務(wù)器會(huì)認(rèn)為我們是一個(gè)在macos上跑的chrom瀏覽器,。
- -e:填寫referer值,。
- -d:post模式,以application/x-www-url-encoded發(fā)送請(qǐng)求,。d后面填寫要提交的參數(shù)即可 curl -d”a=xx&b=xx&c=xx”,。
- -F模擬 multipart/form-data 形式的 form 上傳文件。curl -F “action=upload” -F”[email protected];type=application/octet-stream” URL
|