ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Linux 进阶命令

Linux 进阶命令

一、前言

在掌握 Linux 基础命令后,进阶操作与工具是提升效率的关键。本文将系统梳理文件操作、通配符、前后台任务、进程管理、vi 编辑器、GDB 调试等核心内容,帮你从入门走向熟练。


二、核心文件操作命令进阶

1. 基础操作增强

  • rmdir/rm -rf:删除目录
    rmdir test_dir # 仅删除空目录 rm -rf test_dir # 强制删除目录及所有内容(谨慎使用!)
  • ls -r/ls -R:排序与递归查看
    ls -r # 逆序显示文件 ls -R # 递归显示所有子目录内容
  • clear:清空终端屏幕
    clear
  • touch:创建空文件(若文件已存在则更新时间戳)
    touch new_file.txt

2. 复制、移动与重定向

  • cp/mv:文件 / 目录复制与移动
    cp file1.txt file2.txt # 复制文件内容到新文件 cp -r dir1 dir2 # 递归复制目录 mv old_name.txt new_name.txt # 重命名文件 mv file.txt ~/Documents/ # 移动文件到指定目录
  • 管道符|:将前一个命令的输出作为后一个命令的输入
    ps aux | grep "bash" # 查找包含 bash 的进程

3. 查找与文本处理

  • find:按文件名 / 类型查找文件
    find . -name "*.txt" # 在当前目录及子目录查找所有 .txt 文件
  • grep:按字符串匹配查找文本
    grep "Linux" test.txt # 在文件中查找包含 "Linux" 的行 grep -r "key" ./ # 递归查找当前目录下包含 "key" 的文件
  • cat:查看文件内容
    cat test.txt # 直接输出文件全部内容

三、通配符与权限

1. 通配符(匹配文件名)

通配符作用示例
*匹配任意长度字符ls *.txt匹配所有 .txt 文件
?匹配单个任意字符ls file?.txt匹配 file1.txt、fileA.txt
[abc]匹配括号内任意一个字符ls file[123].txt匹配 file1.txt、file2.txt、file3.txt
[a-z]匹配指定范围内的字符ls file[a-z].txt匹配 filea.txt 到 filez.txt

2. 权限与超级用户

  • sudo:临时切换为管理员权限执行命令
    sudo rm -rf /var/log/* # 管理员权限删除系统日志
  • chmod:修改文件权限(数字 / 文字法)
    chmod 755 script.sh # 所有者 rwx,组/其他用户 r-x chmod u+x script.sh # 给所有者添加执行权限

四、前后台任务管理

1. 后台运行与切换

  • &:让命令在后台运行
    sleep 300 & # 让 sleep 命令在后台执行 300 秒
  • jobs:查看当前会话的后台任务
    jobs -l # 显示任务编号与 PID
  • bg/fg:将暂停任务切换到后台 / 前台
    bg %1 # 将任务 1 放到后台继续运行 fg %1 # 将任务 1 切回前台

2. 进程管理

  • ps:查看进程信息
    ps aux # 查看所有进程(包含系统进程) ps -ef | grep "nginx" # 查找 nginx 相关进程
  • pid相关概念
    • PID:进程 ID(唯一标识)
    • PPID:父进程 ID
    • TTY:进程所在终端
    • CMD:进程启动命令
  • kill:终止进程
    kill -9 <PID> # 强制终止指定 PID 的进程(-9 为强制信号)

五、vi 编辑器核心操作

1. 三种模式切换

  • 命令模式:启动 vi 后默认进入,可执行复制、粘贴、删除、跳转等操作
  • 输入模式:按i/a/o进入,可编辑文本内容
  • 底行模式:按:进入,可执行保存、退出、查找、设置行号等操作

2. 常用快捷键

表格

操作命令模式快捷键底行模式命令
进入输入模式i(光标前插入)、a(光标后插入)、o(下一行插入)-
保存文件-:w
退出 vi-:q(未修改时退出)、:q!(强制退出不保存)
保存并退出-:wqx
复制 / 粘贴yy(复制当前行)、p(粘贴到下一行)-
删除dd(删除当前行)、dw(删除当前单词)-
撤销u-
显示行号-:set nu
取消行号-:set nonu

3. 示例:编辑并保存文件

vi test.txt # 进入后按 i 进入输入模式,输入内容 # 按 Esc 回到命令模式 # 按 :wq 保存并退出

六、GDB 调试工具入门

1. 编译与启动调试

  • 编译时添加-g参数生成调试信息:
    gcc -g main.c -o main # 编译可执行程序并保留调试信息
  • 启动 GDB:
    gdb ./main # 加载可执行程序进入调试模式

2. 核心调试命令

命令作用
l查看源码(list)
b <行号>在指定行设置断点(break)
b <函数名>在函数入口设置断点
info b查看所有断点信息
r运行程序(run)
n单步执行(next,不进入函数)
s单步进入(step,进入函数内部)
c继续执行(continue,直到下一个断点)
p <变量名>打印变量值(print)
q退出 GDB(quit)

3. 示例调试流程

gdb ./main (gdb) b main # 在 main 函数处设置断点 (gdb) r # 运行程序 (gdb) n # 单步执行 (gdb) p num # 查看变量 num 的值 (gdb) c # 继续执行 (gdb) q # 退出调试

七、总结

本文覆盖了 Linux 进阶操作的核心模块:

  1. 文件操作:复制、移动、重定向、查找与文本处理
  2. 通配符与权限:高效匹配文件与权限管理
  3. 前后台任务:后台运行、任务切换与进程管理
  4. vi 编辑器:三种模式与核心编辑操作
  5. GDB 调试:编译、断点、单步执行与变量查看
返回列表