作为Linux香港VPS系统管理员,命令行是你最亲密的伙伴。掌握这些核心命令,就如同掌握了打开Linux世界大门的钥匙。无论你是刚入门的新手还是经验丰富的专家,这些命令都是日···
作为Linux香港VPS系统管理员,命令行是你最亲密的伙伴。掌握这些核心命令,就如同掌握了打开Linux世界大门的钥匙。无论你是刚入门的新手还是经验丰富的专家,这些命令都是日常工作中不可或缺的工具。
一、文件与目录操作命令
1. ls - 列出目录内容
bash
# 基本用法ls # 简单列出文件ls -l # 详细列表(文件权限、大小、时间)ls -la # 显示所有文件(包括隐藏文件)ls -lh # 人类可读的文件大小显示# 使用场景ls -la /var/log/ # 检查日志目录的所有文件ls -lh /home/*/.bashrc # 查看用户配置文件的详细信息
2. cd - 切换目录
bash
# 常用路径切换cd /var/www/html # 切换到网站根目录cd ~ # 返回当前用户家目录cd .. # 返回上级目录cd - # 返回上一个工作目录# 实际应用cd /etc/nginx/sites-available/ # 进入Nginx配置目录
3. pwd - 显示当前目录
bash
# 在复杂目录结构中确认当前位置pwd # 输出:/usr/local/src# 使用场景# 在脚本中记录当前工作目录CURRENT_DIR=$(pwd)echo "当前工作目录:$CURRENT_DIR"
4. cp - 复制文件或目录
bash
# 文件复制cp source.txt destination.txt # 基本复制cp -r directory/ new_directory/ # 递归复制目录cp -p file.txt backup/ # 保留文件属性# 实际应用cp -r /etc/nginx nginx_backup/ # 备份Nginx配置cp -p /home/user/data.db /backup/ # 保留权限备份数据库
5. mv - 移动或重命名
bash
# 移动和重命名mv oldname.txt newname.txt # 重命名文件mv file.txt /target/directory/ # 移动文件mv *.log /var/log/archive/ # 移动所有日志文件# 使用场景mv /tmp/new_config.conf /etc/nginx/ # 部署新配置文件
6. rm - 删除文件或目录
bash
# 谨慎使用!rm file.txt # 删除文件rm -r directory/ # 递归删除目录rm -rf temp_files/ # 强制删除(无确认)# 重要提醒:生产环境慎用rm -rf# 推荐先使用ls确认要删除的文件ls *.logrm *.log
7. find - 查找文件
bash
# 强大的文件搜索find /home -name "*.txt" # 按名称查找find /var/log -mtime -7 # 查找7天内修改的文件find / -size +100M # 查找大于100MB的文件find . -type f -exec chmod 644 {} \; # 查找并修改权限# 实际应用find /var/www -name "*.php" -mtime -1 # 查找今天修改的PHP文件二、文件内容查看与编辑
8. cat - 查看文件内容
bash
# 查看和合并文件cat /etc/hostname # 查看主机名cat file1.txt file2.txt # 合并多个文件cat -n config.conf # 显示行号查看配置# 使用场景cat /var/log/bootstrap.log # 查看系统启动日志
9. grep - 文本搜索
bash
# 强大的文本搜索工具grep "error" /var/log/syslog # 搜索包含error的行grep -r "database" /etc/ # 递归搜索目录grep -v "#" config.conf # 排除注释行grep -i "warning" logfile.log # 忽略大小写搜索# 实际应用ps aux | grep nginx # 查找Nginx进程grep -r "Listen" /etc/apache2/ # 在Apache配置中查找监听端口
10. tail - 查看文件尾部
bash
# 实时监控日志文件tail /var/log/nginx/access.log # 查看最后10行tail -f /var/log/syslog # 实时跟踪日志更新tail -n 100 error.log # 查看最后100行tail -f /var/log/auth.log | grep ssh # 实时监控SSH登录# 使用场景tail -f /var/log/mysql/error.log # 实时监控数据库错误
11. head - 查看文件头部
bash
# 查看文件开头部分head /etc/passwd # 查看前10行head -n 20 config.conf # 查看前20行# 实际应用head -n 50 /var/log/dpkg.log # 查看最近安装的软件包
12. less - 分页查看文件
bash
# 比more更强大的分页器less /var/log/auth.log # 分页查看认证日志less +F error.log # 进入实时跟踪模式# 在less中的操作命令# 空格键:向下翻页 b:向上翻页 /pattern:搜索 q:退出
三、系统监控与进程管理
13. ps - 查看进程状态
bash
# 进程查看命令ps aux # 查看所有运行中的进程ps -ef | grep mysql # 查找特定进程ps -p 1234 -o pid,ppid,cmd # 查看指定PID的进程# 实际应用ps aux --sort=-%mem | head -10 # 查看内存使用前10的进程
14. top/htop - 实时系统监控
bash
# 系统资源监控top # 经典系统监控工具htop # 增强版top(需要安装)# 在top中的实用命令# 1:显示每个CPU核心的使用率# M:按内存使用排序# P:按CPU使用排序# q:退出# 使用场景# 监控系统负载,识别资源瓶颈
15. df - 磁盘空间检查
bash
# 磁盘使用情况df -h # 人类可读的磁盘空间显示df -i # 查看inode使用情况df -T # 显示文件系统类型# 实际应用df -h /var /home # 检查关键目录的磁盘空间
16. du - 目录空间分析
bash
# 目录大小分析du -sh /var/log/ # 查看目录总大小du -h --max-depth=1 /home # 查看一级子目录大小du -sh * | sort -hr # 排序显示当前目录文件大小# 使用场景du -sh /var/www/* # 找出哪个网站占用空间最大
四、网络与系统信息
17. ssh - 远程连接
bash
# 安全的远程连接ssh user@192.168.1.100 # 基础连接ssh -p 2222 admin@example.com # 指定端口连接ssh -i ~/.ssh/id_rsa user@server # 使用密钥认证# 实际应用ssh -t jump_server 'ssh web_server' # 通过跳板机连接
18. ping - 网络连通性测试
bash
# 网络诊断工具ping google.com # 测试到Google的网络连接ping -c 5 192.168.1.1 # 发送5个包后停止ping -M do -s 1472 target # 测试MTU大小# 使用场景ping -c 3 8.8.8.8 # 快速检查外网连通性
19. systemctl - 服务管理
bash
# 系统服务管理(Systemd系统)systemctl status nginx # 查看服务状态systemctl start nginx # 启动服务systemctl stop nginx # 停止服务systemctl restart nginx # 重启服务systemctl enable nginx # 设置开机自启# 实际应用systemctl status mysql && systemctl restart mysql # 检查并重启MySQL
20. journalctl - 系统日志查看
bash
# Systemd日志管理journalctl -f # 实时查看系统日志journalctl -u nginx --since today # 查看今天Nginx的日志journalctl -p err -b # 查看本次启动的错误日志journalctl --disk-usage # 查看日志占用的磁盘空间# 使用场景journalctl -u ssh --since "1 hour ago" # 查看最近1小时的SSH日志
五、命令组合实战场景
场景1:磁盘空间告急排查
bash
# 找出大文件并清理df -h # 查看磁盘使用情况du -sh /var/* | sort -hr # 分析/var下各目录大小find /var/log -name "*.log" -size +100M # 查找大于100MB的日志文件# 然后根据需要清理或归档旧日志
场景2:服务故障诊断
bash
# 诊断Web服务问题systemctl status nginx # 检查服务状态journalctl -u nginx -f # 实时查看Nginx日志netstat -tlnp | grep :80 # 检查80端口监听情况ps aux | grep nginx # 查看Nginx进程状态
场景3:安全事件调查
bash
# 调查可疑登录journalctl -u ssh --since today # 查看今天SSH日志last # 查看登录历史who # 查看当前登录用户netstat -tunp # 查看网络连接
场景4:性能问题分析
bash
# 系统性能分析top # 查看实时系统负载ps aux --sort=-%mem | head -10 # 内存使用Top10iostat -x 1 5 # 磁盘IO统计ss -tunlp # 查看网络连接和端口
六、提高效率的小技巧
命令别名设置
bash
# 在~/.bashrc中添加别名alias ll='ls -la'alias lt='ls -larth'alias grep='grep --color=auto'alias df='df -h'alias du='du -h'# 使配置生效source ~/.bashrc
历史命令搜索
bash
# 使用Ctrl+R搜索历史命令# 输入部分命令,按Ctrl+R循环匹配# 按Enter执行,按右箭头键编辑
命令行快捷键
bash
Ctrl + A # 移动到行首Ctrl + E # 移动到行尾Ctrl + U # 删除到行首Ctrl + K # 删除到行尾Ctrl + W # 删除前一个单词Tab # 自动补全命令或文件名
七、安全使用注意事项
危险命令警示
bash
# 永远要小心的命令rm -rf / # 删除整个系统dd if=/dev/zero of=/dev/sda # 清空整个磁盘chmod -R 777 / # 错误的权限设置mv /bin /backup # 移动系统关键目录# 安全实践# 1. 删除前先备份# 2. 使用-i参数确认# 3. 在生产环境格外小心
权限管理原则
bash
# 尽量不使用root操作sudo systemctl restart nginx # 使用sudo提权su - username # 切换用户而非直接使用root# 文件权限设置chmod 600 /etc/secret.conf # 敏感配置文件chmod 755 /usr/local/bin/ # 可执行脚本目录
结语
掌握这20个核心Linux命令,你已经具备了处理大部分系统管理任务的能力。但记住,真正的精通来自于持续的实践和经验积累。
建议你:
每天练习:在测试环境中反复使用这些命令
理解原理:不仅要记住命令,更要理解其工作原理
阅读文档:使用
man command查看命令的完整文档安全第一:在生产环境操作前,务必在测试环境验证
Linux命令行是一个强大的工具,随着使用经验的增长,你会发现这些基础命令能够组合出无限的可能性。从简单的文件操作到复杂的系统诊断,这些命令将成为你在Linux世界中自由驰骋的得力助手。
现在,打开你的终端,开始实践吧!每一次的命令输入,都是向Linux大师之路迈进的一步。


发表评论
最近发表
标签列表