本文介绍如何在Linux/Unix操作系统上使用cat和cp命令的示例,不管你是否经常需要复制或查看文件内容,都要了解一下。
cat命令
根据其手册页,cat在标准输出上连接文件和打印,其简单的语法如下:
cat [OPTION]… [FILE]…
可以使用的各种选项如下:
-A,-show-all。可以使用$和非打印显示Tabs,行尾
-b,-number-nonblank number非空输出行,覆盖-n
-e相当于-vE
-E,-show-ends在每行末尾显示$ sign
-n,–number所有输出行的编号
-s,-squeeze-blank抑制重复的空输出行
-t相当于-vT
-T,-show-tabs将TAB字符显示为^ I
-v,-show-nonprinting
cat的运用例子:
$ cat -A text.txt ## 显示选项卡,使用$和非打印的行尾。
$ cat -b rsync1.txt ## 编号所有非空行。
2 支持复制链接,设备,所有者,组和权限
3 排除和排除类似于GNU tar的选项
4 CVS排除模式,用于忽略CVS忽略的相同文件
5 可以使用任何透明的远程shell,包括ssh或rsh
6 不需要超级用户权限
7 管道传输文件以最大程度地降低延迟成本
8 支持匿名或经过身份验证的rsync守护程序(适用于镜像)
$ cat -n rsync1.txt ## 对所有行进行编号,无论是否为空。
Cat还可用于将两个或多个文件合并为一个:
cat file1.txt file2.txt >> file3.txt
file1.txt和file2.txt的内容将合并到file3.txt中。
使用Linux/Unix cp命令
cp最简单的解释是用于复制文件和目录的linux命令行工具,它将文件从SOURCE复制到DEST,或将多个SOURCE复制到DIRECTORY。
语法:
cp [source-file] [destination-file]
cp [source-file] [destination-directory]
cp [source-directory] [destination-directory]
cp的最常见选项:
-n,-no-clobber不会覆盖现有文件
-i,覆盖前的交互式提示
-l,-link硬链接文件而不是复制
-R,-r,–recursive 递归复制目录
-s,-symbolic-link制作符号链接而不是复制
-p与-preserve=mode,ownership,timestamps相同
-u,-update copy仅在SOURCE文件比目标文件新时或目标文件丢失时才复制
-v,-verbose显示正在执行的操作的输出
-Z将目标文件的SELinux安全上下文设置为默认类型
cp命令有很多其他选项可供使用,请查看其手册页以获取更多信息。
cp的实例:
1、将文件复制到目录
cp /home/tech/django/index.html /home/pench/backup/
2、将文件复制到同一目录
cp /home/tech/django/index.html index2.html
3、递归地将目录复制到另一个目录并显示详细输出
cp -Rv /home/tech/django/ /home/pench/backup/ same as
cp -rv /home/tech/django/ /home/pench/backup/
4、将文件复制到目录并确保仅复制新文件和更新其他文件
cp -uv file1.txt file2.txt file3.txt /home/pench/backup/
5、导致cp提示并询问你是否确定复制
cp -i /etc/httpd/conf/httpd.conf /home/pench/backup/
6、将文件复制到目录并确保不会覆盖具有相同文件名的文件
cp -n file1.txt file2.txt file3.txt /home/pench/backup/
7、将文件复制到目录并保留其所有权和时间戳
cp /home/tech/django/index.html /home/pench/backup/
8、使用详细输出在index2.html创建index.html的符号链接
cp -sv /home/tech/django/index.html index2.html
9、使用详细输出在index2.html创建index.html的硬链接
cp -lv /home/tech/django/index.html index2.html
结语
我们已经了解了如何使用cat查看和连接文件以及如何使用cp命令复制文件和目录,我们希望它能提供丰富的信息并引导你更好的理解这两个命令的使用方式。
相关主题