Linux 常用命令

CPU进程使用率

  ps -eo pid,pcpu,comm

cpu线程使用率

  ps -L -p <pid> -o pid,tid,pcpu,comm

samba 查看文件的使用者:

  smbstatus | grep -i "filename"

  smbstatus | grep -i PID

  ➜ 0_ljh smbstatus | grep -i DSP
  496973 0 DENY_WRITE 0x120089 RDONLY LEASE(RWH) /home/smbdir/公共区域 0_ljh/DSP0266_1.9.1.pdf Wed Dec 27 14:52:00 2023

  ➜ 0_ljh smbstatus | grep -i 496973
  496973 sn84776 SWgroup 192.168.2.48 (ipv4:192.168.2.48:63097) SMB3_11 - partial(AES-128-CMAC)
  公共区域 496973 192.168.2.48 三 12月 27 14时51分58秒 2023 CST - -
  496973 0 DENY_WRITE 0x120089 RDONLY LEASE(RWH) /home/smbdir/公共区域 0_ljh/DSP0266_1.9.1.pdf Wed Dec 27 14:52:00 2023
  496973 0 DENY_NONE 0x100081 RDONLY NONE /home/smbdir/公共区域 0_ljh Wed Dec 27 14:51:58 2023
  496973 0 DENY_NONE 0x100081 RDONLY NONE /home/smbdir/公共区域 0_ljh Wed Dec 27 14:51:58 2023
  496973 0 DENY_NONE 0x100081 RDONLY NONE /home/smbdir/公共区域 . Wed Dec 27 14:51:58 2023
  496973 0 DENY_NONE 0x100081 RDONLY NONE /home/smbdir/公共区域 . Wed Dec 27 14:51:58 2023
  496973 0 DENY_NONE 0x100080 RDONLY NONE /home/smbdir/公共区域 . Wed Dec 27 14:51:58 2023
  ➜ 0_ljh

  用户sn84776在使用

递归查找当前文件下文件名包含".tar.gz"的文件

  find . -type f -name "*.tar.gz"

递归比较两个文件夹的差异,只显示文件名,不显示具体内容

diff -qr source/iperf3-1.0.0.0.0-src /source/iperf3-2.0.0.0.0-src

 

grep

在 Linux 中,使用 grep 查找多个关键字有几种方法,可以通过以下方式实现。

1. 使用 -E(扩展正则表达式)

grep -E 允许你使用正则表达式,多个关键字之间可以用 | 分隔,表示“或”的关系。

示例

bash
grep -E 'keyword1|keyword2|keyword3' file

这样会查找 file 中包含 keyword1keyword2keyword3 的行。

2. 使用 grep -e 多次指定关键字

使用 -e 选项可以为每个关键字单独指定一个匹配条件。

示例

bash
grep -e 'keyword1' -e 'keyword2' -e 'keyword3' file

这同样会查找包含 keyword1keyword2keyword3 的行。

3. 从文件中读取多个关键字

如果你有一个文件包含多个关键字,每行一个关键字,可以使用 -f 选项。

示例

bash
grep -f keywords.txt file

其中 keywords.txt 文件包含多个关键字,每个关键字一行。

4. 忽略大小写(可选)

如果你想忽略大小写,可以加上 -i 选项。

示例

bash
grep -E -i 'keyword1|keyword2|keyword3' file

5. 显示匹配行号(可选)

可以加上 -n 选项来显示匹配行的行号。

示例

bash
grep -E -n 'keyword1|keyword2|keyword3' file

6. 递归查找多个文件(可选)

如果你想在多个文件中递归查找多个关键字,可以使用 -r-R

示例

bash
grep -E -r 'keyword1|keyword2' /path/to/directory

总结

  • grep -E 'keyword1|keyword2' file:使用扩展正则表达式查找多个关键字。
  • grep -e 'keyword1' -e 'keyword2' file:为每个关键字使用 -e 选项。
  • grep -f keywords.txt file:从文件中读取多个关键字查找。

根据你的需求选择合适的方法。

 
 
cat file | grep ?
ChatGPT 说:
ChatGPT

在使用 cat file | grep 的时候,cat 会将文件内容输出,然后通过管道 | 将内容传递给 grep 进行关键字查找。

虽然这种方式是有效的,但直接使用 grep 读取文件更加简洁和高效:

直接使用 grep

bash
grep 'keyword' file

这与 cat file | grep 'keyword' 的效果是一样的,但是少了一次 cat 命令的调用,因此更加简洁。

关于 cat file | grep 的解释

以下是常见的用法和行为:

示例:

bash
cat file | grep 'keyword'
  • 作用cat 将文件内容输出,然后通过管道将其传递给 grepgrep 再查找包含 keyword 的行。
  • 结果:显示 file 中包含 keyword 的所有行。

加上行号:

如果你想在查找结果中显示匹配行的行号,可以加上 -n 选项:

bash
cat file | grep -n 'keyword'

忽略大小写:

使用 -i 选项可以忽略大小写:

bash
cat file | grep -i 'keyword'

同时查找多个关键字:

bash
cat file | grep -E 'keyword1|keyword2'

这会查找包含 keyword1keyword2 的行。

 

查看当前文件夹下的子文件夹的大小,递归深度为1:

du -h --max-depth=1

 

posted @ 2023-12-20 17:37  丶Future  阅读(11)  评论(0编辑  收藏  举报