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表示第一个域, 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 。