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