rsync 就是遠程同步的意思remote sync.
我們提供的服務有:成都網站設計、做網站、微信公眾號開發、網站優化、網站認證、寧德ssl等。為上千多家企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的寧德網站制作公司
rsync 被用在UNIX / Linux執行備份操作操作.
rsync 工具包被用來從一個位置到另一個位置高效地同步文件和文件夾. rsync可以實現在同一臺機器的不同文件直接備份,也可以跨服務器備份.
rsync 語法如下
從語法結構我們可以看出, 源和目標即可以在本地也可以在遠端. 如果是遠端的話,需要指明登錄用戶名, 遠端服務器名, 和遠端文件或目錄. 同時源可以是多個, 目標位置只能是一個.
說明:
-z: --compress 使用壓縮機制
-v: --verbose 打印詳細信息
-r: --recursive 以遞歸模式同步子目錄
注意: 同步完成后, 我們會發現文件的時間戳timestamps發生了改變.
有時我們希望拷貝或同步時, 時間戳不要發生變化, 源文件是什么時間戳,目標文件就是什么時間戳, 這時我們需要使用 -a --archive 歸檔模式選項. -a 選項相當于7個選項的組合 -rlptgoD
-r, --recursive: 遞歸模式Recursive mode
-l, --links: 將符號鏈接當作符號鏈接文件拷貝, 不拷貝符合鏈接指向的文件內容.
-p, --perms: 保留文件權限
-t, --times: 保留修改時間戳
-g, --group: 保留用戶組信息
-o, --owner: 保留用戶信息(需要超級用戶權限)
-D, 相當于 --devices --specials 的組合, 保留設備文件, 保留特殊文件.
同步完成后, 我們再來看文件屬性, 時間戳信息得到了保留, 不僅如此文件的所有者 和所在組也得到保留.
說明: Pubkeys 是一個普通文件
使用rsync, 也可以從本地拷貝多個文件或目錄到遠端, 以下即為示例:
注意:
與本地文件拷貝不同的地方在于, 當拷貝文件到遠程服務器時, 我們指定遠程主機上的用戶名, 服務器地址, 路徑等信息, 類是于使用scp命令拷貝, 如果沒有設置ssh免密碼登錄我們還需要提供遠程用戶的密碼等信息.有時你不想頻繁輸入密碼, 或者rsync運行在一個無人執守的腳本里面, 這是需要預先設置ssh免密登錄, 或者使用結合expect命令,自動輸入密碼, 但是出于安全考慮, 密碼需要加密. 所以在條件許可的情況下, 還是推薦設置ssh免密登錄.
與示例 4 稍有不同, 這時遠端目錄或文件作為源位置, 本地目錄或文件作為目標位置, 示例如下:
rsync 允許指定遠程主機上運行shell命令.
這時需要使用 -e 選項:
-e, --rsh=COMMAND 指定遠端使用的shell命令
Use rsync -e ssh to specify which remote shell to use. In this case, rsync will use ssh.
在一下特殊的使用場景中, 我們不希望拷貝文件時, 我們不希望拷貝過程覆蓋掉目標位置中用戶做出的修改. 這時我們需要使用 -u 選項明確的告訴rsync命令保留用戶在目標文件中作出的修改. 在下面的例子中, 文件Basenames是用戶基于上次的拷貝, 修改過的文件, 當我們使用了-u 選項后, 該文件中的修改將不會被覆蓋掉.
在某些特殊場景中, 我們只需要遠程服務器上的目錄結構, 而不希望花大量時間, 帶寬拷貝文件內容, 這時我們可以使用 -d, --dirs選項來達到目的.
有時我們希望拷貝文件時, 能實時的顯示拷貝進度, 以及傳輸速率等信息. 尤其是拷貝大文件時, 程序不輸出信息, 用戶往往無法區分程序是在響應中, 還是已經掛起, 在這種情況下如果使用 –progress 就會非常有幫助.
rsync –progress option displays detailed progress of rsync execution as shown below.
你也可以使用rsnapshot工具 (rsnapshot會調用rsync)來備份本地linux服務器, 或者備份遠程linux服務器.
有時我們希望目標文件和源文件保持嚴格一致, 不要多文件也不要少文件, 這是我們可能需要使用 -delete 選項來達到目的. 如果使用 -delete 選項, rsync將刪除目標位置多余的文件或文件夾. 此選項還可以結合--delete-excluded 選項一起使用, 添加一些例外的文件.
上述示例中, new-file.txt 是源文件中沒有的文件, 其將會在拷貝時被刪除掉.
在某些特殊的場景下, 我們只想更新, 目標位置已經存在的文件或目錄, 而不關心源位置的新文件, 這時我們可以使用-existing 選項僅僅更新已經存在的文件.
讓我們來驗證一下這個選項的功能, 首先在源端添加一個新文件 new-file.txt.
從上面的例子可以看到, 由于加了--existing選項新文件new-file.txt沒有被拷貝到目標位置
選項-i, --itemize-changes 非常有用, 當我們想了解目標位置和源位置的文件差異時.
在源端:
在目標端:
注意: 在上面的例子中, 源位置和目標位置有兩處差異. 第一, 源文件Basenames的所有者和組 與 目標文件不同, 第一Dirnames文件大小也不一樣.
現在讓我們來看看rsync會怎樣顯示這些差異
輸出信息只在相應文件前面顯示了9個字母來標識改變, 這些字母具體是什么意思呢? 請參考以下詳細說明
rsync 可以使用--include 和 --exclude 選項結合通配符進行文件或文件夾過濾
在上面的示例中, 僅僅以P打頭的文件和文件夾被包含了進來, 其他的文件都被過濾在拷貝的過程中被排除在外了.
可以使用--max-size 告訴rsync 不要拷貝大小超過某個值的文件, 可以使用K, M, G指定文件大小, M for megabytes and G for gigabytes.
rsync 有個重要優點就是, 可以做到在拷貝的過程中, 只拷貝發生變化了的部分, 而不是發送整個文件.
但是在某些場景中, 比如文件較少, 文件size較小時, 我們的帶寬又足夠大, cpu資源相對又貧乏, 我們不希望它這樣做, 因為畢竟計算源端和目標端的checksum, 并做對比, 也需要額外cpu開銷. 這時我們可以使用 -W, --whole-file 選項, 讓rsync不用計算那么多, 一上來就直接開始傳送文件. 我們可以像下面這么做.
15個Rsync命令實例
你創建的用戶沒有權限,可以修改/etc/sudoers文件,將此用戶加入到文件中,這樣次用戶就可以用在命令前加sudo來運行,根據提示輸入此用戶密碼即可,也就是運行命令的時候可以有root權限
~$ sudo xxxxxxxx (xxxxxx代表你要運行的程序)
計算機網絡的主要優點是能夠實現資源和信息的共享,并且用戶可以遠程訪問信息。Linux提供了一組強有力的網絡命令來為用戶服務,這些工具能夠幫助用戶登錄到遠程計算機上、傳輸文件和執行遠程命令等。 本章介紹下列幾個常用的有關網絡操作的命令:
ftp 傳輸文件
telnet 登錄到遠程計算機上
r - 使用各種遠程命令
netstat 查看網絡的狀況
nslookup 查詢域名和IP地址的對應
finger 查詢某個使用者的信息
ping 查詢某個機器是否在工作
使用ftp命令進行遠程文件傳輸
ftp命令是標準的文件傳輸協議的用戶接口。ftp是在TCP/IP網絡上的計算機之間傳輸文件的簡單有效的方法。它允許用戶傳輸ASCII文件和二進制文件。 在ftp會話過程中,用戶可以通過使用ftp客戶程序連接到另一臺計算機上。從此,用戶可以在目錄中上下移動、列出目錄內容、把文件從遠程機拷貝到本地機上、把文件從本地機傳輸到遠程系統中。
需要注意的是,如果用戶沒有那個文件的存取權限,就不能從遠程系統中獲得文件或向遠程系統傳輸文件。 為了使用ftp來傳輸文件,用戶必須知道遠程計算機上的合法用戶名和口令。這個用戶名/口令的組合用來確認ftp 會話,并用來確定用戶對要傳輸的文件可以進行什么樣的訪問。另外,用戶顯然需要知道對其進行ftp 會話的計算機的名字或IP地址。
Ftp命令的功能是在本地機和遠程機之間傳送文件。該命令的一般格式如下:
$ ftp 主機名/IP
其中“主機名/IP”是所要連接的遠程機的主機名或IP地址。在命令行中,主機名屬于選項,如果指定主機名,ftp將試圖與遠程機的ftp服務程序進行連接;如果沒有指定主機名,ftp將給出提示符,等待用戶輸入命令: $ ftp ftp 此時在ftp提示符后面輸入open命令加主機名或IP地址,將試圖連接指定的主機。 不管使用哪一種方法,如果連接成功,需要在遠程機上登錄。用戶如果在遠程機上有帳號,就可以通過ftp使用這一帳號并需要提供口令。
在遠程機上的用戶帳號的讀寫權限決定該用戶在遠程機上能下載什么文件和將上載文件放到哪個目錄中。 如果沒有遠程機的專用登錄帳號,許多ftp站點設有可以使用的特殊帳號。這個帳號的登錄名為anonymous(也稱為匿名ftp),當使用這一帳號時,要求輸入email地址作為口令。 如果遠程系統提供匿名ftp服務,用戶使用這項服務可以登錄到特殊的,供公開使用的目錄。
一般專門提供兩個目錄:pub目錄和incoming目錄。pub目錄包含該站點供公眾使用的所有文件,incoming目錄存放上載到該站點的文件。 一旦用戶使用ftp在遠程站點上登錄成功,將得到“ftp”提示符?,F在可以自由使用ftp提供的命令,可以用 help命令取得可供使用的命令清單,也可以在 help命令后面指定具體的命令名稱,獲得這條命令的說明。
最常用的命令有:
ls 列出遠程機的當前目錄
cd 在遠程機上改變工作目錄
lcd 在本地機上改變工作目錄
ascii 設置文件傳輸方式為ASCII模式
binary 設置文件傳輸方式為二進制模式
close終止當前的ftp會話
hash 每次傳輸完數據緩沖區中的數據后就顯示一個#號
get(mget) 從遠程機傳送指定文件到本地機
put(mput) 從本地機傳送指定文件到遠程機
open 連接遠程ftp站點
quit斷開與遠程機的連接并退出ftp
? 顯示本地幫助信息
! 轉到Shell中
下面簡單將ftp常用命令作一簡介。
啟動ftp會話 open命令用于打開一個與遠程主機的會話。該命令的一般格式是: open 主機名/IP 如果在ftp 會話期間要與一個以上的站點連接,通常只用不帶參數的ftp命令。如果在會話期間只想與一臺計算機連接,那么在命令行上指定遠程主機名或IP地址作為ftp命令的參數。 終止ftp會話 close、disconnect、quit和bye命令用于終止與遠程機的會話。close和disronnect命令關閉與遠程機的連接,但是使用戶留在本地計算機的ftp程序中。quit和bye命令都關閉用戶與遠程機的連接,然后退出用戶機上的ftp 程序。 改變目錄 “cd [目錄]”命令用于在ftp會話期間改變遠程機上的目錄,lcd命令改變本地目錄,使用戶能指定查找或放置本地文件的位置。 遠程目錄列表 ls命令列出遠程目錄的內容,就像使用一個交互shell中的ls命令一樣。ls命令的一般格式是: ls [目錄] [本地文件] 如果指定了目錄作為參數,那么ls就列出該目錄的內容。如果給出一個本地文件的名字,那么這個目錄列表被放入本地機上您指定的這個文件中。 從遠程系統獲取文件 get和mget命令用于從遠程機上獲取文件。get命令的一般格式為: get 文件名 您還可以給出本地文件名,這個文件名是這個要獲取的文件在您的本地機上創建時的文件名。如果您不給出一個本地文件名,那么就使用遠程文件原來的名字。 mget命令一次獲取多個遠程文件。mget命令的一般格式為: mget 文件名列表 使用用空格分隔的或帶通配符的文件名列表來指定要獲取的文件,對其中的每個文件都要求用戶確認是否傳送。 向遠程系統發送文件 put和mput命令用于向遠程機發送文件。Put命令的一般格式為: put 文件名 mput命令一次發送多個本地文件,mput命令的一般格式為: mput 文件名列表 使用用空格分隔的或帶通配符的文件名列表來指定要發送的文件。對其中的每個文件都要求用戶確認是否發送。 改變文件傳輸模式 默認情況下,ftp按ASCII模式傳輸文件,用戶也可以指定其他模式。ascii和brinary命令的功能是設置傳輸的模式。用ASCII模式傳輸文件對純文本是非常好的,但為避免對二進制文件的破壞,用戶可以以二進制模式傳輸文件。 檢查傳輸狀態 傳輸大型文件時,可能會發現讓ftp提供關于傳輸情況的反饋信息是非常有用的。hash命令使ftp在每次傳輸完數據緩沖區中的數據后,就在屏幕上打印一個#字符。本命令在發送和接收文件時都可以使用。 ftp中的本地命令 當您使用ftp時,字符“!”用于向本地機上的命令shell傳送一個命令。如果用戶處在ftp會話中,需要shell做某些事,就很有用。例如用戶要建立一個目錄來保存接收到的文件。如果輸入!mkdir new_dir,那么Linux就在用戶當前的本地目錄中創建一個名為new_dir 的目錄。
從遠程機grunthos下載二進制數據文件的典型對話過程如下:
$ ftp grunthos Connected to grunthos 220 grunthos ftp server Name (grunthos:pc): anonymous 33l Guest login ok, send your complete e-mail address as password. Password: 230 Guest 1ogin ok, access restrictions apply. Remote system type is UNIX. ftp cd pub 250 CWD command successful. ftp ls 200 PORT command successful. l50 opening ASCII mode data connection for /bin/1s. total ll4 rog1 rog2 226 Transfer comp1ete . ftp binary 200 type set to I. ftp hash Hash mark printing on (1024 bytes/hash mark). ftp get rog1 200 PORT command successfu1. 150 opening BINARY mode data connection for rogl (l4684 bytes). # # # # # # # # # # # # # 226 Transfer complete. 14684 bytes received in 0.0473 secs (3e + 02 Kbytes/sec) ftp quit 22l Goodbye.
使用telnet命令訪問遠程計算機
用戶使用telnet命令進行遠程登錄。該命令允許用戶使用telnet協議在遠程計算機之間進行通信,用戶可以通過網絡在遠程計算機上登錄,就像登錄到本地機上執行命令一樣。 為了通過telnet登錄到遠程計算機上,必須知道遠程機上的合法用戶名和口令。雖然有些系統確實為遠程用戶提供登錄功能,但出于對安全的考慮,要限制來賓的操作權限,因此,這種情況下能使用的功能是很少的。當允許遠程用戶登錄時,系統通常把這些用戶放在一個受限制的shell中,以防系統被懷有惡意的或不小心的用戶破壞。 用戶還可以使用telnet從遠程站點登錄到自己的計算機上,檢查電子郵件、編輯文件和運行程序,就像在本地登錄一樣。
但是,用戶只能使用基于終端的環境而不是X Wndows環境,telnet只為普通終端提供終端仿真,而不支持 X Wndow等圖形環境。 telnet命令的一般形式為: telnet 主機名/IP 其中“主機名/IP”是要連接的遠程機的主機名或IP地址。如果這一命令執行成功,將從遠程機上得到login:提示符。 使用telnet命令登錄的過程如下: $ telnet 主機名/IP 啟動telnet會話。 一旦telnet成功地連接到遠程系統上,就顯示登錄信息并提示用戶輸人用戶名和口令。如果用戶名和口令輸入正確,就能成功登錄并在遠程系統上工作。 在telnet提示符后面可以輸入很多命令,用來控制telnet會話過程,在telnet聯機幫助手冊中對這些命令有詳細的說明。
下面是一臺Linux計算機上的telnet會話舉例:
$ telnet server. somewhere. com Trying 127.0.0.1… Connected to serve. somewhere. com. Escape character is \'?]\'. “TurboLinux release 4. 0 (Colgate) kernel 2.0.18 on an I486 login: bubba password: Last login:Mon Nov l5 20:50:43 for localhost Linux 2. 0.6. (Posix). server: ~$ server: ~$ logout Connection closed by foreign host $
用戶結束了遠程會話后,一定要確保使用logout命令退出遠程系統。然后telnet報告遠程會話被關閉,并返回到用戶的本地機的Shell提示符下。 r-系列命令 除ftp和telnet以外,還可以使用r-系列命令訪問遠程計算機和在網絡上交換文件。 使用r-系列命令需要特別注意,因為如果用戶不小心,就會造成嚴重的安全漏洞。用戶發出一個r-系列命令后,遠程系統檢查名為/etc/hosts.equiv的文件,以查看用戶的主機是否列在這個文件中。如果它沒有找到用戶的主機,就檢查遠程機上同名用戶的主目錄中名為.rhosts的文件,看是否包括該用戶的主機。如果該用戶的主機包括在這兩個文件中的任何一個之中,該用戶執行r-系列命令就不用提供口令。
雖然用戶每次訪問遠程機時不用鍵入口令可能是非常方便的,但是它也可能會帶來嚴重的安全問題。我們建議用戶在建立/etc/hosts.equiv和.rhosts文件之前,仔細考慮r-命令隱含的安全問題。
rlogin命令
rlogin 是“remote login”(遠程登錄)的縮寫。該命令與telnet命令很相似,允許用戶啟動遠程系統上的交互命令會話。rlogin 的一般格式是:
rlogin [ -8EKLdx ] [ -e char ] [-k realm ] [ - l username ] host
一般最常用的格式是: rlogin host 該命令中各選項的含義為:
-8 此選項始終允許8位輸入數據通道。該選項允許發送格式化的ANSI字符和其他的特殊代碼。如果不用這個選項,除非遠端的終止和啟動字符不是或,否則就去掉奇偶校驗位。
-E 停止把任何字符當作轉義字符。當和-8選項一起使用時,它提供一個完全的透明連接。
-K 關閉所有的Kerberos確認。只有與使用Kerberos 確認協議的主機連接時才使用這個選項。
-L 允許rlogin會話在litout模式中運行。要了解更多信息,請查閱tty聯機幫助。
-d 打開與遠程主機進行通信的TCP sockets的socket調試。要了解更多信息,請查閱setsockopt的聯機幫助。
-e 為rlogin會話設置轉義字符,默認的轉義字符是“~”,用戶可以指定一個文字字符或一個\\nnn形式的八進制數。
-k 請求rlogin獲得在指定區域內的遠程主機的Kerberos許可,而不是獲得由krb_realmofhost(3)確定的遠程主機區域內的遠程主機的Kerberos 許可。
-x 為所有通過rlogin會話傳送的數據打開DES加密。這會影響響應時間和CPU利用率,但是可以提高安全性。
rsh命令
rsh是“remote shell”(遠程 shell)的縮寫。 該命令在指定的遠程主機上啟動一個shell并執行用戶在rsh命令行中指定的命令。如果用戶沒有給出要執行的命令,rsh就用rlogin命令使用戶登錄到遠程機上。
rsh命令的一般格式是:
rsh [-Kdnx] [-k realm] [-l username] host [command]
一般常用的格式是:
rsh host [command ]
command可以是從shell提示符下鍵人的任何Linux命令。
rsh命令中各選項的含義如下:
-K 關閉所有的Kerbero確認。該選項只在與使用Kerbero確認的主機連接時才使用。
-d 打開與遠程主機進行通信的TCP sockets的socket調試。要了解更多的信息,請查閱setsockopt的聯機幫助。
-k 請求rsh獲得在指定區域內的遠程主機的Kerberos許可,而不是獲得由krb_relmofhost(3)確定的遠程主機區域內的遠程主機的Kerberos許可。
-l 缺省情況下,遠程用戶名與本地用戶名相同。本選項允許指定遠程用戶名,如果指定了遠程用戶名,則使用Kerberos 確認,與在rlogin命令中一樣。
-n 重定向來自特殊設備/dev/null的輸入。
-x 為傳送的所有數據打開DES加密。這會影響響應時間和CPU利用率,但是可以提高安全性。 Linux把標準輸入放入rsh命令中,并把它拷貝到要遠程執行的命令的標準輸入中。它把遠程命令的標準輸出拷貝到rsh的標準輸出中。它還把遠程標準錯誤拷貝到本地標準錯誤文件中。任何退出、中止和中斷信號都被送到遠程命令中。當遠程命令終止了,rsh也就終止了。
rcp命令
rcp代表“remote file copy”(遠程文件拷貝)。該命令用于在計算機之間拷貝文件。
rcp命令有兩種格式。第一種格式用于文件到文件的拷貝;第二種格式用于把文件或目錄拷貝到另一個目錄中。
rcp命令的一般格式是:
rcp [-px] [-k realm] file1 file2 rcp [-px] [-r] [-k realm] file
directory 每個文件或目錄參數既可以是遠程文件名也可以是本地文件名。遠程文件名具有如下形式:rname@rhost:path,其中rname是遠程用戶名,rhost是遠程計算機名,path是這個文件的路徑。
rcp命令的各選項含義如下:
-r 遞歸地把源目錄中的所有內容拷貝到目的目錄中。要使用這個選項,目的必須是一個目錄。
-p 試圖保留源文件的修改時間和模式,忽略umask。
-k 請求rcp獲得在指定區域內的遠程主機的Kerberos 許可,而不是獲得由krb_relmofhost(3)確定的遠程主機區域內的遠程主機的Kerberos許可。
-x 為傳送的所有數據打開DES加密。這會影響響應時間和CPU利用率,但是可以提高安全性。 如果在文件名中指定的路徑不是完整的路徑名,那么這個路徑被解釋為相對遠程機上同名用戶的主目錄。如果沒有給出遠程用戶名,就使用當前用戶名。如果遠程機上的路徑包含特殊shell字符,需要用反斜線(\\)、雙引號(”)或單引號(’)括起來,使所有的shell元字符都能被遠程地解釋。 需要說明的是,rcp不提示輸入口令,它通過rsh命令來執行拷貝。 - Turbolinux 提供稿件
如何配置rsh服務
redhat linux下配置rsh和rcp- -
1:安裝前準備:
機器A:192.168.0.4 (安裝rsh server)
機器B:192.168.0.10 (rsh client 調用執行192.168.0.4的命令)
2: 首先確認機器A是否安裝rsh包:
[root@mg04 root]# rpm -aq |grep rsh
rsh-0.17-14
rsh-server-0.17-14
如果沒有安裝以上兩個包,請找到相關軟件安裝(如果是LINUX,可以從安裝碟中找到)
安裝包:
rpm -ivh rsh-0.17-5 (linux 操作系統)
rpm -ivh rsh-server-0.17-5 (linux 操作系統)
3:確認是否啟動rsh 服務:
方法一:
使用命令setup,查看service是否將[*] rsh 加上*,如果加上*表示可以啟動。
/etc/rc.d/init.d/xinetd restart 或者 service xinetd restart
方法二:
rsh 屬于xinetd服務,可以直接修改/etc/xinetd.d/rsh腳本文件。
service shell
{
disable = no
socket_type = stream
wait = no
user = root
log_on_success += USERID
log_on_failure += USERID
server = /usr/sbin/in.rshd
}
當然方法很多,目的就是使用rsh服務能啟動。
/etc/rc.d/init.d/xinetd restart
檢查是否啟動: rsh server 監聽和TCP 是514。
[root@mg04 root]# netstat -an |grep 514
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN
如果能看到514在監聽說明服務器已經啟動。
4:配置rsh server:
修改/etc/securetty文件: echo rsh /etc/securetty
如果打算用root作為rsh用戶的話:
先用root登錄到機器A中進行以下操作:
cd ~/
echo "192.168.0.10 root" .rhosts 允許192.168.0.10 以root訪問
echo "192.168.0.4 root" .rhosts
重啟rsh server.
5:測試和注意的問題:
登錄到b機器進行測試: rsh -l root 192.168.0.204 ps -ef
看是否能看到結果。如果看到
[root@mg04 etc]# rsh -l root 192.168.0.204 ps -ef
Permission denied.
這是由于權權限問題,一般是由于 .rhosts沒有配置正確。.rhosts一般位于
rsh server服務器相對應賬號目錄下比如root(與.bash_profile在同一目錄)
rsh在執行命令有時會找不到。rsh 在調用命令是最好使用絕對路徑。默認搜索路徑為:
[root@mg04 etc]# rsh -l root 192.168.0.4 env |grep PATH
PATH=/usr/bin:/bin
rh8.0下rcp的用法設置
只對root用戶生效
1、在雙方root用戶根目錄下建立.rhosts文件,并將雙方的hostname加進去.在此之前應在雙方的/etc/hosts文件中加入對方的IP和hostname
2、把rsh服務啟動起來,redhat默認是不啟動的。方法:用執行ntsysv命令,在rsh選項前用空格鍵選中,確定退出。 然后執行:service xinetd restart即可。
3、到/etc/pam.d/目錄下,把rsh文件中的auth required /lib/security/pam_securetty.so一行用“#
Linux系統越來越受到電腦用戶的歡迎,于是很多人開始學習Linux時,學習linux,你可能會遇到Linux網絡操作命令問題,這里將介紹Linux網絡操作命令知識,在這里拿出來和大家分享一下。計算機網絡的主要優點是能夠實現資源和信息的共享,并且用戶可以遠程訪問信息。Linux提供了一組強有力的網絡命令來為用戶服務,這些工具能夠幫助用戶登錄到遠程計算機上、傳輸文件和執行遠程命令等。介紹下列幾個常用的有關網絡操作命令:ftp 傳輸文件
telnet 登錄到遠程計算機上
r - 使用各種遠程命令
netstat 查看網絡的狀況
nslookup 查詢域名和IP地址的對應
finger 查詢某個使用者的信息
ping 查詢某個機器是否在工作使用ftp命令進行遠程文件傳輸
ftp命令是標準的文件傳輸協議的用戶接口。ftp是在TCP/IP網絡上的計算機之間傳輸文件的簡單有效的方法。它允許用戶傳輸ASCII文件和二進制文件。 在ftp會話過程中,用戶可以通過使用ftp客戶程序連接到另一臺計算機上。從此,用戶可以在目錄中上下移動、列出目錄內容、把文件從遠程機拷貝到本地機上、把文件從本地機傳輸到遠程系統中。需要注意的是,如果用戶沒有那個文件的存取權限,就不能從遠程系統中獲得文件或向遠程系統傳輸文件。 為了使用ftp來傳輸文件,用戶必須知道遠程計算機上的合法用戶名和口令。這個用戶名/口令的組合用來確認ftp 會話,并用來確定用戶對要傳輸的文件可以進行什么樣的訪問。另外,用戶顯然需要知道對其進行ftp 會話的計算機的名字或IP地址。Ftp命令的功能是在本地機和遠程機之間傳送文件。該命令的一般格式如下:
$ ftp 主機名/IP其中“主機名/IP”是所要連接的遠程機的主機名或IP地址。在命令行中,主機名屬于選項,如果指定主機名,ftp將試圖與遠程機的ftp服務程序進行連接;如果沒有指定主機名,ftp將給出提示符,等待用戶輸入命令: $ ftp ftp 此時在ftp提示符后面輸入open命令加主機名或IP地址,將試圖連接指定的主機。 不管使用哪一種方法,如果連接成功,需要在遠程機上登錄。用戶如果在遠程機上有帳號,就可以通過ftp使用這一帳號并需要提供口令。
在遠程機上的用戶帳號的讀寫權限決定該用戶在遠程機上能下載什么文件和將上載文件放到哪個目錄中。 如果沒有遠程機的專用登錄帳號,許多ftp站點設有可以使用的特殊帳號。這個帳號的登錄名為anonymous(也稱為匿名ftp),當使用這一帳號時,要求輸入email地址作為口令。 如果遠程系統提供匿名ftp服務,用戶使用這項服務可以登錄到特殊的,供公開使用的目錄。一般專門提供兩個目錄:pub目錄和incoming目錄。pub目錄包含該站點供公眾使用的所有文件,incoming目錄存放上載到該站點的文件。 一旦用戶使用ftp在遠程站點上登錄成功,將得到“ftp”提示符。現在可以自由使用ftp提供的命令,可以用 help命令取得可供使用的命令清單,也可以在 help命令后面指定具體的命令名稱,獲得這條命令的說明。
最常用的命令有:
ls 列出遠程機的當前目錄
cd 在遠程機上改變工作目錄
lcd 在本地機上改變工作目錄
ascii 設置文件傳輸方式為ASCII模式
binary 設置文件傳輸方式為二進制模式
close終止當前的ftp會話
hash 每次傳輸完數據緩沖區中的數據后就顯示一個#號
get(mget) 從遠程機傳送指定文件到本地機
put(mput) 從本地機傳送指定文件到遠程機
open 連接遠程ftp站點
quit斷開與遠程機的連接并退出ftp
? 顯示本地幫助信息
! 轉到Shell中下面簡單將ftp常用命令作一簡介。
啟動ftp會話 open命令用于打開一個與遠程主機的會話。該命令的一般格式是: open 主機名/IP 如果在ftp 會話期間要與一個以上的站點連接,通常只用不帶參數的ftp命令。如果在會話期間只想與一臺計算機連接,那么在命令行上指定遠程主機名或IP地址作為ftp命令的參數。 終止ftp會話 close、disconnect、quit和bye命令用于終止與遠程機的會話。close和disronnect命令關閉與遠程機的連接,但是使用戶留在本地計算機的ftp程序中。quit和bye命令都關閉用戶與遠程機的連接,然后退出用戶機上的ftp 程序。 改變目錄 “cd [目錄]”命令用于在ftp會話期間改變遠程機上的目錄,lcd命令改變本地目錄,使用戶能指定查找或放置本地文件的位置。 遠程目錄列表 ls命令列出遠程目錄的內容,就像使用一個交互shell中的ls命令一樣。ls命令的一般格式是: ls [目錄] [本地文件] 如果指定了目錄作為參數,那么ls就列出該目錄的內容。如果給出一個本地文件的名字,那么這個目錄列表被放入本地機上您指定的這個文件中。 從遠程系統獲取文件 get和mget命令用于從遠程機上獲取文件。get命令的一般格式為: get 文件名 您還可以給出本地文件名,這個文件名是這個要獲取的文件在您的本地機上創建時的文件名。如果您不給出一個本地文件名,那么就使用遠程文件原來的名字。 mget命令一次獲取多個遠程文件。mget命令的一般格式為: mget 文件名列表 使用用空格分隔的或帶通配符的文件名列表來指定要獲取的文件,對其中的每個文件都要求用戶確認是否傳送。 向遠程系統發送文件 put和mput命令用于向遠程機發送文件。Put命令的一般格式為: put 文件名 mput命令一次發送多個本地文件,mput命令的一般格式為: mput 文件名列表 使用用空格分隔的或帶通配符的文件名列表來指定要發送的文件。對其中的每個文件都要求用戶確認是否發送。 改變文件傳輸模式 默認情況下,ftp按ASCII模式傳輸文件,用戶也可以指定其他模式。ascii和brinary命令的功能是設置傳輸的模式。用ASCII模式傳輸文件對純文本是非常好的,但為避免對二進制文件的破壞,用戶可以以二進制模式傳輸文件。 檢查傳輸狀態 傳輸大型文件時,可能會發現讓ftp提供關于傳輸情況的反饋信息是非常有用的。hash命令使ftp在每次傳輸完數據緩沖區中的數據后,就在屏幕上打印一個#字符。本命令在發送和接收文件時都可以使用。 ftp中的本地命令 當您使用ftp時,字符“!”用于向本地機上的命令shell傳送一個命令。如果用戶處在ftp會話中,需要shell做某些事,就很有用。例如用戶要建立一個目錄來保存接收到的文件。如果輸入!mkdir new_dir,那么Linux就在用戶當前的本地目錄中創建一個名為new_dir 的目錄。從遠程機grunthos下載二進制數據文件的典型對話過程如下:
$ ftp grunthos Connected to grunthos 220 grunthos ftp server Name (grunthos:pc): anonymous 33l Guest login ok, send your complete e-mail address as password. Password: 230 Guest 1ogin ok, access restrictions apply. Remote system type is UNIX. ftp cd pub 250 CWD command successful. ftp ls 200 PORT command successful. l50 opening ASCII mode data connection for /bin/1s. total ll4 rog1 rog2 226 Transfer comp1ete . ftp binary 200 type set to I. ftp hash Hash mark printing on (1024 bytes/hash mark). ftp get rog1 200 PORT command successfu1. 150 opening BINARY mode data connection for rogl (l4684 bytes). # # # # # # # # # # # # # 226 Transfer complete. 14684 bytes received in 0.0473 secs (3e + 02 Kbytes/sec) ftp quit 22l Goodbye.使用telnet命令訪問遠程計算機
用戶使用telnet命令進行遠程登錄。該命令允許用戶使用telnet協議在遠程計算機之間進行通信,用戶可以通過網絡在遠程計算機上登錄,就像登錄到本地機上執行命令一樣。 為了通過telnet登錄到遠程計算機上,必須知道遠程機上的合法用戶名和口令。雖然有些系統確實為遠程用戶提供登錄功能,但出于對安全的考慮,要限制來賓的操作權限,因此,這種情況下能使用的功能是很少的。當允許遠程用戶登錄時,系統通常把這些用戶放在一個受限制的shell中,以防系統被懷有惡意的或不小心的用戶破壞。 用戶還可以使用telnet從遠程站點登錄到自己的計算機上,檢查電子郵件、編輯文件和運行程序,就像在本地登錄一樣。
但是,用戶只能使用基于終端的環境而不是X Wndows環境,telnet只為普通終端提供終端仿真,而不支持 X Wndow等圖形環境。 telnet命令的一般形式為: telnet 主機名/IP 其中“主機名/IP”是要連接的遠程機的主機名或IP地址。如果這一命令執行成功,將從遠程機上得到login:提示符。 使用telnet命令登錄的過程如下: $ telnet 主機名/IP 啟動telnet會話。 一旦telnet成功地連接到遠程系統上,就顯示登錄信息并提示用戶輸人用戶名和口令。如果用戶名和口令輸入正確,就能成功登錄并在遠程系統上工作。 在telnet提示符后面可以輸入很多命令,用來控制telnet會話過程,在telnet聯機幫助手冊中對這些命令有詳細的說明。下面是一臺Linux計算機上的telnet會話舉例:
$ telnet server. somewhere. com Trying 127.0.0.1… Connected to serve. somewhere. com. Escape character is \'?]\'. “TurboLinux release 4. 0 (Colgate) kernel 2.0.18 on an I486 login: bubba password: Last login:Mon Nov l5 20:50:43 for localhost Linux 2. 0.6. (Posix). server: ~$ server: ~$ logout Connection closed by foreign host $用戶結束了遠程會話后,一定要確保使用logout命令退出遠程系統。然后telnet報告遠程會話被關閉,并返回到用戶的本地機的Shell提示符下。 r-系列命令 除ftp和telnet以外,還可以使用r-系列命令訪問遠程計算機和在網絡上交換文件。 使用r-系列命令需要特別注意,因為如果用戶不小心,就會造成嚴重的安全漏洞。用戶發出一個r-系列命令后,遠程系統檢查名為/etc/hosts.equiv的文件,以查看用戶的主機是否列在這個文件中。如果它沒有找到用戶的主機,就檢查遠程機上同名用戶的主目錄中名為.rhosts的文件,看是否包括該用戶的主機。如果該用戶的主機包括在這兩個文件中的任何一個之中,該用戶執行r-系列命令就不用提供口令。雖然用戶每次訪問遠程機時不用鍵入口令可能是非常方便的,但是它也可能會帶來嚴重的安全問題。我們建議用戶在建立/etc/hosts.equiv和.rhosts文件之前,仔細考慮r-命令隱含的安全問題。rlogin命令
rlogin 是“remote login”(遠程登錄)的縮寫。該命令與telnet命令很相似,允許用戶啟動遠程系統上的交互命令會話。rlogin 的一般格式是:
rlogin [ -8EKLdx ] [ -e char ] [-k realm ] [ - l username ] host一般最常用的格式是: rlogin host 該命令中各選項的含義為:
-8 此選項始終允許8位輸入數據通道。該選項允許發送格式化的ANSI字符和其他的特殊代碼。如果不用這個選項,除非遠端的終止和啟動字符不是或,否則就去掉奇偶校驗位。
-E 停止把任何字符當作轉義字符。當和-8選項一起使用時,它提供一個完全的透明連接。
-K 關閉所有的Kerberos確認。只有與使用Kerberos 確認協議的主機連接時才使用這個選項。
-L 允許rlogin會話在litout模式中運行。要了解更多信息,請查閱tty聯機幫助。
-d 打開與遠程主機進行通信的TCP sockets的socket調試。要了解更多信息,請查閱setsockopt的聯機幫助。
-e 為rlogin會話設置轉義字符,默認的轉義字符是“~”,用戶可以指定一個文字字符或一個\\nnn形式的八進制數。
-k 請求rlogin獲得在指定區域內的遠程主機的Kerberos許可,而不是獲得由krb_realmofhost(3)確定的遠程主機區域內的遠程主機的Kerberos 許可。
-x 為所有通過rlogin會話傳送的數據打開DES加密。這會影響響應時間和CPU利用率,但是可以提高安全性。rsh命令
rsh是“remote shell”(遠程 shell)的縮寫。 該命令在指定的遠程主機上啟動一個shell并執行用戶在rsh命令行中指定的命令。如果用戶沒有給出要執行的命令,rsh就用rlogin命令使用戶登錄到遠程機上。
rsh命令的一般格式是:
rsh [-Kdnx] [-k realm] [-l username] host [command]
一般常用的格式是:
rsh host [command ]
command可以是從shell提示符下鍵人的任何Linux命令。
rsh命令中各選項的含義如下:
-K 關閉所有的Kerbero確認。該選項只在與使用Kerbero確認的主機連接時才使用。
-d 打開與遠程主機進行通信的TCP sockets的socket調試。要了解更多的信息,請查閱setsockopt的聯機幫助。
-k 請求rsh獲得在指定區域內的遠程主機的Kerberos許可,而不是獲得由krb_relmofhost(3)確定的遠程主機區域內的遠程主機的Kerberos許可。
-l 缺省情況下,遠程用戶名與本地用戶名相同。本選項允許指定遠程用戶名,如果指定了遠程用戶名,則使用Kerberos 確認,與在rlogin命令中一樣。
-n 重定向來自特殊設備/dev/null的輸入。
-x 為傳送的所有數據打開DES加密。這會影響響應時間和CPU利用率,但是可以提高安全性。 Linux把標準輸入放入rsh命令中,并把它拷貝到要遠程執行的命令的標準輸入中。它把遠程命令的標準輸出拷貝到rsh的標準輸出中。它還把遠程標準錯誤拷貝到本地標準錯誤文件中。任何退出、中止和中斷信號都被送到遠程命令中。當遠程命令終止了,rsh也就終止了。rcp命令
rcp代表“remote file copy”(遠程文件拷貝)。該命令用于在計算機之間拷貝文件。
rcp命令有兩種格式。第一種格式用于文件到文件的拷貝;第二種格式用于把文件或目錄拷貝到另一個目錄中。
rcp命令的一般格式是:
rcp [-px] [-k realm] file1 file2 rcp [-px] [-r] [-k realm] file
directory 每個文件或目錄參數既可以是遠程文件名也可以是本地文件名。遠程文件名具有如下形式:rname@rhost:path,其中rname是遠程用戶名,rhost是遠程計算機名,path是這個文件的路徑。
rcp命令的各選項含義如下:
-r 遞歸地把源目錄中的所有內容拷貝到目的目錄中。要使用這個選項,目的必須是一個目錄。
-p 試圖保留源文件的修改時間和模式,忽略umask。
-k 請求rcp獲得在指定區域內的遠程主機的Kerberos 許可,而不是獲得由krb_relmofhost(3)確定的遠程主機區域內的遠程主機的Kerberos許可。
-x 為傳送的所有數據打開DES加密。這會影響響應時間和CPU利用率,但是可以提高安全性。 如果在文件名中指定的路徑不是完整的路徑名,那么這個路徑被解釋為相對遠程機上同名用戶的主目錄。如果沒有給出遠程用戶名,就使用當前用戶名。如果遠程機上的路徑包含特殊shell字符,需要用反斜線(\\)、雙引號(”)或單引號(’)括起來,使所有的shell元字符都能被遠程地解釋。 需要說明的是,rcp不提示輸入口令,它通過rsh命令來執行拷貝。 - Turbolinux 提供稿件。通過本文你就了解Linux網絡操作命令,希望對你有所幫助。
rsync和ssh是兩個單獨命令。
rsync語法 : rsync [OPTION]... SRC [SRC]... DEST
or
rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
or
rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
or
rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
or
rsync [OPTION]... [USER@]HOST:SRC [DEST]
or
rsync [OPTION]... [USER@]HOST::SRC [DEST]
or
rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
〔options〕我只給你列出-e的參數。
-e,
--rsh=COMMAND
specify the remote shell to use
--rsync-path=PROGRAM
specify the rsync to run on the remote machine
--existing
skip creating new files on receiver
--ignore-existing
skip updating files that already exist on receiver
--remove-source-files
sender removes synchronized files (non-dirs)
--del
an alias for --delete-during
--delete
delete extraneous files from destination dirs
--delete-before
receiver deletes before transfer, not during
--delete-during
receiver deletes during transfer (default)
--delete-delay
find deletions during, delete after
--delete-after
receiver deletes after transfer, not during
--delete-excluded
also delete excluded files from destination dirs
--ignore-errors
delete even if there are I/O errors
--force
force deletion of directories even if not empty
--max-delete=NUM
don't delete more than NUM files
--max-size=SIZE
don't transfer any file larger than SIZE
--min-size=SIZE
don't transfer any file smaller than SIZE
--partial
keep partially transferred files
--partial-dir=DIR
put a partially transferred file into DIR
--delay-updates
put all updated files into place at transfer's end
ssh語法: ssh [-1246AaCfgKkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-e escape_char] [-F configfile]
[-i identity_file] [-L [bind_address:]port:host:hostport]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-R [bind_address:]port:host:hostport] [-S ctl_path]
[-w local_tun[:remote_tun]] [user@]hostname [command]
本文題目:linux中rsh命令,Linux rsh
標題URL:http://m.kartarina.com/article16/dseeidg.html
成都網站建設公司_創新互聯,為您提供用戶體驗、移動網站建設、微信小程序、服務器托管、定制開發、品牌網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯