Linux常见指令(二)

Linux的常见指令

  • 删除文件与目录——rmdir指令 && rm 指令
  • 访问Linux手册页——man指令
  • 拷贝文件或目录——cp指令
  • 剪切文件或目录与重命名文件——mv指令
  • 查看目标文件里的内容(小文本)——cat指令
  • 查看目标文件里的内容(大文本)——more指令
  • 与more功能相差不多的指令——less指令
  • 查看文件中前n行的内容——haed指令
  • 查看文件中后n行的内容——tail指令
  • 管道 | (基础用法)
  • 时间相关的指令——date指令
  • 日历指令——Cal指令

删除文件与目录——rmdir指令 && rm 指令

语法:rmdir [文件目录]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
如果删除一个文件就会报错,这个指令只有在特定情况下才会使用。
Linux常见指令(二)_第1张图片
rm命令可以同时删除文件或目录
语法:rm [-f-i-r] [文件目录]
适用对象:所有使用者
功能:删除文件或目录
常用选项:

-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件

这个就可以删除文件或者是目录了,还可以进行多个删除等等,更加好用。
Linux常见指令(二)_第2张图片
我们发现rm默认删除的是文件而不是目录。
i是删除前的询问是否要删除,如果是就输入y,否就输入n。
Linux常见指令(二)_第3张图片
f是强制删除不许咬询问,看下面的删除baiye整个目录下的文件或者目录就会询问你是否要删除,如果很多就要询问你很多次,如果选项再加一个f就不会有询问了。
Linux常见指令(二)_第4张图片
这次就没有了询问。

访问Linux手册页——man指令

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。
man 语法: man [选项] 命令。
那么,我们就用这个查一下man应该怎么用(退出按q):

指令:man man

Linux常见指令(二)_第5张图片
红色的地方叫做章节,因为一个手册里面的内容很多,需要分类,第一个就是普通的命令查询,第二个是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件),第三个是查询C语言的库函数。

指令:man 3 printf

Linux常见指令(二)_第6张图片

拷贝文件或目录——cp指令

语法:cp [选项] 源文件或目录目标文件或目录.
功能: 复制文件或目录.
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,
则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存
在的目录,则会出现错误信息.
常用选项:

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

Linux常见指令(二)_第7张图片
这里是复制,并不影响原来文件的内容和位置。
Linux常见指令(二)_第8张图片
i是询问,询问都是y同意,n否决。
f就是强制,不会询问。
如果想拷贝目录的话就用选项r:
Linux常见指令(二)_第9张图片

剪切文件或目录与重命名文件——mv指令

这个就是win11系统的剪切和重命名的功能了。
语法: mv [选项] 源文件或目录 目标文件或目录
功能:

  1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的
    目录中。
  2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它
    将所给的源文件或目录重命名为给定的目标文件名。
  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至
    目标目录中。

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

也是覆盖,也要注意同名文件的内容被同化掉。
(这里我还是用了更直观的方法)
Linux常见指令(二)_第10张图片
echo那一行是将hello给写进root目录下面test文件里,cat是显示root目录下面的test文件里面的内容,cat下面的那一行就是输出内容了。
我们知道ppp目录下的test文件里面什么都没有,所以我们将它放到root目录下然后覆盖掉原来的文件:
Linux常见指令(二)_第11张图片
只要是覆盖掉就会像这样被代替原来的内容(上面的复制也是一样的)。
如果你不想看到询问就可以加选项f。
注意:你不能剪切到根目录下,因为你没有权限。
重命名的格式是:
Linux常见指令(二)_第12张图片
当然只要是带路径分隔符的也不行,因为会被认为是你要去剪切。

查看目标文件里的内容(小文本)——cat指令

语法:cat [选项] [文件]
功能: 查看目标文件的内容
常用选项:

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

这里我们先用一条指令向文件里面输入大量的数据内容从而让下面的指令更好的展示作用:

cnt=0; while [ $cnt -le 10000 ] ; do echo “hello [$cnt]”; let cnt++; done > 123
这条指令是在root目录下的123文件中输入一万行数据,数据内容为0到9999

然后我们来查看一下里面的内容:
Linux常见指令(二)_第13张图片
这里修正一下,hello两边的双引号要重新修正。
在这里插入图片描述
让我们用cat来看一下结果:
Linux常见指令(二)_第14张图片
如果你想显示多少行的内容,可以用n选项。
但是这么多的内容如果你想看某一行你就要进行翻找才行,非常的麻烦。
所以cat与tac(tac是反过来查看)并不适合查看大文本。

查看目标文件里的内容(大文本)——more指令

语法:more [选项][文件]
功能:more命令,功能类似 cat
常用选项:

q 退出more

这个指令在查看文件的内容时,会展示部分内容,然后你按回车就可以展示下一条的内容,按q退出这个模式:
Linux常见指令(二)_第15张图片
如果你想看某行的数据,那么在命令后面输入-行号就行了:
Linux常见指令(二)_第16张图片
还有一个功能就是如果你在查找的时候输入斜杠那么后面在输入你想找的内容它就会自动查找。(因为里面全都是hello,不方便演示)
这个指令就很适合查看大文本,但是它不能随意的上下翻动。

与more功能相差不多的指令——less指令

语法: less [参数] 文件
功能:
less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前
不会加载整个文件。
选项:

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

但是这个指令不支持你到你要查找的这一行。
Linux常见指令(二)_第17张图片
这里我加了选项N。
这more与less指令很适合查看大文本。

查看文件中前n行的内容——haed指令

语法: head [参数]… [文件]…
功能:
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
选项:

-n<行数> 显示的行数

Linux常见指令(二)_第18张图片
Linux常见指令(二)_第19张图片

查看文件中后n行的内容——tail指令

语法: tail[必要参数][选择参数][文件]
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
选项:

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

Linux常见指令(二)_第20张图片
这里和head指令是差不多的。

管道 | (基础用法)

如果我们想拿到文件中某一行到某一行的内容要怎么做呢?
例如我们想找5000行到5020行的内容,我们可以用head指令找到包括5020行之前的内容,然后写入一个新建文件当中,再用tail指令读取后20行的内容。
那么我们能不能在不创建新的文件夹的情况下完成呢。
用一个指令来举例:

head -5020 123 | tail -20
Linux常见指令(二)_第21张图片

本来head -5020 123是往显示器打印,结果因为后面的 | (管道也是一种文件)后面的tail -20默认是从文件中读取数据,但是现在是从管道中读取。
这一行是批量化处理命令。

时间相关的指令——date指令

date 指定格式显示时间: date +%Y:%m:%d:%X

%H : 小时(00…23)
%M : 分钟(00…59)
%S : 秒(00…61)
%X : 相当于 %H:%M:%S
%d : 日 (01…31)
%m : 月份 (01…12)
%Y : 完整年份 (0000…9999)
%F : 相当于 %Y-%m-%d

+后面的中间间隔不仅仅可以是:只要不是百分号和空格就行。
Linux常见指令(二)_第22张图片
时间->时间戳:date +%s
时间戳->时间:date -d@1508749502
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒.
Linux常见指令(二)_第23张图片
因为起源地是英国,与中国有八个时差间隔,所以:
Linux常见指令(二)_第24张图片
最开始的时间戳在中国是从八点开始算的。

日历指令——Cal指令

命令格式: cal [参数]
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
常用选项:

-3 显示系统前一个月,当前月,下一个月的月历
-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y 显示当前年份的日历

Linux常见指令(二)_第25张图片
Linux常见指令(二)_第26张图片

你可能感兴趣的:(Linux,笔记,linux,服务器,运维)