㈠ linux 下scp -r整個文件夾,到目的機上卻變成了文件類型而不是文件夾類型,如何解決
假設要拷貝的目錄是/test,你這樣試試
scp -r /test/ root@遠程主機的ip地址:/root/
㈡ Linux下cp和scp的詳細說明及其他們的區別
一、說明
cp:是在同一個linux系統上,在不同的目錄之間復制文件;
scp:是在不同linux系統之間來回復制文件;
二、cp 用法
單個文件復制:
cp 源文件 目標路徑 ~~從原路徑復制源文件到目標路徑下;如果在目標路勁之後加文件名稱和格式意思就是復制過去之後將該文件重命名。
多個文件復制:
cp 源文件1 源文件2 源文件3 ... 目標路徑 ~~從原路徑復制源文件到目標路徑下;
三、cp 的參數詳解
-a 盡可能將源文件狀態、許可權等資料都照原裝予以復制,並且是遞歸;
-r 表示遞歸,若source中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地;
-f 若目的地已經有相同檔名的檔案存在,則在復制前先予以刪除再行復制;
四、scp 的用法
基本語法:scp [參數] 文件 @IP:/目標路徑;如下圖
五、scp參數詳解
-1 強制scp命令使用協議ssh1
-2 強制scp命令使用協議ssh2
-4 強制scp命令只使用IPv4定址
-6 強制scp命令只使用IPv6定址
-B 使用批處理模式(傳輸過程中不詢問傳輸口令或短語)
-C 允許壓縮。(將-C標志傳遞給ssh,從而打開壓縮功能)
-p 保留原文件的修改時間,訪問時間和訪問許可權。
-q 不顯示傳輸進度條。
-r 遞歸復制整個目錄。
-v 詳細方式顯示輸出。scp和ssh(1)會顯示出整個過程的調試信息。這些信息用於調試連接,驗證和配置問題。
-c cipher 以cipher將數據傳輸進行加密,這個選項將直接傳遞給ssh。
-F ssh_config 指定一個替代的ssh配置文件,此參數直接傳遞給ssh。
-i identity_file 從指定文件中讀取傳輸時使用的密鑰文件,此參數直接傳遞給ssh。
-l limit 限定用戶所能使用的帶寬,以Kbit/s為單位。
-o ssh_option 如果習慣於使用ssh_config(5)中的參數傳遞方式,
-P port 注意是大寫的P, port是指定數據傳輸用到的埠號
-S program 指定加密傳輸時所使用的程序。此程序必須能夠理解ssh(1)的選項。
例:scp -r 文件夾 @IP:目標路徑;
㈢ linux scp命令拷貝後,部分連接文件變成了文件夾
linux常用命令(基礎)
1. man 對你熟悉或不熟悉的命令提供幫助解釋
eg:man ls 就可以查看ls相關的用法
註:按q鍵或者ctrl+c退出,在linux下可以使用ctrl+c終止當前程序運行。
2. ls 查看目錄或者文件的屬*,列舉出任一目錄下面的文件
eg: ls /usr/man
ls -l
a.d表示目錄(directory),如果是一個」-」表示是文件,如果是l則表示是一個連接文件(link)
b.表示文件或者目錄許可許可權.分別用可讀(r),可寫(w),可運行(x)。
3. cp 拷貝文件
eg: cp filename1 filename2 //把filename1拷貝成filename2
cp 1.c netseek/2.c //將1.c拷到netseek目錄下命名為2.c
4. rm 刪除文件和目錄
eg: rm 1.c //將1.c這個文件刪除
5. mv 移走目錄或者改文件名
eg: mv filename1 filename2 //將filename1 改名為filename2
mv qib.tgz ../qib.tgz //移到上一級目錄
6. cd 改變當前目錄 pwd 查看當前所在目錄完整路徑
eg: pwd //查看當前所在目錄路徑
cd netseek //進入netseek這個目錄
cd //退出當前目錄
7. cat,more命令
將某個文件的內容顯示出來。兩個命令所不同的是:cat把文件內容一直列印出來,而 more則分屏顯示
eg; cat>1.c //就可以把代碼粘帖到1.c文件里,按ctrl+d 保存代碼。
cat 1.c 或more 1.c //都可以查看裡面的內容。
gcc -o 1 1.c //將1.c編譯成.exe文件,我們可以用此命編譯出代碼。
8.chmod 命令 許可權修改 用法:chmod 一位8進制數 filename。
eg: chmod u+x filenmame //只想給自己運行,別人只能讀
//u表示文件主人, g 表示文件文件所在組。 o 表示其他人 ;r 表可讀,w 表可寫,x 表可以運行
chmod g+x filename //同組的人來執行
9. clear,date命令
clear:清屏,相當與DOS下的cls;date:顯示當前時間。
10. mount 載入一個硬體設備
用法:mount [參數] 要載入的設備 載入點
eg: mount /dev/cdrom
cd /mnt/cdrom //進入光碟目錄
11. su 在不退出登陸的情況下,切換到另外一個人的身份
用法: su -l 用戶名(如果用戶名預設,則切換到root狀態)
eg:su -l netseek (切換到netseek這個用戶,將提示輸入密碼)
12.whoami,whereis,which,id
//whoami:確認自己身份
//whereis:查詢命令所在目錄以及幫助文檔所在目錄
//which:查詢該命令所在目錄(類似whereis)
//id:列印出自己的UID以及GID。(UID:用戶身份唯一標識。GID:用戶組身份唯一標識。每一個用戶只能有一個唯一的UID和 GID)
eg: whoami //顯示你自已登陸的用戶名
whereis bin 顯示bin所在的目錄,將顯示為:/usr/local/bin
which bin
13. grep,find
grep:文本內容搜索;find:文件或者目錄名以及許可權屬主等匹配搜索
eg: grep success * /*查找當前目錄下面所有文件裡面含有success字元的文件
14. kill 可以殺死某個正在進行或者已經是dest狀態的進程
eg; ps ax
15. passwd 可以設置口令
16. history 用戶用過的命令
eg: history //可以顯示用戶過去使用的命令
17. !! 執行最近一次的命令
18. mkdir命令
eg: mkdir netseek //創建netseek這個目錄
19. tar 解壓命令
eg: tar -zxvf nmap-3.45.tgz //將這個解壓到nmap-3.45這個目錄里
20. finger 可以讓使用者查詢一些其他使用者的資料
eg: finger //查看所用用戶的使用資料
finger root //查看root的資料
㈣ 怎麼使用scp 命令在兩台電腦上傳輸文件
寫一個exe程序實現遠程傳輸功能,然後把這個程序的執行文件名命名為scp,接著把該文件的路徑添加到系統路徑下面,然後在cmd裡面輸入scp +傳送文件路徑變數就行了。
㈤ linux如何在兩台不同的機器間拷貝文件夾,我知道拷貝文件用scp
先用nfs或smb共享出來,在另外一個機器上進行掛載,將共享的目錄掛到本地就可以拷貝了。
㈥ scp如何一次拷貝多個文件或者文件夾
scp -r root@ip:/home/name/data/ 你自己的文件夾
㈦ Linux中SCP拷貝壓縮文件,拷貝出多個文件。只想拷一個文件,怎麼解
1、你得先進那個存放文件的目錄,然後執行scp -P22 -rp 你要傳的文件 root@另一台伺服器ip地址:/要拷貝到另一台的目錄。比如這樣,我要傳的文件在/usr下,然後想傳到另一台/tmp下。我就就要執行如下命令
cd /usr
scp -P22 -rp backup.tgz.bz2 [email protected]:/tmp/
2、或者先改名你要傳的文件mv backup.tgz.bz2 backup.tgz.bz2.1然後再拷過去,接著再改回來。記住不要傳到對端相同一個文件夾下,不然就覆蓋了
㈧ 如何用 scp命令創建文件夾
調用的是下面的方法
public static int runSSH(String host, String username, String password,
String cmd) throws IOException {
if (logger.isDebugEnabled()) {
logger.debug("running SSH cmd [" + cmd + "]");
}
Connection conn = getOpenedConnection(host, username, password);
Session sess = conn.openSession();
sess.execCommand(cmd);
InputStream stdout = new StreamGobbler(sess.getStdout());
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
while (true) {
// attention: do not comment this block, or you will hit
// NullPointerException
// when you are trying to read exit status
String line = br.readLine();
if (line == null)
break;
if (logger.isDebugEnabled()) {
logger.debug(line);
}
}
sess.close();
conn.close();
return sess.getExitStatus().intValue();
}
㈨ linux 通過scp命令自動將文件夾下的每日更新數據傳送到遠程windows目錄下。求腳本
你在win下創建一個ftp用戶
#!/bin/sh
#ftp server info
ip=*
user=*
pwd=*
plate=*
file=「*」
ftp -n $ip<<!
user $user $pwd
bin
hash
idle 7200
prompt off
mkdir $plate
cd $plate
put $file
bye
!