作为一个JAVA开发人员,有些常用的linux命令必须掌握。即使平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令。因为很多服务器上都是Linux系统。所以,要和服务器机器交互,就要通过shell命令。
本文并不会对所有命令进行详细讲解,只给出常见用法和解释。具体用法可以使用--help查看帮助或者直接通过google搜索学习。
必会Linux命令清单
find / -name filename.txt 根据名称查找/目录下的filename.txt文件。
find . -name "*.xml" 递归查找所有的xml文件
find . -name "*" |xargs grep "hello" 递归查找所有文件内容中包含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个连续小写字符的字符串的行。
ps –ef|grep Tomcat 查看所有有关tomcat的进程
ps -ef|grep --color java 高亮要查询的关键字
kill -9 19979 终止线程号位19979的进程
ls -al
pwd
cp source dest 复制文件
cp -r sourceFolder targetFolder 递归复制整个文件夹
scp sourecFile name@ip:addr 远程拷贝
mkdir newfolder
rmdir deleteEmptyFolder 删除空目录
rm -rf deleteFile 递归删除目录中所有内容
mv /temp/movefile /targetFolder
mv oldNameFile newNameFile
su -username
chmod 777 file.java file.java的权限-rwxrwxrwx,r表示读、w表示写、x表示可执行
tar -czf test.tar.gz /test1 /test2
tar -tzf test.tar.gz
tar -xvzf test.tar.gz
head -n 10 example.txt
tail -n 10 example.txt
tail -f exmaple.log 这个命令会自动显示新增内容,屏幕只显示10行内容的(可设置)。
sudo rm a.txt 使用管理员身份删除文件
netstat -tln | grep 8080 查看端口8080的使用情况
lsof -i :8080
ps aux|grep java 查看java进程
ps aux 查看所有进程
tree a
PS:Mac下使用tree命令
wget http://file.tgz
PS :Mac下安装wget命令
curl http://file.tgz
ping www.just-ping.com
ssh userName@ip
echo $JAVA_HOME 打印java home环境变量的值
java
javac
javap
jps
jstat
jmap
jstack
svn
git
maven
Linux命令学习网站
http://explainshell.com/
是一名Java程序员,最近发现有很多头条的同学在学习Java的时候,感觉学的没有方向,越学越迷茫,这样的情况一般都是学习方法开始就是错误的。没有把Java技术进行专业系统化的学习。从就业和节约时间的角度考虑,如果有谁遇到这方面的问题,可以随时问我,因为我做Java也比较久了,对于这些问题比较了解。
你们可以关注我的头条号并在后台私信我:Java,里面有Java学习圈子的交流地址,有任何问题随时问我,也可以跟大家交流,不要一个人盲目的学,少走弯路才是学习Java最大的捷径。