Linux指令与快捷键实战指南:从入门到精通

张开发
2026/4/3 23:43:39 15 分钟阅读
Linux指令与快捷键实战指南:从入门到精通
1. Linux指令基础从零开始掌握核心操作第一次接触Linux终端时那个闪烁的光标可能会让你不知所措。但别担心每个Linux高手都是从这里开始的。终端就像是一个魔法控制台输入正确的咒语指令就能让计算机完成各种神奇的任务。最基础的几个指令你一定要先掌握pwd告诉你现在身处哪个目录文件夹ls列出当前目录下的所有内容cd切换到你想到达的目录mkdir创建新的目录rm删除不需要的文件或目录举个例子假设你想在Documents目录下创建一个叫project的文件夹然后查看是否创建成功可以这样操作cd Documents mkdir project ls你会看到终端列出了Documents目录下的所有内容其中就包括你刚创建的project文件夹。这里有个小技巧输入目录名时可以按Tab键自动补全既省时间又避免拼写错误。2. 文件操作全攻略从查看内容到批量处理文件是Linux系统中的基本单位掌握文件操作指令能极大提升工作效率。cat、more和less这三个指令都能查看文件内容但它们各有特点cat适合查看小文件直接显示全部内容more适合大文件可以分页查看但只能向下翻页less功能最强大支持上下翻页和搜索我经常用less查看日志文件特别是当文件很大时。比如查看系统日志less /var/log/syslog在less界面中你可以按空格键向下翻页按b键向上翻页输入/关键词搜索内容按q键退出对于文件内容的处理grep是个神器。它能快速找到包含特定内容的行。比如在配置文件中查找所有包含error的行grep error config.txt3. 系统管理必备指令了解你的Linux了解系统状态是管理Linux的基础。以下几个指令能帮你快速掌握系统情况top指令会实时显示系统资源使用情况包括CPU、内存占用等。按下q键可以退出。我常用这个指令来查看哪些进程占用了过多资源。topdf指令显示磁盘空间使用情况特别适合在服务器空间不足时使用df -h这里的-h参数表示以人类可读的格式如GB、MB显示大小而不是字节数。free指令查看内存使用情况free -h当需要知道系统运行了多久时uptime指令很有用uptime它会显示系统已经运行的时间、当前登录用户数和系统负载。4. 效率翻倍的快捷键与实用技巧Linux终端中有很多快捷键能极大提升操作效率。以下是我最常用的几个Ctrl C终止当前运行的命令Ctrl D退出当前终端会话Ctrl L清屏相当于clear命令Ctrl R搜索历史命令Ctrl A移动光标到行首Ctrl E移动光标到行尾Ctrl R特别有用当你记不清完整命令时可以输入部分内容进行搜索。比如想找之前用过的grep命令可以按Ctrl R然后输入grep。命令历史也是个宝藏。使用history命令可以查看之前执行过的所有命令配合!符号可以快速执行历史命令。比如!123这会执行历史记录中编号为123的命令。5. 软件安装与管理轻松获取所需工具不同的Linux发行版有不同的包管理工具。最常见的是Debian/Ubuntu系列apt-get或aptRedHat/CentOS系列yum或dnf以Ubuntu为例更新软件源并安装tree工具可以树状显示目录结构sudo apt-get update sudo apt-get install tree安装完成后使用tree查看目录结构tree /path/to/directory卸载软件也很简单sudo apt-get remove tree有时候你需要知道某个命令是否已安装或者它的位置在哪。which命令可以告诉你which python这会显示python命令的完整路径。6. 文本处理三剑客grep、awk、sed在Linux中处理文本数据时grep、awk和sed这三个工具被称为文本处理三剑客。grep我们已经介绍过用于搜索文本。awk则更强大它可以处理结构化文本数据。比如提取日志文件中的特定列awk {print $1, $4} access.log这会打印access.log文件中每行的第1和第4列。sed是流编辑器适合对文本进行批量替换。比如将所有oldtext替换为newtextsed s/oldtext/newtext/g file.txt这三个工具组合使用可以解决大多数文本处理需求。比如统计日志中每个IP出现的次数awk {print $1} access.log | sort | uniq -c | sort -nr这个命令先提取IP地址然后排序统计每个唯一IP出现的次数最后按出现次数降序排列。7. 权限管理保护你的系统安全Linux是一个多用户系统良好的权限管理习惯至关重要。每个文件和目录都有三组权限所有者、所属组和其他用户。查看文件权限ls -l file.txt输出类似这样-rw-r--r-- 1 user group 1024 Jan 1 10:00 file.txt这里-rw-r--r--表示权限第一个字符-表示这是普通文件d表示目录接下来的三个字符rw-表示所有者有读写权限然后的三个r--表示组用户有读权限最后的三个r--表示其他用户有读权限修改权限使用chmod命令。比如给所有者添加执行权限chmod ux script.sh或者用数字表示法chmod 755 script.sh这里755表示7所有者读4 写2 执行15组用户读4 执行15其他用户读4 执行18. 进程管理掌控系统运行状态了解如何查看和管理进程是系统管理的基本功。ps命令可以查看当前运行的进程ps aux这会列出所有进程的详细信息包括PID进程ID、CPU和内存占用等。当需要结束一个进程时先用ps找到它的PID然后用kill命令kill -9 PID-9表示强制终止信号。如果进程不响应普通终止信号就需要使用这个选项。对于长时间运行的任务可以使用nohup让它在后台运行即使你退出终端也不会中断nohup long-running-command 符号表示在后台运行。命令的输出默认会保存到nohup.out文件中。9. 网络相关指令连接与诊断Linux提供了丰富的网络工具。ping是最基本的网络诊断工具ping google.com这会持续发送网络包到Google的服务器测试连接是否通畅。按Ctrl C停止。查看网络接口信息ifconfig或者在新系统中ip anetstat命令可以查看网络连接状态netstat -tuln选项说明-tTCP连接-uUDP连接-l监听中的端口-n显示数字地址不解析域名下载文件可以使用wget或curlwget https://example.com/file.zip curl -O https://example.com/file.zip10. Shell脚本入门自动化你的工作当你需要重复执行一系列命令时可以把它们写成一个shell脚本。创建一个新文件比如backup.sh#!/bin/bash # 这是一个简单的备份脚本 backup_dir/backup source_dir/data tar -czf $backup_dir/backup_$(date %Y%m%d).tar.gz $source_dir第一行#!/bin/bash指定使用bash来执行这个脚本。然后给脚本添加执行权限chmod x backup.sh现在可以运行它了./backup.sh这个脚本会把/data目录打包压缩保存为/backup目录下的一个带日期的文件。脚本中可以使用变量、条件判断和循环等编程结构。比如检查备份目录是否存在if [ ! -d $backup_dir ]; then mkdir -p $backup_dir fi-d检查目录是否存在!表示逻辑非。mkdir -p会创建所有必要的父目录。11. 环境变量与配置文件环境变量是Linux系统中重要的配置机制。查看所有环境变量env查看特定变量比如PATHecho $PATHPATH变量决定了系统在哪些目录中查找可执行文件。添加新目录到PATHexport PATH$PATH:/new/directory但这只是临时生效。要永久生效需要把这条命令添加到配置文件中。常见的配置文件有~/.bashrc每次打开新终端时执行~/.bash_profile或~/.profile登录时执行/etc/profile系统全局配置比如在.bashrc末尾添加export PATH$PATH:/new/directory然后执行以下命令使更改立即生效source ~/.bashrc12. 压缩与解压处理归档文件Linux中常见的压缩格式有.tar.gz和.zip等。打包和压缩是两回事打包将多个文件合并为一个文件.tar压缩减小文件大小.gz或.bz2创建.tar.gz压缩包tar -czvf archive.tar.gz /path/to/directory选项说明-c创建新归档-z使用gzip压缩-v显示详细过程-f指定文件名解压.tar.gz文件tar -xzvf archive.tar.gz-x表示解压。对于.zip文件使用unzipunzip file.zip创建.zip文件zip -r archive.zip /path/to/directory-r表示递归处理子目录。13. 查找文件快速定位所需内容Linux系统中有多种查找文件的方法。find是最强大的查找工具之一。按名称查找find / -name *.log这会在整个文件系统中查找所有.log文件。/表示从根目录开始搜索如果知道大致位置可以指定更具体的路径。按文件大小查找find /home -size 10M查找/home目录下大于10MB的文件。表示大于-表示小于。按修改时间查找find /var/log -mtime -7查找/var/log目录下7天内修改过的文件。locate是另一个快速查找工具它依赖数据库所以速度更快locate filename但需要先更新数据库sudo updatedb14. 用户与组管理多用户环境配置在多人使用同一系统时良好的用户管理很重要。添加新用户sudo adduser newuser设置密码sudo passwd newuser删除用户sudo deluser newuser添加组sudo groupadd newgroup将用户加入组sudo usermod -aG newgroup username-aG表示追加到附加组列表不影响用户的其他组成员身份。查看用户所属组groups username切换用户身份su - username-表示同时切换环境变量。输入exit可以返回原用户。15. 磁盘管理监控与维护了解磁盘使用情况对系统维护很重要。我们已经介绍过df命令再来看看du它可以查看目录占用的空间du -sh /path/to/directory选项-s只显示总计-h人类可读格式查找大文件find / -type f -size 100M -exec ls -lh {} \;这会找到所有大于100MB的文件并显示详细信息。检查磁盘错误fsck /dev/sda1/dev/sda1是要检查的分区。这个命令通常需要在单用户模式或卸载分区后运行。挂载磁盘分区mount /dev/sdb1 /mnt/data卸载umount /mnt/data16. 系统服务管理systemd基础现代Linux发行版大多使用systemd来管理系统服务。查看所有服务systemctl list-units --typeservice启动服务sudo systemctl start servicename停止服务sudo systemctl stop servicename重启服务sudo systemctl restart servicename查看服务状态systemctl status servicename设置开机启动sudo systemctl enable servicename禁用开机启动sudo systemctl disable servicename查看服务日志journalctl -u servicename17. 定时任务自动化重复工作cron是Linux下的定时任务工具。编辑当前用户的cron表crontab -e基本格式* * * * * command ┬ ┬ ┬ ┬ ┬ │ │ │ │ │ │ │ │ │ └── 星期几 (0 - 6) (0是星期日) │ │ │ └──── 月份 (1 - 12) │ │ └────── 日 (1 - 31) │ └──────── 小时 (0 - 23) └────────── 分钟 (0 - 59)例如每天凌晨3点执行备份脚本0 3 * * * /path/to/backup.sh查看当前用户的cron任务crontab -l系统级的cron任务在/etc/crontab和/etc/cron.d/目录中配置。对于只需要运行一次的任务可以使用atecho /path/to/script.sh | at 3:00 PM这会在今天下午3点执行脚本。18. 性能监控与优化当系统变慢时需要找出瓶颈所在。top我们已经介绍过htop是它的增强版界面更友好htop如果没有安装可以使用包管理器安装。监控磁盘I/Oiotop查看内存使用详情free -m-m表示以MB为单位显示。监控网络流量iftop这个工具需要单独安装它可以实时显示网络接口的流量情况。查看系统负载uptime输出中的三个数字分别表示1分钟、5分钟和15分钟的平均负载。理想情况下这些值应该小于CPU核心数。19. 安全基础保护你的系统基本的系统安全措施包括定期更新系统sudo apt-get update sudo apt-get upgrade或者对于RedHat系sudo yum update使用强密码并定期更换限制root登录改用普通用户sudo配置防火墙。Ubuntu上的ufw很简单sudo ufw enable sudo ufw allow ssh sudo ufw allow http检查异常登录last这会显示最近的登录记录。检查sudo权限sudo -l列出当前用户可以执行的sudo命令。20. 实用小技巧与高级用法最后分享一些实用技巧命令替换将一个命令的输出作为另一个命令的参数vim $(find . -name *.conf)这会用vim打开当前目录及其子目录中的所有.conf文件。进程替换diff (ls dir1) (ls dir2)比较两个目录的内容差异。使用别名简化常用命令alias llls -alF把这个添加到.bashrc中以后输入ll就相当于ls -alF。快速返回之前的目录cd -这会回到你上次所在的目录。查看命令的详细说明man command或者简短的帮助command --help重定向错误输出command 2 error.log这样错误信息会保存到error.log而不是显示在终端。同时重定向标准输出和错误输出command output.log管道组合多个命令ps aux | grep python | wc -l这会统计当前运行的Python进程数量。

更多文章