Linux常用命令筆記 ftp sed awk

2021-06-19 07:19:06 字數 4018 閱讀 2111

ftp    

ftp (file transferprotocol檔案傳輸協議),就是專門用來傳輸檔案的協議。

ftp伺服器,是網際網路上提供儲存空間的計算機,它們依照ftp協議提供服務。

sftp和ftp的語法幾乎一樣。只是sftp(安全檔案傳送協議)作為ssh

的一部份是secure的,為傳輸檔案提供一種安全的加密/解密方法,所以傳輸效率比普通的ftp要低得多。

所以sftp

和ftp

是基於兩個不同的軟體,有時候乙個連上另乙個連不上也正常。

linux下實現ftp服務的軟體很多,最常見有vsftpd,wu-ftp和proftp等。red hatlinux中預設安裝的是vsftpd. 通常,訪問ftp伺服器需要經過驗證,只有經過了ftp伺服器的相關驗證,使用者才能訪問和傳輸文字。

訪問格式:$ ftp 主機名/ip           如$ ftp irisutg@swucca220u

如果沒有給出主機名/ip,只是輸入乙個ftp,那麼會顯示「ftp >「等待使用者輸入命令。此時可以通過open來開啟遠端連線:ftp >openirisutg@swucca220u

常用命令:

ls 列出遠端機的當前目錄

cd在遠端機上改變工作目錄

lcd在本地機上改變工作目錄,能夠雙線操作,而不用切回

shell

ascii 設定檔案傳輸方式為ascii模式

binary 設定檔案傳輸方式為二進位制模式

hash 每次傳輸完資料緩衝區中的資料後就顯示乙個#號

get(mget) 從遠端機傳送指定檔案到本地機,括號內的命令是操作多個

put(mput) 從本地機傳送指定檔案到遠端機

open 連線遠端ftp站點

bye終止當前的ftp會話

? 顯示本地幫助資訊

!轉到shell中,例如在get的時候,要建乙個新目錄來儲存,就可以:$!mkdir newdir

sedsed是乙個很好的檔案處理工具,本身是乙個管道命令,主要是以行為單位進行處理,可以將資料行進行替換刪除新增選取等特定工作,下面先了解一下sed的用法

sed命令列格式為:

sed [-nefri] 『command

輸入文字

常規選項:

-n∶使用安靜

(silent)

模式。在一般 sed 的用法中,所有來自stdin的資料一般都會被列出到螢幕上。但如果加上 -n 引數後,則只有經過sed 特殊處理的那一行(或者動作)才會被列出來。

-e∶直接在指令列模式上進行sed 的動作編輯;

-f∶直接將 sed 的動作寫在乙個檔案,-ffilename 則可以執行 filename 內的sed 動作;

-r∶sed 的動作支援的是延伸型正規表示法的語法。(預設是基礎正規表示法語法)

-i∶直接修改讀取的檔案內容,而不是由螢幕輸出。      

常用命令:

a∶新增, a 的後面可以接字串,會自動另起一行

c∶取代, c 的後面可以接字串,這些字串可以取代 n1,n2 之間的行!

d∶刪除,因為是刪除啊,所以d 後面通常不接任何咚咚;

i∶插入, i 的後面可以接字串,會自動另起一行;

p∶列印,亦即將某個選擇的資料印出。通常 p 會與引數 sed -n 一起運作~

s  ∶取代,可以直接進行取代的工作哩!通常這個s 的動作可以搭配正規表示法!例如 1,20s/old/new/g 就是啦!

刪除某行:

$ sed '1d' testfile              刪除第一行

$ sed '$d' testfile              刪除最後一行

$ sed '1,2d' testfile             刪除第一行到第二行

$ sed '2,$d'testfile             刪除第二行到最後一行,最後一行用

$表示。

顯示某行:

$ sed -n '1p' testfile             顯示第一行

$  sed -ni'1p' testfile              

如果加上i,就直接在檔案生效,檔案中就剩你顯示的那一行。

使用模式進行查詢

增加n行字串,a和i

效果很像,如果還要換行就加\n

$ sed '1a addchars1line' testfile       在第一行後面加,會自動另起一行

addchars1line

boycatdog

$ sed '1,3a addchars1line' testfile      [1,3],每行都加,這個看起來有點詭異

addchars1line

boyaddchars1line

cataddchars1line

dog代替一行或多行

$ sed '1,3c hellowrold' testfile           第1到3行替換

hellowrold

dog替換一行中的某部分,格式:sed 's/要替換的字串/新的字串/g' 

cbale

awkawk是乙個強大的文字分析工具,相對於grep的查詢,sed的編輯,awk在其對資料分析並生成報告時,顯得尤為強大。簡單來說awk就是以行為單位(

\n分割),把檔案逐行讀入以空格為預設分隔符將每行切片,切開的部分再進行各種分析處理。概況來說,就是在檔案或者字串中基於指定規則瀏覽和抽取資訊。

基本語法為:awk

''

其中 pattern 表示 awk 在資料中查詢的內容,而action 是在找到匹配內容時所執行的一系列命令。花括號({})不需要在程式中始終出現,但它們用於根據特定的模式對一系列指令進行分組。 pattern就是要表示的正規表示式,用斜槓括起來。

列印可以使用print和printf,後者是帶格式的,能使**更加簡潔。

比較簡單的應用,列印檔案的許可權 : $ ls -l | awk '

也可以規定分割字元:$ cat/etc/passwd |awk-f ':'''

還可以在一前一後新增首尾行:   先執行begin,讀取輸入,再執行end

$ ls -l | awk 'begin end'

size,name

4096,desktop

4096,documents

end,end

也能直接對檔案使用:

$ awk '' sortnew.txt

filename:sortnew.txt,linenumber:2,columns:1,linecontent:boy

filename:sortnew.txt,linenumber:3,columns:1,linecontent:cat

filename:sortnew.txt,linenumber:4,columns:1,linecontent:dog

搜尋功能,類似grep,而且同時可以對搜尋結果進行處理。下面兩條指令的結果是一樣的:

' sortnew.txt

……參考網上博文

Linux常用命令筆記

file sbin init uname a uname r 檢視系統核心版本lsb release arm file 刪除檔案 rm r folderpath 刪除目錄 root dev4svn useradd 123 root dev4svn su 123 123 dev4svn root su...

Linux常用命令筆記

1 centos 是將redhat發行的源 重新編譯一次,形成乙個使用的二進位制版本。redhat兩大linux系列 fedoracore系列,主要用於桌面系統 收費的enterprise系列,redhat enterprise linux 簡寫rhel。2 使用xmanager啟 形介面 a 啟動...

Linux 常用命令筆記

修改密碼 sudo passwd username建立檔案 touch filename touch filename1 filename2複製檔案 cp i file1 folder1 cp r folder1 folder2 複製整個資料夾時需要加命令 r cp file folder2 複製所...