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

linux小进阶

第1步:终端里的快捷键(手不离键盘,效率翻倍)

1.1Ctrl + R—— 搜索你敲过的历史命令

作用:不用往上翻半天,输入几个关键词就能找回之前敲过的长命令。

为什么用:你三天前敲过一条很长的命令,比如ssh root@192.168.1.100 -p 2222,想再用一次但记不全了,Ctrl + R帮你自动补全

怎么用

  1. Ctrl + R,终端出现(reverse-i-search)'':

  2. 输入关键词,比如ssh

  3. 终端会自动显示出你最近敲过的包含ssh的命令

  4. 如果不对,再按一次Ctrl + R继续往前搜

  5. 找到后,按回车直接执行

1.2Ctrl + ACtrl + E—— 光标跳到行首/行尾

作用:不用按左/右方向键慢慢挪,一键跳头跳尾。

为什么用:你敲了一长串命令,发现开头写错了,比如sdu apt update应该是sudo apt update,Ctrl + A立刻跳到行首去改

怎么用

  • Ctrl + A:光标跳到行首

  • Ctrl + E:光标跳到行尾

1.3Ctrl + WCtrl + U—— 批量删除

作用:不用按着Backspace半天,一次删一个单词或整行。

为什么用:你敲了一串参数,发现前面某个参数错了,想快速删掉重新打。

怎么用

  • Ctrl + W:删除光标前面的一个单词(单词之间用空格分隔)

  • Ctrl + U:删除光标前面的整行

1.4!!!$—— 偷懒神器

作用:少打字,复用上一条命令的内容。

为什么用:你敲了apt install nginx,提示权限不够,需要加sudo。敲sudo !!就自动把上一条命令补在后面

  • !!:上一条完整命令

  • !$:上一条命令的最后一个参数

第2步:管道|和重定向>>>—— 命令的组合技

2.1 管道|:把左边命令的结果交给右边命令处理

作用:把多个小命令串起来,完成复杂任务。

为什么用:你想在10000行日志里找出包含“error”的行,然后分页查看。用|grepless连起来。

基础理解

  • 大多数命令只做一件事

  • 管道就像工厂的传送带,把上一个工序的产品传给下一个工序

2.2 重定向>>>:把屏幕输出的内容存到文件里

作用:把本该显示在屏幕上的文字,保存到磁盘文件,方便以后查看或发给别人。

为什么用:你运行一个程序输出大量日志,想在关掉终端后还能看,或者想用邮件发给别人。

怎么用

  • >覆盖写入(文件不存在就新建,存在就清空原内容再写)

  • >>追加写入(保留原内容,在末尾添加新内容)

第3步:grep—— 文本搜索神器

3.1 基础搜索

作用:在文件(或命令输出)中快速找到包含指定关键词的行

为什么用:你有一个1000行的配置文件,想知道哪一行写了Port 22

基本用法:grep "关键词" 文件名

3.2 常用参数

参数作用示例
-i忽略大小写grep -i error log.txt
-n显示行号grep -n Port sshd_config
-v反向匹配(不包含)grep -v debug log.txt
-r递归搜索目录grep -r "TODO" ./src/
-c只统计匹配行数grep -c error log.txt
-l只显示包含匹配项的文件名grep -l "error" *.log

第4步:awksed—— 文本处理两兄弟(新手只记最常用的1-2种用法)

4.1awk:擅长分列

作用:把一行文字按分隔符切成多列,然后只取你想要的列。

为什么用/etc/passwd文件每一行是一个用户信息,用冒号分成7段。你想只看第1段(用户名)。

基本用法:awk -F'分隔符' '{print $第几列}'

  • -F指定分隔符(默认是空格)

  • $1第一列,$2第二列,……$0整行

4.2sed:擅长全局替换

作用:把文件里的某段文字全部替换成另一段。

为什么用:你有一个配置文件,想把所有的192.168.1.1改成10.0.0.1

基本用法:sed 's/旧内容/新内容/g' 文件名

  • s表示替换(substitute)

  • g表示一行内所有匹配都换(global)

第5步:后台运行&nohup—— 关掉终端也不怕

5.1&:让命令在后台跑

作用:你敲了一条命令,不希望它占着终端(防止终端卡住),让它去后台执行,终端还能继续敲其他命令。

为什么用:你运行一个长时间的任务(比如压缩大文件、训练模型),不想干等着。

怎么用:命令末尾加&

你会看到类似[1] 1234512345就是进程ID(PID)

5.2jobs/fg/bg:管理后台任务

jobs # 查看当前终端里有哪些后台任务
fg %1 # 把任务1调回前台(让它占着终端)
bg %1 # 把一个暂停的任务放到后台继续

5.3nohup:退出终端后进程也不挂

问题:用&后台运行的程序,当你关闭终端窗口时,它也会被杀死。

解决办法:在命令前加nohup,再加&

nohup的输出会自动保存到nohup.out文件

之后你可以关掉终端,进程依然在跑。第二天回来cat output.log看结果。

6.1top:实时任务管理器

作用:显示当前正在运行的进程,以及CPU、内存占用率。

为什么用:你的电脑突然变卡了,想知道是哪个程序吃了CPU。

怎么用:top

进入top界面后:

  • P:按CPU使用率排序(大写P)

  • M:按内存使用率排序

  • q:退出

更好用的替代版:htop(需要安装,支持鼠标)

6.2free -h:看内存还剩多少

free -h

  • -h= human-readable,显示 GB/MB 而不是字节。

6.3df -h:看磁盘还剩多少

df -h

6.4du -sh *:找大文件

作用:查看当前目录下,每个子目录或文件占了多少空间。

为什么用:磁盘满了,想知道哪个文件夹最大。

# 当前目录下每个子目录的大小
du -sh *

# 根目录下各文件夹大小(2>/dev/null 忽略权限警告)
sudo du -sh /* 2>/dev/null | sort -h
# sort -h 按人类易读的大小排序

6.5 查看端口占用

作用:你想启动一个服务(比如 nginx 默认 80 端口),发现端口被占用了,想知道是哪个程序占的。

# 查看谁用了 80 端口(需要 sudo 才能看到进程名)
sudo netstat -tunlp | grep :80

# 或者用 lsof(更直观)
sudo lsof -i :80

第7步:软件安装与换源 —— 让下载速度起飞

7.1 为什么换源?

Linux 的软件仓库(源)默认在国外,国内下载特别慢。换成阿里云、清华的源,速度能到 10MB/s。

7.2 Ubuntu / Kali 换阿里源

# 1. 备份原来的源文件(好习惯)
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

# 2. 用 sed 命令替换成阿里云源(这里以 Ubuntu 22.04 为例,其他版本改 jammy 为对应版本名)
sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list

# 3. 更新软件列表
sudo apt update

# 4. 升级所有软件(可选)
sudo apt upgrade -y

7.3 CentOS 7 换阿里源

# 1. 备份
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

# 2. 下载阿里云提供的 repo 文件
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# 3. 清除缓存并生成新缓存
sudo yum clean all
sudo yum makecache

第8步:别名alias—— 懒人必备

作用:给长命令起一个短名字。

为什么用:你经常敲ls -l --color=auto,太长了,想敲ll就搞定。

怎么用

# 临时别名(关掉终端就失效)
alias ll='ls -alF'
alias gs='git status'
alias myip='curl -s ip.sb'

# 试试
ll
myip

永久生效:把 alias 写入~/.bashrc文件。

echo "alias ll='ls -alF'" >> ~/.bashrc
echo "alias update='sudo apt update && sudo apt upgrade -y'" >> ~/.bashrc
source ~/.bashrc # 让配置立刻生效

第9步:计划任务cron—— 让电脑自动干活

作用:设定时间自动执行命令,比如每天凌晨备份数据库。

为什么用:你不想每天早上爬起来手动备份。

9.1 编辑自己的定时任务

crontab -e

第一次会让你选编辑器,选nano(最简单)。

9.2 格式说明

分 时 日 月 周 命令
- 分:0-59
- 时:0-23
- 日:1-31
- 月:1-12
- 周:0-7(0和7都代表周日)

9.3 常见示例

# 每天凌晨2点执行备份脚本
0 2 * * * /home/user/backup.sh

# 每5分钟检查一下服务是否运行
*/5 * * * * /home/user/check.sh

# 每周一上午9点发周报
0 9 * * 1 /home/user/weekly_report.sh

# 每月1号凌晨3点清理临时文件
0 3 1 * * rm -rf /tmp/*

9.4 查看和删除

crontab -l # 列出当前所有定时任务
crontab -r # 删除所有定时任务(小心!)

第10步:远程传文件scp—— 告别 U 盘

作用:在 Linux 服务器和本地电脑之间安全地复制文件(基于 SSH)。

为什么用:你有一个虚拟机/云服务器,想把本地的文件传上去,或者下载下来。

基本语法

# 本地上传 -> 远程
scp 本地文件 用户名@远程IP:远程路径

# 远程下载 -> 本地
scp 用户名@远程IP:远程文件 本地路径

最后:学习路线建议

学到这里,你已经不是小白了。接下来可以按顺序尝试:

  1. 把常用命令挂成 alias,写进~/.bashrc

  2. 自己写一个简单的备份脚本(比如备份家目录),用cron每天自动跑

  3. 学会用grep+awk分析日志,比如统计访问量最高的 IP

  4. 搭建一个 Web 服务器(nginx 或 apache),理解端口和服务

  5. 尝试 SSH 免密登录(生成密钥对ssh-keygen,然后ssh-copy-id

http://www.jsqmd.com/news/813734/

相关文章:

  • Windows上的终极APK安装解决方案:3分钟快速安装安卓应用
  • 第69篇:Vibe Coding时代:LangGraph + 工作流灰度发布实战,解决新 Agent 流程上线后大面积翻车问题
  • MySQL一行记录是如何存储的?
  • AI抢走工作?别慌!这7大新职业正在崛起,高薪等你来拿!
  • TypeScript领域建模实战:基于斯坦福本体论七步法构建健壮数据模型
  • 智能汽车目标假车路径跟踪控制【附仿真】
  • OpenTron:基于Node.js的模块化Discord机器人开发框架详解
  • 突破内存墙:Google Gemma 4 如何通过推测解码实现 3 倍提速?
  • 终极指南:如何使用KMS_VL_ALL_AIO一键激活Windows和Office
  • AI代码质检员Codeffect:10个智能体自动审查与优化生成代码
  • Cursor Pro破解工具:如何彻底解决API限制并实现无限免费使用
  • Hysteria:极速抗审查代理工具,多模式跨平台优势尽显
  • 2026 简历制作平台推荐:5 款主流工具深度测评(含 AI 辅助、模板库及导出对比)
  • Python正则表达式详解(一)
  • 跨境电商OPC,掌握这几款产品,实现效率提升,欢迎评论交流
  • 毕业答辩 PPT 做了 3 天还被导师打回?okbiye AI PPT 一键搞定,我把流程和效果都给你测透了
  • DC-DC转换器技术解析与应用指南
  • 嵌入式Day14--函数指针与指针函数
  • 3步搞定视频硬字幕提取:本地化、多语言、高效率的终极解决方案
  • 尾盘选股法程序开发学习初期
  • 08:redis-实战+原理
  • 基于MCP协议实现AI助手安全远程操控服务器的完整指南
  • 番茄小说下载器终极指南:一键获取全网小说并智能转换格式
  • AI Agent驱动的智能着陆页生成:从概念到Next.js工程实践
  • 我到底是不是嘉豪?
  • 基于Semantic Release与GitHub Actions的前端自动化发布流程实战
  • 哈密顿赞颂拉格朗日方程为“科学的诗篇“
  • 逃离“时间回廊”:深度解析华为 FusionCompute 虚拟机时间回退迷局
  • 如何使用 Jenkins 流水线自动构建并推送 Docker 镜像到私有仓库
  • Scrapstyle:基于样式解析的现代Web数据抓取方案