一、遠程文件下載的兩種方法:ftp命令 + scp命令
ftp命令:
服務器若安裝了ftp Server,另外一台Linux可以使用ftp的client程序來進行文件的遠程拷貝讀取下載和寫入上載。
1. 連接ftp服務器
格式:ftp [hostname| ip-address]
a)在linux命令行下輸入:ftp 192.168.26.66
b)服務器詢問你用戶名和口令,分別輸入用戶名和相應密碼,待認證通過即可。
2. 下載文件
下載文件通常用get和mget這兩條命令。
a) get
格式:get [remote-file] [local-file]
將文件從遠端主機中傳送至本地主機中.
如要獲取服務器上e:\rose\1.bmp,則
ftp> get /rose/1.bmp 1.bmp (回車)
b) mget
格式:mget [remote-files]
從遠端主機接收一批文件至本地主機.
如要獲取服務器上e:\rose\下的所有文件,則
ftp> cd /rose
ftp> mget *.* (回車)
注意:文件都下載到了linux主機的當前目錄下。比如,在 /root/yint下運行的ftp命令,則文件都下載到了/root/yint 下。
3.上傳文件
a) put
格式:put local-file [remote-file]
將本地一個文件傳送至遠端主機中.
如要把本地的1.bmp傳送到遠端主機e:\rose,並改名為333.bmp
ftp> put 1.bmp /rose/333.bmp (回車)
b) mput
格式:mput local-files
將本地主機中一批文件傳送至遠端主機.
如要把本地當前目錄下所有bmp文件上傳到服務器e:\rose 下
ftp> cd /rose (回車)
ftp> mput *.bmp (回車)
注意:上傳文件都來自於主機的當前目錄下。比如,在 /root/test下運行的ftp命令,則只有在/root/test下的文件linux才會 上傳到服務器e:\rose 下。
4. 斷開連接
bye:中斷與服務器的連接。
ftp> bye (回車)
SCP命令:
scp是安全的文件拷貝,基於ssh的登錄。 假定你想把本地計算機/home下的一個名為a.tar.tz的文件拷貝到遠程服務器192.168.0.2上的/home/tmp。而且你在遠程服務器 上的帳號名為root。可以用這個命令:
scp /home/a.tar.tz root@192.168.0.2:/home/tmp/
如果把文件從遠程機器拷貝到本機當前目錄用這個命令:
scp root@192.168.0.2:/home/a.tar.tz
拷貝遠程機器的整個目錄下的文件
scp -r root@192.168.0.2:/home/* ./
下載到Windows平台:
如果要用scp下載到Windows平台,有以下兩種方式:
1. WinScp 工具,一個圖形化工具
2. Putty (PSCP)
命令如下:
下載:
pscp fred@example.com:/etc/hosts c:\temp\example-hosts.txt
上傳:
pscp c:\documents\foo.txt fred@example.com:/tmp/foo
另外如果用xshell的話, 還可以使用sz 和 rz命令來進行上傳下載。
二、查看文件內容命令
cat 由第一行開始顯示內容,並將所有內容輸出
tac 從最后一行倒序顯示內容,並將所有內容輸出
more 根據窗口大小,一頁一頁的現實文件內容
less 和more類似,但其優點可以往前翻頁,而且進行可以搜索字符
head 只顯示頭幾行
tail 只顯示最后幾行
nl 類似於cat -n,顯示時輸出行號
tailf 類似於tail –f
1.cat 與 tac
cat的功能是將文件從第一行開始連續的將內容輸出在屏幕上。但是cat並不常用,原因是當文件大,行數比較多時,屏幕無法全部容下時,只能看到一部分內容。
cat語法:cat [-n] 文件名 (-n : 顯示時,連行號一起輸出)
tac的功能是將文件從最后一行開始倒過來將內容數據輸出到屏幕上。我們可以發現,tac實際上是cat反過來寫。這個命令也不常用。
tac語法:tac 文件名。
2.more和less(常用)
more的功能是將文件從第一行開始,根據輸出窗口的大小,適當的輸出文件內容。當一頁無法全部輸出時,可以用“回車鍵”向下翻行,用“空格鍵”向下翻頁。退出查看頁面,請按“q”鍵。另外,more還可以配合管道符“|”(pipe)使用,例如:ls -al | more
more的語法:more 文件名
Enter 向下n行,需要定義,默認為1行;
Ctrl f 向下滾動一屏;
空格鍵 向下滾動一屏;
Ctrl b 返回上一屏;
= 輸出當前行的行號;
:f 輸出文件名和當前行的行號;
v 調用vi編輯器;
! 命令 調用Shell,並執行命令;
q 退出more
less的功能和more相似,但是使用more無法向前翻頁,只能向后翻。
less可以使用【pageup】和【pagedown】鍵進行前翻頁和后翻頁,這樣看起來更方便。
less的語法:less 文件名
less還有一個功能,可以在文件中進行搜索你想找的內容,假設你想在passwd文件中查找有沒有weblogic字符串,那么你可以這樣來做:
[root@redhat etc]# less passwd
然后輸入:
/weblogic
回車
此時如果有weblogic字符串,linux會把該字符已高亮方式顯示。
退出查看頁面,請按“q”鍵。
3.head和tail
head和tail通常使用在只需要讀取文件的前幾行或者后幾行的情況下使用。head的功能是顯示文件的前幾行內容
head的語法:head [n number] 文件名 (number 顯示行數)
tail的功能恰好和head相反,只顯示最后幾行內容
tail的語法:tail [-n number] 文件名
4.nl
nl的功能和cat -n一樣,同樣是從第一行輸出全部內容,並且把行號顯示出來
nl的語法:nl 文件名
5.tailf
tailf命令幾乎等同於tail -f,嚴格說來應該與tail --follow=name更相似些。當文件改名之后它也能繼續跟蹤,特別適合於日志文件的跟蹤(follow the growth of a log file)。與tail -f不同的是,如果文件不增長,它不會去訪問磁盤文件(It is similar to tail -f but does not access the file when it is not growing. This has the side effect of not updating the access time for the file, so a filesystem flush does not occur periodically when no log activity is happening.)。tailf特別適合那些便攜機上跟蹤日志文件,因為它能省電,因為減少了磁盤訪問嘛(tailf is extremely useful for monitoring log files on a laptop when logging is infrequent and the user desires that the hard disk spin down to conserve battery life.)。tailf命令不是個腳本,而是一個用C代碼編譯后的二進制執行文件,某些Linux安裝之后沒有這個命令,本文提供了怎么編譯安裝tailf命令的方法。
1. tailf 總是從文件開頭一點一點的讀, 而tail -f 則是從文件尾部開始讀
2. tailf check文件增長時,使用的是文件名, 用stat系統調用;而tail -f 則使用的是已打開的文件描述符; 注:tail 也可以做到類似跟蹤文件名的效果; 但是tail總是使用fstat系統調用,而不是stat系統調用;結果就是:默認情況下,當tail的文件被偷偷刪除時,tail是不知道的,而tailf是知道的。
常用參數
格式:tailf logfile
動態跟蹤日志文件logfile,最初的時候打印文件的最后10行內容。
