Linux环境学习(Day3)

学习任务2:LPI-2 基本管理

Part3 过程控制

启动xeyes
在这里插入图片描述
Ctrl+C会杀死进程,Ctrl+Z会暂时停止进程
在这里插入图片描述
如果想继续运行,输入fg或者bg都能再次运行:
在这里插入图片描述
如果你想一开始就在背后运行,可以不用停止之后用bg,还有更方便的办法:直接在命令行后面加一个&
在这里插入图片描述
多个后台进程
列出所有存在的进程jobs -l
最左边的是job编号,作业2有个+表示是当前作业,还可以指定任务编号变成前台作业,fg 1会将红色xeyes变为前台任务,下一列是进程ID,或pid包含在列表中的
在这里插入图片描述
介绍一下信号
为了终止,停止或继续进程,Linux使用一种称为“信号”的特殊通信方式。通过向进程发送特定信号,可以使其终止,停止或执行其他操作。
使用“ -s”选项,kill可以将任何信号发送到进程。当分别发送SIGINT,SIGSTOP或SIGCONT信号时,Linux会杀死,停止或继续执行进程
在这里插入图片描述
默认情况下,kill发送SIGTERM
在这里插入图片描述
The big kill
进程可以忽略SIGTERM和SIGINT,是因为它们已停止或以某种方式“阻塞”。但是进程不能忽略SIGKILL:会使它从地球上直接消失
在这里插入图片描述
nohup
你开始作业的终端叫做作业控制终端,当你退出的时候shell将传递一个SIGHUP给背景,为了保护这个进程不受影响,当你开始进程的时候请使用nohup
在这里插入图片描述
使用ps列出进程
查看系统上所有的进程:
在这里插入图片描述
还可以查看进程的不同信息,--forest选项就能看到流程层次结构,各个进程之间的关系
在这里插入图片描述
也可以将“ u”或“ l”选项添加到“ a”和“ x”的任意组合中
ps au
ps al
在这里插入图片描述
top的使用
如果您发现自己连续运行ps了几次,并试图观察事物的变化,那么你可能想要的是top。 top显示持续更新的流程清单,以及一些有用的摘要信息
在这里插入图片描述
nice的使用
用来更改进程的优先级
优先序 (priority) 为操作系统用来决定 CPU 分配的参数,Linux 使用『回合制(round-robin)』的演算法来做 CPU 排程,优先序越高,所可能获得的 CPU时间就越多。

$ nice -n 10 oggenc /tmp/song.wav

renice的使用
改变一个运行中的进程的优先级

$ ps l 641
  F   UID   PID  PPID PRI  NI   VSZ  RSS WCHAN  STAT TTY        TIME COMMAND
000  1000   641     1   9   0  5876 2808 do_sel S    ?          2:14 sawfish
$ renice 10 641
641: old priority 0, new priority 10
$ ps l 641
  F   UID   PID  PPID PRI  NI   VSZ  RSS WCHAN  STAT TTY        TIME COMMAND
000  1000   641     1   9  10  5876 2808 do_sel S    ?          2:14 sawfish

Part4 文本处理

访问重定向
以前可以用>输出到文件

$ echo "firstfile" > copyme

还有一个更有力的工具叫做pipes管道可以利用,我们可以把内容输出作为另一个的输入,比如把hi there 作为wc的输入
在这里插入图片描述
wc呢是统计字数行数的,1表示一行,2表示俩单词,9表示字符数

管道示例

  1. ls -s通常会在终端上打印当前目录的列表,并在每个文件之前加上其大小,将输出通过管道传递到sort -n,从而对输出进行数字排序。这是在主目录中查找大文件的非常有用的方法!在这里插入图片描述
  2. 解压管道
    本来如果解压的话要这样:
$ bzip2 -d linux-2.4.16.tar.bz2
$ tar xvf linux-2.4.16.tar

可以使用管道产生相同的最终结果,而且不用中间文件夹:

$ bzip2 -dc linux-2.4.16.tar.bz2 | tar xvf -
  1. 长管道命令
    首先呢,编辑了一些文字进去一共8行,有两行是一样的,sort会根据字母对文字排序,uniq会删除相同的行,所以最后显示行数为7
    在这里插入图片描述

输入输出重定向
echo -e 如果要嵌入反斜杠转义序列,请使用该选项
在这里插入图片描述
常用文字处理命令
cat显示
sort按字母排序
uniq删除重复行
wc 打印知道文件行数,字数,字节数
head打印前10行 -n选项指定显示行数
tail 打印后10行 -n选项指定显示行数
tac 把cat倒过来写,也就是倒着一行行打印
cut 从输入文件或流的每一行中提取字符分隔的字段
nl 在输入的每一行中添加一个行号
pr 将文件分成多页输出;通常用于打印
tr 于将输入流中的某些字符映射到输出流中的某些其他字符。

  • 例子:将文件testfile中的小写字母全部转换成大写字母,此时,可使用如下命令:
cat testfile |tr a-z A-Z

sed 功能强大的面向流的文本编辑器

  • *例子:在第四行后添加新字符串 *
$ sed -e 4a\newline testfile

AWK 是一种处理文本文件的语言,是一个强大的文本分析工具

od 用于输出文件内容,读取文件内容后,以八进制形式呈现
例子:
在这里插入图片描述
split 用于将一个文件分割成数个。默认情况下将按照每1000行切割成一个小文件
fmt 用于编排文本文件
在这里插入图片描述
paste 合并文件的列
在这里插入图片描述
join 与粘贴类似,一起玩的意思嘛,两个文件有相同内容的连起来合并
例子:就是把有相同属性的列合并了,注意写的时候哪个文件写在前面就放在前面了
在这里插入图片描述
tee 把你输入的东西存到文件里了,一看嘿,file1和file2里东西都一样的
在这里插入图片描述
在这里插入图片描述
重定向<
有点迷,大概就是跟>这个玩意儿差不多,方向相反
例子:键入单词apple,, cranberry和banana,后跟“ END”以表示输入的结尾。然后,sort程序按字母顺序返回了我们的单词
在这里插入图片描述
>>的使用
在这里插入图片描述



学习任务3:LPI-3 中级管理

系统和Internet文档,Linux权限模型,用户帐户管理和登录环境调整

Part1 系统和网络文档

Linux系统一般有三种文档来源:手册页,信息页,usr/share/doc与应用程序捆绑的文档。
手册页
可以查找任何命令,访问的时候输入man+主题就行了,比如:man ls
手册中一般由以下一个部分组成:

NAME	命令的名称和单行描述
SYNOPSIS	如何使用命令
DESCRIPTION	关于命令功能的深入讨论
EXAMPLES	有关如何使用命令的建议
SEE ALSO	相关主题(通常是手册页)

man的文档在这里(包含man1-8):
在这里插入图片描述

man1	用户程序
man2	系统调用
man3	库功能
man4	特殊文件
man5	档案格式
man6	游戏类
man7	杂

更详细的手册页
whatis-命令 可以看到更多主题的手册页
man printf默认只显示第一节的页面,但是有时候我们更需要第三节里的库函数,就可以通过man 3 printf来实现
在这里插入图片描述
man -k搜索手册页的NAME部分

apropos完全等价于man -k

这些手册页看起来都十分的不方便,没有超链接什么的可以跳转,开发人员增加了另一种格式:”信息页面“
输入info之后,这些超链接都是可以点进去的,用光标来移动
在这里插入图片描述
还可以指定信息页面:
info diff
info info

(插一句)这些看的好无聊啊T-T
usr/share/doc
许多程序附带其他格式的其他文档:文本,PDF,PostScript,HTML等
查看/ usr / share / doc,你会发现一长串目录,每个目录都与系统上的某个应用程序一起提供。搜索该文档通常可以发现一些手册页或信息页中未提供的功能,例如教程或其他技术文档。快速检查发现有很多阅读材料可用:

$ cd /usr/share/doc
$ find . -type f | wc -l
   7582
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值