Linux下的基本指令(二)cp mv cd touch cat more less head tail

28 篇文章 0 订阅
11 篇文章 0 订阅

cp

语法   cp+常用选项+源文件或目录+目标文件或目录
功能   复制文件或目录到指定位置
常用选项如下

* -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
* -i 或 --interactive 覆盖文件之前先询问用户
* -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链
接,则一律视为普通文件处理
* -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

例1
当依次执行以下命令时,产生的结果如图所示:
[1]cp /etc/passwd ./        将etc目录下的passwd文件拷贝到当前的目录下
[2]mkdir test                   创建目录test
[3]mkdir tmp                   创建目录tmp
[4]cp test/ tmp/               将目录test拷贝到tmp目录下
在这里插入图片描述
  由此我们可以看出将目录进行拷贝在cp指令的默认状态下是无法进行的,原因在于一个目录下其中还可能包含子目录与文件,因此拷贝时是仅拷贝该目录偶还是拷贝包括其目录下的所有文件?会产生歧义。
  因此若想实现拷贝目录的功能将需要使用选项-r进行处理。如例2所示。
例2
  cp -r test/ tmp/
在这里插入图片描述
例3
特殊情况:当拷贝到的目的地没有对应的目录
如执行: cp ./passwd test/dir
这个时候依然会操作成功,但是会将passwd文件改名为dir放到test目录下:
在这里插入图片描述

【注意】
  cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。

mv指令

  mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。即类似于剪切功能。
语法: mv+常用选项+源文件或目录+目标文件或目录
功能:
   [1]视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
   [2] 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
   [3] 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
常用选项如下:

*-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
*-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

例4
执行命令 mv passwd ./test 可知文件目录的前后变化
在这里插入图片描述
例5
读下列指令:
  [1]ls
  [2]mv passwd abc
  [3]ls
  [4]ls abc
  得到运行结果如下:
在这里插入图片描述   我们根据运行结果可知,满足功能的第二条,即当第二个目标参数为文件类型时,便将源文件重命名为目标文件的名字,并且置于目标文件之下

cd指令

语法: cd + 所需进入的目录名
功能: 改变工作目录。将当前工作目录改变到指定的目录下。
例6
cd . . 返回上级目录
如下图,当前目录为test
在这里插入图片描述  当执行 cd . . 之后进入上层目录下,如图所示:

在这里插入图片描述

touch指令

语法: touch+常用选项+文件名
功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项如下:

* -a 或–time=atime或–time=access或–time=use只更改存取时间。
* -c 或–no-create 不建立任何文档。
* -d 使用指定的日期时间,而非现在的时间。
* -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
* -m 或–time=mtime或–time=modify 只更改变动时间。
* -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
* -t 使用指定的日期时间,而非现在的时间。

例7
touch test1.txt 不存在test1.txt,则在当前目录下创建该文件
在这里插入图片描述

例8
touch test1.txt 存在test1.txt,则更新该文件日期时间
在这里插入图片描述我们可以使用stat指令来观察文件的各种状态值。
在这里插入图片描述

例9
touch -d ''1999-12-25 21:21:21" test.txt
注意观察其状态时间
在这里插入图片描述

cat 指令

语法: cat + 常用选项+ 打印的文件名
功能: 查看、打印目标文件的内容
常用选项:

* -b 对非空输出行编号
* -n 对输出的所有行编号
* -s 不输出多行空行

【注意】一般只用于输出短小文件,太长一般只显示一千行,且翻看麻烦

more 指令

为弥补cat打印指令带来的弊端,使用more指令进行分页显示文件内容。
语法: more +常用选项+文件名
功能: more命令,功能类似 cat
常用选项

* -n 对输出的所有行编号
空格向下翻页(且只能向下翻页)
回车向下换行滚动
q 退出more

less指令

  也是分页显示文件内容,功能比more更加全面,作为Linux中正统查看文件内容的工具。
语法: less +常用选项+文件名
功能: less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
常用选项

* -i 忽略搜索时的大小写
* -N 显示每行的行号
* /字符串:向下搜索“字符串”的功能
* ?字符串:向上搜索“字符串”的功能
* n:重复前一个搜索(与 / 或 ? 有关)
* N:反向重复前一个搜索(与 / 或 ? 有关)
q:quit
f:向上翻页,b:向下翻页
j:按行向上滚动 k:按行向下滚动

head指令

语法: head +常用选项+文件名.
功能: head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行
常用选项

* -n<行数> 显示的行数

例10
head abc
在这里插入图片描述

tail指令

  tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.
语法: tail+常用选项+选项参数+文件名称
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。(默认后十行)
常用选项:

* -f 循环读取
** -n<行数> 显示行数

例11
tail -n 3 abc
在这里插入图片描述

例12
要求显示文件的第10行
head -n 10 abc | tail -n 1
在这里插入图片描述【注意】这里的 | 符号叫做管道符,将前方命令的处理结果继续由后续命令进行处理,功能在于可以连接若干个不同的命令实现计划功能。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值