Linux 基础命令之基础命令2全解析

1751816011@qq.com
2025-11-02 / 0 评论 / 2 阅读 / 正在检测是否收录...

以下为Linux系统基础命令的详细解析,涵盖系统操作、脚本编写、防火墙管理及文本处理工具:


1. 目录与文件操作

  • cd:切换目录
    cd /path 进入绝对路径 | cd .. 返回上级 | cd ~ 返回家目录
  • ls:列出目录内容
    -l 详细信息 | -a 显示隐藏文件 | -h 人性化文件大小
  • pwd:显示当前工作目录的绝对路径
  • mv:移动/重命名文件
    mv file1.txt /backup/ 移动文件 | mv old.txt new.txt 重命名

2. 帮助文档

  • help:查看Shell内置命令帮助
    help cd 显示cd用法
  • man:查看命令手册
    man ls 显示ls完整文档(按q退出)

3. Shell脚本控制结构

:以下为脚本语法(非独立命令),需在.sh文件中使用
  • if:条件判断

    if [ $var -eq 10 ]; then
      echo "Equal"
    fi
  • for:循环遍历

    for i in {1..5}; do
      echo $i
    done
  • while:条件循环

    while [ $count -lt 5 ]; do
      echo $count
      ((count++))
    done
  • case:多分支匹配

    case $input in
      "start") service start ;;
      "stop")  service stop ;;
      *)       echo "Invalid" ;;
    esac
  • select:创建交互菜单

    select opt in "Yes" "No"; do
      echo "You chose $opt"
      break
    done
  • read:读取用户输入
    read -p "Name: " name 提示输入并存储变量

4. 文本处理工具

  • cut:按列提取文本
    cut -d: -f1 /etc/passwd:分隔,提取第一列
  • uniq:去重相邻重复行
    sort file.txt | uniq -c 先排序再统计重复次数
  • sort:排序文本
    -n 数值排序 | -r 倒序 | -k2 按第二列排序
  • wc:统计文本
    -l 行数 | -w 单词数 | -c 字节数

5. 系统工具

  • source.):执行脚本并影响当前Shell环境
    source ~/.bashrc 重新加载配置
  • test[ ]):条件测试
    [ -f /path/file ] 检查文件存在 | [ $a -gt $b ] 数值比较

6. 防火墙管理

  • iptables:传统防火墙规则

    iptables -A INPUT -p tcp --dport 22 -j ACCEPT  # 允许SSH
    iptables -L  # 列出规则
  • firewall-cmd(Firewalld工具):

    firewall-cmd --add-port=80/tcp --permanent  # 永久开放80端口
    firewall-cmd --reload  # 重载配置

7. SELinux管理

  • sestatus:查看SELinux状态
    sestatus 显示enforcing(强制模式)或disabled
  • setenforce:临时切换模式
    setenforce 0 切换为宽松模式(Permissive) | setenforce 1 恢复强制模式

8. 自动化运维工具

  • ansible:批量管理主机
    ansible all -m ping 测试所有主机连通性
  • salt(SaltStack):
    salt '*' cmd.run 'df -h' 在所有主机执行磁盘检查

使用场景示例

1. 备份日志并分析

cd /var/log
grep "ERROR" syslog | cut -d' ' -f3- | sort | uniq -c > errors.txt
wc -l errors.txt # 统计错误类型数量

2. 批量重启服务

for service in httpd nginx; do
systemctl restart $service
done

3. 快速防火墙配置

firewall-cmd --add-service=http --permanent
firewall-cmd --reload
sestatus # 确认SELinux状态

关键提示

  • 脚本控制结构需在脚本文件中使用,直接终端输入无效
  • 防火墙工具二选一(iptables vs firewalld),避免冲突
  • 生产环境操作前务必测试(如ansible使用--check模式)
0

评论 (0)

取消