Linux常用命令2(遠程文件下載+查看文件內容)


一、遠程文件下載的兩種方法: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行內容。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM