Linux学习之基本指令二

-----紧接上文

在了解cat指令之前,我们首先要了解到Linux下一切皆文件,在学习c语言时我们就已经了解到了 对文件输入以及读入的操作(向显示器打印,从键盘读取数据),对于Linux下文件的操作,也是有对应的读取与写入。对于文件:

1.本来是应该显示到显示器上的内容,现在写到文件当中----叫做 输出重定向 >

比如这里的echo指令的作用是向显示器写入,利用输出重定向输入到文件中:

我们可以同时看到再次重定向输入时会覆盖之前的内容:

即在重定向之前,会清空源文件内容,在输入到文件中。

其次,>接文件名可以创建一个文件,打开关闭也可以清空原内容

2.当然我们在c语言时也学习到对文件的各种输入,以'a' 'w' 'w+'等方式写,那么对于Linux也是此等操作。

本来是应该显示到显示器上的内容,现在追加写到文件当中 追加重定向>>

且在以前的学习我们知道,每个c程序运行时,都会打开三个输入输出流:

标准输入流 (standerd input) stdin 对应设备:键盘

标准输出流 (standerd output) stdout 对应设备:显示器 它们都是一个指向FILE的指针

标准错误流(standerd error) stderr 对应设备:显示器

在c语言中我们不需要关心它的设备,故利用重定向可进行文件的输入。

目录

9.cat指令

10.more指令

11.less指令(重要)

12.head指令

13.tail指令

wc指令:

unique指令:

14.时间相关的指令

date显示

1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下

2.在设定时间方面

3.时间戳

15.Cal指令

[16.find指令:(灰常重要) -name](#16.find指令:(灰常重要) -name)

which指令

whereis指令

17.grep指令

18.zip/unzip指令:

19.tar指令(重要)

20.bc指令:

[21.uname --r指令:](#21.uname –r指令:)

22.常用热键


9.cat指令

语法 : cat [ 选项 ][ 文件 ]
功能 : 查看目标文件的内容
常用选项
-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行
例如查看编写的.c文件:

查看txt文件:

10.more****指令

语法 : more [ 选项 ][ 文件 ]
功能 : more 命令,功能类似 cat
常用选项
-n 对输出的所有行编号
q 退出 more
举例
这里可以看到是用英文编号:

一般来说more用于大文件,cat用于查看小文件,可打印,可搜索。

11.less****指令(重要)

less 工具也是对文件或其它输出进行分页显示的工具,应该说是 linux 正统查看文件内容的工具,功能极 其强大。
less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看
但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用
来查看一个文件的内容!
除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
语法: less [ 参数 ] 文件
功能
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前
不会加载整个文件。
选项
-i 忽略搜索时的大小写
-N 显示每行的行号
/ 字符串:向下搜索 " 字符串 " 的功能
? 字符串:向上搜索 " 字符串 " 的功能
n :重复前一个搜索(与 / 或 ? 有关)
N :反向重复前一个搜索(与 / 或 ? 有关)
q:quit
输出text.txt文件的内容并显示行号:

/:定位到文件某一处:不如这里文件有1000个数据,/加数字,定位到该数字附近:

12.head****指令

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块, head 用来显示档案的
开头至标准输出中,而 tail 想当然尔就是看档案的结尾。
语法: head [ 参数 ]... [ 文件 ]...
功能
head 用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。
选项
-n< 行数 > 显示的行数
举例:这里的一个打印了1000个字符串为例找它的头

给定行数查看文件头顶几行:

13.tail****指令

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

查看末尾固定行数:

故此,利用管道融合两个指令就可以查看大文件中的一段数据:

同时利用管道实现对数据的流水化处理。

wc指令:

利用wc还可以了解文件的一些属性:

unique指令:

利用unique指令,查看多重复数据时,过滤掉重复数据:

**14.**时间相关的指令

date****显示

date 指定格式显示时间: date +%Y:%m:%d
date 用法: date [OPTION]... [+FORMAT]

**1.**在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下

%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
打印各个时间:

其中date +%s,打印的是时间戳

**2.**在设定时间方面

date -s // 设置当前时间,只有 root 权限才能设置,其他只能查看。
date -s 20080523 // 设置成 20080523 ,这样会把具体时间设置成空 00:00:00
date -s 01:01:01 // 设置具体时间,不会对日期做更改
date -s "01:01:01 2008-05-23″ // 这样可以设置全部时间
date -s "01:01:01 20080523″ // 这样可以设置全部时间
date -s "2008-05-23 01:01:01″ // 这样可以设置全部时间
date -s "20080523 01:01:01″ // 这样可以设置全部时间

**3.**时间戳

时间戳是指格林威治时间自1970年1月1日(00:00:00 GMT)至当前时间的总秒数。在计算机中,「时间戳」一般是指 Unix 时间戳,即自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日00:00:00)到当前时间的秒数。每个时间戳都有一定的唯一性,一般用于日志等,时间戳适合计算机来处理。

当然时间戳可以转化:

且因为时间一直过去,对应的时间戳也一直线性增长,如若保存不了,则时间旧纪录就会出问题,时间紊乱

15.Cal****指令

cal 命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。 " 阳历 " 又名 " 太阳
历 " ,系以地球绕行太阳一周为一年,为西方各国所通用,故又名 " 西历 " 。
命令格式 : cal [ 参数 ][ 月份 ][ 年份 ]
功能 : 用于查看日历等时间信息,如只有一个参数,则表示年份 (1-9999) ,如有两个参数,则表示月份和年份
常用选项
-3 显示系统前一个月,当前月,下一个月的月历
-j 显示在当年中的第几天(一年日期按天算,从 1 月 1 号算起,默认显示当前月在一年中的天数)
-y 显示当前年份的日历

如打印当前时间的日历:

2023年的整个日历:

16.find指令:(灰常重要) -name

Linux 下 find 命令在目录结构中搜索文件,并执行指定的操作。
Linux 下 find 命令提供了相当多的查找条件,功能很强大。由于 find 具有强大的功能,所以它的选项也很 多,其中大部分选项都值得我们花时间来了解一下。
即使系统中含有网络文件系统 ( NFS) , find 命令在该文件系统中同样有效,只你具有相应的权限。
在运行一个非常消耗资源的 find 命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系 统可能会花费很长的时间( 这里是指 30G 字节以上的文件系统 ) 。
语法: find pathname -options
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
常用选项:

查找文件

查找命令:

.....

which指令

这里除了find查找指令外,还有一个指令which用来查找指令的所在路径。

作用:搜索指令的路径

whereis指令

用来查阅文档的指令,也可查找指令所在的文档

17.grep****指令

也叫行过滤工具,主要就是标记文件中该关键字的位置

语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ' 搜寻字符串 ' 内容的那一行
标记出:

显示行数:

反向选择:

忽略大小写

18.zip/unzip****指令:

语法: zip 压缩文件 .zip 目录或文件
功能: 将目录或文件压缩成 zip 格式
常用选项:
-r 递 归处理,将指定目录下的所有文件和子目录一并处理
举例

解压:

解压到temp:

19.tar指令(重要)

作用: 打包 / 解包,不打开文件,直接看内容。
格式:tar [-cxtzjvf] 文件与目录 .... 参数
-c :建立一个压缩文件的参数指令 (create 的意思 ) ;
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录

20.bc****指令:

bc 命令可以很方便的进行浮点运算

21.uname --r****指令:

语法 : uname [ 选项 ]
功能 : uname 用来获取电脑和操作系统的相关信息。
补充说明 : uname 可显示 linux 主机所用的操作系统的版本、硬件的名称等基本信息。
常用选项:
-a 或 --all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类 型,硬件平台类型,操作系统名称。

22.常用热键

相关推荐
西岸行者9 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意9 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码10 天前
嵌入式学习路线
学习
毛小茛10 天前
计算机系统概论——校验码
学习
babe小鑫10 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms10 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下10 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。10 天前
2026.2.25监控学习
学习
im_AMBER10 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J10 天前
从“Hello World“ 开始 C++
c语言·c++·学习