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

Linux 常用命令大全

Linux 常用命令大全

一、文件与目录操作

命令功能常用示例说明
ls列出目录内容ls -l /home (详细列表)
ls -a ~ (含隐藏文件)
-l:详细信息
-a:显示隐藏文件
cd切换目录cd /var/log
cd .. (返回上级)
~ 代表用户家目录
pwd显示当前路径pwd打印绝对路径
mkdir创建目录mkdir -p project/{src,dist} (递归创建多级)-p:自动创建父目录
touch创建空文件/更新时间戳touch file.txt
touch -c -t 202301011200 file
-c:不创建文件
-t:指定时间戳
cp复制文件/目录cp -r source_dir/ dest_dir/ (递归复制目录)
cp -v *.log /backup (显示进度)
-r:递归复制
-v:显示操作过程
mv移动/重命名文件mv old.txt new.txt (重命名)
mv *.png ~/images/ (移动文件)
可同时操作多个文件
rm删除文件/目录rm -rf tmp/ (强制删除目录)
rm -i *.tmp (交互式删除)
⚠️ -rf 慎用!
-i:删除前确认
find文件搜索find / -name "*.conf" -type f (按名称搜索)
find . -size +10M -exec ls -lh {} \; (查找>10MB文件并列出)
-exec:对结果执行命令
{} 代表文件名

二、文件内容操作

命令功能常用示例说明
cat显示文件内容cat file.txt
cat file1 file2 > merged.txt
合并文件用 > 重定向
less分页查看文件less /var/log/syslog
(支持 / 搜索)
推荐替代 more
支持上下滚动
head显示文件头部head -n 20 access.log (前20行)默认显示10行
tail显示文件尾部tail -f app.log (实时追踪日志)
tail -n 100 -f debug.log
-f:持续跟踪文件变化
grep文本搜索grep -i "error" /var/log/* (忽略大小写)
grep -r "TODO" src/ (递归搜索目录)
-i:忽略大小写
-r:递归搜索
awk文本处理awk '{print $1}' access.log (打印第一列)
awk -F: '{print $3}' /etc/passwd (以冒号分隔)
强大的列处理工具
sed流编辑器sed 's/old/new/g' file.txt (替换文本)
sed -i.bak '/^#/d' config (删除注释行并备份)
-i:直接修改文件

三、系统监控与管理

命令功能常用示例说明
top实时进程监控top -u nginx (只显示nginx进程)
P 按CPU排序
动态刷新界面
htop增强版进程监控htop (支持鼠标操作)推荐安装使用
ps进程快照ps aux | grep java
ps -ef --forest (显示进程树)
aux:显示所有进程
free内存使用情况free -h (人类可读格式)-h:自动转换单位 (GB/MB)
df磁盘空间占用df -hT /home (显示/home分区类型及空间)-T:显示文件系统类型
du目录空间分析du -sh * | sort -h (排序目录大小)
du -h --max-depth=1 /var
-s:总计
--max-depth:遍历深度
netstat网络连接信息netstat -tuln | grep :80 (监听80端口的进程)-t:TCP
-u:UDP
-l:监听状态
ss现代版网络工具ss -s (统计套接字)
ss -ltp (监听进程+PID)
替代 netstat
更快更详细

四、网络操作

命令功能常用示例说明
ping测试网络连通性ping -c 4 google.com (发送4个包)-c:指定次数
curl网络数据传输curl -o file.zip https://example.com/file.zip (下载文件)
curl -I http://site.com (仅显示HTTP头)
支持HTTPS/FTP等协议
wget命令行下载工具wget -c http://example.com/big.iso (断点续传)
wget -r ftp://files.com/ (递归下载目录)
-c:继续中断的下载
ssh远程登录ssh user@192.168.1.100
ssh -p 2222 user@host (指定端口)
密钥登录更安全
scp安全文件传输scp file.txt user@remote:/path/ (上传)
scp -P 2222 user@host:~/logs/ . (下载目录)
-P:指定端口 (大写)
ip网络配置管理ip addr show (查看IP)
ip route add default via 192.168.1.1 (添加默认路由)
替代 ifconfig/route

五、权限与用户管理

命令功能常用示例说明
chmod修改文件权限chmod u+x script.sh (给所有者添加执行权限)
chmod 755 dir/ (rwxr-xr-x)
数字模式:7=rwx, 6=rw-, 5=r-x
chown修改文件所有者chown user:group file.txt
chown -R www:www /var/www/ (递归修改)
-R:递归操作
sudo以超级用户执行命令sudo systemctl restart nginx
sudo -u postgres psql (切换用户执行)
配置在 /etc/sudoers
passwd修改用户密码passwd (修改当前用户)
sudo passwd root (修改root密码)
useradd添加用户sudo useradd -m -s /bin/bash alice (创建家目录并指定shell)-m:创建家目录
-s:设置默认shell
usermod修改用户属性sudo usermod -aG docker jenkins (将用户加入docker组)-aG:追加用户组(避免覆盖原有组)

六、压缩与解压

格式压缩命令解压命令示例
.tartar -cvf out.tar dir/tar -xvf file.tar-c:创建
-x:解压
-v:显示过程
.gzgzip filegunzip file.gz或使用 zcat file.gz 查看内容
.tar.gztar -zcvf out.tar.gz dir/tar -zxvf file.tar.gz-z:处理gzip压缩
.zipzip -r out.zip dir/unzip file.zip-r:递归压缩目录

七、进程与系统控制

命令功能常用示例说明
kill终止进程kill -9 1234 (强制杀死PID 1234)
killall -u user nginx (终止用户所有nginx进程)
-9:SIGKILL 信号
systemctl系统服务管理systemctl start nginx
systemctl enable docker (开机自启)
systemctl status firewalld
Systemd 核心命令
crontab定时任务管理crontab -e (编辑任务)
crontab -l (列出任务)
格式: 分 时 日 月 周 命令
journalctl查看系统日志journalctl -u nginx --since "1 hour ago"
journalctl -f (实时追踪)
-u:指定服务
-f:跟随日志

八、进阶工具组合示例

  1. 统计日志中IP访问次数

    awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -10
    
    • 解析:提取IP → 排序 → 计数 → 按访问量倒序 → 显示前10
  2. 批量重命名图片

    find . -name "*.jpg" -exec rename 's/IMG_/vacation_/' {} \;
    
    • 将当前目录所有 IMG_*.jpg 改为 vacation_*.jpg
  3. 监控高内存进程

    watch -n 5 "ps aux --sort=-%mem | head -n 10"
    
    • 每5秒刷新一次内存占用最高的10个进程

注意事项

  1. 危险命令警告

    • rm -rf /:删除根目录(绝对禁止!)
    • dd if=/dev/zero of=/dev/sda:擦除整个磁盘
    • chmod -R 777 /:开放全系统权限(安全漏洞!)
  2. 最佳实践

    • 使用 alias rm='rm -i' 防止误删
    • 修改关键文件前先备份(如 cp /etc/nginx.conf{,.bak}
    • 生产环境慎用 -f(强制)参数

掌握这些命令组合,配合管道 | 和重定向 >/>>,你将解锁 Linux 终端的高效生产力!建议通过 man [命令] 查看完整手册(如 man grep)。

http://www.lryc.cn/news/610952.html

相关文章:

  • 基于vscode连接服务器实现远程开发
  • vi编辑器makefile的使用以及双向链表
  • 【C++详解】⼆叉搜索树原理剖析与模拟实现、key和key/value,内含优雅的赋值运算符重载写法
  • PHP实战代码解析与应用分享:用户管理、日志,配置管理与文件操作全解析
  • PostgreSQL——插入、更新与删除数据
  • [数组]977.有序数组的平方;209.长度最小的子数组
  • 初始化列表,变量存储区域和友元变量
  • Linux系统目录分析
  • 复杂环境跌倒识别准确率↑31%!陌讯多模态算法在智慧养老的落地实践
  • 2. JS 有哪些数据类型
  • 基于Redis实现短信登录
  • 【CTF】命令注入绕过技术专题:变量比较与逻辑运算
  • Redis Stream:高性能消息队列核心原理揭秘
  • 【OSCP】- eLection 靶机学习
  • 基于ARM+FPGA光栅数据采集卡设计
  • Electron-updater + Electron-builder + IIS + NSIS + Blockmap 完整增量更新方案
  • GPT-1、GPT-2、GPT-3 的区别和联系
  • 7、Redis队列Stream和单线程及多线程模型
  • 人工智能领域、图欧科技、IMYAI智能助手2025年4月更新月报
  • 【RK3576】【Android14】Uboot下fastboot命令支持
  • 创维智能融合终端DT741_移动版_S905L3芯片_安卓9_线刷固件包
  • CTF-XXE 漏洞解题思路总结
  • 测试开发:Python+Django实现接口测试工具
  • Python-初学openCV——图像预处理(七)——亮度变换、形态学变换
  • ThingsKit Edge是什么?
  • 从零实现富文本编辑器#6-浏览器选区与编辑器选区模型同步
  • 数据结构 | 树的秘密
  • 在Linux上部署tomcat、nginx
  • CRT调试堆检测:从原理到实战的资源泄漏排查指南
  • Apifox使用mock模仿后端返回数据