输入、输出重定向
>若文件不存在,则创建,并将正确的输出填充,若文件已存在,则覆盖原内容
>> 若文件不存在,则创建,并将正确的输出内容填充,若文件已存在,则追加内容
2> 若文件不存在,则创建,并将错误的输出填充,若文件已存在,则覆盖原内容
2>> 若文件不存在,则创建,并将错误的输出内容填充,若文件已存在,则追加内容
&> 若文件不存在,则创建,并将所有的输出填充,若文件已存在,则覆盖原内容
&>> 若文件不存在,则创建,并将所有的输出内容填充,若文件已存在,则追加内容
2>&1 将错误结果转为正确结果 |& 将正确及错误都传递给右边命令用
1>&2 将正确结果转为错误结果
useradd
-u UID
-o 配合-u 选项,不检查UID的唯一性
-g GID/GROUP NAME:指明用户所属基本组,可为组名,也可以GID
-c “COMMENT”:用户的注释信息
-d HOME_DIR: 以指定的路径(不存在)为家目录 确保指定目录的目录名要存在,而基名不要存在
-s SHELL: 指明用户的默认shell程序,默认不指定是为/bin/bash
-G GROUP1[,GROUP2,…]:为用户指明附加组,组须事先存在
-N 不创建私用组做主组,使用users组做主组
-r: 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000
-m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户
usermod
-u UID: 新UID
-g GID: 新主组
-G GROUP1[,GROUP2,…[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项
-s SHELL:新的默认SHELL
-c ‘COMMENT’:新的注释信息
-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项
-l login_name: 新的名字;
-L: lock指定用户,在/etc/shadow 密码栏的增加 !
-U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
-e YYYY-MM-DD: 指明用户账号过期日期
-f INACTIVE: 设定非活动期限
passwd [OPTIONS] UserName: 修改指定用户的密码,仅root用户权限
passwd: 修改自己的密码
常用选项:
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录修改密码
–stdin:从标准输入接收用户密码
echo “PASSWORD” | passwd –stdin USERNAME
gpasswd
-a, –add USER 增加单个用户到指定组当中(组管理员可执行)
-d, –delete USER 从指定组中删除单个用户(组管理员可执行)
-r, –delete-password 将指定组的组密码删除(组管理员可执行)
-R, –restrict 限制组成员访问该组
-M, –members USER,… 一次性设置组成员(仅root执行)
-A, –administrators ADMIN,… 设置组管理列表(root执行)
newgrp
用户会打开一个子shell,在这个子shell下,该用户的主要组切换为该组,若该用户本不属于该组,则要输入组密码,若该组属于用户的附加组之一,则无需输入密码。
chown 仅root才能执行
USERNAME FILENAME/DIRNAME
所属人修改文件的权限
-R 递归修改
.|: GNAME FILENAME/DIRNAME 修改所属组
USERNAME.|:GNAME FILENAME/DIRNAME 同时修改文件的所属人及所属组
–reference=USERNAME FILENAME/DIRNAME 将指定文件的从属关系设置为与指定文件相同
chgrp 仅root和文件的所属人可以更改文件的所属组(但所属人一定要属于目标组)、
GNAME FILENAME/DIRNAME
-R 递归修改
cat
-E 显示结束符$
-T 显示TAB(^I)
-v 显示windows换行符(^M)
-t = -vT
-A = -vTE 表示所有控制符
-n 显示行号
-b 空行不参数编号
-s 将连续的空行压缩为一个空行
sort
默认排序方式受LC_COLLATE影响为UTF-8按首字母来排
sort -n 将指定列当做整体并以数字排序
sort -r 倒序
sort -f 忽略字母大小写
sort -u 去重
sort -t指定分隔符 -k以第几列
cat /etc/passwd |sort -t: -k3 -n
uniq
uniq命令:从输入中删除前后相接的重复的行
uniq [OPTION]… [FILE]…
-c: 显示每行重复出现的次数
-d: 仅显示重复过的行
-u: 仅显示不曾重复的行
连续且完全相同方为重复
常和sort 命令一起配合使用:
sort userlist.txt | uniq -c
grep
–color=auto 关键字高亮显示,在centos7当中默认做为别名
-v 显示不被匹配到的行
-i 忽略关键字的大小写
-c 显示匹配行的数量
-o 仅显示匹配到的关键字
-q 静默输出,不打印过滤的结果,也可以用 &> /dev/null
-A x 当前行及后x行
-B x 当前行及前x行
-C x 当前行及前后x行
nmap -v -sP 172.18.118.0/24 |grep -B1 ‘Host is up’ |grep for |cut -d” ” -f5
-e 关键字1 -e 关键字2 或者 “关键字1\|关键字2” 表示逻辑或
-w 匹配整个单词 表示字符边界 也可以用 “\<关键字\>”
-E 或 egrep 表示使用扩展正则表达式
-F 或 fgrep 不使用正则表达式
正则表达式
文件名通配符当中 * 表示 0或多个任意字符 ? 表示任何一个单一字符
匹配次数:用在要指定次数的字符后面,用于指定前面的字符要出现的次数
* 匹配前面的字符任意次,包括0次
贪婪模式:尽可能长的匹配
.* 任意长度的任意字符
\? 匹配其前面的字符0或1次
\+ 匹配其前面的字符至少1次
\{n\} 匹配前面的字符n次
\{m,n\} 匹配前面的字符至少m次,至多n次
\{,n\} 匹配前面的字符至多n次
\{n,\} 匹配前面的字符至少n次
位置锚定:定位出现的位置
^ 行首锚定,用于模式的最左侧
$ 行尾锚定,用于模式的最右侧
^PATTERN$ 用于模式匹配整行
^$ 空行
^[[:space:]]*$ 空白行
grep -v “^[[:space:]]*$” passwd 去除文件中的空白行
\< 或 \b 词首锚定,用于单词模式的左侧
\> 或 \b 词尾锚定;用于单词模式的右侧
\<PATTERN\> 匹配整个单词
grep “\<root\>” passwd
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/99337