目录
- 🚀前言
- 一,mv指令
- 二,more & less指令
- 2.1 more 指令
- 2.1 less指令
- 三,重定向技术(重要)
- 3.1 echo指令
- 3.2 输出重定向 >
- 3.3 追加重定向 >>
- 3.4 输入重定向 <
- 四,head & tail指令
- 4.1 head 指令
- 4.2 tail指令
- 4.3 管道(重要)
- 五,时间相关的指令
- 5.1 date指令(没啥用)
- 5.2 时间戳
- 六,有关查找或搜索指令
- 6.1 find指令
- 6.2 which指令
- 6.3 指令就是文件!
- 6.4 验证:指令就是文件
- 6.5 grep指令
- 七,ls 与 ll 的关系
- 八,文件的压缩与解压指令
- 8.1 tar指令
- 8.2 zip/unzip指令
- 九 ,bc指令(没啥用)
- 十,uname 指令
🚀前言
在上一篇文章的基础上,我们继续对Linux的基础指令进行介绍。所以建议先看完上一篇文章 Linux基本指令(一) 。
一,mv指令
mv命令是move的缩写,可以用来剪切文件/目录或者将文件/目录重命名。
语法: mv [选项] [源文件或目录] [目标文件或目录]
功能:剪切文件/目录或者将文件/目录重命名
常用选项:
- -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
- -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
比如剪切文件或是目录:
再比如给文件改名字:
二,more & less指令
more指令和less指令的功能与cat指令类似,都是可以查看文件内容。但是查看内容的形式不一样。
2.1 more 指令
语法:more [选项][文件]
功能:more命令,功能类似 cat
常用选项:
- -n 对输出的所有行编号
- q 退出more
比如我们生成一个含有10000个字符串的文件,使用more可以查看文件内容,但是more不能往前翻,只能按回车键或向下键往后翻。
截取一个片段:
输入 q 退出more。
2.1 less指令
语法: less [选项] [文件]
功能:
less与more类似,但使用less前往后翻看文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
选项:
- -i 忽略搜索时的大小写
- -N 显示每行的行号
- / 字符串:向下搜索“字符串”的功能
- ?字符串:向上搜索“字符串”的功能
- n:重复前一个搜索(与 / 或 ? 有关)
- N:反向重复前一个搜索(与 / 或 ? 有关)
- q: 退出less
比如输入 ?99,按回车,截取一个片段:
输入 q 退出less。
三,重定向技术(重要)
首先要给出一个概念:Linux下,一切皆文件!
3.1 echo指令
语法:echo [字符串]
功能:向显示器文件进行写入内容
如图:
3.2 输出重定向 >
1. 用echo进行写入时,可以使用 > 把内容写入到指定文件中。但是本来echo是要向显示器文件写入的,结果这样写入到了文件中,这个操作叫做输出重定向。
2. 使用 echo > 文件 进行写入时,每次写入都是从头写入,要将旧的内容清空,再写入上新内容。
3. 直接输入: > [文件名]
文件不存在,可以快速的进行新建空文件
文件存在,可以快速的清空指定文件的内容
3.3 追加重定向 >>
注:>> (这两个小于号之间没有空格)
使用 > 会把原来文件中的内容清除,但是使用 >> 就能保留旧内容。
如果不想换行,可以使用 printf写入:
3.4 输入重定向 <
本来默认从键盘文件中读取内容,使用 cat < 更改为从指定文件中读取数据了。这个操作叫做输入重定向。
四,head & tail指令
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 就是看档案的结尾。
4.1 head 指令
语法: head [选项] [文件]
功能: head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
选项:
- -n<行数> 显示的行数(n可省略)
还是使用上面生成的10000个字符串进行演示:
4.2 tail指令
语法: tail [选项] [文件]
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
选项:
- -f 循环读取
- -n<行数> 显示行数
还是使用上面生成的10000个字符串进行演示:
4.3 管道(重要)
方式1:新建一个新的文件作为中转
方式2:使用管道 |
管道:| 两边都是指令,把上一个指令的执行结果作为下一个指令的执行数据源。
管道就是文件,这里可以理解为本来head是向显示器文件中写入的,而这里先把它写入到管道中。tail读取时本来也要跟文件名的,而这里是从管道中读取。
五,时间相关的指令
5.1 date指令(没啥用)
语法:date + [标记]
常用的标记:
%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
如图:
5.2 时间戳
时间戳:是从1970年1月1日(UTC/GMT的午夜)开始到现在所累计的秒数,不考虑闰秒。
时间->时间戳:date +%s
时间戳->时间:date -d@1508749502
六,有关查找或搜索指令
6.1 find指令
(1) Linux下find命令在目录结构中搜索文件,并执行指定的操作。
(2) Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。这里只介绍最基础的功能。
语法: find [路径名] [选项] [文件名]
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
常用选项:
-name 按照文件名查找文件
如图:
6.2 which指令
语法:which [指令]
功能:在Linux系统下搜索指定的指令
6.3 指令就是文件!
6.4 验证:指令就是文件
6.5 grep指令
语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行
如图:
在未来,会使用grep指令进行进程查找。
七,ls 与 ll 的关系
我们经常使用ls指令与ll指令,都是显示目录文件信息
结论:ll 是 ls -l 的别名。
八,文件的压缩与解压指令
8.1 tar指令
语法:tar [-cxtzjvf] [文件/目录]
功能:对文件/目录打包,解包。
参数:(前面的-可以省略)
-c :新建一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令
-z :要压缩
-f :在 f 之后要立即跟新建的压缩包名称,不要再加参数!
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-C : 解压到指定目录
-t :查看 tarfile 里面的文件!
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
比如我们压缩一个目录:
文件后缀是:.tgz
也可以把目录压缩到指定目录下:
8.2 zip/unzip指令
语法: zip [压缩文件.zip] [目录或文件]
功能: 将目录或文件压缩成zip格式
常用选项:
- -r 递归处理,将指定目录下的所有文件和子目录一并处理
- -d 解压到指定目录下
如图:
递归压缩所有子文件和子目录:
也可以把压缩包解压到指定目录下:
九 ,bc指令(没啥用)
功能:在Linux上生成一个简易计算机的指令
十,uname 指令
语法:uname [选项]
功能: uname用来获取电脑和操作系统的相关信息。
补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。
常用选项:
- -a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
- -r 显示内核相关信息
比如我的云服务器的相关信息如下: