Java开发必会的Linux命令
作为一个Java开发人员,有些常用的Linux命令必须掌握。即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令。因为很多服务器上都是Linux系统。所以,要和服务器机器交互,就要通过shell命令。
本文并不会对所有命令进行详细讲解,只给出常见用法和解释。具体用法可以使用--help
查看帮助或者直接通过google搜索学习。
1.查找文件find / -name filename.txt
根据名称查找/目录下的filename.txt文件。find . -name "*.xml"
递归查找所有的xml文件find . -name "*.xml" |xargs grep "hello world"
递归查找所有文件内容中包含hello world的xml文件grep -H 'spring' *.xml
查找所以有的包含spring的xml文件find ./ -size 0 | xargs rm -f &
删除文件大小为零的文件ls -l | grep '.jar'
查找当前目录中的所有jar文件grep 'test' d*
显示所有以d开头的文件中包含test的行。grep 'test' aa bb cc
显示在aa,bb,cc文件中匹配test的行。grep '[a-z]\{5\}' aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
2.查看一个程序是否运行ps –ef|grep tomcat
查看所有有关tomcat的进程ps -ef|grep --color java
高亮要查询的关键字
3.终止线程kill -9 19979
终止线程号位19979的进程
4.查看文件,包含隐藏文件ls -al
5.当前工作目录pwd
6.复制文件cp source dest
复制文件cp -r sourceFolder targetFolder
递归复制整个文件夹scp sourecFile romoteUserName@remoteIp:remoteAddr
远程拷贝
7.创建目录mkdir newfolder
8.删除目录rmdir deleteEmptyFolder
删除空目录 rm -rf deleteFile
递归删除目录中所有内容
9.移动文件mv /temp/movefile /targetFolder
10.重命名mv oldNameFile newNameFile
11.切换用户su -username
12.修改文件权限chmod 777 file.java
//file.java的权限-rwxrwxrwx,r表示读、w表示写、x表示可执行
13.压缩文件tar -czf test.tar.gz /test1 /test2
14.列出压缩文件列表tar -tzf test.tar.gz
15.解压文件tar -xvzf test.tar.gz
16.查看文件头10行head -n 10 example.txt
17.查看文件尾10行tail -n 10 example.txt
18.查看日志类型文件tail -f exmaple.log
//这个命令会自动显示新增内容,屏幕只显示10行内容的(可设置)。
19.使用超级管理员身份执行命令sudo rm a.txt
使用管理员身份删除文件
20.查看端口占用情况netstat -tln | grep 8080
查看端口8080的使用情况
21.查看端口属于哪个程序lsof -i :8080
22.查看进程ps aux|grep java
查看java进程ps aux
查看所有进程
23.以树状图列出目录的内容tree a
在Mac OSX 系统默认是没有类似windows中的 tree命令,找到一条比较有意思的命令可以实现:
find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
为了方便使用,写一个alias 到~/.profile里:
alias tree="find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'"
写完之后记得source ~/.profile噢
相关文章