Linux常用命令总结
Linux常用命令总结
文件操作
创建空文件
1 | touch app.log |
复制文件
1 | cp config.example.json config.json |
复制整个目录
1 | cp -r /data/backup /data/backup_new |
移动/重命名文件
1 | mv old_name.txt new_name.txt |
删除文件
1 | rm app.log |
强制删除文件
1 | rm -f temp.txt |
删除目录及内容
1 | rm -rf old_project/ |
注意:
rm -rf加上根目录时很危险,操作前确认好路径。
创建软链接
1 | ln -s /path/to/target link_name |
目录操作
进入目录
1 | cd /var/log |
返回上级目录
1 | cd .. |
返回主目录
1 | cd ~ |
返回上一个目录
1 | cd - |
创建目录
1 | mkdir project |
递归创建目录
1 | mkdir -p /path/to/nested/dir |
列出当前目录内容
1 | ls |
显示详细信息
1 | ls -l |
显示隐藏文件
1 | ls -la |
人性化显示大小
1 | ls -lh |
文件查看
查看整个文件
1 | cat app.log |
显示前20行
1 | head -n 20 app.log |
显示后50行
1 | tail -n 50 app.log |
实时追踪日志
1 | tail -f app.log |
搜索关键词
1 | grep "ERROR" app.log |
搜索并显示行号,忽略大小写
1 | grep -n -i "error" app.log |
递归搜索
1 | grep -rn "password" ./config/ |
分页查看大文件
1 | less app.log |
统计行数
1 | wc -l app.log |
文件搜索
按名称查找
1 | find . -name "*.log" |
查找目录
1 | find . -type d -name "node_modules" |
按大小查找
1 | find . -size +100M |
按修改时间查找
1 | find . -mtime -7 |
快速搜索(需updatedb)
1 | locate nginx.conf |
查找命令位置
1 | which python |
权限管理
修改权限
1 | chmod 755 script.sh |
添加执行权限
1 | chmod +x start.sh |
修改所有者
1 | chown user:group app.py |
| 数值 | 权限 |
|---|---|
| 777 | rwxrwxrwx |
| 755 | rwxr-xr-x |
| 644 | rw-r–r– |
用户和用户组
查看当前用户
1 | whoami |
切换用户
1 | su - newuser |
以管理员执行
1 | sudo apt update |
添加用户
1 | useradd -m newuser |
添加到用户组
1 | usermod -aG docker username |
进程管理
查看所有进程
1 | ps aux |
查找特定进程
1 | ps aux | grep nginx |
动态查看进程
1 | top |
更友好的进程监控
1 | htop |
终止进程
1 | kill 1234 |
强制杀死进程
1 | kill -9 1234 |
按名称终止进程
1 | pkill nginx |
后台运行
1 | nohup ./script.sh & |
网络命令
测试连通性
1 | ping google.com |
发送HTTP请求
1 | curl https://api.example.com |
远程连接
1 | ssh user@server.com |
远程复制文件
1 | scp file.txt user@server:/path/ |
查看端口占用
1 | netstat -tulnp |
查看端口占用(新版)
1 | ss -tulnp |
查看指定端口占用
1 | lsof -i:8080 |
系统管理
重启系统
1 | sudo reboot |
关机
1 | sudo shutdown -h now |
更新软件包
1 | sudo apt update && sudo apt upgrade |
安装软件(Ubuntu)
1 | sudo apt install <package> |
安装软件(CentOS)
1 | sudo yum install <package> |
查看磁盘使用
1 | df -h |
查看内存使用
1 | free -h |
查看系统负载
1 | uptime |
防火墙
查看防火墙状态(Ubuntu)
1 | sudo ufw status |
开放端口(Ubuntu)
1 | sudo ufw allow 80/tcp |
拒绝端口(Ubuntu)
1 | sudo ufw deny 3306/tcp |
启用防火墙(Ubuntu)
1 | sudo ufw enable |
查看所有规则(CentOS)
1 | firewall-cmd --list-all |
开放端口(CentOS)
1 | firewall-cmd --permanent --add-port=8080/tcp |
重载防火墙配置(CentOS)
1 | firewall-cmd --reload |
压缩解压
tar压缩
1 | tar -czvf archive.tar.gz dir/ |
tar解压
1 | tar -xzvf archive.tar.gz |
zip压缩
1 | zip -r archive.zip dir/ |
zip解压
1 | unzip archive.zip |
管道和重定向
管道组合命令
1 | cat app.log | grep ERROR | tail -20 |
覆盖写入文件
1 | echo "hello" > file.txt |
追加写入文件
1 | echo "world" >> file.txt |
快捷键
| 快捷键 | 作用 |
|---|---|
Ctrl + C |
终止命令 |
Ctrl + Z |
暂停命令 |
Ctrl + L |
清屏 |
Ctrl + R |
搜索历史 |
Tab |
自动补全 |
!! |
执行上一条 |
常见场景
端口被占用
查看端口占用
1 | netstat -tulnp | grep 8080 |
查看端口占用(lsof)
1 | lsof -i:8080 |
杀死占用进程
1 | kill -9 <PID> |
服务管理
启动服务
1 | sudo systemctl start nginx |
停止服务
1 | sudo systemctl stop nginx |
重启服务
1 | sudo systemctl restart nginx |
查看服务状态
1 | sudo systemctl status nginx |
设置开机启动
1 | sudo systemctl enable nginx |
日志分析
统计错误数量
1 | grep -c "ERROR" app.log |
实时追踪错误
1 | tail -f app.log | grep ERROR |
统计访问量Top10
1 | awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -10 |
数据库连接
连接MySQL
1 | mysql -u root -p |
连接Redis
1 | redis-cli |
连接PostgreSQL
1 | psql -U user -d database |
文件传输
上传到远程
1 | scp file.txt user@server:/path/ |
从远程下载
1 | scp user@server:/path/file.txt ./ |
同步目录
1 | rsync -avz dir/ user@server:/path/ |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Mercury!
️ 内容包含AI生成,请注意甄别。
️ 内容包含AI生成,请注意甄别。






