✏️
Linux
  • 前言介绍
    • Linux命令大全
  • RHEL 8
  • 第一部分 基本系统配置
  • 第一章 入门
    • 1.1 系统安装
    • 1.2 cockpit
    • 1.3 基本环境配置
    • 1.4 配置和检查网络接入
    • 1.5 设置运行级别
    • 1.6 注册系统和管理订阅的基础
    • 1.7 安装软件
    • 1.8 使系统服务在启动时运行
    • 1.9 通过防火墙,SELINUX和SSH日志记录增强系统安全性
    • 1.10 管理用户帐户的基础
    • 1.11 使用KDUMP机制将崩溃的内核转储
    • 1.12 使用REAR执行系统营救和创建系统备份
    • 1.13 使用日志文件解决问题
    • 1.14 访问红帽支持
  • 第二章 系统位置和键盘配置
  • 第三章 配置日期和时间
  • 第四章 管理用户和组
  • 第五章 访问控制列表
  • 第六章 获得特权
  • 第七章 磁盘分区管理
  • 第二部分 订阅和支持
  • 第七章 注册系统和管理订阅
  • 第八章 使用红帽支持工具访问支持
  • 第三部分 安装和管理软件
  • 第九章 YUM
  • 第四部分 基础设施服务
  • 第十章 使用SYSTEMD管理服务
  • 第十一章 配置系统的可访问性
  • 第十二章 OPENSSH
  • 第十三章 TIGERVNC
  • 第五部分 服务器
    • 第十四章 Web服务器
    • 第十五章 邮件服务器
    • 第十六章 文件和打印服务器
      • 16.1 SAMBA
        • 16.1.1 将Samba设置为域成员
      • 16.2 Rsync
        • 16.2.1 Rsync 异机备份
        • 16.2.1 Rsync本机备份
      • 16.4 FTP
      • 16.5 打印设置
    • 第十七章 数据库服务器
    • 第十八章 使用CHRONY SUITE配置NTP
    • 第十九章 使用NTPD配置NTP
    • 第二十章 使用PTP4L配置PTP
  • 第六部分 监控和自动化
    • 第二十一章 系统监视工具
    • 第二十二章 OPENLMI
    • 第二十三章 查看和管理日志文件
    • 第二十四章 自动系统任务
    • 第二十五章 自动错误报告工具(ABRT)
  • 第七部分 使用BOOTLOADER进行内核自定义
    • 第二十六章 使用GRUB 2
  • 第八部分 系统备份和恢复
    • 第二十七章 RELAX-AND-RECOVER (REAR)
  • LinuxProbe RHEL8(更新版)
    • 第1章 部署虚拟环境安装 Linux 系统
      • 1.1 准备您的工具
      • 1.2 安装配置VM虚拟机
      • 1.3 安装您的Linux系统
      • 1.4 重置root管理员密码
      • 1.5 RPM(红帽软件包管理器)
      • 1.6 Yum软件仓库
      • 1.7 systemd初始化进程
      • 1.8 系统运行级别
      • 复习题
  • 第2章 新手必须掌握的 Linux 命令
    • 2.1 强大好用的Shell
    • 2.2 执行查看帮助命令
    • 2.3 常用系统工作命令
    • 2.4 系统状态检测命令
    • 2.5 工作目录切换命令
    • 2.6 文本文件编辑命令
    • 2.7 文件目录管理命令
    • 2.8 打包压缩与搜索命令
    • 复习题
  • 第3章 管道符、重定向与环境变量
    • 3.1 输入输出重定向
    • 3.2 管道命令符
    • 3.3 命令行的通配符
    • 3.4 常用的转义字符
    • 3.5 重要的环境变量
    • 复习题
  • 第4章 Vim 编辑器与 Shell 命令脚本
    • 4.1 Vim文本编辑器
      • 4.1.1 编写简单文档
      • 4.1.2 配置主机名称
      • 4.1.3 配置网卡信息
      • 4.1.4 配置软件仓库
    • 4.2 编写Shell脚本
      • 4.2.1 编写简单的脚本
      • 4.2.2 接收用户的参数
      • 4.2.3 判断用户的参数
    • 4.3 流程控制语句
      • 4.3.1 if条件测试语句
      • 4.3.2 for条件循环语句
      • 4.3.3 while条件循环语句
      • 4.3.4 case条件测试语句
    • 4.4 计划任务服务程序
    • 复习题
  • 第5章 用户身份与文件权限
    • 5.1 用户身份与能力
    • 5.2 文件权限与归属
    • 5.3 文件的特殊权限
    • 5.4 文件的隐藏属性
    • 5.5 文件访问控制列表
    • 5.6 su命令与sudo服务
    • 复习题
  • 第6章 存储结构与磁盘划分
    • 6.1 一切从“/”开始
    • 6.2 物理设备的命名规则
    • 6.3 文件系统与数据资料
    • 6.4 挂载硬件设备
    • 6.5 添加硬盘设备
    • 6.6 添加交换分区
    • 6.7 磁盘容量配额
    • 6.8 虚拟数据优化
    • 6.9 软硬方式链接
    • 复习题
  • 第7章 使用 RAID 与 LVM 磁盘阵列技术
    • 7.1 RAID(独立冗余磁盘阵列)
    • 7.2 LVM(逻辑卷管理器)
    • 复习题
  • 第8章 iptables 与 firewalld 防火墙
    • 8.1 防火墙管理工具
    • 8.2 iptables
    • 8.3 firewalld
    • 8.4 服务的访问控制列表
    • 复习题
  • 第9章 使用 ssh 服务管理远程主机
    • 9.1 配置网络服务
    • 9.2 远程控制服务
    • 9.3 不间断会话服务
    • 复习题
  • 第10章 使用 Apache服务部署静态网站
    • 10.1 网站服务程序
    • 10.2 配置服务文件参数
    • 10.3 SELinux安全子系统
    • 10.4 个人用户主页功能
    • 10.5 虚拟主机功能
    • 10.6 Apache的访问控制
    • 复习题
  • 第11章 使用 vsftpd 服务传输文件
    • 11.1 文件传输协议
    • 11.2 vsftpd服务程序
    • 11.3 简单文件传输协议
    • 复习题
  • 第12章 使用 Samba或 NFS 实现文件共享
    • 12.1 Samba文件共享服务
    • 12.2 NFS(网络文件系统)
    • 12.3 autofs自动挂载服务
    • 复习题
  • 第13章 使用 BIND 提供域名解析服务
    • 13.1 DNS域名解析服务
    • 13.2 安装bind服务程序
    • 13.3 部署从服务器
    • 13.4 安全的加密传输
    • 13.5 部署缓存服务器
    • 13.6 分离解析技术
    • 复习题
  • 第14章 使用 DHCP 动态管理主机地址
    • 14.1 动态主机配置协议
    • 14.2 部署dhcpd服务程序
    • 14.3 自动管理IP 地址
    • 14.4 分配固定IP 地址
    • 复习题
  • 第15章 使用 Postifx 与 Dovecot 部署邮件系统
    • 15.1 电子邮件系统
    • 15.2 部署基础的电子邮件系统
    • 15.3 设置用户别名信箱
    • 复习题
  • 第16章 使用 Ansible服务实现自动化运维
    • 16.1 Ansible 介绍与安装
    • 16.2 设置主机清单
    • 16.3 运行临时命令
    • 16.4 剧本文件实战
    • 16.5 创建及使用角色
    • 16.6 创建和使用逻辑卷
    • 16.7 判断主机组名
    • 16.8 管理文件属性
    • 16.9 管理密码库文件
    • 复习题
  • 第17章 使用 iSCSI 服务部署网络存储
    • 17.1 iSCSI技术概述
    • 17.2 创建RAID磁盘阵列
    • 17.3 配置iSCSI服务端
    • 17.4 配置Linux客户端
    • 17.5 配置Windows客户端
    • 复习题
  • 第18章 使用 MariaDB 数据库管理系统
    • 18.1 数据库管理系统
    • 18.2 初始化MariaDB服务
    • 18.3 管理账户以及授权
    • 18.4 创建数据库与表单
    • 18.5 管理表单及数据
    • 18.6 数据库的备份及恢复
    • 复习题
  • 第19章 使用 PXE+Kickstart 无人值守安装服务
    • 19.1 无人值守安装系统
    • 19.2 部署相关服务程序
    • 19.3 自动部署客户端主机
    • 复习题
  • 第20章 使用 LNMP 架构部署动态网站环境
    • 20.1 源码包程序
    • 20.2 LNMP 动态网站架构
    • 20.3 搭建Discuz!论坛
    • 20.4 选购服务器主机
    • 复习题
  • RHCE 认证考试
    • 考试须知
    • 实验环境准备
    • RHCE 9
    • RHCE 8
    • 题库笔记 临时杂记待删
  • Linux 常用知识点总结
    • 一、生僻英文单词
    • 二、VIM & SHELL
    • 三、知识总结(重点)
    • 四、杂记知识点
    • 五、问答总结回顾(考试指南)
    • 六、淘汰命令和替代应用
  • 七、LinuxProbe学习进度
  • 实战案例
    • 1. SAMBA
      • 1.1 将SMABA设置为独立服务器
      • 1.2 将SAMBA设置为域成员服务器
    • 2. RHEL8 + Nginx + Node.js + PM2部署SYSIDC
  • 3. 搭建HTTPS 文件服务器
  • 4. 秘钥连接服务器
由 GitBook 提供支持
在本页

这有帮助吗?

  1. 第4章 Vim 编辑器与 Shell 命令脚本
  2. 4.2 编写Shell脚本

4.2.3 判断用户的参数

按照测试对象来划分,条件测试语句可以划分为4种:

  • 文件测试语句

  • 逻辑测试语句

  • 整数值比较语句

  • 字符串比较语句

条件表达式两边均有一个空格

文件测试所用的参数

运算符
作用

-d

测试文件是否为目录类型

-e

测试文件是否存在

-f

判断是否为一般文件

-r

测试当前用户是否有权限读取

-w

测试当前用户是否有权限写入

-x

测试当前用户是否有权限执行

使用文件测试语句来判断/etc/fstab是否为一个目录,成立则返回0,不成立则返回非零值

# [ -d /etc/fstab ]
# echo $?
1

使用文件测试语句来判断/etc/fstab是否为一般文件

# [ -f /etc/fstab ]
# echo $?
0

用“与”运算符,一条命令搞定判断/dev/cdrom是否存在的判断和查询

# [ -e /dev/cdrom ] && echo "Exist"
Exist

逻辑“或”运算符,当前面的命令执行失败后才会执行后面的命令,可以用来结合系统环境变量USER来判断当前登录的用户是否为非管理员身份

# [ $USER = root ] || echo "user"
# su - linuxprobe
$ [ $USER = root ] || echo "user"
user

逻辑语句是“非”,运算符用(!),判断当前用户是否为一个非管理员用户

# [ linuxprobeUSER = root ] || echo "administrator"
administrator
  • && 是逻辑“与”,只有当前面的语句执行成功的时候才会执行后面的语句

  • || 是逻辑“或”,只有当前面的语句执行失败的时候才会执行后面的语句

  • ! 是逻辑逻辑“非”,代表对逻辑测试结果取反值;之前若为正确则变成错误,若为错误则变成正确

“&&”逻辑运算符和“||”一起使用

# [ "administrator"USER = root ] && echo "user" || echo "root"
root
运算符
作用

-eq

是否等于

-ne

是否不等于

-gt

是否大于

-lt

是否小于

-le

是否等于或小于

-ge

是否等于或大于

10是否大于10,以及10是否等于10

# [ 10 -gt 10 ]
# echo $?
1
# [ 10 -eq 10 ]
# echo $?
0

上一页4.2.2 接收用户的参数下一页4.3 流程控制语句

最后更新于2年前

这有帮助吗?