Linux基础学习四
1.bash及其特性(脚本解释器)
bash支持:命令历史;管道,重定向;命令别名;命令行编辑;命令行展开;文件名通配;变量;编程
命令行编辑:
(1)光标跳转:
ctrl+a:跳转到命令行首
ctrl+e:跳到命令行尾
ctrl+u:删除光标至命令行首的内容
ctrl+k:删除光标至命令行尾的内容
ctrl+l:清屏
(2)命令历史
查看历史命令:history
-c:清空历史命令
-d:删除指定命令
例:history -d 500 10
-w:保存命令历史至历史文件中
环境变量:
PATH:命令的搜索路径
HISTSIZE:命令历史大小
命令历史的使用技巧
!n:执行命令历史中的第n条命令
!-n:执行命令历史中的倒数第n条命令
!!:执行上一条命令
!string:执行命令历史中最近一个以指定字符串开头的命令
!$:引用前一个命令的最后一个参数
(3)命令补全
原理:在PATH环境变量下搜索来补全
路径补全:在当前路径下查找
(4)命令别名
alias 别名='command [options] [args]'
在shell中定义的别名仅在当前shell生命周期中有效(别名的有效范围为当前shell进程)
ualias 别名:撤销别名
想用命令本身用:\命令
(5)命令替换:把命令中某个子命令替换为其执行结果的过程
例:touch ./file -$(date +%F-%H-%m-%s).txt
用法:
《1》$(命令)
《2》反引号 `命令`
(6)文件名通配
*:任意长度的任意字符
?:任意单个字符
[ ]:匹配指定范围内的任意单个字符
例:[abc],[a-z],[A-Z],[0-9],[a-zA-Z]
[^]:匹配指定范围外的任意单个字符
[:space:]:空白字符
[:punct:]:标点符号
[:lower:]:小写字母
[:upper:]:大写字母
[:alpha:]:大小写字母
[:digit:]:数字
[:alnum:]:数字和大小写字母
例:[[:alpha:]]*[[:space:]]*[[:alpha:]]
2.权限
(1)文件:
r:可读,可使用类似cat等命令查看文件内容
w:可写,可编辑或删除此文件
x:可执行,可以在命令提示符下当作命令提交给内核运行
(2)目录:
r:可以对此目录执行ls以列出内部所有文件
w:可以在此目录建立文件
x:可以使用cd切换到此目录,也可以用ls -l查看内部文件的详细信息
(3)用户类型:
管理员:0
普通用户:1-65535
系统用户:1-499
一般用户:500-60000
(4)用户组类别:
私有组:创建用户时,如果没有为其指定所属的组,系统就会自动为其创建一个和用户名相同名的组
基本组:用户的默认组
附加组,额外组:默认组以外的其他组
(5)/etc/passwd的内容:
查看方式:
whatis passwd
man 5 passwd
account:登录名
password:密码
UID:用户ID
GID:基本组ID
comment:注释
HOME DIR:家目录
SHELL:用户默认shell
(6)/etc/shadow
account:登录名
encrypted password:加密的密码
加密方法:
对称加密:加密和解密使用同一个密码
公钥加密:每个密码都成对出现,一个为公钥,一个为私钥
单项加密:散列加密,提取数据特征码(不可逆)
(7)/etc/group
格式:
用户名:密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告时间:非活动时间:过期时间