bash特性详解
命令别名:
alias 命令可以给linux命令取别名,格式为: alias 别名=现有名称 选项 ;例如:
通过这种方式可以给linux中存在的命令赋予别名,方便每个人的个人习惯,不过需要注意的是,用alias命令取得别名只在当前启动的shell生命周期中有效,也就是说当系统重启就不复存在,如果需要永久有效,那么最好在配置文件中使用alias命令赋予别名;
而想要撤销别名也很简单使用unalias命令即可,格式为: unalias 别名 ;
命令替换:
命令替换即为把命令中某个子命令替换为其执行结果的过程,通过 $(命令) ,或者用反双引号 `命令` 的方式就可以把echo命令中的子命令pwd替换为其结果,如下图:
另外还有弱引用,用双引号表示" ",可以实现变量替换(变量值替换变量名),强引用,两个单引号表示 ' ' ,不完成变量替换;
文件名通配(globbing):
文件名通配是一种命令行展开机制,属于名称展开,使用一个符号替代具有某种特性的文件名,例如匹配在test目录下以a开头的所有文件:
* 表示匹配任意长度的任意字符; ? 表示匹配单个任意字符; [ ] 表示匹配制定范围内的任意单个字符; [^ ] 则表示匹配指定范围之外的任一单个字符(^符号表示取反)。
还可以通过bash中自定义的通配符命令来进行命令替换:
匹配任意单个字母和数字:[[:alnum]] ;
匹配任意单个数字:[[:digit]];
匹配单个大写字母:[[:apper]];
匹配单个小写字母:[[:lower]];
匹配多个空白字符:[[:space]];
匹配所有标签:[[:punct]];
linux用户及权限详解
计算资源
计算机资源分为权限,用户,用户组;
权限分为文件权限和目录权限:
文件权限:
r:可读,可以使用类似cat等命令查看文件内容;
w:可写,可以编辑或删除此文件;
x:可执行,可以命令提示符下当做命令提交给内核运行;
目录权限:
r:可读,可以对此目录执行类似ls的命令;
w:可以在此目录创文件;
x:可以用cd切换进目录,也可以使用ls -l查看内部文件的详细信息;
所以用0表示无权限,1有权限,那么rwx可以表示为:
0 000 ---:无权限;
1 001 --x:只执行;
2 010 -w-:只写;
3 011 -wx: 写和执行;
4 100 r--:只读;
5 101 r-x:读和执行;
6 110 rw-:读写;
7 111 rwx:读写执行;
用户和组:
用户:UID,信息存放在/etc/passwd目录下
组:GID,存放在/etc/group目录下
影子口令:
用户:/etc/shadow;
组:/etc/gshadow;
用户的类别,使用2的16次方来存贮用户:
管理员:ID必为0;
普通用户,ID为1-65535,分为系统用户和一般用户,系统用户一般在0-499之间,不允许登录系统;一般用户一般为500-60000;
用户组类别:
私有组:在创建用户的时候,如果没有为其指定所属的组,系统会自动为其创建一个与用户名同名的组;
基本组:用户的默认组;
附加组,额外组:默认组以外的其它组;
对一个用户使用ls查看命令,可以看到用户的详细信息,每个字段之间以分号隔开,以数据从始至终分别表示的为:
account登录名:password密码:UID用户ID:GID基本组ID:comment注释:HOME DIR家目录:SHell用户默认shell
加密:
在/etc/shadow目录下,存放的是用户的密码信息,但是是被加密保护的;
加密方法:
1、对称加密,加密和解密使用同一个秘钥,即为对称加密;
2、公钥加密,每个密码都成对出现,一个为私钥,一个为公钥,公钥加密私钥解。私钥加密公钥解;
3、单项加密,散列加密,提取数据特征码(每个数据特征码都是唯一的),常用于数据完整性校验;单向加密有以下特点①不可逆,只能从明文变为密文,不能密文转回明文;②雪崩效应,初始条件的微小改变,将引起结果的巨大变化;③定长输出,无论数据怎么变化,输出长度固定不变。