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 查找命令位置