bash特征详解
B、C、K shell
shell外壳
GUI:Gnome、KDE、Xfce
CLI:sh、csh、ksh、bash(首选)、tcsh
多用户登录到系统,使用shell,也只有一个shell程序在运行,但是可以有多个shell进程。
*进程:在每个进程看来,当前主机上只存在内核和当前进程;
进程是程序的副本
用户工作环境:
bash:
#管理员的命令提示符
$普通用户
exit 退出当前shell(子shell)
pstree
Ctrl+a:跳到命令行首
Ctrl+e:跳到命令行尾
Ctrl+l:全屏
history -c 清空命令历史
ESC后.\Alt+.(点)
03_03
linux windows
clear = cls
unalias
alias CMDALIAS = COMMAND
(命令别名只在当前shell进程内有效)
命令替换: $(),反引号``COMMANDS ???????????????
建立以日期命名的文件:
touch file ./file-$(date +%F-%H-%M-%S).txt
@@ “”弱引用可以实现变量替换。
‘’,强引用,不完成变量替换。
一般只要不涉及变量的使用,单双引号都可以。
文件名通配,globbing
*(星号)是通配符:任意长度的通配符(包括无长度)
?:任意单个字符
[]:匹配指定范围内的任意单个字符
[abc],[a-m],[A-Z],[1-9],[a-zA-Z]
例子:以字母开头中间任意字符,数字结尾:
ls [a-zA-Z]*[0-9]
[^]:匹配指定范围之外的任意单个字符
[:spcae:]:空白字符
[:punct:]:标点符号
[:lower:]:小写字母
[:alpha:]:大小写字母
[:digit:]:标点符号
[:alnum:]:数字和大小写字母
#man glob
03_04
进程process(能获得 如果一个进程在编译的时候,使用了共享库,这就意味着,这个进程在启动之前,必须要把它所依赖的库装入内存之中。
进程在内存中,不独立执行,而通过调用执行。
三组用户的使用能力:
1、文件的属主;
2、文件的属组;
3、其他用户;
进程有属主;
安全上下文(security context):用户操作计算机,即会发起进程;进程是用户操作计算机的代理。所以进程在运行的时候,一定是以发起它的用户的权限为依据进行。
权限判定过程由内核完成。 所以进程能访问什么文件取决于进程的权限和它访问的文件的权限。
权限:r,w,x
r可读,可用命令:cat读
w:可写,可编辑或删除文件;
文件:x:可执行,exacutable(可以在命令提示符下当做命令提交给内核运行)
目录:
r:可对此目录执行ls 以列出内部的所有文件;
w:可在此目录创建文件;
x:可用cd切换到此目录,也可用ls -l 查看内部文件的详细信息;
(文件默认无执行权限,目录默认有执行权限。)
用户:UID,/etc/passwd
组:GID,/etc/group(group Idengtity ....)
影子口令:
用户:/etc/shadow
组:/etc/gshadow
用户类别:
管理员:0 一定是“零”id
普通用户:1-65535
系统用户 1-499
一般用户 500-60000
@@@系统用户和一般用户 可以通过ID号区分
用户组类别:
管理员组:
管理组:
系统组:
一般组:
私有组:创建用户时,如果没有为其指定所属的组,系统会自动为其创建一个与用户名同名的组;
基本组:用户的默认组,
附加组:、额外组:默认组以外的其他组
/etc/passwd
account:登录名
passwd:密码
UID:
$1$fhgsfgkjnldgkjsnlksj ($1$)MD5加密方法
加密方法:
对称加密:加密和解密使用同一个密码; 对称加密比公钥快加密 快2~3个数量级
公钥加密:每个密码都成对出现,一个为私钥(secret key),一个为公钥(public key)。
单向加密,散列加密,提取数据特征码。 用于比较两次计算结果,以判断是否一样。
1、雪崩效应:一改密码,密文变化很大,哪怕只改其中一个密码字符
2、定长输出:
MD5:Message Digest,128位定长输出
SHA1:Secure Hash Algorithm,160位定长输出
which useradd 查找命令位置