bash的基础特性:
globbing:文件名通配(整体文件名匹配,而非部分)
匹配模式:元字符
*:匹配任意长度的任意字符
pa*,*pa*,*pa,*p*a*
?:匹配任意单个字符
pa?,??pa,p?a,p?a?
[]:匹配指定范围内的任意的单个字符
1.[A-Z],[a-z],[0-9],[a-z0-9]
2.[[:upper:]]:所有大写字母
3.[[:lower:]]:所有小写字母
4.[[:alpha:]]:所有字母
5.[[:digit:]]:所有数字
6.[[:alnum:]]:所有字母和数字
7.[[:space:]]:所有空白字符
8.[[:punct:]]:所有标点符号
[^]:匹配指定范围外的任意的单个字符
2.[^[:upper]]:所有非大写字母
练习1:显示/var目录所有以l开头,以一个小写字母结尾,且中间出现一位任意字符的文件或目录
答:ls -d /var/l?[[:lower:]]
练习2:显示/etc/目录下,以任意个数字开头,且以非数字结尾的文件或目录
答:ls -d /etc/[0-9]*[^0-9]
练习3:显示/etc/目录下,以非字母开头,后面跟一个字母及其它任意长度任意字符的文件或目录
答:ls -d /etc/[^a-z][a-z]*
练习4:复制/etc/目录下,所有以m开头,以非数字结尾的文件或目录至/tmp/baidu.com 目录下面
答:1.先创建目录mkdir tmp/baidu.com ;2.列出以m开头的目录,ls /etc/m*[^0-9];3.cp -r /etc/m*[^0-9] /tmp/baidu.com/
练习5:复制/usr/share/man目录下,所有man开头,后跟一个数字结尾的文件或目录至/tmp/man/目录下
答: cp -r /usr/share/man/man[0-9] /tmp/man/
查看文件大小:du -sh 文件
练习6:复制/etc目录下,所有以.conf结尾,并且m,n,r,p开头的文件或目录至/tmp/conf.d/目录下
答: cp -r /etc/[mnrp]*.conf /tmp/conf.d/
IO重定向:
1.输出重定向: > (特性:覆盖)
2.输出重定向: >> (特性:追加)
3. set -C:禁止覆盖输出重定向至已存在的文件,需要强制覆盖输出: >|
4. set +c:关闭上述特性
5.错误的输出流重定向:2>,2>>
6.合并正常的输出流和错误的输出流:
a.&>,&>>
b. COMMAND > /path/to/somefile/ 2>&1
COMMAND >> /path/to/somefile/ 2>&1
用户、组和权限管理:
groupadd:添加组
g GID:上一个组的GID+1;
-r:创建系统组
groupmod:修改组属性
g:修改GID
n:修改组名
groupdel:删除组
useradd:添加用户
u:指定UID
g:指定基本组ID,此组必须事先存在
G:指定用户所属的附加组,多个组分割
注意:创建用户时的诸多默认设定配置文件为 /etc/login.defs
useradd -D:显示创建用户的默认配置
useradd -D 选项:修改默认选项的值
修改的结果保存在:/etc/default/useradd 文件中
usermod:修改用户属性
userdel:删除用户
passwd:
1.passwd:修改用户自己的密码
2.passwd 用户名:修改指定的用户名密码
-1:锁定和解锁用户
-d:清楚用户密码
id:
su:
权限管理:
ls -l :rwxrwxrwx:
左三位:定义user权限
中三位:定义当前user组权限
后三位:其他组权限
权限:
r:读;
w:写;
x:执行