菜鸟科技网

Linux 有哪些超实用的隐藏命令?

Linux 作为一款功能强大的操作系统,其命令行工具是提升效率的核心,掌握一些好用的命令,能让日常工作事半功倍,以下从文件管理、系统监控、文本处理、网络工具等维度,详细介绍一些实用且高效的 Linux 命令。

Linux 有哪些超实用的隐藏命令?-图1
(图片来源网络,侵删)

在文件管理方面,ls 是最基础的命令,但配合选项后威力大增。ls -la 可以显示文件的详细信息,包括权限、所有者、大小和修改时间;ls -lh 会以人类可读的格式显示文件大小(如 KB、MB);ls -R 则能递归显示目录下的所有子目录和文件。tree 命令以树状结构展示目录层级,比 ls -R 更直观,若未安装可通过 sudo apt install tree(Debian/Ubuntu)或 sudo yum install tree(CentOS/RHEL)安装。cpmv 命令默认不会覆盖已存在文件,若需强制覆盖可加 -f 选项;mv 除了移动文件,还可用于重命名。rm 命令删除文件时需谨慎,rm -rf 会递归强制删除目录,一旦执行无法恢复,建议先使用 ls 确认目录内容。find 命令是查找文件的利器,find /home -name "*.txt" 可在 /home 目录下查找所有 .txt 文件,find . -type f -size +10M 则能查找当前目录下大于 10MB 的文件。du 命令用于查看目录大小,du -sh * 会显示当前目录下每个子目录和文件的总体大小,-s 表示汇总,-h 以人类可读格式显示。

系统监控类命令能帮助实时掌握系统状态。tophtop 是动态查看进程和系统资源的工具,htoptop 界面更友好,支持彩色显示和鼠标操作,可通过 sudo apt install htop 安装。ps 命令查看当前进程,ps aux 显示所有进程的详细信息,grep 结合使用可筛选特定进程,如 ps aux | grep nginxfree 命令查看内存使用情况,free -h 以人类可读格式显示。df 命令用于查看磁盘空间,df -h 显示各分区的使用量,du -sh /* 则可快速查看根目录下各文件夹的大小占用。netstatss 用于查看网络连接状态,ss -tulnpnetstat -tuln 更高效,能显示监听的端口和对应进程。vmstat 命令报告虚拟内存、进程、I/O 等系统整体状态,vmstat 1 每秒刷新一次数据,便于观察系统动态。

文本处理是 Linux 命令的强项,grep 是其中的核心工具,用于文本搜索。grep "error" log.txtlog.txt 中搜索包含 "error" 的行,grep -v "warning" log.txt 则排除包含 "warning" 的行,grep -i "ERROR" log.txt 忽略大小写搜索。sed 是流编辑器,用于文本替换和编辑,sed 's/old/new/g' file.txt 将文件中所有 "old" 替换为 "new",sed -i 's/old/new/g' file.txt 直接修改原文件。awk 是强大的文本分析工具,awk '{print $1, $3}' file.txt 打印每行的第 1 和第 3 列,awk -F: '{print $1}' /etc/passwd 以冒号为分隔符,打印 /etc/passwd 的用户名列。cat 命令用于查看文件内容,cat -n file.txt 显示行号,tac 则反向显示文件内容。lessmore 用于分页查看大文件,less 支持上下翻页和搜索,more 相对简单,按空格键翻页。sort 对文件内容排序,sort -n file.txt 按数字排序,sort -k 2,2 file.txt 按第 2 列排序。uniq 用于去除重复行,需配合 sort 使用,如 sort file.txt | uniqwc 统计文件行数、单词数和字节数,wc -l file.txt 统计行数,wc -w file.txt 统计单词数。

网络工具类命令在排查网络问题时非常实用。ping 测试网络连通性,ping -c 4 baidu.com 发送 4 个数据包后停止。curlwget 用于下载文件,curl -O http://example.com/file.zip 下载文件并保持原名,wget -c http://example.com/file.zip 支持断点续传。ssh 用于远程登录服务器,ssh user@192.168.1.100 以用户名 user 登录 IP 为 168.1.100 的服务器,ssh -p 2222 user@host 指定非默认端口 2222。scp 用于安全复制文件,scp local.txt user@remote:/home/user/ 将本地文件复制到远程服务器,scp -r /local/dir user@remote:/remote/dir 复制整个目录。traceroutemtr 用于跟踪网络路由,traceroute baidu.com 显示数据包经过的路由节点,mtr baidu.compingtraceroute 结合,提供更详细的网络延迟和丢包信息。nmap 用于端口扫描,nmap -sS 192.168.1.1 扫描目标主机的开放端口,nmap -O 192.168.1.1 尝试识别目标主机的操作系统。

Linux 有哪些超实用的隐藏命令?-图2
(图片来源网络,侵删)

除了上述命令,还有一些实用工具能提升操作效率。alias 用于设置命令别名,如 alias ll='ls -la',将 ll 定义为 ls -la 的别名,避免每次输入长命令。history 查看命令历史,!n 执行历史中第 n 条命令, 执行上一条命令。tar 用于文件打包和解压,tar -czvf archive.tar.gz /path/to/dir 将目录打包并 gzip 压缩,tar -xzvf archive.tar.gz 解压 gzip 压缩的包。chmod 修改文件权限,chmod 755 file.txt 设置文件所有者可读写执行,其他用户可读执行。chown 修改文件所有者,chown user:group file.txt 将文件所有者改为 user,所属组改为 groupnohup 让命令在后台运行且忽略挂断信号,nohup command & 常用于运行长时间任务。watch 监控命令执行结果,watch -n 1 "df -h" 每秒执行一次 df -h 并显示结果。

以下是一些常用命令的快速参考:

命令类别 命令 常用选项 功能描述
文件管理 ls -la, -lh, -R 列出目录内容
find -name, -type, -size 查找文件
cp -f, -r 复制文件/目录
mv -f 移动/重命名文件
rm -f, -r 删除文件/目录
系统监控 top -d, -p 动态查看进程
htop -u, -p 增强版 top
ps aux, -ef 查看进程
df -h 查看磁盘空间
free -h 查看内存使用
文本处理 grep -i, -v, -n 文本搜索
sed 's/old/new/g', -i 流编辑器
awk -F, '{print $N}' 文本分析
sort -n, -k 排序
wc -l, -w, -c 统计行/词/字节数
网络工具 ping -c 测试网络连通性
curl -O, -L 下载文件
ssh -p, -i 远程登录
scp -r, -P 复制文件
traceroute -n 跟踪路由

掌握这些命令后,Linux 的操作效率会显著提升,建议结合实际场景多加练习,逐步熟悉命令的用法和参数,才能灵活运用解决各种问题。

相关问答 FAQs

Q1:如何快速查找大文件并清理磁盘空间?
A:可以使用 find 命令查找大文件,find / -type f -size +100M -exec ls -lh {} \; 查找系统中大于 100MB 的文件并显示详细信息,定位到占用空间大的文件或目录后,使用 rm 删除不需要的文件,或 du -sh /* 查看根目录下各文件夹大小,针对性清理,清理前建议先备份重要数据,避免误删。

Q2:如何查看某个进程占用的端口和网络连接?
A:首先使用 ps aux | grep <进程名> 查找进程 ID(PID),然后通过 netstat -tulnp | grep <PID>ss -tulnp | grep <PID> 查看该进程占用的端口和网络连接状态,若要查看 Nginx 进程的端口占用,可执行 ps aux | grep nginx 获取 PID 后,再用 netstat -tulnp | grep <PID> 查看详细信息。

分享:
扫描分享到社交APP
上一篇
下一篇