常用Linux命令

📅 2026/8/2 1:34:37 👁️ 阅读次数 📝 编程学习
常用Linux命令

如果不知道Linux命令的用法,可以在终端通过命令 --help来查看

显示当前目录所有文件(.开头的是隐藏文件)


查看文件内容

1.ls -la node_modules/lib/

这是ls命令的标准用法,其中:

  • ls:列出目录内容(list)。
  • -l:以“长格式”(long format)显示每个文件或目录的详细信息,包括权限、硬链接数、所有者、所属组、大小(字节)、修改时间、文件名等 。
  • -a:显示所有文件,包括以.开头的隐藏文件。
  • node_modules/lib/:指定要列出内容的目标路径。

综合起来,ls -la node_modules/lib/的作用是:以详细格式列出该目录下的所有文件和子目录(含隐藏项)

2.| head -20
  • |:管道符,将前一个命令的输出作为后一个命令的输入。
  • head -20:取输入流的前 20 行并输出。

因此,| head -20的作用是:仅显示ls -la输出结果的前 20 行,避免在目录内容较多时刷屏

常用Linux命令

grep

grep是一个命令行文本搜索工具,用来在文件或输入内容里查找匹配指定模式的行。
例如:

grep-rn"WizardRespondPayload"src

意思是:

src目录下递归搜索包含字符串WizardRespondPayload的位置。

参数解释:

  • grep:搜索文本
  • -r:recursive,递归搜索目录下的文件
  • -n:number,显示匹配行的行号
  • "WizardRespondPayload":要搜索的关键字
  • src:搜索范围,也就是src目录

输出:

表示:

  • 文件:src/components/UserInputWizard.tsx
  • 行号:12
  • 匹配内容:这一行包含WizardRespondPayload

你整条命令是:

grep-rn"WizardRespondPayload"src&&echo"---定义上下文---"\&&sed-n'1,30p'src/components/UserInputWizard.tsx|grep-n""|sed-n'1,30p'

可以拆成三段:

  1. 搜索定义或引用
grep-rn"WizardRespondPayload"src

WizardRespondPayloadsrc目录中出现在哪里。

  1. 打印分隔符
echo"---定义上下文---"

输出一行提示:

---定义上下文---

方便区分前后结果。

  1. 打印文件前 30 行并带行号
sed-n'1,30p'src/components/UserInputWizard.tsx|grep-n""|sed-n'1,30p'

sed 是 stream editor 的缩写,中文常叫 流编辑器,它的作用是:从输入流里逐行读取文本,然后按规则做处理。

其中:

  • sed -n '1,30p' 文件:打印文件第 1 到 30 行
  • grep -n "":匹配所有行,并给每行加行号
  • 最后的sed -n '1,30p':再次限制输出前 30 行

简单说:

grep就是“在文件里搜关键字”的工具,类似编辑器里的全局搜索。


Linux 管道符( ‘|’ )

利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。
举例:查询本机IP

ifconfig|grep'inet'

raceroute

raceroute是一个路由追踪工具,可以用来检测发出数据包的主机到目标主机之间所经过的网关数量。

实例一: traceroute 用法简单、最常用的用法

就是后面直接接IP或hostname或域名;比如下面的示例;

[root@localhost ~]# traceroute jb51.nettracerouteto jb51.net(211.93.98.20),30hops max,40byte packets1sir01.localdomain(192.168.1.1)0.151ms0.094ms0.146ms2221.201.88.1(221.201.88.1)5.867ms7.588ms5.178ms3218.25.158.149(218.25.158.149)6.546ms6.230ms8.297ms4218.25.138.133(218.25.138.133)7.129ms7.644ms8.311ms......

注: 此例中,记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是 ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果您用 traceroute -q 4 jb51.net ,表示向每个网关发送4个数据包;

man命令:https://linux265.com/course/linux-command-man.html

man命令是Linux下最核心的命令之一。而man命令也并不是英文单词“man”的意思,它是单词manual的缩写,即使用手册的意思。
man命令会列出一份完整的说明。 其内容包括命令语法、各选项的意义及相关命令 。更为强大的是,不仅可以查看Linux中命令的使用帮助,还可以查看软件服务配置文件、系统调用、库函数等帮助信息。

man手册页文件存放在/usr/share/man目录下。


Linux中查询文件个数命令:https://blog.csdn.net/a746742897/article/details/125881574

4. 统计指定文件夹下文件的个数,包括子文件夹:

ls-lR|grep"^-"|wc-l

5. 查看日志命令,从尾部查看

tail-ffilename

说明:监视filename文件的尾部内容(默认10行,相当于增加参数-n 10),刷新显示在屏幕上。退出,按下CTRL+C

tail-n20filename 说明:显示filename最后20行

6. 开启Linux定时器

crontab-e

输入

* * * * * echo $(date) >> /home/work/a.txt

每个1分钟写入一次
注意:Linux crontab 不支持秒。

7.ll并不是linux下一个基本的命令,它实际上是ls -l的一个别名。

[参考:https://m.php.cn/article/489711.html](https://m.php.cn/article/489711.html)

8. md5sum 文件名

用于生成校验文件的md5值