㈠ 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
!