管道符 重定向和环境变量
输入重定向 命令 < 文件
标准输入重定向(STDIN,文件描述符为0):默认从键盘输入,也可从其他文件或命令中输入。
标准输出重定向(STDOUT,文件描述符为1):默认输出到屏幕。
错误输出重定向(STDERR,文件描述符为2):默认输出到屏幕。
表3-1 输入重定向中用到的符号及其作用
符号 作用
命令 < 文件 将文件作为命令的标准输入
命令 << 分界符 从标准输入中读入,直到遇见分界符才停止
命令 < 文件1 > 文件2 将文件1作为命令的标准输入并将标准输出到文件2
对于输出重定向来讲,用到的符号及其作用如表3-2所示。
表3-2 输出重定向中用到的符号及其作用
符号 作用
命令 > 文件 将标准输出重定向到一个文件中(清空原有文件的数据)
命令 2> 文件 将错误输出重定向到一个文件中(清空原有文件的数据)
命令 >> 文件 将标准输出重定向到一个文件中(追加到原有内容的后面)
命令 2>> 文件 将错误输出重定向到一个文件中(追加到原有内容的后面)
命令 >> 文件 2>&1
或
命令 &>> 文件
管道符 【俗称“任意门”】 命令A | 命令B 前面的命令结果交给后面的命令执行
通配符:*—代表一个或多个
?单个字符串
[0-100] 数字通配符,也可以写成[1,3,5,7]
[a-z] 字母通配符
常用转义词:
反斜杠(\)—使反斜杠后母的一个变量为单纯的字符串
单引号(’’)—转义其中所有的变量为单纯的字符串
双引号("")—保留其中的变量属性,不进行转义处理
反引号(``)把其中的命令执行后返回结果
VIM编辑器 脚本
以前一直用vi 也经常看其他同事用vim 但不知道两者的区别,其实vim就多了一个着色的功能,
编辑网卡配置文件:
vim /etc/sysconfig/network-scripts/ifcfg-eno1677736
TYPE=Ethernet 【设备类型】
BOOTPROTO=static 地址分配的模式 分为DHCP/NONE/STATIC
NAME=eno1677736 网卡名称 保持默认
ONBOOT=yes 是否开机启动
IPADDR=192.168.0.10
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=202.96.128.166
YUM仓库;配置文件:/etc/yum.repo.d/123.repo [必须以后缀名为.repo]
[123] 仓库唯一标识
name=456 仓库描述
baseurl=file:///mnt [本地] 或 https://【网址】ftp://[FTP]
enabled=1 1为启用 0为禁用
gpgcheck=1 1为校验 0为不校验
SHELL脚本【个人觉得比较难,需经常练习】
【#!/bin/bash 脚本声明
this is a test for shell 脚本注释,可自定义,也可以不写,
命令
】
查看/etc/passwd用有多少行,并显示当前目录,如下图;
SHELL脚本内设了用于接收参数的变量 ,变量之间是有空格间隔;
./xiaofu.sh a b c d e f g
【$#–总共有几个参数 $*—分别接收到的都有哪些 $?—显示上一次命令的执行返回值 $1,$2,…—分别对应着的N个值
】
判断用户的参数
测试语句格式 【 】—两边有空格
【-d 测试文件是否为目录类型
-e 测试文件是否存在
-f 判断是否为一般文件
-r 测试当前用户是否有读写权限
-w 测试当前用户是否有写入权限
-x 测试当前用户是否有权限执行
】
&& —当成功的时候则执行后母的语句 (逻辑"与")
|| — 当失败的时候,… (逻辑“或”)
! ------将结果取反值 (逻辑“非”)
如下图:
【-eq 是否等于 -ne 是否不等于 -gt —是否大于 -lt 是否小于 -le 是否等于或小于 -ge 是否大于或等于
】
如下图:当系统内存小于1024时候,提示“内存不足”