Linux-ubuntu-2

来源:互联网 发布:js 取数组前几个 编辑:程序博客网 时间:2024/06/02 06:47

文件管理


cat


  • 解释
    命令用于连接文件并打印到标准输出设备上

  • 使用权限
    所有使用者

  • 语法格式

cat [-AbeEnstTuv] [--help] [--version] fileName
  • 参数
-n 或 --number:由 1 开始对所有输出的行数编号。-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFDTAB 之外。-E 或 --show-ends : 在每行结束处显示 $。-T 或 --show-tabs:TAB 字符显示为 ^I-e : 等价于 -vE。-A, --show-all:等价于 -vET。-e:等价于"-vE"选项;-t:等价于"-vT"选项;
  • 实例
把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:$.$> cat -n textfile1 > textfile2把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:$> cat -b textfile1 textfile2 >> textfile3清空 /etc/test.txt 文档内容:$> cat /dev/null > /etc/test.txtcat 也可以用来制作镜像文件。例如要制作软盘的镜像文件,将软盘放好后输入:$> cat /dev/fd0 > OUTFILE相反的,如果想把 image file 写到软盘,输入:$> cat IMG_FILE > /dev/fd0

chmod


  • 解释
    Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用。

  • 文件权限
    所有使用者

  • 语法

chmod [-cfvR] [--help] [--version] mode file...
  • 参数
mode : 权限设定字串,格式如下 :[ugoa...][[+-=][rwxX]...][,...]其中:u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。其他参数说明:-c : 若该文件权限确实已经更改,才显示其更改动作-f : 若该文件权限无法被更改也不要显示错误讯息-v : 显示权限变更的详细资料-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)--help : 显示辅助说明--version : 显示版本
  • 实例
将文件 file1.txt 设为所有人皆可读取 :$> chmod ugo+r file1.txt将文件 file1.txt 设为所有人皆可读取 :$> chmod a+r file1.txt将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :$> chmod ug+w,o-w file1.txt file2.txt将 ex1.py 设定为只有该文件拥有者可以执行 :$> chmod u+x ex1.py将目前目录下的所有文件与子目录皆设为任何人可读取 :$> chmod -R a+r *此外chmod也可以用数字来表示权限如 :chmod 777 file语法为:chmod abc file其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。r=4,w=2,x=1若要rwx属性则4+2+1=7;若要rw-属性则4+2=6;若要r-x属性则4+1=5$> chmod a=rwx file$> chmod 777 file效果相同$> chmod ug=rwx,o=x file和chmod 771 file效果相同

chown


  • 解释
    inux/Unix 是多人多工操作系统,所有的文件皆有拥有者。利用 chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。
    一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限可以自己的文件拥有者改设为别人。只有系统管理者(root)才有这样的权限。

  • 使用权限
    root

  • 语法

chown [-cfhvR] [--help] [--version] user[:group] file...
  • 参数
user : 新的文件拥有者的使用者 IDgroup : 新的文件拥有者的使用者群体(group)-c : 若该文件拥有者确实已经更改,才显示其更改动作-f : 若该文件拥有者无法被更改也不要显示错误讯息-h : 只对于连结(link)进行变更,而非该 link 真正指向的文件-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有文件与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help : 显示辅助说明--version : 显示版本
  • 实例
将文件 file1.txt 的拥有者设为 users 群体的使用者 jessie :$> chown jessie:users file1.txt将目前目录下的所有文件与子目录的拥有者皆设为 users 群体的使用者 lamport :$> chown -R lamport:users *

file


  • 解释
    Linux file命令用于辨识文件类型。
    通过file指令,我们得以辨识该文件的类型。

  • 语法

file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]
  • 参数
-b  列出辨识结果时,不显示文件名称。-c  详细显示指令执行过程,便于排错或分析程序执行的情形。-f<名称文件>  指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称。-L  直接显示符号连接所指向的文件的类别。-m<魔法数字文件>  指定魔法数字文件。-v  显示版本信息。-z  尝试去解读压缩文件的内容。[文件或目录...] 要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件。
  • 实例

显示文件类型

$> file install.loginstall.log: UTF-8 Unicode text$> file -b install.log      <== 不显示文件名称UTF-8 Unicode text$> file -i install.log      <== 显示MIME类别。install.log: text/plain; charset=utf-8$> file -b -i install.logtext/plain; charset=utf-8

显示符号链接的文件类型

$> ls -l /var/maillrwxrwxrwx 1 root root 10 08-13 00:11 /var/mail -> spool/mail$> file /var/mail/var/mail: symbolic link to `spool/mail'$> file -L /var/mail/var/mail: directory$> ile /var/spool/mail/var/spool/mail: directory$> file -L /var/spool/mail/var/spool/mail: directory

find


  • 解释
    Linux find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

  • 语法

find path -option [ -print ] [ -exec -ok command ] {} ;
  • 参数
-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件-amin n : 在过去 n 分钟内被读取过-anewer file : 比文件 file 更晚被读取过的文件-atime n : 在过去 n 天过读取过的文件-cmin n : 在过去 n 分钟内被修改过-cnewer file :比文件 file 更新的文件-ctime n : 在过去 n 天过修改过的文件-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 文件类型是 c 的文件。
  • 实例
将目前目录及其子目录下所有延伸档名是 c 的文件列出来。$> find . -name "*.c"将目前目录其其下子目录中所有一般文件列出$> find . -type f将目前目录及其子目录下所有最近 20 天内更新过的文件列出$> find . -ctime -20查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们:$> find /var/logs -type f -mtime +7 -ok rm { } ;查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:$> find . -type f -perm 644 -exec ls -l { } ;为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径:$> find / -type f -size 0 -exec ls -l { } ;查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们:$> find /var/logs -type f -mtime +7 -ok rm { } ;

cut


  • 解释
    Linux cut命令用于显示每行从开头算起 num1 到 num2 的文字。

  • 语法

cut  [-bn] [file]cut [-c] [file]cut [-df] [file]

使用说明:
cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。

  • 参数
-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。-c :以字符为单位进行分割。-d :自定义分隔符,默认为制表符。-f :与-d一起使用,指定显示哪个区域。-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的范围之内,该字符将被写出;否则,该字符将被排除
  • 实例

当你执行who命令时,会输出类似如下的内容:

$> whorocrocket :0           2009-01-08 11:07rocrocket pts/0        2009-01-08 11:23 (:0.0)rocrocket pts/1        2009-01-08 14:15 (:0.0)

如果我们想提取每一行的第3个字节,就这样:

$> who|cut -b 3cc

ln


  • 解释
    Linux ln命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。
    当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

  • 语法

ln [参数][源文件或目录][目标文件或目录]

其中参数的格式为

[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}][--help] [--version] [--]
  • 命令功能

Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与符号链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而符号链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而符号链接却可以跨越不同的文件系统。

  • 符号链接
    1.符号链接以路径的形式存在。类似于Windows操作系统中的快捷方式
    2.符号链接可以跨文件系统 ,硬链接不可以
    3.符号链接可以对一个不存在的文件名进行链接
    4.符号链接可以对目录进行链接
    5.删除源文件时,不会删除链接文件

  • 硬链接
    1.硬链接,以文件副本的形式存在。占用两倍的磁盘空间。
    2.不允许给目录创建硬链接
    3.硬链接只有在同一个文件系统中才能创建
    4.删除源文件时,链接文件失效。

  • 必要参数

-b 删除,覆盖以前建立的链接-d 允许超级用户制作目录的硬链接-f 强制执行-i 交互模式,文件存在则提示用户是否覆盖-n 把符号链接视为一般目录-s 软链接(符号链接)-v 示详细的处理过程
  • 选择参数
-S "-S<字尾备份字符串> ""--suffix=<字尾备份字符串>"-V "-V<备份方式>""--version-control=<备份方式>"--help 显示帮助信息--version 显示版本信息
  • 实例
给文件创建软链接,为log2013.log文件创建软链接link2013,如果log2013.log丢失,link2013将失效:$> ln -s log2013.log link2013输出:$> ll-rw-r--r-- 1 root bin      61 11-13 06:03 log2013.log$> ln -s log2013.log link2013$> lllrwxrwxrwx 1 root root     11 12-07 16:01 link2013 -> log2013.log-rw-r--r-- 1 root bin      61 11-13 06:03 log2013.log给文件创建硬链接,为log2013.log创建硬链接ln2013,log2013.log与ln2013的各项属性相同ln log2013.log ln2013输出:$>  lllrwxrwxrwx 1 root root     11 12-07 16:01 link2013 -> log2013.log-rw-r--r-- 1 root bin      61 11-13 06:03 log2013.log$>  ln log2013.log ln2013$>  lllrwxrwxrwx 1 root root     11 12-07 16:01 link2013 -> log2013.log-rw-r--r-- 2 root bin      61 11-13 06:03 ln2013-rw-r--r-- 2 root bin      61 11-03 log2013.log

less


  • 解释
    less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

  • 语法

less [参数] 文件
  • 参数说明
-b <缓冲区大小> 设置缓冲区的大小-e 当文件显示结束后,自动离开-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件-g 只标志最后搜索的关键词-i 忽略搜索时的大小写-m 显示类似more命令的百分比-N 显示每行的行号-o <文件名> 将less 输出的内容在指定文件中保存起来-Q 不使用警告音-s 显示连续空行为一行-S 行过长时间将超出部分舍弃-x <数字> 将"tab"键显示为规定的数字空格/字符串:向下搜索"字符串"的功能?字符串:向上搜索"字符串"的功能n:重复前一个搜索(与 / 或 ? 有关)N:反向重复前一个搜索(与 / 或 ? 有关)b 向后翻一页d 向后翻半页h 显示帮助界面Q 退出less 命令u 向前滚动半页y 向前滚动一行空格键 滚动一行回车键 滚动一页[pagedown]: 向下翻动一页[pageup]: 向上翻动一页
  • 实例
1.查看文件$> less log2013.log2.ps查看进程信息并通过less分页显示$> ps -ef |less3.查看命令历史使用记录并通过less分页显示$> history | less$> scp -r tomcat6.0.32 root@192.168.120.203:/opt/soft$> cd ..$> scp -r web root@192.168.120.203:/opt/$> cd soft$> ls……省略……4.浏览多个文件$> less log2013.log log2014.log说明:输入 :n后,切换到 log2014.log输入 :p 后,切换到log2013.log
  • 附加备注
1.全屏导航ctrl + F - 向前移动一屏ctrl + B - 向后移动一屏ctrl + D - 向前移动半屏ctrl + U - 向后移动半屏2.单行导航j - 向前移动一行k - 向后移动一行3.其它导航G - 移动到最后一行g - 移动到第一行q / ZZ - 退出 less 命令4.其它有用的命令v - 使用配置的编辑器编辑当前文件h - 显示 less 的帮助文档&pattern - 仅显示匹配模式的行,而不是整个文件5.标记导航当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:ma - 使用 a 标记文本的当前位置'a - 导航到标记 a 处

more


  • 解释
    Linux more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。

  • 语法

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
  • 参数说明
-num 一次显示的行数-d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔'-l 取消遇见特殊字元 ^L时会暂停的功能-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料-s 当遇到有连续两行以上的空白行,就代换为一行的空白行-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)+/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示+num 从第 num 行开始显示fileNames 欲显示内容的文档,可为复数个数
  • 实例
逐页显示 testfile 文档内容,如有连续两行以上空白行则以一行空白行显示。$> more -s testfile从第 20 行开始显示 testfile 之文档内容。$> more +20 testfile
  • 附加备注
Enter 向下n行,需要定义。默认为1行Ctrl+F 向下滚动一屏空格键 向下滚动一屏Ctrl+B 返回上一屏= 输出当前行的行号:f 输出文件名和当前行的行号V 调用vi编辑器! 命令 调用Shell,并执行命令q 退出more

mv


  • 解释

Linux mv命令用来为文件或目录改名、或将文件或目录移入其它位置。

  • 语法
mv [options] source destmv [options] source... directory
  • 参数说明
-i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;-f: 在mv操作要覆盖某已有的目标文件时不给任何指示;mv参数设置与运行结果mv 文件名 文件名  将源文件名改为目标文件名mv 文件名 目录名  将文件移动到目标目录mv 目录名 目录名  目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名mv 目录名 文件名  出错
  • 实例
将文件 aaa 更名为 bbb :$> mv aaa bbb将info目录放入logs目录中。注意,如果logs目录不存在,则该命令将info改名为logs。$> mv info/ logs 再如将/usr/student下的所有文件和目录移到当前目录下,命令行为:$ mv /usr/student/*  . 

rcp


  • 解释

Linux rcp命令用于复制远程文件或目录。
rcp指令用在远端复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。

  • 语法
rcp [-pr][源文件或目录][目标文件或目录]或rcp [-pr][源文件或目录...][目标文件]
  • 参数说明
-p  保留源文件或目录的属性,包括拥有者,所属群组,权限与时间。-r  递归处理,将指定目录下的文件与子目录一并处理。
  • 实例
使用rcp指令复制远程文件到本地进行保存。设本地主机当前账户为rootlocal,远程主机账户为root,要将远程主机(218.6.132.5)主目录下的文件"testfile"复制到本地目录"test"中,则输入如下命令:复制远程文件到本地$> rcp root@218.6.132.5:./testfile testfile    rcp root@218.6.132.5:home/rootlocal/testfile testfile 要求当前登录账户cmd 登录到远程主机  rcp 218.6.132.5:./testfile testfile注意:指令"rcp"执行以后不会有返回信息,仅需要在目录"test"下查看是否存在文件"testfile"。若存在,则表示远程复制操作成功,否则远程复制操作失败。

rm


  • 解释

rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

  • 语法
rm [options] name...
  • 参数说明
-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录; -f:强制删除文件或目录; -i:删除已有文件或目录之前先询问用户; -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理; --preserve-root:不对根目录进行递归操作; -v:显示指令的详细执行过程。
  • 实例
删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r",例如:$> rm  test.txt $> rm  homework  rm: 无法删除目录"homework": 是一个目录  $> rm  -r  homework  删除当前目录下的所有文件及目录,命令行为:$> rm  -r  * 文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。

touch


  • 解释

Linux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

  • 语法
touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
  • 参数说明
a 改变档案的读取时间记录。m 改变档案的修改时间记录。c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。f 不使用,是为了与其他 unix 系统的相容性而保留。r 使用参考档的时间记录,与 --file 的效果一样。d 设定时间与日期,可以使用各种不同的格式。t 设定档案的时间记录,格式与 date 指令相同。--no-create 不会建立新档案。--help 列出指令格式。--version 列出版本讯息。
  • 实例
执行指令"touch"修改文件属性以后,并再次查看该文件的时间属性修改文件时间属性为当前系统时间$> touch testfile                 查看该文件修改后的时间$> ls -l testfile               #修改后文件的时间属性为当前系统时间  -rw-r--r-- 1 hdd hdd 55 2011-08-22 19:53 testfile  使用指令"touch"时,如果指定的文件不存在,则将创建一个新的空白文件。例如,在当前目录下,使用该指令创建一个空白文件"file",输入如下命令:创建一个名为“file”的新的空白文件$> touch file             

which


which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

  • 语法
which [文件...]
  • 参数
-n<文件名长度>  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。-p<文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。-w  指定输出时栏位的宽度。-V  显示版本信息。
  • 实例
使用指令"which"查看指令"bash"的绝对路径,输入如下命令:$> which bash上面的指令执行后,输出信息如下所示:/bin/bash                   

cp


  • 解释

Linux cp命令主要用于复制文件或目录。

  • 语法
cp [options] source destcp [options] source... directory
  • 参数
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。-f:覆盖已经存在的目标文件而不给出提示。-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。-l:不复制文件,只是生成链接文件。
  • 实例
使用指令"cp"将当前目录"test/"下的所有文件复制到新目录"newtest"下,输入如下命令:$> cp –r test/ newtest          注意:用户使用该指令复制目录时,必须使用参数"-r"或者"-R"

whereis


  • 解释

Linux whereis命令用于查找文件。
该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。
该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。

  • 语法
whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]
  • 参数
-b  只查找二进制文件。-B  <目录>只在设置的目录下查找二进制文件。-f  不显示文件名前的路径名称。-m  只查找说明文件。-M  <目录>只在设置的目录下查找说明文件。-s  只查找原始代码文件。-S  <目录>只在设置的目录下查找原始代码文件。-u  查找不包含指定类型的文件。
  • 实例
使用指令"whereis"查看指令"bash"的位置,输入如下命令:$> whereis bash 上面的指令执行后,输出信息如下所示:bash:/bin/bash/etc/bash.bashrc/usr/share/man/man1/bash.1.gz 注意:以上输出信息从左至右分别为查询的程序名、bash路径、bash的man 手册页路径。如果用户需要单独查询二进制文件或帮助文件,可使用如下命令:$> whereis -b bashbash命令的二进制程序的地址  bash: /bin/bash /etc/bash.bashrc /usr/share/bash$> whereis -m bashbash命令的帮助文件地址bash: /usr/share/man/man1/bash.1.gz  #bash命令的帮助文件地址  

scp


  • 解释

Linux scp命令用于Linux之间复制文件和目录。
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。

  • 语法
scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file][-l limit] [-o ssh_option] [-P port] [-S program][[user@]host1:]file1 [...] [[user@]host2:]file2简易写法:scp [可选参数] file_source file_target 
  • 参数说明
-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)的选项。
  • 实例
1.从本地复制到远程命令格式: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 root@www.runoob.com:/home/root/others/music scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music/001.mp3 scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music scp /home/space/music/1.mp3 www.runoob.com:/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/ root@www.runoob.com:/home/root/others/ scp -r /home/space/music/ www.runoob.com:/home/root/others/ 上面命令将本地 music 目录复制到远程 others 目录下。2.从远程复制到本地从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可,如下实例应用实例:scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3 scp -r www.runoob.com:/home/root/others/ /home/space/music/说明1.如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -P 参数来设置命令的端口号,命令格式如下:#scp 命令使用端口号 4588scp -P 4588 remote@www.runoob.com:/usr/local/sin.sh /home/administrator2.使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。
原创粉丝点击