2_Linux学习总结_基础指令

1、指令

(1)man:是Linux的在线手册,可以查询指令和查询函数

输入之后按下回车键。就可以显示内容。键盘上、下键来滚动显示手册。

输入q退出手册

------------------------------------------------------------------分割线------------------------------------------------------------------------

查询printf函数

查询C语言的printf函数

这里man 3 printf之间的这个"3"是什么?

我们可以用man指令来查询man

这里有1~9,可以把这些当作9个章节。查询从1开始查,一直到结束。

在查询过程中,1号手册有printf,3号手册有printf。从1号开始查询,1号里面有printf就显示1号里面的printf。就不会显示3号手册里面的printf。

1号手册是默认手册,在使用man查询时,man后面没有跟上数字就默认从1号手册开始查询。查询可执行程序(指令就是可执行程序)或者命令行命令。

2号手册查询系统调用。

3号手册查询函数调用,C语言里面的函数可以用 man 3 函数名 来查询

------------------------------------------------------------------分割线------------------------------------------------------------------------

知识点:Linux下一切皆文件

把内容打印到显示器 ------>显示器也是文件------>把内容写入到显示器文件

从键盘读取数据 ------>键盘也是文件 ------>从键盘文件读取数据

------------------------------------------------------------------分割线------------------------------------------------------------------------

(2)nano:用nano指令后面跟上文件名相当于用记事本打开这个文件

------------------------------------------------------------------分割线------------------------------------------------------------------------

(3)cat:查看目标文件的内容

cat -n对输出的所有行进行编号

cat -b对输出的非空行进行编号

cat -s不输出多行的空行

可以组合使用如cat -n -s(cat -ns)

上面说过Linux下一切皆文件,cat指令把目标文件显示在屏幕上,其实就是目标文件的内容写入到显示器文件里,所以我们可以看见目标文件里面的内容。

同理,在使用ls指令显示内容时,我们之所以能看见目录和文件的信息,是因为ls指令把这些信息写入到了显示器文件里,所以看见了相关信息。

------------------------------------------------------------------分割线------------------------------------------------------------------------

(4)echo:这个指令可以把跟在echo后面的内容当作字符串写入到显示器文件中(打印到屏幕上)

echo后面的内容可以加单引号或者双引号。也可以不加。

echo指令是默认把内容写入到显示器文件内。想写到其它文件可以这样使用

当前目录下有aaa目录和abc.text文件。

输入 echo "hello Linux" > newfile.text

按下回车键发现内容并没有显示出来,说明内容并没有写入到显示器文件中

符号 > 是输出重定向。在上面的截图可以发现,echo把字符串"hello Linux"写入到了newfile.text文件中。在原先的目录里是没有这个文件的。所以若没有这个文件,就回先创建这个文件再进行写入。

接着输入echo "good good" > newfile.text查看发生什么

根据观察,可以发现"good good"覆盖了"hello Linux"。

那么试着输入 > newfile.text

发现newfile.text文件里面的内容被清空。所以想要清空一个文件里面的内容可以使用

> 文件名

来实现对文件清空

上面发现输入 echo "hello Linux" > newfile.text原先是没有newfile.text文件的,但是执行完这行指令后就生成了

newfile.text文件。这里就可以得知符号 >还有一个功能就是创建新文件

ls指令也可以配合输出从定向>使用

若想要不覆盖原数据写入的话,可以使用输出追加重定向

既然上面有输出重定向,那么也会输入重定向

当输入cat指令时

发现无事发生,试着随便输入点内容然后回车

输入Ctrl + c即可退出

若不想从键盘上输入,就可以使用输入重定向 <

这里是从newfile.text文件读取数据,再把读取的数据写入到显示器文件,最终看见newfile.text文件的内容。

------------------------------------------------------------------分割线------------------------------------------------------------------------

(5)cp:将目标文件或目录

当前在目录aaa中,现在把b.c拷贝到root目录中

拷贝时加上新的名称

现在在目录aaa中创建新的目录

这是当前的文件结构。现在把目录a拷贝到root目录下。在拷贝的时候要加上 -r

拷贝目录加上新的名称

------------------------------------------------------------------分割线------------------------------------------------------------------------

(6)mv:把指定目录或者文件剪切到指定目录下

用法和cp指令类似,但这里需要注意。cp指令在拷贝目录时需要加上-r。

mv指令剪切目录时不需要加上-r。

mv指令除了可以剪切目录和文件外,还可以修改目录和文件的名称

这里只演示修改文件的名称

剪切和重命名可以一起使用

这里不做演示。

------------------------------------------------------------------分割线------------------------------------------------------------------------

(7)less指令

cat指令可以用于显示小型文本,less可以来显示大型文本,可用上下来滚动显示内容。

more指令也可以显示大型文本,当只能通过回车向下滚动,不能向上滚动。

查看大型文本建议使用less

------------------------------------------------------------------分割线------------------------------------------------------------------------

(8)

head -n:显示指定文件前n行内容

tail -n:显示指定文件后n行内容

我现在修改一下abc.text里面的内容

如果要显示第3行到第9行的内容可以使用管道 |

这里是先从abc.text文件里面取出前9行,然后使用管道再取出当前数据的后7行,即可显示原文本的第3行到第9行

管道实际上就是对数据进行多次操作。

cat指令是打印目标内容,将这三个字母倒过来tac就是倒着打印目标内容

现在通过管道来对数据进行多次操作

上面的指令把第3行到第9行倒着打印

------------------------------------------------------------------分割线------------------------------------------------------------------------

(9)时间相关指令

date指令可以显示时间

我们现在对这个时间格式化


分隔符可以自己选,这里需要注意的是,不能直接用空格来做分隔符,要使用空格做分隔符则需要在空格前面加上 反斜杠 \

从左到右分别显示年、月、日、时、分、 秒。只有月和日是小写,其它的是大写

date +%s可以生成时间戳

cal指令:显示日历

cal 具体年份:显示那一年全部的日历

cal -3显示当前年份的当前月份和当前月份的前一月份和当前月份的下一月份

------------------------------------------------------------------分割线------------------------------------------------------------------------

(10)find:查找相关内容

find -name:根据名称查找目录或文件

上面是在root目录下以名字为a进行查找目录或文件

这里是在root目录下查找所有包含.c的文件或路径,*号就是查找所有,*.c就是所有包含.c的文件或目录,这里要加上引号' *.c '

which指令也是用来查找的指令

find和which的区别:

find是从系统目录树直接查找,可以查任意文件

which只用来查系统自带的可执行程序

grep指令:在文件中搜索字符串,将找到的行打印出来

加上-n可以显示所在行数

-v则是在文件中搜索字符串,将找到的不打印,其它的打印出来

grep在搜索时是大小写敏感的,现在重新修改一下abc.text的内容

-i可以忽略大小写敏感

相关推荐
脑洞代码2 小时前
协议头部格式详解:IP、TCP、UDP与MAC帧结构
网络·笔记·学习
历程里程碑2 小时前
Linux 18 进程控制
linux·运维·服务器·开发语言·数据结构·c++·笔记
爱装代码的小瓶子2 小时前
【c++与Linux基础】文件篇(5)- 文件管理系统:
linux·开发语言·c++
小草cys2 小时前
【有问题未解决】Ubuntu arm版的桌面分辨率修改
linux·arm开发·ubuntu
鱼是一只鱼啊2 小时前
安装WSL及Ubuntu遇到问题安全频道支持出错
linux·安全·ubuntu
要开心吖ZSH2 小时前
Spring AI Alibaba 个人学习笔记
人工智能·学习·spring·spring ai·springaialibaba
●VON2 小时前
React Native for OpenHarmony:深入剖析 Switch 组件的状态绑定、无障碍与样式定制
javascript·学习·react native·react.js·von
EnglishJun2 小时前
数据结构的学习(三)---双向链表与循环链表
数据结构·学习·链表
简佐义的博客2 小时前
跟着Nature学习如何联合多组学snRNA-seq + snATAC-seq + WGS+空间转录组分析重构肿瘤亚克隆演化树
学习·重构