菜鸟科技网

Linux server命令有哪些常用技巧?

Linux服务器命令是系统管理员和开发人员日常工作中不可或缺的工具,它们通过文本界面高效管理服务器资源、监控系统状态、执行自动化任务等,以下从基础操作、文件管理、进程控制、网络配置及安全防护五个维度,详细解析常用命令及其应用场景。

Linux server命令有哪些常用技巧?-图1
(图片来源网络,侵删)

基础操作与系统信息

用户与权限管理

  • sudo command:以超级用户权限执行命令,需配置sudoers文件。
  • su - username:切换至指定用户,参数加载目标用户环境变量。
  • chmod 755 file.txt:修改文件权限,7(所有者)、5(组用户)、5(其他用户)分别代表读/写/执行权限组合。

系统信息查询

  • uname -a:显示内核版本、系统名称等完整信息。
  • top:实时监控CPU、内存使用率,按q退出。
  • df -h:查看磁盘空间使用情况,-h以人类可读格式(如GB、MB)显示。

文件与目录管理

目录操作

  • ls -l:列出文件详情,包括权限、所有者、大小等。
  • mkdir -p /path/to/dir:递归创建多级目录,-p避免父目录不存在时报错。
  • cp -r source_dir/ target_dir/:递归复制目录,-r保留文件属性。

文件处理

Linux server命令有哪些常用技巧?-图2
(图片来源网络,侵删)
  • grep "keyword" file.log:在文件中搜索包含关键词的行。
  • tar -czvf archive.tar.gz /path/to/dir:压缩目录,c(创建)、z(gzip)、v(显示过程)、f(指定文件名)。
  • ssh user@server_ip "command":远程执行命令,例如ssh admin@192.168.1.100 "df -h"

进程与服务管理

进程控制

  • ps aux:列出所有进程,a(所有用户)、u(显示用户)、x(包含后台进程)。
  • kill -9 PID:强制终止进程,-9为信号码,确保进程立即停止。
  • nohup command &:后台运行命令并忽略挂断信号,输出默认写入nohup.out

服务管理(Systemd)

  • systemctl start nginx:启动Nginx服务。
  • systemctl enable --now mysql:开机自启并立即启动MySQL服务。
  • journalctl -u nginx -f:实时查看Nginx服务日志,-f持续跟踪输出。

网络配置与诊断

网络工具

  • ifconfigip addr:查看网络接口IP地址,ip addr show eth0显示指定接口信息。
  • netstat -tuln:监听端口状态,t(TCP)、u(UDP)、l(仅监听)、n(数字形式)。
  • scp file.txt user@remote:/path/:通过SSH安全传输文件。

网络测试

Linux server命令有哪些常用技巧?-图3
(图片来源网络,侵删)
  • ping -c 4 8.8.8.8:向目标主机发送4个ICMP包测试连通性。
  • traceroute google.com:显示数据包到目标主机的路径 hops。

安全防护与日志分析

防火墙配置(iptables/firewalld)

  • firewall-cmd --add-service=ssh --permanent:永久允许SSH访问,需--reload生效。
  • iptables -A INPUT -p tcp --dport 80 -j ACCEPT:允许80端口TCP流量。

日志审计

  • tail -f /var/log/auth.log:实时监控安全认证日志。
  • awk '{print $1}' access.log | sort | uniq -c:统计Apache访问日志中IP访问次数。

常用命令速查表

功能分类 命令示例 说明
文件压缩 tar -xvf archive.tar.gz 解压tar.gz文件
查找文件 find / -name "*.conf" -type f 在根目录下查找.conf文件
磁盘使用分析 du -sh /var/log 统计目录总大小,-s仅显示总计
用户管理 useradd -m newuser 创建新用户并创建家目录

FAQs

Q1: 如何批量重命名文件?
A: 使用rename命令或结合for循环,将所有.txt文件改为.log

rename 's/\.txt$/\.log/' *.txt
# 或使用循环
for f in *.txt; do mv "$f" "${f%.txt}.log"; done

Q2: 如何设置定时任务(Cron)?
A: 使用crontab -e编辑任务,格式为分 时 日 月 周 命令,每天凌晨2点备份文件:

0 2 * * * tar -czvf /backup/$(date +\%Y\%m\%d).tar.gz /data

注意:需转义为\%,避免被Cron解析为换行符。

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