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

【Linux复习】:基础指令/常用工具

基础指令

目录相关

  1. pwd
    打印当前所在路径
  2. ls
    列出目录内容
ls # 简单列表 ls -l # 详细信息(权限、大小、时间) ls -a # 显示隐藏文件 ls -la # 详细 + 隐藏 ls -lt # 按时间排序
  1. cd
    切换目录
cd /home # 绝对路径 cd .. # 返回上一级 cd ../.. # 返回上两级 cd ~ # 回家目录 cd - # 返回上一次所在目录

文件相关

  1. touch
    创建空文件 / 更新文件时间
touch test.txt
  1. mkdir
    创建文件夹
mkdir test mkdir -p a/b/c # 递归创建多级目录
  1. rm
    删除文件 / 文件夹(危险!)
rm file.txt # 删除文件 rm -r dir # 删除文件夹 rm -rf dir # 强制删除(不询问)
  1. cp
    复制文件 / 目录
cp a.txt b.txt cp -r dir1 dir2 # 复制目录必须加 -r
  1. mv
    移动 / 重命名
mv a.txt b.txt # 改名 mv a.txt ../ # 移动到上一级

文件查看相关

  1. less
    分页查看大文件(最强)
less test.cpp

快捷键:
上下键 滚动
/字符串 向下搜索
?字符串 向上搜索
n 下一个匹配
N 上一个匹配
q 退出
常用选项:

less -N test.cpp # 显示行号 less -i test.cpp # 忽略大小写
  1. head
    看文件前 N 行
head test.cpp head -n 20 test.cpp
  1. tail
    看文件末尾,实时监控日志
tail test.cpp tail -n 20 test.cpp tail -f test.log # 实时刷新(监控日志必备!)
  1. find
    在系统里找文件
    find 从哪搜 -按什么搜 搜什么
    例子:
find ~ -name "*.hpp" find / -name test.cpp find . -type f # 只找文件 find . -type d # 只找目录
  1. grep
    在文件里搜索字符串(最强文本工具)
    grep “main” test.cpp
    常用:
grep -n "main" test.cpp # 显示行号 grep -i "Main" test.cpp # 忽略大小写 grep -v "main" test.cpp # 反向匹配(不要main)

压缩相关

  1. zip / unzip
zip test.zip file1 file2 zip -r test.zip dir/ unzip test.zip unzip test.zip -d /tmp # 解压到指定目录
  1. tar(最常用)
    打包压缩
    tar -czvf test.tar.gz dir/
    c 创建
    z gzip 压缩
    v 显示过程
    f 指定文件
    解压
tar -xzvf test.tar.gz tar -xzvf test.tar.gz -C /tmp # 解压到指定目录
  1. ps
    查看进程
ps aux ps aux | grep "nginx"
  1. kill
    杀死进程
kill pid kill -9 pid # 强制杀

网络相关

netstat
查看端口占用

netstat -natp netstat -natp | grep 8080

IPC相关

  1. ipcs
    查看共享内存 / 消息队列 / 信号量
ipcs ipcs -m # 只看共享内存 ipcs -q # 只看消息队列
  1. ipcrm
    删除 IPC 资源
ipcrm -m shmid ipcrm -q qid

系统资源相关

top
实时监控系统(任务管理器)

top
  1. free
    看内存
free -h
  1. df
    看磁盘挂载
df -h
  1. du
    看文件 / 目录大小
du -sh . du -sh *

权限相关

  1. su
    切换用户
su root su user
  1. chmod
    修改文件权限
chmod 777 file chmod 644 file chmod +x file # 加执行权限
  1. chgrp
    修改所属组
chgrp user file

常用工具

一、Vim 编辑器(Linux 必备文本编辑器)
核心:三大模式(所有操作必须牢记模式切换)
默认打开是普通模式;按 i 进插入模式;按 : 进底行模式;按 Esc 退回普通模式。

  1. 普通模式(默认模式)
    功能:控制光标移动、删除、复制、粘贴、撤销、剪切
    核心快捷键:
    分类 ---------------- 命令--------------- 作用
    光标移动--------- h j k l ------- 左、下、上、右(方向键替代)
    光标移动--------- gg----------- 跳转到文件第一行
    光标移动--------- G------- 跳转到文件最后一行
    删除 ----------------dd --------------删除整行
    删除 ---------------5dd- -----------删除5 行(数字 + dd)
    复制 -----------------yy -----------复制整行
    复制 ------------------3yy -----------复制3 行
    粘贴--------------- p --------------粘贴到光标下一行
    撤销--------------- u --------------撤销上一步操作
    反撤销 ------------------Ctrl + r------------ 恢复撤消
    剪切 --------------------dd + p------- 删除行 + 粘贴 = 剪切
  2. 插入模式
    功能:输入 / 编辑文字(像记事本一样打字)
    进入方式:
    i:在光标前插入
    a:在光标后插入
    o:在光标下一行新建行插入
  3. 底行模式
    功能:保存、退出、搜索、显示行号、文本替换
    核心命令:
    命令 作用
    :w 保存文件
    :q 退出文件
    :wq 保存并退出
    :q! 强制退出(不保存)
    :set nu 显示行号
    :set nonu 取消行号
    /字符串 向下搜索字符串
    ?字符串 向上搜索字符串
    n/N 下一个 / 上一个搜索结果
    二、gcc/g++(C/C++ 编译器)
    核心:程序编译的 4 个阶段
    源文件 .c → 预处理 → 编译 → 汇编 → 链接 → 可执行文件

阶段--------- 命令----- 作用-------- 输出文件
预处理 ------gcc -E ----宏替换、头文件展开、去注释、条件编译 .i文本
编译 --------gcc -S ----检查语法,翻译成汇编语言 .s汇编
汇编 --------gcc -c ----汇编转二进制机器码(不可独立运行) .o目标文件
链接 ----------gcc------ 合并库文件,生成可执行文件 可执行程序
完整示例:

# 1. 预处理 gcc -E hello.c -o hello.i # 2. 编译 gcc -S hello.i -o hello.s # 3. 汇编 gcc -c hello.s -o hello.o # 4. 链接(生成最终程序) gcc hello.o -o hello
  1. 两种链接方式
    ① 静态链接(-static)
    原理:把库文件代码直接拷贝到可执行程序中
    优点:运行不需要依赖库文件,移植方便
    缺点:程序体积大,浪费空间
    ② 动态链接(默认)
    原理:程序运行时动态加载库文件
    优点:程序体积小,多个程序共享库
    缺点:运行必须依赖库文件
  2. 静态库 / 动态库 生成与使用
    ① 静态库(.a)生成
# 1. 生成.o二进制文件 gcc -c add.c sub.c # 2. 打包成静态库 libxxx.a ar -rc libmymath.a add.o sub.o

② 动态库(.so)生成

# 1. 生成与位置无关的.o文件 gcc -fPIC -c add.c sub.c # 2. 生成动态库 libxxx.so gcc -shared -o libmymath.so add.o sub.o

③ 库的使用(核心参数)

gcc test.c -I ./include -L ./lib -l mymath -o test

-I:指定头文件路径
-L:指定库文件路径
-l:指定库名称(去掉lib和.a/.so)
3. gcc 核心选项速查

选项 ----作用
-E 仅预处理
-S 仅编译到汇编
-c 仅汇编到二进制
-o 指定输出文件名
-g 生成调试信息(gdb 调试必备)
-static 强制静态链接
-fPIC 生成动态库专用的位置无关码
-shared 生成动态库
三、gdb(Linux 程序调试工具)

  1. 调试前提
    必须用 gcc -g 编译,嵌入调试信息,否则无法调试!
gcc test.c -o test -g
  1. 启动 gdb
gdb ./test
  1. 核心调试命令

命令 简写 作用
run r 直接运行程序
start - 逐行调试(停在第一行)
next n 逐过程调试(不进入函数)
step s 逐语句调试(进入函数内部)
break 行号 b 设置断点
info break i b 查看所有断点
delete 断点号 d 删除断点
print 变量 p 查看变量值
bt - 查看函数调用栈
quit q 退出 gdb
四、make(自动化编译工具)

  1. 作用
    解决多文件编译繁琐的问题,通过 Makefile 脚本,一键编译整个项目。
  2. Makefile 核心规则
    makefile
    目标: 依赖文件
    命令(必须以Tab开头!)
  3. 极简示例
makefile test: main.c add.c sub.c gcc main.c add.c sub.c -o test clean: rm -f test
  1. 使用
make # 一键编译 make clean # 清理可执行文件
  1. 原理
    只编译修改过的文件,大幅提升编译速度
    大型项目(nginx、mysql)必备工具
    五、git(分布式版本控制工具)
  2. 核心作用
    管理代码版本(回滚、备份、对比)
    多人协作开发(GitHub/Gitee)
  3. 三大区域
    工作区:写代码的地方
    暂存区:临时保存代码
    本地仓库:永久保存版本
    远程仓库:GitHub/Gitee 云端仓库
  4. 最常用命令
    表格
    命令 作用
git init 初始化本地仓库 git clone 仓库地址 克隆远程仓库到本地 git add 文件名 将文件添加到暂存区 git add . 添加所有文件到暂存区 git commit -m "备注" 提交到本地仓库 git push 推送到远程仓库 git pull 拉取远程代码到本地 git status 查看文件状态 git log 查看提交历史 git branch 查看 / 创建分支 git checkout 分支名 切换分支
  1. 标准工作流程
git clone https://xxx.git # 克隆代码 git add . # 添加文件 git commit -m "完成功能" # 提交本地 git push # 推送到远程
http://www.jsqmd.com/news/577719/

相关文章:

  • 【Cadence】深度解析cdsinit与cdsenv:高效配置EDA环境的实战指南
  • 4月2日
  • 如何在Blender中高效使用3MF格式进行3D打印工作流
  • 必收藏!大模型风口已至,小白程序员入门正当时
  • 2026户内配电箱优质厂家权威推荐 - 优质品牌商家
  • Nunchaku FLUX.1-dev效果展示:4步生成惊艳图片案例分享
  • 比话降AI退款保障靠不靠谱?我真的申请了一次
  • 新加坡校园网络安全:威胁、生成式 AI 风险与韧性路径研究
  • GraphJin实战教程:10个技巧提升你的API开发效率
  • 2026年 智慧公共座椅厂家推荐排行榜,户外太阳能候车座椅,城市休憩防腐耐候座椅,模块化景观公共空间座椅品牌深度解析 - 品牌企业推荐师(官方)
  • 2025最权威的十大AI辅助写作助手推荐
  • C语言完美演绎6-16
  • 告别海量标注!用Wav2Vec 2.0在10分钟语音数据上跑出可用ASR模型(保姆级实战)
  • CF10881+2补写总结(A)
  • Qwen3-14B开源模型对比评测:Qwen3-14B vs Qwen2.5-14B中文任务提升幅度
  • 收藏备用!7个适配小白/程序员的AI岗位,2026年最易切入的大模型转型方向
  • k8s安装
  • 成都异地求职:找工作推荐机构/找工作的平台哪家好/效率高找工作/求职岗位质量高/求职机构/省心找工作/陪伴求职/选择指南 - 优质品牌商家
  • P3C规则动态调整:构建风险驱动的代码质量控制体系
  • 2026届毕业生推荐的AI科研平台横评
  • Markdown解析新标杆:Marked.js高效渲染与实战指南
  • C语言完美演绎6-17
  • 《Linux网络编程》2.Socket编程(UDP/TCP)
  • Z-Image-Turbo开源可部署价值:私有化部署保障设计资产数据不出域
  • 银行行业自动化平台选型,合规与运营双提升指南:2026全景技术选型与合规架构深度解析
  • Windows系统跨平台工具:APK-Installer无缝安装Android应用完全指南
  • 别再为数据格式头疼了!一份Python脚本搞定Crypto、Web3和数据分析中的常见编码转换
  • WarcraftHelper技术指南:三步解决魔兽争霸III现代系统兼容难题
  • 终极EdgeRemover指南:专业卸载Windows Edge浏览器的完整解决方案
  • DeepFaceLive实时面部交换技术完全教程