本文最后更新于 2025-02-26,学习久了要注意休息哟

第一章 进程命令

1.1 查看进程(ps)

ps 命令用于查看当前系统中的进程。常用的选项有:

  • ps -ef:查看所有进程(详细模式)。
  • ps -aux:查看所有进程,并显示 CPU 和内存的使用情况。

你还可以使用 管道符号(|) 配合 grep 命令来精确查找特定的进程。例如:

ps -ef | grep "root"   # 查找 root 用户的进程
ps -ef | grep "a.out"   # 查找名为 a.out 的进程

ps 命令的输出说明:

  • UID:用户ID,表示该进程的所属用户。
  • PID:进程ID,每个进程的唯一标识符。
  • PPID:父进程ID,表示该进程的父进程。
  • C:进程的 CPU 使用百分比。
  • STIME:进程启动时间。
  • TTY:终端类型,表示进程的控制终端。
  • TIME:进程已用的 CPU 时间。
  • CMD:启动进程的命令。

1.2 使用 kill 向进程发送指定信号

kill 命令用于向进程发送信号,可以通过发送不同的信号来控制进程。

基本命令:

kill [信号值] [进程号]

常用的信号值:

  • 1:挂起信号(SIGHUP)。
  • 2:中断信号(SIGINT)。
  • 3:退出信号(SIGQUIT)。
  • 9:强制结束进程(SIGKILL)。

要查看所有信号,可以使用:

kill -l  # 查看64个信号值

实际操作:

练习操作:

  1. 查看所有 student 用户的进程:

    ps -ef | grep "student"
    
  2. 写一个死循环,并通过 psgrep 查找进程:

    while true; do echo "looping"; done
    ps -ef | grep "looping"
    
  3. 结束该进程:

    kill [进程号]  # 使用kill命令结束进程
    

第二章 符号

2.1 通配符(Wildcard)

  • \*:匹配任意长度的字符。
  • ?:匹配一个字符。

示例:

  • 查找所有以

    .txt
    

    结尾的文件:

    ls *.txt
    
  • 查找所有名称中第二个字符为 “a” 的文件:

    ls ?a*
    

2.2 管道(|

管道用于将一个命令的输出传递给另一个命令作为输入,从而实现多个命令的组合。

示例:

ls | grep "file.txt"  # 将ls命令的输出传递给grep,过滤出file.txt

2.3 重定向

重定向用于将命令的输入或输出从标准流(通常是屏幕)转向文件。

输出重定向:

  • >:将命令的标准输出重定向到文件,覆盖文件原内容。
  • >>:将命令的标准输出追加到文件末尾。

示例:

echo "Hello, world!" > output.txt   # 将输出重定向到output.txt
echo "Hello again!" >> output.txt  # 追加输出到output.txt

输入重定向:

  • <:将文件内容作为命令的标准输入。
cat < input.txt  # 使用输入重定向将input.txt的内容传递给cat命令

2.4 结合使用管道和重定向

管道和重定向可以结合使用,以便在命令之间传递数据并将结果输出到文件。

示例:

grep "error" < input.txt > error.log  # 从input.txt中查找"error"并将结果输出到error.log

这种方式可以灵活地处理命令输出和输入,适用于复杂的数据处理任务。