linux远程文件命令
① linux下数据备份命令scp、rsync和后台运行
scp和rsync 均可实现文件的复制,但相比较,scp占用系统资源较小,rsync速度较快。当小文件众多时,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。可根据需要这俩选其一实现文件复制。
scp 是secure 的缩写,scp是Linux系统下基于ssh登录进行安全的远程文件拷贝命令。
可以实现本地文件复制到远程服务器,也可以将远程文件复制到本地。
rsync 是remote sync的缩写。使用rsync备份数据时,不会直接覆盖以前的数据(如果数据已经存在),而是先判断已存在的数据和新数据的差异(默认规则是文件大小或修改时间有差异),只有数据不相同时才会把不相同的部分覆盖。在仅作增量数据的时比scp灵活。
一般CentOS默认安装rsync,若使用 rsync -v 提示找不到命令,可使用 yum install -y rsync 安装。
单个冒号和双冒号的区别 :使用rsync在远程传输数据前,是需要进行登陆认证的,这个过程可使用ssh协议也可以使用rsync协议完成。单冒号(:)使用的是ssh协议;双冒号(::)使用的是rsync协议。
默认情况下,rsync只确保源文件的所有内容(明确排除的文件除外)都复制到目标目录。它不会使两个目录保持不同,并且不会删除文件。如果要使目标目录成为源目录的镜像副本,则使用--delete选项。可删除只存在目标目录,不存在于源目录的文件。
增量备份算是一个经常使用的场景了。两台服务器之间进行文件定期备份,无需所有文件都一遍,仅复制有变动的文件。
具体做法是,第一次同步是全量备份,所有文件在基准目录里面同步一份。以后每一次同步都是增量备份,只同步源目录与基准目录之间有变动的部分,将这部分保存在一个新的目标目录。这个新的目标目录之中,也是包含所有文件,但实际上,只有那些变动过的文件是存在于该目录,其他没有变动的文件都是指向基准目录文件的硬链接。
--link-dest 参数用来指定同步时的基准目录。
上面命令中, --link-dest 参数指定基准目录 /compare/path ,然后源目录 /source/path 跟基准目录进行比较,找出变动的文件,将它们拷贝到目标目录 /target/path 。那些没变动的文件则会生成硬链接。这个命令的第一次备份时是全量备份,后面就都是增量备份了。
一般服务器之间复制文件都比较大,为防止误操作,最好在后台运行。但因为需要和远程服务器之间的ssh通讯多是需要密码的,所以不能直接使用nohup 放置于后台。无论是scp还是rsync都可操作如下:
后台和前台任务的切换
scp不支持断点续传,挂起scp进程可能导致数据缺失。倾向于使用rsync。
如果有其他任务需要使用nohup后台运行,但执行时却忘记了使用nohup,也可参照此方法进行设置。
参考:1. Linux之scp命令及后台运行scp
② linux 远程连接命令
Linux最广泛的远程连接命令就是ssh。
如果ssh没有安装就安装 RH系列就yum install openssh
ubuntu系列就是apt-get install openssh
安装完毕后,其他的电脑可以远程访问本机,
本机也可以访问远程电脑。连接远程电脑命令:ssh -l 用户名 主机名
③ 如何远程将文件上传给linux服务器
要想将一些文件通过网络传送给其他主机,又恰好两台主机都是Linux系统,我们便可以直接用scp命令传输文件到另外一台主机~
scp命令用于在网络中安全的传输文件,格式为:“scp [参数] 本地文件 远程帐户@远程IP地址:远程目录”。
参数
作用
-v
显示详细的连接进度
-P
指定远程主机的sshd端口号
-r
传送文件夹时请加此参数
-6
使用ipv6协议
这个内容在《linux就该这么学》这本书的章节htt p://www.linuxprobe. c o m /chapter-09.html#924里有做介绍,还有些例子可以参考下
将本地文件/root/out.txt传送到远程主机的/home目录:
[root@linuxprobe ~]# scp /root/out.txt 192.168.10.20:/home
[email protected]'s password:此处输入远程主机中root用户的密码
out.txt 100% 0 0.0KB/s 00:00
传送下文件夹并指定远程用户:
[root@linuxprobe ~]# scp -r results/ [email protected]:/home
[email protected]'s password:此处输入远程主机中linuxprobe用户的密码
强大的scp命令还可以将远程主机的文件传输到本地呢,格式为"scp [参数] 远程用户@远程IP地址:远程文件 本地目录"。
将远程主机的/etc/issue.net文件下载到本地的/root目录:
[root@linuxprobe ~]# scp [email protected]:/etc/issue.net /root
[email protected]'s password:
issue.net 100% 22 0.0KB/s 00:00
④ linux如何从远程终端下载文件到本地磁盘
linux一般用作于服务器使用,通常使用文字界面,这里分享下如何从远程终端下载文件到本地磁盘。
1、首先在windows开始菜单可以寻找到filezilla软件,点击他即可启动程序。
⑤ linux 如何共享远程文件夹
一般是通过以下几种方式:
1、设置ftp服务器
2、NFS服务器
3、SAMBA服务器
FTP和NFS都比较简单,下面介绍一下SAMBA的配置方法:
Linux系统默认已经安装了Samba,但是没有安装Samba服务:
1,先查看安装情况:rpm -qa|grep samba
根据系统的安装情况选择下载或者通过光驱安装所缺的rpm包。
我的安装情况是:
使用命令:mount /dev/cdrom1 /mnt/cdrom1
通过mount把cdrom1挂载到系统临时目录/mnt/cdrom1,在Packets包下面使用命令:rpm -ivh samba.*.rpm包安装。
切换到放置rpm文件的目录
[root@smb_server root]# rpm -ivh samba-common-3.6.9-151.el6.x86_64
这是Samba 必备的程序,必须安装
[root@smb_server root]# rpm -ivh samba-3.6.9-151.el6.x86_64
安装Samba 服务器程序,可以使我Windows 主机访问Samba 服务器共享的资源。
如果需要使Linux 主机访问Windows 主机上的共享资源,则还应该安装Samba 客户端程序。
[root@smb_server root]# rpm -ivh samba-client-3.6.9-151.el6.x86_64
2,安装samba的rpm包完成后
samba-common-3.6.9-151.el6.x86_64 //主要提供samba服务器的设置文件与设置文件语法检验程序testparm
samba-client-3.6.9-151.el6.x86_64 //客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集
samba-swat-3.6.9-151.el6.x86_64 //基于https协议的samba服务器web配置界面
samba-3.6.9-151.el6.x86_64 //服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替,开机默认选项
Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba可执行命令工具,/etc/samba/smb.conf是samba的核心配置文件,/etc/init.d/smb是samba的启动/关闭文件。
5、查看samba的服务启动情况
# service smb status
6、设置开机自启动
# chkconfig --level 35 smb on //在3、5级别上自动运行samba服务
7、配置smb服务
[global]
workgroup = WORKGROUP
server string = Samba Server Version %v
netbios name = ImgPath05
[ImgPath]
comment = Public stuff
path = /usr/local/nginx/html/img
public = yes
writeable = yes
browseable = yes
guest ok = yes
共享目录为:/usr/local/nginx/html/img,共享目录对外名称为:ImgPath 即在Windows看到的目录名称。
设置共享目录权限:chown -R nobody:nobody /usr/local/nginx/html/img/
8、启动或者重启smb服务
重启smb服务
测试smb.conf配置是否正确
9 Windows访问共享目录,但是没有写权限,通过以下方式修改防火墙设置。
将Linux smb服务添加到防火墙的例外中 以root用户执行setup命令#setup弹出...重启生效,如果不想重启,用命令#setenforce 0
⑥ Linux 命令大全
linux上可用的命令分别是在/usr/bin,
/usr/sbin,
/bin,
/sbin这些目录当中,可以用man命令查看每一个命令的使用手册,用man查出来的,是最靠谱
⑦ linux远程拷贝文件!!
可以考虑使用 scp命令。
Linux为我们提供了两个用于文件的命令,一个是cp,一个是scp,但是他们略有不同,cp 主要是用于在同一台电脑上,在不同的目录之间来回文件 scp 主要是在不同的Linux系统之间来回文件。
Linux为我们提供了两个用于文件的命令,一个是cp,一个是scp,但是他们略有不同。
cp --- 主要是用于在同一台电脑上,在不同的目录之间来回文件
scp --- 主要是在不同的Linux系统之间来回文件
关于cp的具体用法:
命令基本格式:
cp [OPTIONS] SOURCE DEST --- 从源路径文件到目的路径
cp [OPTIONS] SOURCE... DIRECTORY --- 将多个源文件到指定的目录(多个源文件用空格分隔)
OPTIONS:
-a same as -dpR 尽可能将源文件状态、权限等资料都照原装予以复制,并且是递归;
-r 表示递归,若source中含有目录名,则将目录下之档案亦皆依序拷贝至目的地;
-f 表示force,若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制;
范例:
1. 将档案 aaa 复制(已存在),并命名为 bbb:
cp aaa bbb
2. 将所有的C语言程式拷贝至 Finished 子目录中:
cp *.c Finished/
关于scp的具体用法:
不同的Linux之间文件常用有3种方法:
第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以在另外一台机器使用ftp的client程序来进行文件的。
第二种方法就是采用samba服务,类似Windows文件 的方式来操作,比较简洁方便。
第三种就是利用scp命令来进行文件复制。
scp是有Security的文件,基于ssh登录。
命令基本格式:
scp [OPTIONS] file_source file_target
OPTIONS:
-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接、认证、 或是配置错误
-C 使能压缩选项
-P 选择端口 . 注意 -p 已经被 rcp 使用
从 本地 复制到 远程
scp /home/daisy/full.tar.gz [email protected]:/home/root (然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始了),复制目录加参数 -r 即可
从 远程 复制到 本地
scp root@/172.19.2.75:/home/root/full.tar.gz /home/daisy/full.tar.gz
以下是补充:
命令:cp
使用权限:所有使用者
使用方式:
cp [options] source dest
cp [options] source... directory
说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
把计
-a 尽可能将档案状态、权限等资料都照原状予以复制。
-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
范例:
将档案 aaa 复制(已存在),并命名为 bbb :
cp aaa bbb
将所有的C语言程式拷贝至 Finished 子目录中 :
cp *.c Finished
命令:scp
不同的Linux之间文件常用有3种方法:
第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的。
第二种方法就是采用samba服务,类似Windows文件 的方式来操作,比较简洁方便。
第三种就是利用scp命令来进行文件复制。
scp是有Security的文件,基于ssh登录。操作起来比较方便,比如要把当前一个文件到远程另外一台主机上,可以如下命令。
scp /home/daisy/full.tar.gz [email protected]:/home/root
然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始了。
如果想反过来操作,把文件从远程主机到当前系统,也很简单。
linux之cp/scp命令+scp命令详解(转) - linmaogan - 独木★不成林scp root@/full.tar.gz 172.19.2.75:/home/root/full.tar.gz home/daisy/full.tar.gz
linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录;
==================
scp 命令
==================
scp 可以在 2个 linux 主机间复制文件;
命令基本格式:
scp [可选参数] file_source file_target
======
从 本地 复制到 远程
======
* 复制文件:
* 命令格式:
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
* 例子:
scp /home/space/music/1.mp3 [email protected]:/home/root/others/music
scp /home/space/music/1.mp3 [email protected]:/home/root/others/music/001.mp3
scp /home/space/music/1.mp3 www.cumt.e.cn:/home/root/others/music
scp /home/space/music/1.mp3 www.cumt.e.cn:/home/root/others/music/001.mp3
* 复制目录:
* 命令格式:
scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder
第1个指定了用户名,命令执行后需要再输入密码;
第2个没有指定用户名,命令执行后需要输入用户名和密码;
* 例子:
scp -r /home/space/music/ [email protected]:/home/root/others/
scp -r /home/space/music/ www.cumt.e.cn:/home/root/others/
上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录
======
从 远程 复制到 本地
======
从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可;
例如:
scp [email protected]:/home/root/others/music /home/space/music/1.mp3
scp -r www.cumt.e.cn:/home/root/others/ /home/space/music/
最简单的应用如下 :
scp 本地用户名 @IP 地址 : 文件名 1 远程用户名 @IP 地址 : 文件名 2
[ 本地用户名 @IP 地址 :] 可以不输入 , 可能需要输入远程用户名所对应的密码 .
可能有用的几个参数 :
-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .
-C 使能压缩选项 .
-P 选择端口 . 注意 -p 已经被 rcp 使用 .
-4 强行使用 IPV4 地址 .
-6 强行使用 IPV6 地址 .
注意两点:
1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:
#scp -p 4588 [email protected]:/usr/local/sin.sh /home/administrator
2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。
⑧ Linux系统复制文件/文件夹到远程服务器
从一个服务器复制文件到另一个服务器,或者从本地到远程复制是 Linux 管理员的日常任务之一。
我觉得不会有人不同意,因为无论在哪里这都是你的日常操作之一。有很多办法都能处理这个任务,我们试着加以概括。你可以挑一个喜欢的方法。当然,看看其他命令也能在别的地方帮到你。
我已经在自己的环境下测试过所有的 命令 和 脚本 了,因此你可以直接用到日常工作当中。
通常大家都倾向 scp,因为它是文件复制的原生命令native command之一。但本文所列出的其它命令也很好用,建议你尝试一下。
文件复制可以轻易地用以下四种方法。
scp:在网络上的两个主机之间复制文件,它使用 ssh 做文件传输,并使用相同的认证方式,具有相同的安全性。
rsync:是一个既快速又出众的多功能文件复制工具。它能本地复制、通过远程 shell 在其它主机之间复制,或者与远程的 rsync 守护进程daemon 之间复制。
pscp:是一个并行复制文件到多个主机上的程序。它提供了诸多特性,例如为 scp 配置免密传输,保存输出到文件,以及超时控制。
prsync:也是一个并行复制文件到多个主机上的程序。它也提供了诸多特性,例如为 ssh 配置免密传输,保存输出到 文件,以及超时控制。
方式 1:如何在 Linux 上使用 scp 命令从本地系统向远程系统复制文件/文件夹?
scp 命令可以让我们从本地系统复制文件/文件夹到远程系统上。
我会把 output.txt 文件从本地系统复制到 2g. CentOS .com 远程系统的 /opt/backup 文件夹下。
# scp output.txt [email protected]:/opt/backup
output.txt 100% 2468 2.4KB/s 00:00
从本地系统复制两个文件 output.txt 和 passwd-up.sh 到远程系统 2g.CentOs.com 的 /opt/backup 文件夹下。
# scp output.txt passwd-up.sh [email protected]:/opt/backup
output.txt 100% 2468 2.4KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
从本地系统复制 shell -script 文件夹到远程系统 2g.CentOs.com 的 /opt/back 文件夹下。
这会连同shell-script 文件夹下所有的文件一同复制到/opt/back 下。
# scp -r /home/daygeek/2g/shell-script/ root@:/opt/backup/
output.txt 100% 2468 2.4KB/s 00:00
ovh.sh 100% 76 0.1KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
passwd-up1.sh 100% 7 0.0KB/s 00:00
server-list.txt 100% 23 0.0KB/s 00:00
方式 2:如何在 Linux 上使用 scp 命令和 Shell 脚本 复制文件/文件夹到多个远程系统上?
如果你想复制同一个文件到多个远程服务器上,那就需要创建一个如下面那样的小 shell 脚本。
并且,需要将服务器添加进 server-list.txt 文件。确保添加成功后,每个服务器应当单独一行。
最终,你想要的脚本就像下面这样:
# file-.sh
#!/bin/sh
for server in `more server-list.txt`
do
scp /home/daygeek/2g/shell-script/output.txt root@$server:/opt/backup
done
完成之后,给 file-.sh 文件设置可执行权限。
# chmod +x file-.sh
最后运行脚本完成复制。
# ./file-.sh
output.txt 100% 2468 2.4KB/s 00:00
output.txt 100% 2468 2.4KB/s 00:00
使用下面的脚本可以复制多个文件到多个远程服务器上。
# file-.sh
#!/bin/sh
for server in `more server-list.txt`
do
scp /home/daygeek/2g/shell-script/output.txt passwd-up.sh root@$server:/opt/backup
done
下面结果显示所有的两个文件都复制到两个服务器上。
# ./file-cp.sh
output.txt 100% 2468 2.4KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
output.txt 100% 2468 2.4KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
使用下面的脚本递归地复制文件夹到多个远程服务器上。
# file-.sh
#!/bin/sh
for server in `more server-list.txt`
do
scp -r /home/daygeek/2g/shell-script/ root@$server:/opt/backup
done
上述脚本的输出。
# ./file-cp.sh
output.txt 100% 2468 2.4KB/s 00:00
ovh.sh 100% 76 0.1KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
passwd-up1.sh 100% 7 0.0KB/s 00:00
server-list.txt 100% 23 0.0KB/s 00:00
output.txt 100% 2468 2.4KB/s 00:00
ovh.sh 100% 76 0.1KB/s 00:00
passwd-up.sh 100% 877 0.9KB/s 00:00
passwd-up1.sh 100% 7 0.0KB/s 00:00
server-list.txt 100% 23 0.0KB/s 00:00
方式 3:如何在 Linux 上使用 pscp 命令复制文件/文件夹到多个远程系统上?
pscp命令可以直接让我们复制文件到多个远程服务器上。
使用下面的 pscp 命令复制单个文件到远程服务器。
# pscp.pssh -H 2g.CentOS.com /home/daygeek/2g/shell-script/output.txt /opt/backup
[1] 18:46:11 [SUCCESS] 2g.CentOS.com
使用下面的 pscp 命令复制多个文件到远程服务器。
# pscp.pssh -H 2g.CentOS.com /home/daygeek/2g/shell-script/output.txt ovh.sh /opt/backup
[1] 18:47:48 [SUCCESS] 2g.CentOS.com
使用下面的 pscp 命令递归地复制整个文件夹到远程服务器。
# pscp.pssh -H 2g.CentOS.com -r /home/daygeek/2g/shell-script/ /opt/backup
[1] 18:48:46 [SUCCESS] 2g.CentOS.com
使用下面的 pscp 命令使用下面的命令复制单个文件到多个远程服务器。
# pscp.pssh -h server-list.txt /home/daygeek/2g/shell-script/output.txt /opt/backup
[1] 18:49:48 [SUCCESS] 2g.CentOS.com
[2] 18:49:48 [SUCCESS] 2g.Debian.com
使用下面的 pscp 命令复制多个文件到多个远程服务器。
# pscp.pssh -h server-list.txt /home/daygeek/2g/shell-script/output.txt passwd-up.sh /opt/backup
[1] 18:50:30 [SUCCESS] 2g.Debian.com
[2] 18:50:30 [SUCCESS] 2g.CentOS.com
使用下面的命令递归地复制文件夹到多个远程服务器。
# pscp.pssh -h server-list.txt -r /home/daygeek/2g/shell-script/ /opt/backup
[1] 18:51:31 [SUCCESS] 2g.Debian.com
[2] 18:51:31 [SUCCESS] 2g.CentOS.com