linux ps 简书,Linux小白学习法宝-命令大全第一部分

news/2024/11/29 20:54:36/

命令后带(Mac)标记的,表示该命令在Mac OSX下测试,其它的在Debian下测试。

1. grep命令

文本查找命令, 能够使用正则表达式的方式搜索文本,其搜索对象可以是单个或则多个文件

基本格式 grep [option] [regex] [path]

-o 只按行显示匹配的字符

-c 只输出匹配行的数目

-n 显示匹配行的行号

-v 显示不包含匹配文本的行

-i 不区分大小写 (grep是大小写敏感的)

-R 文件夹下递归搜索

-l 只显示匹配的文件名

-H 显示文件名

-A NUM(after)显示匹配的后几行

-B NUM(before)显示匹配的前几行

-C NUM显示匹配的前后几行

–color 标出颜色

范例一:man grep | grep --color=always -n search带颜色的文本搜索,并同时输出行号

9b05d2a2eaa8

范例二:man grep | grep --color=always -n ''正则表达式模式的搜索

9b05d2a2eaa8

范例三:grep -nR --color=always a ./*.yml在文件夹下的yml文件中搜索,并标注行号和对应行

9b05d2a2eaa8

范例四:grep -lR a ./*.yml 在文件夹下的yml文件中搜索,但只输出匹配的文件名

9b05d2a2eaa82. ls命令

ls是命令行中用的最多的命令之一了,用于显示目录下的文件

基本格式 ls [option]

-a 列出所有文件,包括’.’开头的隐藏文件

-h 使打印结果易于使用者查看(human readable)

-l 列出文件的详细信息:创建者,创建时间,读写权限等

-s 显示文件大小

-t 按时间进行文件的排序

-S 以大小进行排序

-r 当前条件逆序

-L 显示文件链接名

-R 将目录中所有文件都递归显示出来

范例一:ls -lharts输出文件信息,并时间从旧到新排列

9b05d2a2eaa8

范例二:ls -R递归输出目录下的所有文件

9b05d2a2eaa83. find命令

文件查找命令,find命令将递归的搜索目录下符合要求的所有文件

基本格式 find [path] [option] [expression]

-name 查找名为filename的文件

-perm 查找符合执行权限 -user 按照文件的所属主查找

-mtime -n +n 按照文件的更改时间查找文件,n代表天数

-ctime -n +n 按照创建时间查找

-newer f1 !f2 查更改时间在f1和f2之间的文件

-size n 查找长度为n块的文件,一块为512 bytes

-depth 使得查找在进入子目录前先行查找完本目录

-prune 查找时忽略某个目录 -type 按文件类型查找,b为块设备,d为目录,f为普通文档

范例一:find ~ -name '*.yml' | grep '.yml' --color=always在用户目录下查找文件名后缀为.yml的文件

9b05d2a2eaa8

范例二:find . -perm 644查找当前目录下权限为644的所有文件

9b05d2a2eaa8范例三:find . -path './_site' -a -prune -o -name 'feed.xml' -print整个语句是在当前目录下查找名为feed.xml的文件,同时需要忽略./_site路径的文件。-a -o实际为逻辑与和逻辑或,当路径匹配时将执行-prune,那么将不会查找匹配路径中的文件,当路径不匹配时则不执行-prune,-o后的语句始终执行。

9b05d2a2eaa8

范例四:find . -maxdepth 2 -size 3 控制查找的深度

9b05d2a2eaa8补充:Linux的权限模式为三元组“owner”,“group”,“other”,权限对应表如下

9b05d2a2eaa84. wc命令

用于统计输入中的字节数,字数,行数并输出

基本格式 wc [option] [filename]

-c 统计字节数

-l 统计行数

-m 统计字符数

-w 统计字数,一个字为由空白,跳格或换行字符分隔的字符串

范例一:wc -l _config.yml统计行数,-c实际上可以查看文件的大小

[图片上传中。。。(12)]5. cat命令

连结命令(Concatenation),连结多个文本,或者以标准输出形式打印文件的内容

基本格式 cat [option] [filename]

-n 队输出的所有行编号

-b 与-n类似,但空行不编号

范例一:cat -b testColumn(cat -n testColumn)显示文件内容

9b05d2a2eaa8

范例二:cat testColumn testCat同时显示两个文件内容

9b05d2a2eaa8

范例三:cat testColumn testCat>merge将两个内容连结并输出到一个文件中,>为重新创建,>>为追加

[图片上传中。。。(15)]6. tail命令

文本查看命令,可以看文本的最后几行。tail命令的优点在于其内容能够与输入同步更新,非常适用于查看实时日志。

基本格式 tail [option] [filename]

-n number 定位参数,+5表示从第五行开始显示,10或-10表示显示最后10行

-f 监控文本变化,更新内容

-k number 从number所指的KB处开始读取

范例一:tail -n -5 catalina.out 输出最后5行

9b05d2a2eaa8

范例二:tail -f catalina.out 监听catalina.out最后行的变化并显示

[图片上传中。。。(17)]7. head命令

该命令与tail命令类似,默认显示文件前两行的内容

基本格式 head [option] [filename]

-n number 显示前几行,-5表示文件中除了最后5行之外的所有内容

-c number 显示前几个字节

范例一:head -n 5 server.xml和head -n -5 server.xml

[图片上传中。。。(18)]8. du命令

该命令用于查看系统中文件和目录所占用的空间

基本格式 du [option] [name]

-h 用human readable的方式显示

--max-depth=number 最大的查询层次

-a 显示所有文件的大小,默认只显示目录的大小

范例一:du -h 显示目录下所有文件夹的大小

9b05d2a2eaa8

范例二:du -h catalina.out和du -h ../logs 显示文件或目录的大小

[图片上传中。。。(20)]范例三:du -ah --max-depth=1显示递归的层次为1,显示所有文件和文件夹大小

[图片上传中。。。(21)]9. which和whereis

which命令的作用是在PATH变量制定的路径中,查找系统命令的位置。whereis命令用于程序名的搜索,且只能搜索{二进制文件,man说明文件,源代码文件}。whereis的查询时通过查询系统的数据库文件记录,所以速度比find更快,但由于数据库的更新频率较为缓慢,其结果与实际状况并不一定一致。

-m 只查找说明文件

-b 只查找二进制文件

范例一:which命令

[图片上传中。。。(22)]范例二:whereis命令

[图片上传中。。。(23)]10. sort命令

sort命令用于对文本进行排序,并将结果输出。其以文本的每一行为单位,从首字符向后,依次按照ascii码值进行比较,最后升序排列。(默认是忽略每行前面空格的)

基本格式 sort [option] [filename]

-u 忽略重复行

-n 按照数字大小排序

-r 逆序

-k start,endstart为比较的起始位置,end为结束位置

范例一:sort sort.txt 排序

[图片上传中。。。(24)]范例二:sort -nk 2 -t - sort.txt 以-进行分割,对分割后的第二个域进行排序;sort -nrk 2 -t - sort.txt 逆序排序

[图片上传中。。。(25)]范例三:sort -t - -k 1.7 -nk 3,3 sort_k.txt -k start,end中end可以省略,上面的1.7表示分割后第一个域的第7个字符,由于没有end,则表示对第一个域中第7字符及其之后的字符排序。而3,3则表示在前面排序的基础上,再对第三个域进行排序。

[图片上传中。。。(26)]11. netstat命令

netstat用于输出linux系统的网络情况信息,以前面试的时候还被问过:“如何查看占用某个端口的程序的pid?”,这个问题实际用netstat -anp输出,然后再grep一下即可。

基本格式 netstat [option]

-a 显示所有socket连接

-l 显示监控中(listening)的socket连接

-n 直接使用ip地址,而不使用域名服务器

-p 显示正在使用socket的程序的pid和名称

-r 打印路由表

-t 显示TCP传输协议的连线状况

-u 显示UDP传输协议的连线状况

-s 显示网络工作信息统计表

范例一:netstat -anp 显示程序的pid和名称

[图片上传中。。。(27)]范例二:netstat -r 输出本机路由表

[图片上传中。。。(28)]范例三:netstat -lts 输出监听状态中的tcp协议统计信息

[图片上传中。。。(29)]12. more命令

more命令用于显示文件的内容,与cat和tail等命令不同的是,more命令是按页显示文件内容,同时具有搜寻字符串的功能。(由于more具有向前翻页功能,因此该命令会加载整个文件)

基本格式 more [option] [filename]

+n 从第n行开始显示

-n 定义屏幕大小为n行

+/pattern 再显示前按pattern匹配子串并显示

-s 把连续的多个空行显示为一行

常用操作命令:

Enter 向下n行,默认为1行

Ctrl+F 跳过一屏

Ctrl+B 返回上一屏

空格键 向下滚动一屏

= 输出当前行的行号

在more模式中回车,输入/pattern可以持续向下搜索

范例一:more +/Deploy catalina.out在catalina.out文件中查找“Deploy字符第一次出现的位置”,并从该处的前两行开始显示输出

[图片上传中。。。(30)]范例二:more +10 -10 catalina.out从第10行开始,每页10行

[图片上传中。。。(31)]13. less命令

less命令与more命令对应,既可以前后翻看文件,同时还有前后搜索功能,除此之外,less在查看前不会加载整个文件。

基本格式 less [option] [filename]

-N 显示每行的行号

-i 忽略搜索时的大小写

-s 将连续空行显示为一行

-m 显示百分比

常用操作命令:

/字符串 向下搜索“字符串”功能

?字符串 向上搜索“字符串”功能

n 重复前一个搜索

空格键 滚动一页

d 滚动半页

b 回溯一页

y 回溯一行

q 退出less命令

范例一:less -Nm catalina.out显示行号和百分比

[图片上传中。。。(32)]范例二:/detail或者?detail 向前向后搜索”detail”

[图片上传中。。。(33)]14. ps命令

ps命令用来在Linux系统中显示进程的状态快照,其参数选项可谓非常之多。

基本格式 ps [option]

-a 显示所有用户的进程

-x 显示没有控制终端的进程

-u 按照用户名称查询进程

-f 列出全部信息,常和其它选项联用

-j 用任务格式来显示进程

-e 显示所有进程

范例一:ps -ef 用标准格式显示所有进程显示的项目有:UID, PID, PPID(父进程ID), C(CPU资源百分比), STIME, TTY, TIME, CMD

[图片上传中。。。(34)]范例二:ps aux显示的项目有:USER, PID, %CPU, %MEM, VSZ(虚拟内存量KB), RSS(固定内存量), TTY(进程所运行在的终端机), STAT, START, TIME, COMMAND

[图片上传中。。。(35)]15. tmux命令(Mac)

tmux(Terminal Multiplexer)命令是一个颇为炫酷的命令,其特点与screen命令类似。tmux通过开出窗口,分拆面板,接管和分离会话,能够让使用者在一个窗口内同时进行多项操作。tmux在osx的安装方式:brew install tmux

基本格式 tmux [option]

tmux new -s sessionName 创建新的session会话

tmux attach -t sessionName 重新连接上某一个session

tmux kill-session -t sessionName 杀死某个session

tmux ls 显示所有会话

范例一:tmux new -s mySession 创建一个名为mySession的会话输入CTRL+b d将从此会话脱离,如果要重新连接,则使用tmux attach -t mySession

[图片上传中。。。(36)]范例二:在范例一的mySession中按下CTRL+b c则会在mySession中创建一个新的窗口可以通过CTRL+b w来查看窗口列表,CTRL+b 来切换窗口CTRL+b f来查找窗口,exit来退出窗口

[图片上传中。。。(37)]为了便于穿窗口的识别,还可以通过CTRL+b ,来重命名窗口

[图片上传中。。。(38)]范例三:tmux还支持把窗口分割成多个面板,CTRL+b "为水平分割,CTRL+b %为垂直分割通过CTRL+b 来进行窗口移动

[图片上传中。。。(39)]16. ack命令(Mac)

ack(better than grep)命令的作用和grep类似,但效果更好。

基本格式 ack [option] [pattern]

-w 按单词匹配

--ingore-dir 忽略某些目录

范例一:ack -w 测试 与grep搜索的对比

[图片上传中。。。(40)]17. kill命令

kill命令用于终止指定的进程,其工作原理是通过向进程发送指定的信号。

基本格式 kill [params] [pid]

常用的是:

kill -9 pid //强制终止

-1 Hup 终端断线

-2 INT 中断(同Ctrl+c)

-3 QUIT 退出(同Ctrl+)

-15 TERM 终止,是默认的信号,如果应用本身会捕获该信号,则不能终止

-9 KILL 强制终止

-18 CONT 继续

-19 STOP 暂停(同Ctrl+z)


http://www.ppmy.cn/news/939736.html

相关文章

LeetCode 1493. 删掉一个元素以后全为 1 的最长子数组 - 二分 + 滑动窗口

删掉一个元素以后全为 1 的最长子数组 提示 中等 90 相关企业 给你一个二进制数组 nums ,你需要从中删掉一个元素。 请你在删掉元素的结果数组中,返回最长的且只包含 1 的非空子数组的长度。 如果不存在这样的子数组,请返回 0 。 提示 1&a…

信息学奥赛IO三大法宝

freopen,,fopen,ifstream/ofstream 1. 开始的时候freopen很直观&#xff0c;特别是改熟悉的键盘输入in(屏幕监控)和屏幕输出out,再直接。 xInOut01.cpp # include<cstdio> int main( ){freopen("in.txt", "r", stdin);freopen("out.txt"…

五年级春期计算机教案,五年级下册信息技术教案

第八课 编辑你的文章 教材简析 本课是“文字世界”(上)单元的第二课。教材的内容主要是要求学生掌握文章编辑的基本方法&#xff0c;但这些看似简单的内容却在Office的操作中是至关重要的一部分&#xff0c;同时也是比较实用的内容&#xff0c;因此在课堂上必须要坚持精讲多做的…

2017年计算机二级有什么好处,2017年计算机二级考试备考的五大法宝

导语&#xff1a;导语&#xff1a;考试前如何调整好状态,每个人的一生都在经历各种各样的考试,我们无法逃避,只能沉着应对,调整好自己的状态,无忧考网。炎炎夏日无忧考网为您准备了考前的小绝招&#xff0c;轻松考试&#xff0c;圆满过关。 >>>2017年计算机等级考试备…

股市长线法宝

这是土盐的第104篇原创文章 1 大家好&#xff0c;我是土盐。 坚定持有需要技术和知识&#xff0c;也可以说法宝&#xff0c;投资是自己的事&#xff0c;做好自己。 股市长线法宝&#xff08;原书第5版&#xff09; 杰里米 J.西格尔 224个笔记 1982&#xff5e;2000年的超级大牛…

法宝合成时的五行位置分配是什么

法宝材料的五行位&#xff1a;龙筋 金天蚕丝 金千年阴沉木 木玄龟板 水麒麟血 水补天石 土金凤羽 土内丹的摆放位置&#xff1a;材料金水 内丹土位材料金木 内丹水位材料金土 内丹水位材料木水 内丹火位材料木土 内丹火位材料水土 内丹木位 转载于:https://www.cnblogs.com/wy…

C++初阶 - 3.类和对象(中)

目录 1.类的6个默认成员函数 2.构造函数 2.2特性 3.析构函数 3.1 概念 3.2 特性 4. 拷贝构造函数 4.1 概念 4.2 特征 5.赋值运算符重载 5.1运算符重载 5.2 赋值运算符重载 5.3 前置和后置重载 6.日期类的实现 7.const成员 8.取地址及const取地址操作符重载 1.类…

【Linux工具】编译器、调式器、项目自动化构建工具以及git的使用3(GDB调试器的基础使用)

【Linux工具】编译器、调式器、项目自动化构建工具以及git的使用3&#xff08;GDB调试器的基础使用&#xff09; 目录 【Linux工具】编译器、调式器、项目自动化构建工具以及git的使用3&#xff08;GDB调试器的基础使用&#xff09;背景gdb的一些指令gdb实际运用显示代码运行程…