作为一个Java开发人员,有些常用的Linux命令必须掌握。即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令。因为很多服务器上都是Linux系统。所以,要和服务器机器交互,就要通过shell命令。
本文并不会对所有命令进行详细讲解,只给出常见用法和解释。具体用法可以使用--help
查看帮助或者直接通过google搜索学习。
1.查找文件
###根据名称查找/目录下的filename.txt文件。find / -name filename.txt
###递归查找所有的xml文件find . -name "*.xml"
###递归查找所有文件内容中包含hello world的xml文件find . -name "*.xml" |xargs grep "hello world"
###在当前目录下*.htaccess文件中,包含697_QC_Loader写入到cqtest.txt中find . -name "*.htaccess" | xargs grep "697_QC_Loader" > ./cqtest.txt
###查找所以有的包含spring的xml文件grep -H 'spring' *.xml
###找出当前目录下包含SHRAIL:18654:的文件列表,然后删除grep -lnr "SHRAIL\:18654\:" ./* |xargs rm -rf
###删除文件大小为零的文件find ./ -size 0 | xargs rm -f &
###查找当前目录中的所有jar文件ls -l | grep '.jar'
###显示所有以d开头的文件中包含test的行。grep 'test' d*
###显示在aa,bb,cc文件中匹配test的行。grep 'test' aa bb cc
###显示所有包含每个字符串至少有5个连续小写字符的字符串的行。grep '[a-z]\{5\}' aa
2.查看一个程序是否运行
ps –ef|grep tomcat ##查看所有有关tomcat的进程ps -ef|grep --color java ##高亮要查询的关键字
3.终止线程
kill -9 19979 ##终止线程号位19979的进程
4.查看文件,包含隐藏文件
ls -al ./ ##./是查看当前目录下
5.当前工作目录
pwd
6.创建软链接link
ln -s /usr/Middleware/user_projects/domains/serviceex_domain/bin/st.sh st ln -s /home/weblogic/ /zjw/
7.复制文件
cp source dest ##复制文件cp -r sourceFolder targetFolder ##递归复制整个文件夹scp sourecFile romoteUserName@remoteIp:remoteAddr ##远程拷贝
8.创建目录
mkdir newfolder mkdir -p newfolder1/newfolder2/newfolder3 ##批量创建
9.删除目录
rmdir deleteEmptyFolder ##删除空目录 rm -rf deleteFile ##递归删除目录中所有内容
10.移动文件
mv /temp/movefile /targetFolder
11.重命令
mv oldNameFile newNameFile
12.切换用户
su -username
13.修改文件权限
chmod 777 file.java //file.java的权限-rwxrwxrwx,r表示读、w表示写、x表示可执行
14.压缩文件
tar -czf test.tar.gz /test1 /test2
15.列出压缩文件列表
tar -tzf test.tar.gz
16.解压文件
tar -xvzf test.tar.gz
17.查看文件头10行
head -n 10 example.txt
18.查看文件尾10行
tail -n 10 example.txt
19.查看日志类型文件
tail -f exmaple.log ##这个命令会自动显示新增内容,屏幕只显示10行内容的(可设置)。less exmaple.log ##这个命令会会分页显示内容,可以用不同的指令光标移到最后一行 Shift+G##进行向上搜 ?exmaple、向下搜 /exmaple。more exmaple.log ##这个命令会会分页显示内容,可以用不同的指令进行向上搜、向下搜。
20.使用超级管理员身份执行命令
sudo rm a.txt ##使用管理员身份删除文件
21.查看端口占用情况
netstat -tln | grep 8080 查看端口8080的使用情况
22.查看端口属于哪个程序
lsof -i :8080
23.查看进程
ps aux|grep java ##查看java进程ps aux ##查看所有进程
24.以树状图列出目录的内容
tree a
ps:
25. 文件下载
wget http://file.tgzcurl http://file.tgz
26. 网络检测
ping www.just-ping.com
27.远程登录
ssh userName
28.打印信息
echo $JAVA_HOME
打印java home环境变量的值
29.java 常用命令
java javac , ,,
30.其他命令
svn git maven