awk grep sed sort curl Linux常用的终端命令总结

grep查找行 sort排序 sed编辑 awk处理

ps -ef|grep java 查看所有包含关键字java的进程

ps aux|grep java 查看所有包含关键字java的进程,显示详细的运行信息

ps –ef|grep tomcat 查看所有有关tomcat的进程

ps aux 查看所有进程, 显示详细运行信息

kill -9 19979 终止线程号位19979的进程

ls -al 查看当前目录文件,包含隐藏文件

pwd 查看当前所在目录

修改权限: chmod 777 file.java //file.java的权限-rwxrwxrwx,r表示读、w表示写、x表示可执行

java常用命令

java javac jps ,jstat ,jmap, jstack

jps:显示当前所有java进程pid的命令。其他命令往往需要先通过jps命令获取java进程的pid。

jstat + pid: 用于监控虚拟机各种运行状态信息的命令行工具。他可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据

jmap + pid:打印java堆相关的各种信息。当服务发生GC问题时,一般会使用jmap工具进行分析。

jstack + pid:打印Java栈相关各种信息。jstack用于生成java虚拟机当前时刻的线程快照。

awk命令详解

awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。

awk支持各种编程命令!详见链接

类比: awk–SQL中的Concat grep–SQL中的Select

awk '{pattern + action}' {filenames} //用法
ls | awk '{print $1}' //用|隔开与命令连用
last -n 5 | awk  '{print $1}'

#awk -F: '/root/' /etc/passwd //搜索/etc/passwd文件中有root关键字的所有行
	//root:x:0:0:root:/root:/bin/bash

awk工作流程是这样的:先执行BEGING,然后读取文件,读入有/n换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域, 1 , 1表示第一个域, n表示第n个域,随后开始执行模式所对应的动作action。接着开始读入第二条记录······直到所有的记录都读完,最后执行END操作。

sed命令

Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

Linux sed命令是利用script来处理文本文件。sed可依照script的指令,来处理、编辑文本文件。

sed -e 4a\newLine testfile //在文件testfile第四行添加内容newLine
nl /etc/passwd | sed '2d' //删除文件第二行
nl /etc/passwd | sed '2,5d' //删除第2到5行
nl /etc/passwd | sed '2,$d' //删除第2到最后行
nl /etc/passwd | sed '2a drink tea'//在第二行后添加行
a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

grep

Linux grep命令用于查找文件里符合条件的字符串。

grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

grep -H 'spring' *.xml 查找所以有的包含spring的xml文件

grep 'test' d* 显示所有以d开头的文件中包含test的行。

grep 'test' aa bb cc 显示在aa,bb,cc文件中匹配test的行。

grep '[a-z]\{5\}' aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

sort

Linux sort命令用于将文本文件内容加以排序。

sort可针对文本文件的内容,以行为单位来排序

按照每行首字母ASCII编码来排序, 汉字也可按照读音字母顺序排序,汉字行排在字母行之后

sort mi.txt //将mi.txt内容按行首字母的编码次序来排

curl

在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。处理http请求。

curl http://www.linux.com >> linux.html  //使用linux重定向功能保存访问的网页
 curl -o linux.html http://www.linux.com //使用curl的内置option:-o(小写)保存网页

还有诸如代理,cookie等等功能。

head& tail

默认是显示文本开头前10行。

head /etc/passwd

显示开头前k行。

head -k /etc/passwd
head -n k /etc/passwd(注意和下面的有-的区别)
head -n +k /etc/passwd

除最后k行外,显示剩余全部内容。

head -n -k /etc/passwd

cp 复制

cp source destination
cp mi.txt ~/a

mv 粘贴

将文件 aaa 更名为 bbb :

mv aaa bbb

将info目录放入logs目录中。注意,如果logs目录不存在,则该命令将info改名为logs。

mv info/ logs 

再如将/usr/student下的所有文件和目录移到当前目录下,命令行为:

$ mv /usr/student/*  . 
命令格式 运行结果
mv 文件名 文件名 将源文件名改为目标文件名
mv 文件名 目录名 将文件移动到目标目录
mv 目录名 目录名 目标目录已存在,将源目录 移动到目标目录;目标 目录不存在则改名
mv 目录名 文件名 出错

ps

显示进程信息

ps
ps -u root //显示root进程用户信息
ps -ef //显示所有进程信息,连带命令行
ps -ef|grep java //所有的java所有进程

常见参数

  • USER: 进程拥有者
  • PID: pid
  • TTY: 终端的次要装置号码 (minor device number of tty)
  • TIME: 执行的时间
  • COMMAND:所执行的指令

小命令

cat 命令用于连接文件并打印到标准输出设备上。

more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。

猜你喜欢

转载自blog.csdn.net/whichard/article/details/88123510