当前位置: 首页 > news >正文

linux常见的基础命令及其作用

Linux 常见基础命令及作用

Linux 命令是操作 Linux 系统的核心工具,以下按功能分类整理常用基础命令,每条命令单独说明,方便阅读和理解。

一、文件与目录操作命令(最高频使用)

这类命令用于创建、查看、移动、删除文件和目录,是日常操作的核心。

1. ls(列出目录内容)

  • 作用:显示当前或指定目录下的文件 / 目录名称及相关信息。
  • 常用用法
    • 直接输入 ls:显示当前目录下的文件 / 目录(默认不显示隐藏文件)。
    • ls -l:以 “长格式” 显示,包含文件权限、所有者、大小、修改时间等详细信息(如 -rw-r--r-- 1 user user 1024 May 1 10:00 test.txt)。
    • ls -a:显示所有内容,包括以 “.” 开头的隐藏文件(Linux 中隐藏文件 / 目录默认以 “.” 开头,如 .bashrc)。
    • ls -h:配合 -l 使用(如 ls -lh),将文件大小转为人类易读格式(如 KB、MB、GB,而非纯数字字节)。

2. cd(切换当前工作目录)

  • 作用:改变当前终端所在的目录,是 “导航” 系统的核心命令。
  • 常用用法
    • cd 目录路径:切换到指定目录,例如 cd /home/user/Documents(绝对路径,从根目录 “/” 开始)、cd ../Pictures(相对路径,“..” 代表上一级目录)。
    • cd ~:快速切换到当前用户的 “家目录”(普通用户家目录默认是 /home/用户名,root 用户是 /root)。
    • cd -:切换到上一次所在的目录(比如从 A 目录跳到 B 目录后,用 cd - 可回到 A 目录)。

3. pwd(显示当前目录路径)

  • 作用:当不确定自己在系统中的 “位置” 时,用它查看当前目录的绝对路径(从根目录 “/” 开始的完整路径)。
  • 常用用法:直接输入 pwd,例如在 /home/user/Documents 目录下执行,会输出 /home/user/Documents

4. mkdir(创建新目录)

  • 作用:创建一个或多个新的空目录。
  • 常用用法
    • mkdir 目录名:创建单个目录,例如 mkdir Notes(在当前目录下创建 “Notes” 目录)。
    • mkdir -p 多级目录:递归创建嵌套目录(父目录不存在时自动创建),例如 mkdir -p Notes/2024/May(一次性创建 “Notes”、“Notes/2024”、“Notes/2024/May” 三级目录,无需手动逐级创建)。

5. touch(创建空文件 / 更新文件时间)

  • 作用:两种核心用途 —— 创建空文件,或更新已有文件的 “时间戳”(访问时间和修改时间)。
  • 常用用法
    • touch 文件名:若文件不存在,创建空文件,例如 touch report.txt(在当前目录下创建空的 “report.txt”)。
    • touch 已存在的文件:不修改文件内容,仅更新其时间戳(比如想让文件显示为 “刚修改过”)。

6. cp(复制文件 / 目录)

  • 作用:将文件或目录从 “源路径” 复制到 “目标路径”。
  • 常用用法
    • 复制文件:cp 源文件 目标路径,例如 cp report.txt /home/user/Backup(将 “report.txt” 复制到 “Backup” 目录下)。
    • 复制目录:必须加 -r 选项(递归复制目录内所有内容),例如 cp -r Notes /home/user/Backup(将 “Notes” 目录及里面的所有文件 / 子目录,完整复制到 “Backup” 目录)。
    • 覆盖提示:加 -i 选项(如 cp -i report.txt Backup),若目标路径已有同名文件,会提示是否覆盖(避免误删)。

7. mv(移动文件 / 目录,或重命名)

  • 作用:两种核心用途 —— 移动文件 / 目录到指定位置,或在同一目录下重命名。
  • 常用用法
    • 移动文件 / 目录:mv 源路径 目标路径,例如 mv report.txt Notes(将 “report.txt” 移动到 “Notes” 目录下)。
    • 重命名:mv 旧名称 新名称(需在同一目录下),例如 mv report.txt 2024_report.txt(将 “report.txt” 重命名为 “2024_report.txt”)。

8. rm(删除文件 / 目录,谨慎使用!)

  • 作用:删除文件或目录,删除后无法恢复,需格外小心。
  • 常用用法
    • 删除文件:rm 文件名,例如 rm old_report.txt(删除 “old_report.txt” 文件,默认会提示确认,按 “y” 确认删除)。
    • 删除目录:必须加 -r 选项(递归删除目录内所有内容),例如 rm -r OldNotes(删除 “OldNotes” 目录及里面所有内容)。
    • 强制删除:加 -f 选项(如 rm -rf OldNotes),跳过确认提示(即使文件是只读的),适合批量删除,但风险极高,避免用于系统目录(如 //home)。

9. find(在目录中搜索文件 / 目录)

  • 作用:根据指定条件(如名称、大小、修改时间等)在指定目录下递归搜索文件或目录,功能强大且灵活。

  • 基础用法

    • find 搜索路径 -name "文件名模式":按名称搜索(支持通配符 * 和 ?),例如 find /home -name "*.txt"(在 /home 目录下搜索所有后缀为 .txt 的文件)、find . -name "report_2024?.docx"(在当前目录搜索 “report_2024” 后接 1 个字符的 docx 文件,如 report_20241.docx)。
    • find 搜索路径 -type f:只搜索文件(排除目录),例如 find /var -type f -name "*.log"(在 /var 下搜索所有 .log 文件)。
    • find 搜索路径 -type d -name "test*":只搜索目录,且名称以 “test” 开头,例如 find /tmp -type d -name "test*"(在 /tmp 下找所有以 “test” 开头的目录)。

二、文件内容查看命令(读文件必备)

这类命令用于查看文本文件的内容,不同命令适配 “短文件”“长文件”“实时日志” 等不同场景。

1. cat(查看短文件内容)

  • 作用:直接输出文件的全部内容,适合文件内容较少(一屏能显示完)的场景。
  • 常用用法
    • cat 文件名:显示文件内容,例如 cat README.md(查看 “README.md” 的所有文本)。
    • cat -n 文件名:显示内容时附带行号,方便定位特定行,例如 cat -n script.sh(查看脚本文件并显示行号)。
在 Linux 中,如何将 “file_a.txt” 和 “file_b.txt” 两个文件的内容合并,并存入 “merged.txt” 中?请写出至少两种不同的实现命令。
方法 1:使用 cat 命令(最直接,适用于简单合并)

cat 命令的核心功能是 “连接文件并打印到标准输出”,通过重定向符号 > 可将合并结果写入目标文件。
命令cat file_a.txt file_b.txt > merged.txt

  • 逻辑:先读取 file_a.txt 的内容,再读取 file_b.txt 的内容,按顺序合并后,通过 > 重定向到 merged.txt 中。
  • 注意:若 merged.txt 已存在,> 会直接覆盖其原有内容;若不存在,则自动创建该文件。
方法 2:使用 >> 追加(分两步合并,适用于需逐步添加内容的场景)

先将 file_a.txt 的内容写入 merged.txt,再将 file_b.txt 的内容 “追加” 到 merged.txt 末尾(避免覆盖)。
命令步骤

  1. 第一步:cat file_a.txt > merged.txt(先把 file_a 内容写入 merged.txt);
  2. 第二步:cat file_b.txt >> merged.txt(用 >> 把 file_b 内容追加到 merged.txt 末尾,不覆盖原有内容)。

  • 适用场景:若后续还想添加 file_c.txt,只需再执行 cat file_c.txt >> merged.txt,灵活性更高。
验证合并结果

合并后可通过 cat merged.txt 查看内容,或用 diff 命令对比片段,确认合并是否正确(如 cat merged.txt | grep "某段内容" 检查关键信息是否存在)。

在 Linux 中,如何清空一个已有内容的文件(比如 “log.txt”),但不删除这个文件本身?请写出至少两种方法。
方法 1:使用重定向符号 >(最直接)

命令> log.txt

  • 原理:> 是输出重定向符号,当它后面跟文件名但前面没有任何内容时,会直接清空该文件的内容(文件本身依然存在,大小变为 0)。
  • 特点:操作简单,适用于任何场景,且不会改变文件的权限、所有者等属性。
方法 2:使用 cat /dev/null 重定向(更直观表达 “清空” 意图)

命令cat /dev/null > log.txt

  • 原理:/dev/null 是 Linux 中的 “空设备文件”,它的内容永远是空的。cat /dev/null 会输出空内容,再通过 > 重定向到 log.txt,相当于用空内容覆盖原文件,达到清空效果。
  • 特点:比方法 1 更直观地表达 “清空” 的意图(代码可读性更好),效果与方法 1 完全一致。
验证是否清空

执行命令后,可通过 ls -l log.txt 查看文件大小(会显示 0),或用 cat log.txt 确认内容已为空,验证操作是否成功。

2. more(分页查看长文件)

  • 作用:当文件内容过长(一屏显示不完)时,按 “页” 显示内容,只能向下翻页。
  • 常用用法
    • 输入 more 文件名(如 more log.txt),进入查看界面。
    • 交互操作:按 空格键 翻到下一页,按 Enter 键 翻到下一行,按 q 键 退出查看。

3. less(灵活分页查看长文件)

  • 作用:比 more 功能更全,支持上下翻页、搜索内容,是查看长文件的首选命令。
  • 常用用法
    • 输入 less 文件名(如 less log.txt),进入查看界面。
    • 交互操作:
      • 按 ↑↓ 键 逐行滚动,按 PageUp/PageDown 键 上下翻页。
      • 按 / 关键词 搜索文件中的内容(例如 /error 搜索 “error” 关键词),按 n 键 查看下一个匹配结果。
      • 按 q 键 退出查看。

4. head(查看文件开头内容)

  • 作用:默认显示文件的前 10 行内容,可指定行数。
  • 常用用法
    • head 文件名:显示前 10 行,例如 head config.ini(查看配置文件的开头部分)。
    • head -n 数字 文件名:指定显示的行数,例如 head -n 5 config.ini(只看配置文件的前 5 行)。

5. tail(查看文件结尾内容 / 实时日志)

  • 作用:默认显示文件的最后 10 行内容,核心优势是支持 “实时跟踪文件更新”(适合查看日志)。
  • 常用用法
    • tail 文件名:显示最后 10 行,例如 tail log.txt(查看日志的最新 10 条记录)。
    • tail -n 数字 文件名:指定显示的结尾行数,例如 tail -n 3 log.txt(查看日志的最后 3 行)。
    • tail -f 文件名:实时跟踪文件的最新内容(文件新增内容会自动显示),例如 tail -f /var/log/syslog(实时查看系统日志,按 “Ctrl+C” 停止跟踪)。

三、系统信息与状态查看命令(了解系统情况)

这类命令用于查看系统内核、资源占用、进程、磁盘空间等状态,排查问题时常用。

1. uname(查看系统内核信息)

  • 作用:显示操作系统的内核相关信息,如内核版本、硬件架构等。
  • 常用用法
    • uname:仅显示内核名称(如 Linux)。
    • uname -a:显示完整系统信息(最常用),例如输出 Linux ubuntu 5.15.0-78-generic x86_64 GNU/Linux(包含内核版本、主机名、硬件架构、系统类型)。
    • uname -r 只单独显示内核版本号

2. hostname(查看 / 设置主机名)

  • 作用:查看当前系统的主机名,或临时修改主机名(重启后失效)。
  • 常用用法
    • hostname:直接显示当前主机名,例如输出 ubuntu-server
    • sudo hostname 新主机名:临时修改主机名(需 root 权限),例如 sudo hostname my-linux(将主机名改为 “my-linux”,重启后恢复原主机名)。

3. whoami(查看当前登录用户名)

  • 作用:快速确认当前使用的是哪个用户账号(尤其在切换用户后)。
  • 常用用法:直接输入 whoami,例如当前登录 “user1”,会输出 user1

4. top(实时监控系统资源与进程)

  • 作用:动态显示系统的 CPU、内存占用情况,以及所有进程的运行状态(每隔 3 秒刷新一次)。
  • 常用用法
    • 输入 top,进入监控界面,顶部显示系统整体资源(如 Cpu(s): 20.0%us, 5.0%sy 表示用户态 CPU 占 20%,系统态占 5%),下方显示进程列表(包含 PID、用户、CPU 占用率、内存占用率等)。
    • 交互操作:
      • 按 P 键:按 CPU 占用率从高到低排序(快速找 “吃 CPU” 的进程)。
      • 按 M 键:按内存占用率从高到低排序(快速找 “吃内存” 的进程)。
      • 按 q 键:退出监控界面。
  1. ps命令:更常用的静态查看方式:

    • ps aux:查看系统中所有进程(包括其他用户的),输出完整信息(用户、PID、CPU / 内存占用、启动时间等)。
    • ps -ef:以全格式显示所有进程,常用于查看进程间的父子关系。
  2. 根据进程名筛选(以nginx为例)

    • 结合管道和grepps aux | grep nginx 或 ps -ef | grep nginx
    • 注意:结果中会包含grep nginx自身的进程,可加grep -v grep排除:ps aux | grep nginx | grep -v grep
    • 更简洁的方式:pgrep nginx(直接输出nginx进程的 PID),或pkill nginx(用于终止进程,延伸考点)。

5. df(查看磁盘空间使用情况)

  • 作用:显示所有已挂载磁盘分区的总容量、已用容量、可用容量和使用率。
  • 常用用法
    • df:默认以 KB 为单位显示(数字较大,不易读)。
    • df -h:以人类易读格式显示(如 GB、MB),例如输出 /dev/sda1 50G 15G 32G 32% /(表示根分区总容量 50G,已用 15G,使用率 32%)。

6. free(查看内存使用情况)

  • 作用:显示系统物理内存、交换分区(Swap)的使用情况。
  • 常用用法
    • free:默认以 KB 为单位显示。
    • free -h:以人类易读格式显示,例如输出 Mem: 7.7Gi 2.1Gi 4.8Gi 0.1Gi 0.8Gi 5.4Gi(表示总内存 7.7GB,已用 2.1GB,空闲 4.8GB)。

7. who(查看当前登录系统的用户)

  • 作用:快速显示当前有哪些用户登录到系统,包括登录用户名、登录终端(如 tty1 本地终端、pts/0 远程终端)、登录时间,以及远程登录用户的来源 IP(若适用)。

  • 基础用法

    • 直接执行 who:查看所有当前登录用户的基础信息,示例输出如下(含义:用户 root 通过本地终端 tty1 在 2024-05-20 10:00 登录;用户 user1 通过远程终端 pts/0 从 IP 192.168.1.100 在 2024-05-20 10:30 登录):

who am i 或 who mom likes:仅显示当前操作终端对应的用户(区别于 who 显示所有用户,适合多用户登录时快速确认自己的身份),示例输出:

8. kill(终止进程)

  • 作用:向进程发送信号以终止或控制进程,需配合进程 ID(PID)使用(PID 可通过pstop获取)。

  • 基础用法

    • kill 进程ID:发送终止信号(默认SIGTERM),让进程优雅退出,例如kill 1234(终止 PID 为 1234 的进程)。
  • 进阶用法

    • 强制终止:kill -9 进程ID(发送SIGKILL信号,强制结束顽固进程,如kill -9 5678)。
    • 按名称批量终止:pkill 进程名(如pkill python终止所有 Python 进程)。
    • 重启进程配置:kill -1 进程ID(发送SIGHUP信号,让进程重新加载配置)。

四、权限控制命令(Linux 安全核心)

Linux 基于 “用户 - 组 - 其他”(u-g-o)的权限模型,这类命令用于修改文件 / 目录的权限和归属。

1. chmod(修改文件 / 目录权限)

  • 作用:设置文件 / 目录对 “所有者(u)”“所属组(g)”“其他用户(o)” 的权限(读、写、执行)。
  • 权限规则
    • 权限符号:读(r)、写(w)、执行(x);对应数字:r=4,w=2,x=1(数字相加表示组合权限,如 rwx=7,rx=5)。
  • 常用用法
    • 数字方式(简洁常用):chmod 权限数字 文件名,例如 chmod 755 script.sh(所有者 rwx=7,所属组和其他用户 rx=5,即脚本所有者可执行,其他人只能读)。
    • 符号方式(灵活):chmod 身份+权限 文件名,例如 chmod u+x script.sh(给所有者加 “执行” 权限)、chmod o-w file.txt(给其他用户减 “写” 权限)。
在 Linux 中,如何修改文件(比如 “test.txt”)的权限,使其所有者(owner)拥有读、写、执行权限,所属组(group)拥有读和执行权限,其他用户(others)仅拥有读权限?请分别用 “符号权限” 和 “数字权限” 两种方式写出命令。

符号权限:chmod u+rwx,g+rx,o+r test.txt(可以合并成一条)

数字权限:chmod 754 test.txt

2. chown(修改文件 / 目录的所有者和所属组)

  • 作用:改变文件 / 目录的 “所有者”(属于哪个用户)或 “所属组”(属于哪个用户组),需 root 权限(普通用户只能改自己的文件)。
  • 常用用法
    • chown 新所有者:新所属组 文件名:同时修改所有者和组,例如 sudo chown user1:user1 report.txt(将 “report.txt” 的所有者和组都改为 “user1”)。
    • 单独修改所有者:sudo chown user2 report.txt(只改所有者为 “user2”)。
    • 单独修改所属组:sudo chown :group1 report.txt(只改所属组为 “group1”)。

五、用户与组管理命令(多用户系统必备)

用于创建、删除用户 / 组,切换用户身份,需 root 权限(部分命令普通用户可用)。

1. sudo(以 root 权限执行命令)

  • 作用:普通用户默认没有系统管理权限(如安装软件、修改系统配置),用 sudo 可临时获取 root 权限(需输入当前用户密码验证)。
  • 常用用法sudo 命令,例如 sudo apt install firefox(Ubuntu 系统安装火狐浏览器)、sudo vim /etc/hosts(修改系统 hosts 文件)。

2. useradd(创建新用户)

  • 作用:创建新的系统用户,需 root 权限。
  • 常用用法
    • sudo useradd -m 用户名-m 表示自动创建用户的家目录(默认在 /home/用户名),例如 sudo useradd -m newuser(创建 “newuser” 并生成 /home/newuser 家目录)。

3. passwd(设置 / 修改用户密码)

  • 作用:为用户设置或修改密码(root 可改所有用户密码,普通用户只能改自己的)。
  • 常用用法
    • 普通用户改自己密码:直接输入 passwd,按提示输入旧密码、新密码(输入密码时不显示字符,确保安全)。
    • root 为其他用户设密码:sudo passwd 用户名,例如 sudo passwd newuser(为 “newuser” 设置初始密码)。

4. su(切换用户身份)

  • 作用:从当前用户切换到其他用户(需知道目标用户密码)。
  • 常用用法
    • su 用户名:切换到指定用户,但不加载该用户的环境变量(如家目录、PATH 等),例如 su newuser(切换到 “newuser”,但终端提示符可能仍显示原用户)。
    • su - 用户名:切换用户并加载其完整环境变量(推荐用法),例如 su - newuser(切换到 “newuser”,终端提示符会显示 “newuser@主机名”,家目录也切换到 /home/newuser)。
    • su -:直接切换到 root 用户(等价于 su - rootsudo -i也有相同作用(更安全,适用于普通用户有 sudo 权限的场景)

六、压缩与解压命令(文件归档必备)

1. tar(文件打包与压缩 / 解压)

  • 作用:将多个文件或目录打包成一个文件,可配合压缩算法(gzip、bzip2 等)减小体积,也可解压已有的打包文件。
  • 常用用法
    • 打包并压缩(gzip 格式,生成 .tar.gz 文件):tar -zcvf 压缩包名.tar.gz 要打包的文件/目录,例如 tar -zcvf photos.tar.gz ./Pictures(将 Pictures 目录打包压缩为 photos.tar.gz)。
    • 解压 .tar.gz 文件:tar -zxvf 压缩包名.tar.gz,例如 tar -zxvf photos.tar.gz(解压到当前目录)。
    • 打包并压缩(bzip2 格式,生成 .tar.bz2 文件):tar -jcvf 压缩包名.tar.bz2 要打包的文件/目录
    • 解压 .tar.bz2 文件:tar -jxvf 压缩包名.tar.bz2
    • 选项说明:z(使用 gzip 算法)、j(使用 bzip2 算法)、c(创建打包文件)、x(解压)、v(显示过程)、f(指定打包文件名)。
    • -z:表示使用 gzip 算法进行压缩(生成 .gz 格式);
    • -c:表示创建新的压缩包;
    • -x:表示解压缩(extract);
    • -v:显示压缩过程中的文件列表(可选,用于查看进度);
    • -f:指定压缩包的文件名(必须放在所有选项的最后,紧跟文件名)。
    • -t 表示 “列出归档文件的内容”(list)

2. zip/unzip(压缩 / 解压 zip 格式文件)

  • 作用:处理 zip 格式的压缩文件(跨平台兼容性好,Windows 和 Linux 都支持)。
  • 常用用法
    • 压缩文件 / 目录为 zip 包:zip 压缩包名.zip 要压缩的文件/目录,例如 zip docs.zip report.txt Notes/(将 report.txt 和 Notes 目录压缩为 docs.zip)。
    • 解压 zip 包:unzip 压缩包名.zip,例如 unzip docs.zip(解压到当前目录)。
    • 查看 zip 包内容:unzip -l 压缩包名.zip(不解压,只列出里面的文件 / 目录)。

七、网络相关命令(网络诊断与管理)

1. ifconfig/ip(查看网络接口信息)

  • 作用:查看或配置网络接口(如网卡)的 IP 地址、MAC 地址等信息。
  • 常用用法
    • ifconfig:显示所有网络接口的信息(包括 IP 地址、子网掩码、MAC 地址等),例如 eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.100 netmask 255.255.255.0 ...
    • ip addr:新一代网络配置命令,功能类似 ifconfig,输出更清晰,例如 ip addr show 显示所有接口信息。

2. netstat/ss(查看网络连接状态)

  • 作用:查看系统的网络连接、端口监听等状态(netstat 较老,ss 是替代工具)。
  • 常用用法
    • netstat -tuln:查看所有正在监听的 TCP/UDP 端口(t 显示 TCP,u 显示 UDP,l 显示监听状态,n 显示 IP 而非域名)。
    • ss -tuln:功能与 netstat -tuln 相同,执行速度更快,推荐使用。
在 Linux 中,如何查看某个端口(比如 8080)被哪个进程占用?
方法 1:ss 命令(现代 Linux 系统首选,比netstat更高效)

完整命令:
ss -tulnp | grep :8080

  • 选项解析:
    • -t:仅显示 TCP 连接(端口占用多为 TCP,若需 UDP 可加 -u);
    • -u:显示 UDP 连接(可与 -t 组合);
    • -l:仅显示 “正在监听” 的端口(占用端口的进程通常处于监听状态);
    • -n:以数字形式显示端口号(避免将 8080 解析为服务名,更直观);
    • -p:显示占用端口的进程 ID(PID)和进程名(核心选项,需 root 权限,普通用户可能看不到进程名,需加 sudo)。
  • 示例输出:
    tcp LISTEN 0 128 *:8080 *:* users:(("java",pid=1234,fd=10))
    可直接看到:8080 端口被 PID 为 1234、进程名为java的进程占用。
方法 2:netstat 命令(传统命令,部分系统需额外安装)

完整命令:
sudo netstat -tulnp | grep :8080

  • 选项含义与ss基本一致(-tulnp作用相同),但netstat在部分新发行版(如 CentOS 8、Ubuntu 20.04+)中默认不安装,需先通过 yum install net-tools(CentOS)或 apt install net-tools(Ubuntu)安装。

3. curl/wget(下载网络文件)

  • 作用:从网络上下载文件(curl 更侧重数据传输,wget 更专注下载)。
  • 常用用法
    • wget 网址:直接下载文件到当前目录,例如 wget https://example.com/file.tar.gz(下载 file.tar.gz 到当前目录)。
    • curl -O 网址:下载文件到当前目录(-O 保留原文件名),例如 curl -O https://example.com/file.tar.gz
    • curl 网址:直接显示网页内容(适合查看简单文本数据,如 API 接口返回值)。

八、文本处理命令(快速处理文本内容)

1. grep(搜索文本内容)

  • 作用:在文件或命令输出中搜索包含指定关键词的行,是文本过滤的核心工具。
  • 常用用法
    • grep "关键词" 文件名:在指定文件中搜索包含 “关键词” 的行,例如 grep "error" log.txt(在 log.txt 中找含 “error” 的行)。
    • grep -i "关键词" 文件名:忽略大小写搜索(如同时匹配 “Error”“ERROR”)。
    • grep -r "关键词" 目录:在指定目录下的所有文件中递归搜索(查找整个项目中的关键词)。
    • 配合管道使用:命令 | grep "关键词",例如 ps aux | grep "python"(在进程列表中找含 “python” 的进程)。
如何搜索当前目录及其子目录下所有包含 “error” 关键词的 .log 文件?请写出具体命令。

grep -r "error" ./*.log

2. wc(统计文本行数 / 字数)

  • 作用:统计文件的行数、单词数、字节数。
  • 常用用法
    • wc 文件名:默认输出 “行数 单词数 字节数 文件名”,例如 wc report.txt 输出 10 50 300 report.txt(10 行,50 个单词,300 字节)。
    • wc -l 文件名:只统计行数(常用),例如 wc -l log.txt(查看日志有多少行)。

九、其他实用命令

1. history(查看命令历史)

  • 作用:显示当前用户之前执行过的所有命令(默认保存最近 1000 条)。
  • 常用用法
    • 直接输入 history:列出所有历史命令(每条命令前有编号)。
    • !编号:快速重复执行对应编号的命令,例如 !100(执行历史列表中第 100 条命令)。
    • history | grep "关键词":搜索包含 “关键词” 的历史命令,例如 history | grep "cd"(找之前执行过的 cd 命令)。

2. clear(清空终端屏幕)

  • 作用:清除终端上的所有输出内容,让屏幕重新变得整洁(光标回到顶部)。
  • 常用用法:直接输入 clear,或按快捷键 Ctrl+L(效果相同)。

3. man(查看命令帮助手册)

  • 作用:查看任何 Linux 命令的详细帮助文档(包括语法、选项、示例等)。
  • 常用用法man 命令名,例如 man grep(查看 grep 命令的完整帮助),在帮助页面中按 q 键退出。(也可以用   --help)

文章转载自:

http://Ez0EmSm3.mLpmf.cn
http://vwtKULIJ.mLpmf.cn
http://Kz0BAzNV.mLpmf.cn
http://0HLfDog3.mLpmf.cn
http://Yj8uP0m6.mLpmf.cn
http://BcdlgjMf.mLpmf.cn
http://gtsJmQXA.mLpmf.cn
http://P9itxi6y.mLpmf.cn
http://PCGQTRlu.mLpmf.cn
http://DoFlEZm8.mLpmf.cn
http://4AZJwnW8.mLpmf.cn
http://JAO1Mt1z.mLpmf.cn
http://92WnIJoa.mLpmf.cn
http://t79z0nBK.mLpmf.cn
http://3qVkShqA.mLpmf.cn
http://mVogcGIV.mLpmf.cn
http://mSXD65yM.mLpmf.cn
http://dkAyT7cx.mLpmf.cn
http://iNdNNCMr.mLpmf.cn
http://i6E0AcBo.mLpmf.cn
http://ZJd0caUb.mLpmf.cn
http://rxiGEsTG.mLpmf.cn
http://RGDcnadH.mLpmf.cn
http://ZFPYKEEr.mLpmf.cn
http://xdkl5rxQ.mLpmf.cn
http://2gOa9GoM.mLpmf.cn
http://qT3rjU5r.mLpmf.cn
http://bkvgdfIr.mLpmf.cn
http://Vku5tOdh.mLpmf.cn
http://4ZyMFhaL.mLpmf.cn
http://www.dtcms.com/a/379209.html

相关文章:

  • 12 Prompt 模板化与参数化
  • 自动化车间无线安灯呼叫系统解决方案
  • Oracle APEX 如何运行页面时跳过登录页
  • list容器
  • Docker Compose:轻松管理多容器应用
  • 云蝠智能大模型呼叫新模型上线,拥抱AGI
  • 网站SEO内部优化一般包括哪些内容和方法
  • 18j621-3通风天窗图集pdf(免费高清版)
  • 以下是UniApp启动速度优化的深度方案
  • GoogLeNet实战:用PyTorch实现经典Inception模块
  • verilog中task的使用
  • SpringDoc OpenAPI集成spring boot3
  • 安卓13_ROM修改定制化-----安卓 13 系统 ROM 定制化与低版本系统的核心区别
  • yolo学习笔记02——yolo简介
  • OpenCV 开发 -- 图像算术运算
  • 字符串-43.字符串相乘-力扣(LeetCode)
  • java properties/反射基础
  • solidity的高阶语法4
  • Vue.js Data定义方式对比 data() { return {...} } 与 data: {} 的区别
  • P11961原根判断(1)
  • 特征空间的转换方法 IPM/LSS/Transformer
  • 【Vue3】05-Options API和Composition API的区别
  • 锁框架-面试
  • 电商 API 爬虫高阶技巧:多线程 / 异步请求结合,突破接口频率限制
  • vue两个组件互相引入时候会报错
  • 《芯片封装后未测试品粘连及边缘残胶的多维度工艺与材料失效分析》
  • MySQL基础全面解析
  • 探索容器技术:从LXC到Podman的演进
  • IntelliJ IDEA 启动项目时配置端口指南
  • java 实现rtsp 直播流下载