查看文本:

cat、tac、more、less、head、tail


cat:连接并显示

  -n

  -E


Ctrl+c


分屏显示:

more、less

more:向后翻

less:向前翻


head:查看前n行

tail:查看后n行

  -n

tail -f:查看文件尾部,不退出,等着显示后续追加至此文件的新内容


文本处理:

cut、join、sed、awk


cut:

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

  -f:指定要显示的字段

    -f 1,3

    -f 1-3


文本排序:sort

 -n:数值排序

  -r:降序

  -t:字段分隔符

  -k:以那个字段为关键字进行排序

  -u:排序后相同的行只显示一次

  -f:排序时忽略字符大小写


uniq:

  -c:显示文件中行重复的次数

  -d:只显示重复的行


文本统计:wc(word count)

  -L

  -l

  -w

  -c


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

tr [OPTIONS] ... SET1 [SET2]

  -d:删除出现在字符集中的所有字符


bash及其特性

进程:在每个进程看来,当前主机上只存在内核和当前进程

进程是程序的副本,进程是程序执行实例


用户工作环境

pstree

bash:

1、命令历史、命令补全

2、管道、重定向

3、命令别名

4、命令行编辑

5、命令行展开

6、文件名通配

7、变量

8、编程


命令行编辑:

光标跳转:

     Ctrl+a:跳到命令行首

     Ctrl+e:跳到命令行尾

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

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

     Ctrl+左右箭头:左右跳一个单词

     Ctrl+l:清屏


命令历史:

查看命令历史:history

  -c:清空命令历史

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

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


HISTSIZE:,命令历史缓冲区大小


使用技巧:

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

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

!!:执行上一条命令

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

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

ESC,.


命令补全:搜索PATH环境变量所指定的每个路径下以我们给出的字符串开头的可执行文件,如果多于一个,两次tab,可以给出列表,否则将直接补全

路径补全:搜索我们给出的起始路径下的每个文件名,并试图补全


命令别名

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

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

umalias CMDALIAS

\CMD


命令替换:$(COMMAND),反引号`COMMAND`

把命令中某个子命令替换为其执行结果的过程

bash支持的引号

``:命令替换

'':弱引号,可以实现变量替换

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


文件名通配,globbing

*:任意长度的任意字符

?:任意单个字符

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

 [abc],[a-z],[A-Z],[a-zA-Z],[a-zA-Z0-9],[0-9]

 [:space:]:空白字符

 [:punct:]:标点符号

 [:lower:]:小写字母

 [:upper:]:大写字母

 [:alpha:]:大小写字母

 [:digit:]:数字

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

man 7 glob

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


用户、组、权限

安全上下文(secure context)


权限:r,w,x


文件:

r:可读,可以使用类似cat等命令查看文件内容

w:可写,可以编辑或删除此文件

x:可执行,eXacutable,可以命令提示符下当做命令提交给内核运行


目录:

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:读写执行


用户:UID,/etc/passwd

组:GID,/etc/group


影子口令:

用户:/etc/shadow

组:/etc/gshadow


用户类型:

管理员:0

普通用户:1-65535

  系统用户:1-499

  一般用户:500-50000


用户组类型:

管理员组:

普通组:

  系统组:

  一般组:


用户组类型:

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

  基本组:用户的默认组

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


/etc/passwd

account:登录名

password:密码

UID:

GID:基本组ID

comments:注释

HOME DIR:家目录

SHELL:用户的默认shell


/etc/shadow

account:登录名

encrypted passwd:加密的密码


加密方法:

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

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

  单向加密,散列加密:提取数据特征码,常用于数据完整性校验

    1、雪崩效应

    2、定长输出

      MD5:Message Digest,128位定长输出

      SHA1:Secure Hash Algorithm ,160位定长输出