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

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

基础指令目录相关pwd打印当前所在路径ls列出目录内容ls # 简单列表 ls -l # 详细信息权限、大小、时间 ls -a # 显示隐藏文件 ls -la # 详细 隐藏 ls -lt # 按时间排序cd切换目录cd /home # 绝对路径 cd .. # 返回上一级 cd ../.. # 返回上两级 cd ~ # 回家目录 cd - # 返回上一次所在目录文件相关touch创建空文件 / 更新文件时间touch test.txtmkdir创建文件夹mkdir test mkdir -p a/b/c # 递归创建多级目录rm删除文件 / 文件夹危险rm file.txt # 删除文件 rm -r dir # 删除文件夹 rm -rf dir # 强制删除不询问cp复制文件 / 目录cp a.txt b.txt cp -r dir1 dir2 # 复制目录必须加 -rmv移动 / 重命名mv a.txt b.txt # 改名 mv a.txt ../ # 移动到上一级文件查看相关less分页查看大文件最强less test.cpp快捷键上下键 滚动/字符串 向下搜索?字符串 向上搜索n 下一个匹配N 上一个匹配q 退出常用选项less -N test.cpp # 显示行号 less -i test.cpp # 忽略大小写head看文件前 N 行head test.cpp head -n 20 test.cpptail看文件末尾实时监控日志tail test.cpp tail -n 20 test.cpp tail -f test.log # 实时刷新监控日志必备find在系统里找文件find 从哪搜 -按什么搜 搜什么例子find ~ -name *.hpp find / -name test.cpp find . -type f # 只找文件 find . -type d # 只找目录grep在文件里搜索字符串最强文本工具grep “main” test.cpp常用grep -n main test.cpp # 显示行号 grep -i Main test.cpp # 忽略大小写 grep -v main test.cpp # 反向匹配不要main压缩相关zip / unzipzip test.zip file1 file2 zip -r test.zip dir/ unzip test.zip unzip test.zip -d /tmp # 解压到指定目录tar最常用打包压缩tar -czvf test.tar.gz dir/c 创建z gzip 压缩v 显示过程f 指定文件解压tar -xzvf test.tar.gz tar -xzvf test.tar.gz -C /tmp # 解压到指定目录ps查看进程ps aux ps aux | grep nginxkill杀死进程kill pid kill -9 pid # 强制杀网络相关netstat查看端口占用netstat -natp netstat -natp | grep 8080IPC相关ipcs查看共享内存 / 消息队列 / 信号量ipcs ipcs -m # 只看共享内存 ipcs -q # 只看消息队列ipcrm删除 IPC 资源ipcrm -m shmid ipcrm -q qid系统资源相关top实时监控系统任务管理器topfree看内存free -hdf看磁盘挂载df -hdu看文件 / 目录大小du -sh . du -sh *权限相关su切换用户su root su userchmod修改文件权限chmod 777 file chmod 644 file chmod x file # 加执行权限chgrp修改所属组chgrp user file常用工具一、Vim 编辑器Linux 必备文本编辑器核心三大模式所有操作必须牢记模式切换默认打开是普通模式按 i 进插入模式按 : 进底行模式按 Esc 退回普通模式。普通模式默认模式功能控制光标移动、删除、复制、粘贴、撤销、剪切核心快捷键分类 ---------------- 命令--------------- 作用光标移动--------- h j k l ------- 左、下、上、右方向键替代光标移动--------- gg----------- 跳转到文件第一行光标移动--------- G------- 跳转到文件最后一行删除 ----------------dd --------------删除整行删除 ---------------5dd- -----------删除5 行数字 dd复制 -----------------yy -----------复制整行复制 ------------------3yy -----------复制3 行粘贴--------------- p --------------粘贴到光标下一行撤销--------------- u --------------撤销上一步操作反撤销 ------------------Ctrl r------------ 恢复撤消剪切 --------------------dd p------- 删除行 粘贴 剪切插入模式功能输入 / 编辑文字像记事本一样打字进入方式i在光标前插入a在光标后插入o在光标下一行新建行插入底行模式功能保存、退出、搜索、显示行号、文本替换核心命令命令 作用:w 保存文件:q 退出文件:wq 保存并退出:q! 强制退出不保存:set nu 显示行号:set nonu 取消行号/字符串 向下搜索字符串?字符串 向上搜索字符串n/N 下一个 / 上一个搜索结果二、gcc/gC/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两种链接方式① 静态链接-static原理把库文件代码直接拷贝到可执行程序中优点运行不需要依赖库文件移植方便缺点程序体积大浪费空间② 动态链接默认原理程序运行时动态加载库文件优点程序体积小多个程序共享库缺点运行必须依赖库文件静态库 / 动态库 生成与使用① 静态库.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/.so3. gcc 核心选项速查选项 ----作用-E 仅预处理-S 仅编译到汇编-c 仅汇编到二进制-o 指定输出文件名-g 生成调试信息gdb 调试必备-static 强制静态链接-fPIC 生成动态库专用的位置无关码-shared 生成动态库三、gdbLinux 程序调试工具调试前提必须用 gcc -g 编译嵌入调试信息否则无法调试gcc test.c -o test -g启动 gdbgdb ./test核心调试命令命令 简写 作用run r 直接运行程序start - 逐行调试停在第一行next n 逐过程调试不进入函数step s 逐语句调试进入函数内部break 行号 b 设置断点info break i b 查看所有断点delete 断点号 d 删除断点print 变量 p 查看变量值bt - 查看函数调用栈quit q 退出 gdb四、make自动化编译工具作用解决多文件编译繁琐的问题通过 Makefile 脚本一键编译整个项目。Makefile 核心规则makefile目标: 依赖文件命令必须以Tab开头极简示例makefile test: main.c add.c sub.c gcc main.c add.c sub.c -o test clean: rm -f test使用make # 一键编译 make clean # 清理可执行文件原理只编译修改过的文件大幅提升编译速度大型项目nginx、mysql必备工具五、git分布式版本控制工具核心作用管理代码版本回滚、备份、对比多人协作开发GitHub/Gitee三大区域工作区写代码的地方暂存区临时保存代码本地仓库永久保存版本远程仓库GitHub/Gitee 云端仓库最常用命令表格命令 作用git init 初始化本地仓库 git clone 仓库地址 克隆远程仓库到本地 git add 文件名 将文件添加到暂存区 git add . 添加所有文件到暂存区 git commit -m 备注 提交到本地仓库 git push 推送到远程仓库 git pull 拉取远程代码到本地 git status 查看文件状态 git log 查看提交历史 git branch 查看 / 创建分支 git checkout 分支名 切换分支标准工作流程git clone https://xxx.git # 克隆代码 git add . # 添加文件 git commit -m 完成功能 # 提交本地 git push # 推送到远程

相关文章:

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

基础指令 目录相关 pwd 打印当前所在路径ls 列出目录内容 ls # 简单列表 ls -l # 详细信息(权限、大小、时间) ls -a # 显示隐藏文件 ls -la # 详细 隐藏 ls -lt # 按时间排序cd 切换目录 cd /home # 绝对路径 cd .. …...

[项目名称]:简洁有力的项目描述

[项目名称]:简洁有力的项目描述 【免费下载链接】InstantID 项目地址: https://ai.gitcode.com/hf_mirrors/InstantX/InstantID [简短的项目介绍,前100字内包含核心关键词] ✨ 核心特性 特性1:简要描述特性2:简要描述特…...

商城首页小程序源码 购物商场小程序系统 开源商城系统 基于H5小程序Uniapp开发

【核心功能】 – 前端小程序:uniapp 1、顶部自定义透明导航 2、搜索框 3、动态轮播图 4、动态分类导航 5、动态通知提醒 6、宫格商品列表 7、列表上滑预加载 8、底部导航 – 系统架构:uniapp,代码规范 – 适合懂uniapp的朋友使用 …...

Godot引擎资源提取完全指南:从PCK文件到资产复用的技术实践

Godot引擎资源提取完全指南:从PCK文件到资产复用的技术实践 【免费下载链接】godot-unpacker godot .pck unpacker 项目地址: https://gitcode.com/gh_mirrors/go/godot-unpacker 技术挑战速览 核心问题解决方案预览技术价值如何识别有效PCK文件&#xff1f…...

2025届学术党必备的十大AI科研方案推荐榜单

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在当下的学术与内容创作范畴之内,对于AI生成文本的检测变得越发严格起来。降AI率…...

mPLUG-Owl3-2B多模态推理优化教程:FP16加载+SDPA注意力提速实测

mPLUG-Owl3-2B多模态推理优化教程:FP16加载SDPA注意力提速实测 1. 开篇:为什么需要优化多模态推理? 如果你尝试过在个人电脑上运行多模态AI模型,很可能遇到过这些问题:显存不足导致程序崩溃、推理速度慢得让人着急、…...

系统整体设计方案

业务架构设计项目架构图业务流程设计文档向量整个流程从用户上传文档开始,用户通过前端页面选择文档并设置相关的组织标签和可见信后系统开始接收文档。这个阶段的关键是建立文档的基本记录信息,包括文件的Md5哈希值文件原始名文件大小上传用户等信息。系…...

安防弱电智能化VISIO图例实战指南:从入门到精通的设计技巧

1. VISIO在安防弱电设计中的核心价值 第一次接触安防弱电智能化设计时,我被各种复杂的系统连接关系搞得头晕眼花。直到发现VISIO这个神器,才真正体会到什么叫"一图胜千言"。不同于普通CAD软件,VISIO最大的优势在于它专为系统图设计…...

WarcraftHelper技术解析:经典游戏现代化适配指南

WarcraftHelper技术解析:经典游戏现代化适配指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper WarcraftHelper是一款专为魔兽争霸3设计的…...

基于MATLAB的齿轮系统非线性动力学特性分析:参数阻尼比变化调节下的输出结果

基于matlab的齿轮系统非线性动力学特性分析 基于matlab的齿轮系统非线性动力学特性分析,综合考虑齿侧间隙、时变啮合刚度、综合啮合误差等因素下,参数阻尼比变化调节下,输出位移、相图、载荷、频率幅值结果 程序已调通,可直接运行…...

深度解析:利用pmap+gdb精准诊断Linux进程内存异常

1. 为什么需要pmapgdb组合排查内存问题 第一次遇到线上服务内存爆涨时,我盯着top命令里那个不断攀升的RES数值束手无策。传统的内存监控工具就像医院的体温计,只能告诉你"发烧了",但查不出具体病因。这就是pmap和gdb这对"黄金…...

Phi-4-mini-reasoning效果验证:在MMLU-Pro数学子集上的实际推理准确率展示

Phi-4-mini-reasoning效果验证:在MMLU-Pro数学子集上的实际推理准确率展示 1. 模型概述 Phi-4-mini-reasoning是一款3.8B参数的轻量级开源模型,由微软Azure AI Foundry团队开发。这款模型专为数学推理、逻辑推导和多步解题等强逻辑任务设计&#xff0c…...

Vue3项目实战:CKEditor5自定义构建与插件深度集成指南

1. 为什么需要自定义CKEditor5构建 第一次在Vue3项目中使用CKEditor5时,我直接安装了官方提供的经典编辑器包(ckeditor/ckeditor5-build-classic)。但很快就发现一个问题:默认构建缺少很多常用功能。比如字体颜色、背景色、对齐方…...

Phi-4-Reasoning-Vision基础操作:图片预览、参数调整、结果复制与导出功能

Phi-4-Reasoning-Vision基础操作:图片预览、参数调整、结果复制与导出功能 1. 工具概览 Phi-4-Reasoning-Vision是一款基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具。它专为双卡4090环境优化,通过Streamlit搭建了直观的宽屏交…...

Eigen库实战指南——从基础到精通

1. Eigen库基础入门:矩阵与向量操作 第一次接触Eigen库是在做机器人运动学仿真时,当时被它简洁的API设计惊艳到了。这个纯头文件的C模板库,不需要编译安装,只需包含头文件就能使用,对开发者极其友好。Eigen最核心的Mat…...

H5与原生App高效通信:DSBridge桥方法实战解析

1. 为什么需要DSBridge? 在混合开发中,H5页面经常需要调用摄像头、地理位置等原生功能,而原生App也需要获取H5页面的数据更新。传统通信方式(如URL Scheme拦截)存在三个痛点:协议维护成本高(需…...

别再手动调样式了!用WangEditor的Menu API在Vue3里打造你的专属工具栏

深度定制WangEditor:用Menu API在Vue3中构建企业级富文本生态 当我们需要在Vue3项目中集成富文本编辑器时,WangEditor以其轻量级和高度可定制性成为许多开发者的首选。但真正发挥其威力的关键在于深入理解其Menu API系统——这套机制允许我们突破默认功能…...

从选工具到提交论文降AI率全流程避坑指南

把降AI率的整个流程从头到尾捋一遍——从第一次知网检测发现超标,到最终论文成功提交,每一步该干什么,常见问题怎么处理。 这是一篇流程性的指南,适合第一次处理论文AI率的同学从头读,也适合某个步骤卡住了来查的。 …...

告别Lottie和SVGA:用Unity给Android应用做高性能动态引导动画的实战踩坑记录

告别Lottie和SVGA:用Unity给Android应用做高性能动态引导动画的实战踩坑记录 在移动应用开发中,动态引导动画一直是提升用户体验的关键元素。从早期的帧动画到后来的Lottie、SVGA等方案,开发者们不断寻求更高效、更灵活的动画实现方式。然而&…...

让论文润色提速的秘密武器

对于每一位科研人员而言,将心血凝聚成论文初稿仅仅是万里长征的第一步。紧接着,一场更为煎熬的“拉锯战”往往在修改环节悄然打响。你是否也经历过这样的时刻:为了一个地道的表达,对着电脑屏幕逐字逐句地斟酌,耗费数小…...

AI率15-20-30哪来的各平台要求全汇总

论文AI率多少算合格?15%?20%?30%? 这个问题没有统一答案,因为不同学校、不同平台的标准不一样。搞清楚这个,你才知道自己的目标线在哪里,才能判断用什么工具处理、处理到什么程度就够了。 检测…...

2025届最火的六大AI学术助手解析与推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 维普AIGC检测系统专门用来识别学术文本里由人工智能生成的内容,随着AI写作工具变…...

系统级音频均衡器如何提升macOS音质:开源eqMac完全指南

系统级音频均衡器如何提升macOS音质:开源eqMac完全指南 【免费下载链接】eqMac macOS System-wide Audio Equalizer & Volume Mixer 🎧 项目地址: https://gitcode.com/gh_mirrors/eq/eqMac eqMac是一款开源的macOS系统级音频均衡器与音量混合…...

DeepFaceLive实时面部交换技术完全教程

DeepFaceLive实时面部交换技术完全教程 还在为视频会议和直播效果发愁吗?想不想在下次Zoom会议中突然变身成你喜欢的明星?DeepFaceLive这款神奇的工具能让你的面部特效梦想成真!今天我们就来聊聊这个让无数内容创作者痴迷的实时面部交换技术…...

2026届毕业生推荐的AI科研平台横评

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 已然被广泛应用于毕业论文写作进程之中的是人工智能技术,学生借助自然语言生成模…...

2025最权威的十大AI辅助写作助手推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当今之时,人工智能技术已然深度介入至毕业论文的写作进程里面,于文献…...

用STM32CubeMX配置PWM捕获:从定时器选型到串口输出全流程

STM32CubeMX实战:PWM捕获全流程解析与调试技巧 在嵌入式开发中,精确测量PWM信号的周期和占空比是常见需求。本文将带你从零开始,使用STM32CubeMX和HAL库完成PWM捕获功能的完整实现。不同于简单的教程复制,我们会深入探讨两种捕获…...

Jimeng AI Studio应用场景:独立艺术家数字创作工作流整合方案

Jimeng AI Studio应用场景:独立艺术家数字创作工作流整合方案 1. 引言:当艺术家遇见AI 想象一下,你是一位独立艺术家或设计师。灵感来了,你想立刻把它变成一幅画、一张海报,或者一个全新的视觉概念。但传统的数字创作…...

Go语言中的正则表达式

Go语言中的正则表达式 1. 正则表达式的基本概念 正则表达式是一种用于匹配字符串中字符组合的模式。在Go语言中,正则表达式通过regexp包来实现。 2. 基本用法 2.1 编译正则表达式 package mainimport ("fmt""regexp" )func main() {// 编译正则…...

Go语言中的字符串处理

Go语言中的字符串处理 1. 字符串的基本概念 在Go语言中,字符串是一种不可变的字节序列,使用UTF-8编码。字符串的类型为string,是Go语言的基本类型之一。 package mainimport "fmt"func main() {// 字符串字面量s1 : "Hello, W…...