cp 命令

cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

语法

cp(选项)(参数)

选项

-a:此参数的效果和同时指定"-dpR"参数相同;-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;-f:强行复制文件或目录,不论目标文件或目录是否已存在;-i:覆盖既有文件之前先询问用户;-l:对源文件建立硬连接,而非复制文件;-p:保留源文件或目录的属性;-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;-s:对源文件建立符号连接,而非复制文件;-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;-b:覆盖已存在的文件目标前将目标文件备份;-v:详细显示命令执行的操作。

参数

  • 源文件:制定源文件列表。默认情况下,cp命令不能复制目录,如果要复制目录,则必须使用-R选项;
  • 目标文件:指定目标文件。当“源文件”为多个文件时,要求“目标文件”为指定的目录。

实例

(1)复制 a.txt 到 test 目录下,保持原文件时间,如果原文件存在提示是否覆盖。

cp -ai a.txt test

(2)为 a.txt 建立一个链接(快捷方式)

cp -s a.txt link_a.txt

(3)如果把一个文件复制到一个目标文件中,而目标文件已经存在,那么,该目标文件的内容将被破坏。此命令中所有参数既可以是绝对路径名,也可以是相对路径名。通常会用到点.或点点…的形式。例如,下面的命令将指定文件复制到当前目录下:

cp ../mary/homework/assign .

(4)所有目标文件指定的目录必须是己经存在的,cp命令不能创建目录。如果没有文件复制的权限,则系统会显示出错信息。

将文件file复制到目录/usr/men/tmp下,并改名为file1

cp file /usr/men/tmp/file1

(5)将目录/usr/men下的所有文件及其子目录复制到目录/usr/zh中

cp -r /usr/men /usr/zh

(6)交互式地将目录/usr/men中的以m打头的所有.c文件复制到目录/usr/zh中

cp -i /usr/men m*.c /usr/zh

(7)我们在Linux下使用cp命令复制文件时候,有时候会需要覆盖一些同名文件,覆盖文件的时候都会有提示:需要不停的按Y来确定执行覆盖。文件数量不多还好,但是要是几百个就很麻烦,于是有了下面的方法

cp aaa/* /bbb
复制目录aaa下所有到/bbb目录下,这时如果/bbb目录下有和aaa同名的文件,需要按Y来确认并且会略过aaa目录下的子目录。cp -r aaa/* /bbb
这次依然需要按Y来确认操作,但是没有忽略子目录。cp -r -a aaa/* /bbb
依然需要按Y来确认操作,并且把aaa目录以及子目录和文件属性也传递到了/bbb。\cp -r -a aaa/* /bbb
成功,没有提示按Y、传递了目录属性、没有略过目录。

cat命令

cat是Linux系统下用来查看文件连续内容用的指令,字面上的含意是“concatenate”(连续)的缩写。除了用来作为显示文件内容外,cat指令也可用于标准流上的处理,如将显示的信息转入或附加另一文件上。

命令格式

cat [选项] [文件]...

命令功能

cat 主要有三大功能:

1.一次显示整个文件:

cat filename

2.从键盘创建一个文件:

cat > filename

只能创建新文件,不能编辑已有文件。

3.将几个文件合并为一个文件:

cat file1 file2 > file

命令参数

  • -n 或 --number 对输出的所有行编号,由1开始对所有输出的行数编号
  • -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
  • -s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
  • -v 或 --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

实例

(1)把 log2012.log 的文件内容加上行号后输入 log2013.log 这个文件里

cat -n log2012.log log2013.log

(2)把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里

cat -b log2012.log log2013.log log.log

(3)使用 here doc 生成新文件

cat >log.txt <<EOF
>Hello
>World
>PWD=$(pwd)
>EOF
ls -l log.txt
cat log.txt
Hello
World
PWD=/opt/soft/test

(4)反向列示

tac log.txt
PWD=/opt/soft/test
World
Hello

tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,而 tac 则是由最后一行到第一行反向在萤幕上显示出来!

more

more功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。

命令格式

more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]

命令功能

more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。

命令参数

+n      从笫n行开始显示-n       定义屏幕大小为n行+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示  -c       从顶部清屏,然后显示-d       提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能-l        忽略Ctrl+l(换页)字符-p       通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似-s       把连续的多个空行显示为一行-u       把文件内容中的下画线去掉

常用操作命令

Enter    向下 n 行,需要定义。默认为 1 行Ctrl+F   向下滚动一屏空格键  向下滚动一屏Ctrl+B  返回上一屏=       输出当前行的行号:f     输出文件名和当前行的行号V      调用vi编辑器!命令   调用Shell,并执行命令q       退出more

实例

(1)显示文件中从第3行起的内容

more +3 text.txt

(2)在所列出文件目录详细信息,借助管道使每次显示 5 行

ls -l | more -5

按空格显示下 5 行

less指令

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

命令格式

less [参数] 文件

命令功能

less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 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)ps 查看进程信息并通过 less 分页显示

ps -aux | less -N

(2)查看多个文件

less 1.log 2.log

可以使用 n 查看下一个,使用 p 查看前一个。

Linux 常用命令学习——cp命令、cat命令和more 命令、less命令相关推荐

  1. Linux常用指令学习(篇三):文件搜索命令

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.文件搜索命令:find 1. 根据文件名搜索 -name 2. 指定文件大小搜索 -size 3. 根据所有者搜索 ...

  2. Linux常用指令学习(篇一):文件处理指令

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.查看Linux版本信息 二.文件处理命令 (一)命令格式与目录处理命令 1.命令格式 2.显示目录文件:ls 3. ...

  3. linux cat 重定向,Linux命令(cp mv cat和重定向)(示例代码)

    cp 复制 将同文件夹下的某个文件复制到文件夹下 常用选项说明: cp 1.txt 2.txt -a复制源文件的所有属性 cp 1 2 -r若给出的源文件为目录文件,cp将递归复制该目录下的所有子目录 ...

  4. Linux常用的基本命令cp、mv、rm、cat、find(三)

    一.cp复制文件命令 1.cp file2 /tmp :复制file2文件到/tmp目录下 2.cp /tmp/file2 /home :复制/tmp/file2文件到/home目录下 3.cp /h ...

  5. linux常用指令学习记录

    前言 本文主要为学习贴,用来记录一些以供参考. 文件内容查看 cat 从上往下阅读文件内容 cat [-AbEnTv] ${FILE_NAME) cat -n /etc/issue 将该文件的内容输出 ...

  6. Linux常用指令学习(篇二):权限管理指令

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.改变文件或目录权限:chmod 1. 改变文件权限方法(一) 2. 改变文件权限方法(二)(常用此方法) 3. 改 ...

  7. Linux操作系统学习 | Linux常用命令

    文章目录 操作系统 1.桌面操作系统 2.服务器操作系统 3.嵌入式操作系统(Linux) 4.移动设备操作系统(iOS.Android(基于Linux)) 一.虚拟机 二.Linux操作系统的发展史 ...

  8. Linux常用命令之文件和目录处理命令

    目录 1.Linux命令的普遍语法格式 2.目录处理命令 一.显示目录文件命令:ls 二.创建目录命令:mkdir 三.切换目录命令:cd 四.shell内置命令和外部命令的区别 五.显示当前目录命令 ...

  9. ubuntu系统vim常用命令学习以及ubuntu软件下载安装

    文章目录 一.ubuntu系统vim常用命令学习 (一)进入进入vim编辑器的方式 (二)vi的三种工作方式 (三)退出vi的命令 (四)命令模式下的各种命令 1.光标移动命令 2.插入命令 3.删除 ...

最新文章

  1. iOS隐藏导航栏的方法
  2. 商汤 AI TECH DAY丨见大咖、拿OFFER、体验AI,一次就够!
  3. react源码解读 {createClass}
  4. Android之app作为服务器解决跨域问题
  5. php 系统环境变量引用,PHP 系统变量 环境变量
  6. 梯度下降法-深度AI
  7. 面板数据回归模型(固定效应、随机效应、混合回归、变系数)、面板数据AR、VAR模型
  8. Arcgis Javascript那些事儿(一)--Arcgis server发布feature access服务
  9. Linux命令总结:file
  10. Vue:进入组件显示蒙版及文字,离开隐藏
  11. Spark源码阅读@ListenerBus 的实现
  12. 使Fiddler4抓包微信小程序
  13. 论Web App、Hybrid App、Native App三类主流APP设计差异
  14. 《黑客攻防从入门到精通》:社会工程学
  15. 电脑桌面图标右上角出现计算机名称如何取消,电脑桌面上的图标名称怎么清除不显示?...
  16. C++调用C# dll 未能加载文件或程序集
  17. 动态规划法解决的问题
  18. iOS 一个带动画的等待指示器
  19. JAVA的Map怎么判断为空_检查Java中的HashMap是否为空
  20. HTML 图片鼠标悬停动态效果

热门文章

  1. android禁用光感按键
  2. 为什么要使用Kafka?
  3. java火焰图的生成
  4. 直线拟合算法(续:加权最小二乘)
  5. 二叉树深度和高度_二叉树的高度和深度
  6. 江苏事业单位计算机岗复习备考经验(2023年)
  7. 从AE(Auto-encoder)到VAE(Variational Auto-Encoder)
  8. Vue项目的记录(一)
  9. linux qt小型计算器课程设计,用Qt设计一个简易计算器
  10. 【阿不】深入ASP.NET数据绑定(上)