以下为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" fifor:循环遍历for i in {1..5}; do echo $i donewhile:条件循环while [ $count -lt 5 ]; do echo $count ((count++)) donecase:多分支匹配case $input in "start") service start ;; "stop") service stop ;; *) echo "Invalid" ;; esacselect:创建交互菜单select opt in "Yes" "No"; do echo "You chose $opt" break doneread:读取用户输入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(强制模式)或disabledsetenforce:临时切换模式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
done3. 快速防火墙配置
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
sestatus # 确认SELinux状态关键提示:
- 脚本控制结构需在脚本文件中使用,直接终端输入无效
- 防火墙工具二选一(
iptablesvsfirewalld),避免冲突 - 生产环境操作前务必测试(如
ansible使用--check模式)
评论 (0)