《Linux与shell脚本编程大全》笔记之shell命令补充

监测进程命令

ps命令

当程序运行在系统上时,我们称之为进程,而监测进程需要ps命令。默认ps命令显示的信息有 PID(进程ID)、TTY(运行在哪个终端)、TIME(已用的CPU时间)和CMD(程序名称)。
因为历史原因,ps命令的参数和风格非常的复杂,一般记住其中几组参数即可

  • -e:指定显示所有运行在系统上的进程;
  • -f:扩展输出
    ps -ef输出如图:

    由图中可以看出-f参数扩展的信息有:
  • UID:启动这些进程的用户
  • PID:进程的进程号
  • PPID:父进程的进程号
  • C:进程生命周期中的CPU利用率
  • STIME:进程启动时的系统时间
  • TTY:进程启动时的终端设备
  • TIME:运行进程需要的累计CPU时间
  • CMD:启动的程序名称
    这些信息也正是大多数系统管理员希望看到的

top命令

Top命令也是显示进程信息,但是它是实时显示的,可用于观察频繁换进换成内存的进程的趋势。而具体top命令会输出哪一些信息每一版系统都可能会有不同。附上macOS系统的top命令配图


kill命令

当有些程序已经影响了系统的运行,或者想要结束某些进程时,就需要使用kill命令。
在Linux上,进程之间通过信号来通信。进程的信号就是预定义好的一个消息,进程能够识别它们并决定忽略还是作出反应。信号有:

  • 1(HUP):将进程挂起
  • 2(INT):中断进程
  • 3(QUIT):结束运行
  • 9(KILL):无条件终止
  • 11(SEGV):段错误
  • 15(TERM):尽可能终止
  • 17(STOP):无条件停止运行,但不终止
  • 18(TSTP):停止或暂停,但继续在后台运行
  • 19(CONT):在STOP或TSTP之后恢复执行
    kill命令可通过PID给进程发信号。格式为kill -9 PID,这个是通过信号进行进程控制,也可以通过例如kill -s HUP PID的这种-s+名称的格式控制进程。执行后和通过ps或者top命令查看是否将进程停止。

监测磁盘空间

本节将介绍在日常系统管理中经常用到的核心命令。

df 命令

有时你需要知道在某个设备上还有多少磁盘空间。df命令就是用来轻松查看所有已挂载磁盘的使用情况,常用的参数是-h。将输出中的磁盘空间按人类可读的形式显示,即转换成M和G的单位

说明 Linux系统后台一直会有进程来处理文件或使用文件。df命令的输出值显示的是Linux系统认为的当前值。有可能系统上有运行的进程已经创建或删除了某个文件,但尚未释放文件。这个值是不会算进闲置空间的。

du 命令

通过df命令,你很容易发现哪个磁盘很快没有存储空间。此时就需要用到另外一个命令—du命令。du命令是可以显示某个特定目录(默认是当前目录)的磁盘使用情况。这个是用来判断你系统上某个目录下是不是有超大文件的快速方法。
默认情况下,du命令会显示当前目录下的所有文件、目录和子目录的磁盘使用情况,它会以磁盘的块为单位来显示每个文件或目录占用了多大存储。
但是单独使用du命令将会显示所有文件的信息,会非常不方便,这里介绍几个命令行参数

  • -c:显示所有已列出文件总的大小,如果是目录文建包括其子目录(用法:du -c YourFile
  • -h:按人类可读的格式输出大小,即会换算成K、M、G单位
  • -s:显示每个输出参数的总计。

处理数据文件命令

当有大量数据时,通常很难处理这些信息及提取有用信息。系统很容易就会输出过量的信息。因此这小节介绍一些命令行工具来处理大量数据。

排序数据

处理大量数据时的一个常用命令就是sort命令,用来对数据进行排序。
默认情况下,sort命令按你为这个会话指定的默认语言的排序规则来对文本文件中的数据行排序,例如字符排序
但是,在进行数字排序时,可能出现这种情况


这个问题的出现时因为sort命令会把数字当做字符而执行标准的字符排序,产生的输出可能根本就不是想要的。此时可以添加-n参数,它会告诉sort命令把数字识别成数字而不是字符,并且按值排序:

另一个常用的参数是-M,即按月排序。Linux的日志文件经常会在每行的起始位置有一个时间戳,此时使用-M参数则会按照时间戳的顺序排序,并且此时sort命令能识别三字符的月份命名。
再介绍些其他的参数:

  • -b(- -ignore-leading-blanks):排序时忽略起始的空白
  • -c(- -check):不排序,但检查输入数据是不是已排序;未排序的话,报告
  • -f(- -ignore-case):默认情况下,会将大写字母排在前面,;这个参数忽略大小写
  • -g(- -general-number-sort):按通用数值排序,支持科学计数法和浮点数
  • -z(- -zero-terminated):用NULL字符来为每一行结尾而不是用换行符
  • -t(- -field-separator=SEP):指定一个用来区分键位置的字符
  • -k (- -key=POS1[,POS2]):排序从POS1位置开始;如果指定了POS2的话,到POS2位置结束

搜索数据

你经常需要在大文件中找一行数据,而这行数据埋藏在文件的中间。此时只需要grep命令来查找。grep命令的命令行格式如下:
grep [options] pattern [file]
grep命令会到输入中或你指定的文件中查找包含匹配指定模式的字符的行。grep的输出就是包含了匹配模式的行。
参数介绍:

  • -v:反向搜索(即输出不匹配该模式的行)
  • -n:显示匹配模式的行所在行号
  • -c:只要知道多少行含有匹配的模式即可
  • -e:指定匹配多于一个匹配模式,得到满足两个模式中任意一个的所有结果,用-e参数来指定每个模式,
    例如grep -e pattern1 -e pattern2 file
    默认情况下,grep命令用基本的Unix风格正则表达式来匹配模式。正则表达式用方括号[]括起来。

归档数据

tar命令最开始是用来将文件写到磁带设备上归档的,然而它也能把输出写到文件里,这种用法在Linux上已经普遍用来归档数据了。
其命令格式:tar function [options] object1 object2
function参数定义了tar命令应该做什么,如下:

  • -A(- -concatenate):将一个已有tar归档文件追加到另一个已有tar归档文件
  • -c(- -create):创建一个新的tar归档文件
  • -r(- -append):追加文件到已有tar归档文件末尾
  • -t(- -list):列出已有tar归档文件的内容
  • -u(- -update):将比tar归档文件中已有的同名文件新的文件追加到该tar归档文件中
  • -x(- -extract):从已有tar归档文件中提取文件
  • -v:在处理文件时显示文件
  • -f:输出结果到文件或设备file
  • -z:将输出重定向给gzip命令来压缩内容
    如果tar文件是从一个目录结构创建的,那整个目录结构都会在当前目录下重新创建。如此发现,tar命令是给整个目录结构创建归档文件的简便方法。

下载开源软件之后会发现,经常看到文件名以.tgz结尾。这些是gzip压缩过的tar文件,可以使用命令tar -zxvf filename.tgz来解压

系列链接


《Linux与shell 脚本编程大全》笔记之基本文件处理命令

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容