Linux的发行版、内核的关系

LFS(Linux From Scratch)、Gentoo、RedHat、SUSE、Debian

目录管理命令:ls、cd、pwd、mkdir、rmdir、tree

文件管理命令:touch、stat、file、rm、cp、mv、nano

日期时间管理命令:date、clock、hwclock、cal

查看文本:cat、tac、more、less、head、tail

wKioL1fvdnDhTI89AAAgN-1TM8o112.png


文本处理:cut、join、sed、awk、grep、

wKiom1fvfCqSv542AAApuscWA6s760.png

wKioL1fvfDqBhLOUAAARuZu4kCE615.png

cut:-d指定字段分隔符,默认是空格

         -f指定要显示的字段


文本排序:sort、

sort:-n(数值排序)、-r(数值降序)、-t(字段分隔符)、-k(以哪个字段为关键字进行排序)、-u(排序后相同的行只显示一次)、-f(排序时忽略字符大小写)

wKiom1fvfkWDf4aoAAASpAG5ru0369.png


uniq:-c(显示文件中进行重复的次数)、-d(只显示重复的行)

wKioL1fvggvxPnetAAARtn9b_Js791.png


文本统计:wc(word count)

字符处理命令:tr(转换或删除字符)


bash及其特性:

shell:外壳,是一种应用程序

GUI:Gnome、KDE、Xfce

CLI:sh、csh、ksh、bash、tcsh、zsh


bash:

1、命令历史、命令补全

2、管道、重定向

3、命令别名

4、命令行编辑

5、文件名通配

6、变量

7、编程

8、命令行展开


命令行编辑:

Ctrl+a:跳转到命令行首

Ctrl+e:跳转到命令行尾

Ctrl+u:删除光标至命令行首的内容

Ctrl+k:删除光标至命令行尾的内容

Ctrl+l:清屏


命令历史:

查看命令历史:history

-c:清空命令历史

-d    OFFSET [n]:删除指定位置的命令

-w:保存命令至历史文件中


环境变量:

PATH:命令搜索路径

HISTSIZE:命令历史缓冲区大小


命令历史的使用技巧:

!n:执行命令历史中的第n条命令

!-n:执行命令历史中的倒数第n条命令

!!:执行上一条命令

wKiom1fv0sPzv0jDAAAz0rsYbWs190.png


!string:执行命令历史中最后一个以指定字符串开头的命令

!$:引用前一个命令的最后一个参数

Esc, .:

Alt+.:


命令补全:

PATH:

路径补全:


命令别名:

alias    COMMAND='COMMAND    [options]    [arguments]'

在shell定义中的别名仅在当前的shell生命周期中有效,别名的有效范围仅为当前shell进程。

unalias    CMDALIAS撤销别名

wKiom1fv14KgxWq1AAARrmHzktQ449.png


命令替换$(COMMAND):把命令中某个字命令替换为其执行结果的过程

wKiom1fv2aDj9x_LAAAKwAZvyx8153.png

反引号:`COMMAND`

bahs支持的引号:

‘’:命令替换

“”:弱引用,可以实现变量替换

``:强引用,不完成变量替换


文件名通配:globbing

*:可以匹配任意长度的任意字符

wKioL1fv21Xym8JiAAAUBeUz-us147.png

?:匹配任意单个字符

wKiom1fv3IainzshAAAKwAZvyx8855.png

[]:匹配指定范围内的任意单个字符[abc],[a-z],[A-Z],[0-9,a-z,A-Z]

[:space:]:空白字符

[:punct:]:标点符号

[:lower:]:小写字母

[:upper:]:大写字母

[:alpha:]:大小写字母

[:digit:]:数字

[:alnum:]:数字和大小写字母

可以是命令man    7    glob

wKiom1fv3z-gUf99AAB_E1qqPbU946.png

wKioL1fv4DDhAQ-JAAAlweix2aA390.png


[^]:匹配指定范围外的任意单个字符


用户、组、权限

权限:r(可读,可以使用类似cat等命令查看文件的内容)、w(可写,可以编辑或者删除此文件)、x(可执行,excutable,可以命令提示符下当作命令交给内核运行)

用户:就是获取资源或服务的标识符而已。

用户装在容器中,容器关联权限:用户组,方便地指派权限,用户组也是标识符

安全上下文(secure    context)

不同用户访问同一个命令,比如ls,它们的访问权限是不一样的,访问权限取决于ls文件所属主和组的权限。而不同用户它们的权限是不一样的。


目录:

r:可以对此目录执行ls以列出内部的所有文件。

w:可以在此目录创建文件

x:可以使用cd切换进此目录,也可以使用ls    -l查看内部文件的详细信息。


rwx:

r--:可读

r-x:可读和执行

---:无权限


0    000    ---:无权限

1    001    --x:执行

2    010    -w-:写

3   011    -wx:写和执行

4    100    r--:只读

5    101    r-x:读和执行

6    110    rw-:读写

7    111    rwx:读写执行

rw-rw----:660


用户:UID    etc/passwd

组:GID    etc/group


影子口令 :

用户:etc/shadow

组:etc/gshadow


用户类型:

管理员:0

普通用户:1~65535

            系统用户:1~499

            一般用户:500~60000


用户组类型:

管理员组:

普通组:

            系统组:

            一般组:


用户组类别:

                基本组:用户的默认组

                私有组:创建用户时,如果没有为其指定所属组,系统会自动为其创建一个与用户名同名的组

                附加组:额外组,默认组以外的其它组。

/etc/passwd的文件信息:

wKioL1fwePLDmElRAABHEEni0Wg278.png

account:登录名

password:密码

UID:

GID:基本组ID

comment:注释

HOME    DIR:家目录

SHELL:用户的默认shell


/etc/shadow的文件信息

wKiom1fwenXSs4qRAAAK0si1BgI863.png

wKioL1fwe46hEUlNAAA1hTcsogs515.png

account:登录名

encryted    password:加密的密码


加密方法:

      对称加密:加密和解密都要使用同一个密码。

      公钥加密:每个密码都要成对出现,一个为私钥(secure    key),一个为公钥(public    key)。

      单向加密:散列加密,提前数据的特征码,常用于数据完整性加密。能加密不能解密

                        1、雪崩效应(初始量的微小变化,引起结果的巨大改变)

                        2、定长输出

                        比较常用的有:MD5(Message    Digest)128位定长输出;SHA1(Secure    Hash    Algorithm),160位定长输出。

wKioL1fwgjCCk3dHAABKBEFhdVQ587.png

wKioL1fwg0_DTBUZAAAhbxgiXfk733.png

wKioL1fwg5uR-GTuAAAHbV5LvUM506.png