文章目錄
- 1.wget
- 2.scp(伺服器之間的互相拷貝)
- 3.ps aux
- 4.cp:拷貝目錄
- 5.mv:更改目錄或檔案名稱
- 6.find:尋找某目錄下包含某關鍵詞的檔案
- 7.rm:刪除目錄
- 8.tail:查看檔案最後的幾行
- 9.rz和sz:linux和windows之間互傳檔案
- 10.mysql:串連MySql資料庫
- 11.crontab:定時執行linux下的計劃任務
- 12.vim下的代碼縮排設定
- 13.tar:解壓和壓縮
- 14.php:執行php檔案
- 15.“>>”和“>”
- 16.curl
1.wget
wget是一個從網路上自動下載檔案的自由工具,支援通過HTTP、HTTPS、FTP三個最常見的TCP/IP協議下載,並可以使用HTTP代理。
命令格式:wget [options] [URL]
2.scp(伺服器之間的互相拷貝)
scp 命令是 SSH 中最方便有用的命令了。試想在兩台伺服器之間直接傳送檔案,僅僅用 scp 一個命令就完全解決了。
你可以在一台伺服器上以 root 身份運行scp servername:/home/ftp/pub/file1 ./ 這樣就把另一台伺服器上的檔案 /home/ftp/pub/file1 直接傳到本機器的目前的目錄下了。
當然你也可以用 scp /tmp/file2 servername:/boot 把本機上的檔案 /tmp/file2 送到另一台機器的 /boot 目錄下。而且整個傳送過程仍然是用 SSH 加密的。
scp就是secure copy,是用來進行遠程檔案拷貝的。資料轉送使用 ssh,並且和ssh 使用相同的認證方式,提供相同的安全保證 。 與rcp 不同的是,scp 在需要進行驗證時會要求你輸入密碼或口令。
其通用格式,可以簡記為,scp -r 源檔案 目標位置:表示將源檔案拷貝到目標位置。其中-r選項,是在拷貝目錄時使用。
(1)scp -r live/ zhaolincheung@db-feiyan.db01.baidu.com:/home/bugfixpcui/app/search/video/
將本地 live目錄傳送到另一台zhaolincheung@db-feiyan.db01.baidu.com機器的/home/bugfixpcui/app/search/video/目錄下。
(2)scp -r ala-common/ zhaolincheung@db-feiyan.db01.baidu.com:/home/bugfixpcui/app/search/video/
將本地ala-common目錄傳送到另一台zhaolincheung@db-feiyan.db01.baidu.com機器上的/home/bugfixpcui/app/search/video/目錄下。
(3)scp zhaolincheung@192.168.11.22:/home/abc/file1.php ./
表示將遠程機器192.168.11.22上/home/abc/file1.php檔案拷貝到目前的目錄。其中執行後需要輸入使用者zhaolinchueng的密碼才可以。
3.ps aux
常用ps命令參數 進程查看命令,需掌握一些最常用的命令參數就可以了。最常用的三個參數是u、a、x。
a 顯示終端上的所有進程,包括其他使用者的進程。x 顯示沒有控制終端的進程。u user 使用者名稱。
4.cp:拷貝目錄
cp - r /usr/xu/ /usr/liu/ 將/usr/xu目錄中的所有檔案及其子目錄拷貝到目錄/usr/liu中
5.mv:更改目錄或檔案名稱
mv /home/abc /home/abcd
6.find:尋找某目錄下包含某關鍵詞的檔案
find . -name '*.*' | grep "*.*"
7.rm:刪除目錄
rm -rf 目錄名
8.tail:查看檔案最後的幾行
tail 檔案名稱:表示查看檔案的後10行。
其中有一個很好用的參數" -f ",使用此參數時,tail 不會回傳結束訊號,除非我們去自行去中斷它;相反的,它會一直等待一段時間,一直到他發現資料自它最後一次被讀取後,又被加入新的一行時,即它將會以一定的時間即時追蹤該檔的所有更新。eg: tail -f file
tail的另一個參數是-n N,使用此參數是查看最後N行。如:tail -n 100 file :表示查看檔案file的後100行。
9.rz和sz:linux和windows之間互傳檔案
rz -be:上傳windows的東西到linux中。運行該命令會彈出一個檔案選擇視窗,從本地選擇檔案上傳到伺服器。
sz:將linux中的檔案下載到windows中。檔案會下載到secure crt中的預設下載目錄。如下所舉例:
sz -be ui.tar.gz:表示將ui.tar.gz下載到自己的本機中。
註:
配置上傳下載目錄:選擇某個"session 標籤"->"會話選項"->"終端"->"X/Y/Zmodem",之後就會看到上傳和下載目錄,可以在這裡設定。
10.mysql:串連MySql資料庫
(1)命令格式如下:mysql -hhost -uusername -ppassword -Pport
其中mysql需要在usr/local/bin目錄下有可執行檔。否則,需要使用mysql安裝目錄的絕對路徑下的mysql命令。
絕對路徑的使用方法為:/mysql安裝目錄/mysql -hhost -uusername -ppassword -Pport
如:/usr/local/webserver/mysql/bin/mysql -hhost -uusername -ppassword -Pport
(2)給出一個使用樣本:/usr/local/webserver/mysql/bin/mysql -h192.168.112.123 -usean -prewq1234 -P3306 --default-character-set=utf8
表示串連主機為192.168.112.123、使用者名稱為sean、密碼為rewq1234、連接埠號碼為3306的mysql資料庫,預設字元集utf-8。
(3)串連上mysql後,可以使用下面簡單的命令查看所自主資料庫、資料庫下所包含的表、表的結構.
顯示所有資料庫的命令:show databases;
使用某個資料庫:use 資料庫;
顯示某個資料庫中的表的結構:show create table 表名;
11.crontab:定時執行linux下的計劃任務
可以使用命令:crontab -e
之後會開啟目前使用者的計劃任務檔案,使用者可以在這裡輸入要執行的命令即可。
給一個參考連結:http://blog.csdn.net/21aspnet/article/details/6798179
例如:
(1)首先執行crontab -e
(2)然後輸入:0 5 * * * cd /home/seanzhao; sh dingding_insert_db.sh
表示每天5點0分執行/home/seanzhao目錄下的dingding_insert_db.sh指令碼。
crontab使用時,遇到過一個問題:當如下寫時,第一行的命令可以執行,第二行的命令卻不執行,即test1.php檔案執行了,但test2.php檔案沒有執行。
0 5 * * * /usr/local/php/bin/php /data/analys/php/test1.php
30 5 * * * /usr/local/php/bin/php /data/analys/hive/test2.php
後來,將第二行更改為如下,即需要先使用cd進入所要執行的檔案的目錄才行,這樣test1.php和test2.php就都執行了。
0 5 * * * /usr/local/php/bin/php /data/analys/php/test1.php
30 5 * * * cd /data/analys/hive; /usr/local/php/bin/php test2.php
12.vim下的代碼縮排設定
代碼一般採用每級縮排4格。可以通過在vim命令列狀態下輸入:set tabstop=4;set expandtab這兩個命令實現。
其中linux下tab的預設縮排是一個定位字元(8個空格),通過set tabstop=4我們設定為定位字元為4個空格。
通過set expandtab命令,表示在縮排和遇到 Tab 鍵時使用空格替代,同時使用set noexpandtab表示 取消該設定。比如按一次tab縮排一個定位字元(相當於4個空格的長度),如果設定了set expandtab,則當按tab鍵的時候,是縮排4個空格,而不是一個定位字元,則使用者在按回退鍵時也是在回退空格。也就是說:如果不設定expandtab,縮排時縮排的是定位字元;設定了expandtab,縮排時是縮排的空格,而不是定位字元。
set shiftwidth=N:是當使用者shift+"V"選擇一段文本後,按住shift+“<”、shift+“>”時,縮排N個空格。
給一個參考連結:http://www.it300.com/article-15251.html
13.tar:解壓和壓縮
打包(壓縮)目前的目錄為abc.tar.gz:tar -zcvf abc.tar.gz *
解壓某個目錄到當前位置:tar -zxvf abc.tar.gz
區別:打包是zcvf(其中c表示create),解壓是zxvf(其中x是extract)。
14.php:執行php檔案
eg:/usr/local/php/bin/php /home/zhaolincheung/test.php :執行/home/zhaolincheung/目錄下的test.php檔案。
15.“>>”和“>”
>>:表示追加文本;eg:tail -f file1 >> result.txt 表示將file1的內容即時追加到result.txt中。
>:表示重寫文本;eg: tail -f file1 > result.txt 會首先清空result.txt中的內容,然後才將內容寫到result.txt中。
16.curl
curl url:會返回url解析後的內容;
eg: curl www.baidu.com :會將www.baidu.com的頁面原始碼輸出到標準螢幕。
curl還可以進行hosts映射,即完成/etc/hosts檔案的功能。
如我們有下面一個需求:通過http訪問http://bj.ganji.com/jobfairs/jobfairs_im_port.php?action=getIms,擷取其返回的資料。但是我們所在的環境和bj.ganji.com不在一個網段,所以這就需要進行一個網域名稱和ip進行映射,如下:
10.3.255.201 http://bj.ganji.com
但如果我們不想更改/etc/hosts檔案,此時我們可以通過linux下的curl命令來進行綁定擷取,可以如下方式進行hosts映射:
curl -H "Host: bj.ganji.com" http://10.3.255.201/jobfairs/jobfairs_im_port.php?action=getIms
這樣當使用者訪問http://bj.ganji.com/jobfairs/jobfairs_im_port.php?action=getIms,其實就是訪問了http://10.3.255.201/jobfairs/jobfairs_im_port.php?action=getIms,而且會輸出返回的資料。
參考連結:http://blog.csdn.net/gggxin/article/details/4394978
php也有curl擴充模組來實現同樣的功能,參考連結:http://www.gosoa.com.cn/php-curl-curlopt_httpheader%E8%AE%BE%E7%BD%AEhost