Linux基本指令及知识点(二)

1.echo + 空格 + '内容' + >(目标文件)

①.功能

向目标文件进行写入 操作。假如没有">(目标文件)",那么写入的目标文件就默认是屏幕,所以

echo + 空格 + '内容'的作用就是将echo后跟的那串内容以字符串的形式打印出来:

注意要用单引号!!

②.echo + 空格 + 文件名与cat + 空格 + 文件名的区别

③.知识点

Ⅰ.一切皆文件,包括鼠标,键盘,屏幕这些硬件设备在系统里也被抽象成了文件,连终端都是文件。在系统里,区分文件类型的是ll指令结果的首字母

那普通文件的类型既然都是"-",还要".c",".txt"等后缀干什么?答案是普通文件还能再进行细分,按照需求分成图片,文本,可执行,库,视频....具体类型。

Ⅱ.文件在访问前都要先打开,打开后才能执行写入等操作。

Ⅲ.妙脆角">"的故事------重定向操作

Ⅲ-1妙脆角的功能

在看上面echo的指令里,有个">"指向目标文件,那么它到底是干嘛的?

Ⅲ-2除touch以外新建普通文件的邪修

这就意味着,可以用">"来新建普通文件,只需要输入"> 文件名"即可。写入内容是空的,就相当于先新建一个文件,再向内写入空内容,就代表新建了一个普通空文件。

Ⅲ-3那想要在文件里持续写入内容,而不像上面那样,将文件已有内容清空,再写入新内容的覆盖操作,这该咋办?">>"

答案是两个妙脆角(不用空格分隔):

当然这个">>"符号的名字叫做追加重定向。

2.mv

①.功能

mv命令是move的缩写,可以⽤来移动⽂件(将源文件或目录移动到目标文件或目录下 )或者将**⽂件改名**(move(rename)files,经常⽤来备份⽂件 或者⽬录。

②.格式

mv srcfile/srcdir desfile/desdir

③.如何区分是改名还是移动文件?

对于 mv src dst指令:

文件dst先前并不存在, 那么该指令就是改名,**相当于dst就是新名字,**既可以为目录改名,也可以为普通文件改名。

为目录改名:

为普通文件改名:

3.cat

语法: cat 选项 ⽂件

功能:查看⽬标⽂件的内容。该指令会噫噫呜呜一口气从前往后正着,把文件的所有内容都打出来 ,如果是大文件,想要从中找到特定的内容就很不方便,所以该指令只适合查看内容少的文件

常⽤选项: •-b对⾮空输出⾏编号,空⾏不做编号

•-n对输出的所有⾏编号

•-s不输出多⾏空⾏

内容少的文件:

内容多的日志文件:

直接就是刷屏,想要找到第一个用户的登录时间,压根不可能。

4.tac

语法同上。

这时会看到一个有趣的现象------这个指令不就是cat倒着写嘛,它的功能也是这个意思,将文件里的内容从最后一行开始,全部倒着打出来。

5.more(不推荐)

语法: more 选项

常⽤选项:

•-n指定输出⾏数

• q退出more

功能:more命令,功能类似cat,将所有内容打出来,但是一页一页地呈现 ,支持回车下翻。 不过缺陷在于无法上翻。

6.less(安利)

语法: less 选项 ⽂件

功能:less与more类似,但使⽤less可以随意浏览⽂件(上翻下翻都可以 ),使⽤pageuppagedown 等按键的功能来往前往后翻 看⽂件,⽽且less在查看之前不会加载整个⽂件

选项:

• q:quit

•-N 显⽰每⾏的⾏号

• /字符串:向下搜索"字符串"的功能

• ?字符串:向上搜索"字符串"的功能

7.head与tail

①.功能

可用于查看文件开头或结尾的内容,可用选项:-n控制行数。

②.管道

想要查看前510行的结尾10行内容,可以用一个**"|"连接两个指令**:

这个"|"符号就是管道,在一切皆是文件的linux里,管道也是一个文件。前一个指令的处理结果写入"|"(管道)文件里,然后后一个指令将结果从管道拿出(读取),再次进行处理。因此,可以用管道将指令进行组合,去做信息或文本的分析。

8.时间相关的指令

8-1date

①.显示时间

"+"必须存在,但分隔符可以自定义。

②.时间戳

②-1时间戳的定义

Unix时间戳(英⽂为Unixepoch,Unixtime,POSIXtime或Unixtimestamp)是从1970年1⽉1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

②-2时间戳的作用

Ⅰ.显示给我们的年月日时分秒其实是用时间戳换算过来的。

Ⅱ.日志上会带有时间戳,根据时间戳查找到时间区间内的日志内容。

②-3换算

• 时间->时间戳:date+%s

• 时间戳->时间:date -d@时间戳

根据指定时间戳去换算正常时间:

根据指定时间去换算时间戳:

8-2cal(不重要)

8-3find -name(非常重要)

按照⽂件名查找⽂件。

相关推荐
Java王小怪6 小时前
Docker环境Redis没挂载保存数据
运维·docker·容器
你住过的屋檐6 小时前
【Nginx】linux上安装nginx
linux·运维·nginx
宵时待雨6 小时前
linux笔记归纳17:传输层协议UDP
linux·笔记·udp
大模型码小白7 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
晓晓_za8986688 小时前
开源 GEO 优化源码二次开发:贴牌改造与业务模块扩展实践
java·运维·服务器·开发语言·性能优化·开源
SCandL1528 小时前
k8s service
linux·容器·kubernetes
云计算DevOps-韩老师8 小时前
【MySQL运维DBA】【SQL基础系列002篇】
运维·mysql·dba
云贝教育-郑老师8 小时前
【麒麟服务器系统交付:一个DBA的六年信创实战笔记】
服务器·笔记·dba
DBA大董8 小时前
TDengine3.0 DBA常用的运维命令和SQL2
运维·数据库·时序数据库·dba·tdengine
会飞的土拨鼠呀9 小时前
Linux的存储使用率应该如何计算
linux·运维·服务器