第七章:
正规表示法与文件格式化处理:
通过一些特殊字符的排列,用于搜寻/取代/删除一列或多列文字字符串,以行为单位进行字符串处理。
1、grep:字符串比对;P494
2、sed工具:
3、文件的格式化处理:
格式化打印:printf; awk:数据处理工具;
文件比对:diff:比对纯文本档(以行为单位进行比对),cmp:比对非纯文本档(以字节为单位进行比对);
文件打印:pr
第八章:
进程管理:
在内存内的数据就被称为进程。在Linux系统中触发任何一个事件时系统都会将他定义为一个进程。并给以PID。常驻在内存中的进程会被称为服务
1、读取进程相关信息:ps -l;
2、进程呼叫:fork-and-exec;
3、ls:显示文件;touch:建立文件;rm/mkdir/cp/mv管理文件
4、deamon:提供服务的程序;
5、在背景中执行:如 cp file1 file2 $:
重点在那个 & 的功能,他表示将 file1 这个文件复制为 file2 ,且放置于背景中执行, 也就是说执行这一个命令之后,在这一个终端接口仍然可以做其他的工作!而当这一个指令 (cp file1 file2) 执行完毕之后,系统将会在你的终端接口显示完成的消息。
6、同时进行多项工作时,可以将某些工作直接丢进背景环境中,我们可以继续在前景工作。利用$实现: tar -zpcf /tmp/etc.tar.gz /etc &
7、shell 是一个命令语言解释器,一种解释型的程序设计语言;bash命令是存在于文件系统中某个目录下的单独程序。通常,并不知道一个命令是建立在shell内部还是单独的程序。
8、补全命令:Tab[内部使用bash] cd t<Tab>
匹配通配符:*:cd t*; ?:匹配单个字符:cd tes?[即cd test]
[...]: 匹配任何包含在括号里的单字符
9、缺省:即默认
10、history的使用:history n:表示列出最后n个历史指令
11、bash中的alias:取别名:如: alias ll=‘ls -ll’
12、数据流导向:tar -zpcvf /tmp/etc.tar.gz /etc > /tmp/log.txt 2>&1 &
13、查看在目前的背景中,所有的工作:jobs -l【-r:正在进行的工作;-s:表示暂停的工作】
14、将背景的工作拿到前景来处理:fg %n:将背景中第n个任务拿到前景来处理
15、让第n个工作继续在背景下继续运行并观察他:jobs ;bg %n ;jobs
16、杀掉背景中的工作:kill -signal %n:
signal=9:立即删除第n个工作;signal=15:按正常的进程方式结束一项工作。
17、编辑的shell脚本是以.sh结束的文件
18、echo:后面跟需要输出的文本。例如:echo -n[不换行输出]“I am LF”
19、egrep:通过正则表达式来筛选想要的东西:
ps aux | egrep '(cron|rsyslog)'
第九章:
1、静态的进程的观察:
ps -l: 列出正在运行的进程
ps aux: 观察系统所有的进程数据
ps -lA: 能够观察所有系统的数据
ps axjf:连同部分进程树
系统所有的进程的父进程为systemd
2、动态的进程观察:
top -d 2:每隔两秒刷新进程状态
top -d -n 2 > /tmp/top.txt:将top的数据保存在top中;
3、观察单一进程的方法:
echo &&:查看当前bash的PID,
top -d 2 -p PID:显示单一进程的信息;
4、修改某一进程的NI值:
在以上的步骤中,按“r”,然后输入PID,然后再输入NI值
5、以进程树的形式展示:
pstree:默认的进程树; pstree -A:各进程树之家以ASCII字符链接;
pstree -u:查找每个进程所属账号名称 pstree -p:列出每隔进程的PID(方便查找僵尸进程)
6、杀死进程的两种方式:
1)(a)通过ps aux | egrep ‘(名字)’:找到对应的进程;获取PID
(b)kill -9 PID,直接杀死进程;
2)(a)killall -9 进程名称:直接杀死进程
(b)killall -i -9 进程名称:交互式的杀死进程