(1)ls指令

ls -l可以缩写成 ll 同时一个ls可以加多个后缀 比如 ll -at
(2)pwd指令

(3)cd指令


cd .是当前目录
(4)touch指令

(5)mkdir指令

(6)rmdir和rm指令


(7)tree 指令
主要作用是以树状结构展示目录及其子目录下的文件和文件夹层次结构。
它能让用户更直观地查看目录结构,尤其适合需要快速了解某个目录内容组织方式的场景。

tree有可能需要下载 下载指令为

Linux中分隔符是/
Windos中分隔符是\
'/' 和'\'同时也分别表示 Windows和Linux的根目录
linux中目录的是以d开头的(比如下图的sss)
文件是以-开头的 (比如下图的STL源码刨析.txt)

(8)* 通配符
*可以匹配任意名称 任意类型的文件

比如像我们这个地方创建了 123.c 123.txt 234txt 234.c 四个文件
ls *.c 就是把匹配.c的文件列出来
ls 123.*
就是匹配123.开头的文件 列出来
(9)man指令

我们平时很多指令容易忘 可以直接man查看指令的用法 当我们要看man指令的用法怎么办?
直接man man
(11)printf指令
printf的指令和C语言里面的printf不是同一个东西 作用是差不多的 都是打印

比如像这个地方我直接用printf打印了helloworld
其他很多具体作用我们可以直接man了
(12)cp指令

cp file1.txt file2.txt
比如就像这个指令 就是把file 1.txt这个文件复制到file2这个文件 复制到file2这个文件
这个地方cp file1.txt file2.txt 和 cp file1.txt ./file2.txt
本质上是一样 没有标明路径就是默认当前路径下的!
像这种标明路径的
cp file1.txt /home/user/documents
就是把 file1.txt
复制到 /home/user/documents
目录下
那么cp -if的结果是什么 i代表要询问 f代表不需要询问 那么到底需不需要询问呢?
答案是要询问 i的优先级比f更高 因为这样的话 安全性会更好
(13)mv指令

简要 概述一下 mv的功能是 文件重命名+剪切
mv oldname.txt newname.txt
将 oldname.txt
重命名为 newname.txt
等同于
mv oldname.txt ./newname.txt
把 file.txt
移动到 /home/user/documents
目录下
mv file.txt /home/user/documents
将 source_dir
目录移动到 destination_dir
目录下
mv source_dir destination_dir
如果 mv 文件 路径 没有给明确的重命名是什么? 就是默认名字不变 只执行剪切
mv 文件 路径 重命名 这个地方就是剪切+重命名
但是这个地方要注意 这个重命名的文件名 不能是路径上存在的
不然 路径+重命名的这个整体会被看成路径 从而只执行剪切的 不执行重命名!!!
(14)echo
主要用于在终端输出文本字符串,也能将输出内容重定向到文件。以下为你详细介绍其用法:
在终端输出 "Hello, World!"
echo "Hello, World!"
不换行输出
通常 echo
输出后会换行,若要避免换行,可使用 -n
选项,示例如下:
echo -n "This will not add a newline."
解释转义字符
使用 -e
选项可解释反斜杠转义字符,例如输出包含换行和制表符的文本:
echo -e "First line\n\tSecond line"
将输出重定向到文件
可以把 echo
的输出保存到文件中,使用 >
进行重定向(会覆盖原文件内容),示例如下
echo "This is a test." > test.txt
若要将内容追加到文件末尾,可使用 >>
,示例如下:
echo "Appending more text." >> test.txt
(15)which
指令本质上是可执行程序
可以查看指令所储存的路径
(16)alise
指令本质上是可执行程序
我们通过指令which 可以知道指令所存储的位置

我们发现我们的指令基本存在/user/bin/这个路径中
我们可以把我们自己的可执行文件放到这个路径中
然后我们发现我可以把我自己的可执行文件当作指令用
我们根据 whic指令可以知道 ll指令上本质上ls -l
而这个过程被称为取别名!!! 取别名通过alise实现
(17)重定向操作符
linux里 一切皆文件
输出重定向
<是输出重定向操作符
>
:覆盖输出- 作用:把命令的标准输出重定向到指定文件,若文件存在,内容会被覆盖;若文件不存在,则会创建该文件。
- 示例:将
ls
命令的输出保存到file_list.txt
文件中。
- 示例:将
ls > file_list.txt
<操作符 本质上就是两部操作
1.清空文件
2.写入新内容
因此 我们可以根据 <创建没有的文件
比如 <123.txt 创建一个123.txt的文件
<<输出追加重定向操作符
>>
:追加输出- 作用:把命令的标准输出追加到指定文件末尾,若文件不存在,则会创建该文件。
- 示例:将当前日期追加到
date_log.txt
文件中。
date >> date_log.txt
输入重定向
<
:从文件读取输入- 作用:把文件内容作为命令的输入。
(18) cat

cat
命令最基本的用途是显示文件的内容。你只需在命令行中输入 cat
,后面跟上文件名,就可以在终端中查看文件的完整内容。
cat filename.txt
但是cat有一个缺点 就是cat只能显示较短的文件 如果较大的文件 比如有100w行的时候
cat就不那么适用了! 这个时候就要用到下面2个指令了
(19)more指令
作用
more
是一个基本的分页查看工具,它允许你按页查看文件内容或者命令输出,当文件内容较多无法在一个屏幕内显示完时,more
可以将内容分成若干页,每次显示一页。
more large_file.txt
执行上述命令后,more
会显示文件的第一页内容,在屏幕底部会显示 --More--
提示信息以及当前显示内容在文件中的百分比。
常用操作
- 按
Space
键:显示下一页内容。 - 按
Enter
键:向下滚动一行。 - 按
q
键:退出more
查看。
(20)less指令
作用
less
是 more
的增强版,它具备 more
的基本功能,同时还提供了更多的高级特性,例如可以向前和向后翻页、搜索文本、跳转至指定行等。
使用示例
less large_file.txt
常用操作
- 按
Space
键:显示下一页内容。 - 按
b
键:显示上一页内容。 - 按
Enter
键:向下滚动一行。 - 按
y
键:向上滚动一行。 - 按
/
键:进入搜索模式,输入要搜索的文本,按Enter
键开始搜索,按n
键查找下一个匹配项,按N
键查找上一个匹配项。 - 按
g
键:跳转到文件开头。 - 按
G
键:跳转到文件末尾。 - 按
q
键:退出less
查看。
less和more的区别
- 功能丰富度 :
less
的功能比more
更为丰富,less
支持向前和向后翻页、搜索文本、跳转至指定行等操作,而more
主要只能向后翻页。 - 内存使用 :
less
不需要将整个文件加载到内存中,它可以逐页读取文件内容,所以在处理大文件时,less
的内存使用效率更高。而more
在某些情况下可能需要将部分内容加载到内存中。 - 交互性 :
less
的交互性更强,用户可以更方便地进行各种操作,如搜索、跳转等。而more
的操作相对较少。 - 命令历史 :
less
可以记住用户的操作历史,例如搜索命令等,方便用户重复使用。而more
没有这个功能。
总体而言,若你只需要简单地按页查看文件内容,more
就足够了;若你需要更多的功能和更好的交互性,建议使用 less
。
(21)head指令

(22)tail指令


(23)管道文件
那么思考一个问题: 我们如果要在一个100w行的文件中读到一个文件的1000行到1020行
怎么办:
方案1:我直接less搜索定位到1000行
方案2:直接head输出前1020行 到一个中间文件tmp 再对tmp tail输出最后20行 这20行 就是原先文件的 1000 到1020行 linux系统中对于这个中间的tmp文件 有一个更好的选择
就是管道文件 符号是 |
比如 head -1020 123.txt | tail -21
我们先把123.txt的文件的前1020行输出到管道文件 管道文件再将其末尾的20行打印出来
这样就实现了打印原文件的1000 到1020行了
此外 |还可与连着用
比如 head -1020 123.txt | tail -21| head5