作为java开发人员,经常会与linux服务器打交道,而要操作linux,就需要知道一些常用的命令,下面我结合平时开发过程中经常用到的linux命令,进行一下汇总,如下:
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个连续小写字符的字符串的行。
zcat oms_10.32.0.112_2018-02-01.tar.gz|grep -a -C 20 ‘YH01000192670’ --color=auto 表示查询压缩包里匹配的行前后20行的数据并标红
cat gzidc:tms.log|grep -C 20 ‘WI9900001296’ --color=auto 表示查询文件里匹配的行前后20行的数据并标红
find /usr/local/applogs/ -name “openapi.2018-02-05*”|xargs grep 07017863814C813EB869F9983B598810 > /home/winit/result.txt 查询openapi.2018-02-05开头的文件,并包含07017863814C813EB869F9983B598810,查询结果放到临时文件
2、查看一个程序是否运行
ps –ef|grep tomcat 查看所有有关tomcat的进程
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
rmdir deleteEmptyFolder 删除空目录 rm -rf deleteFile 递归删除目录中所有内容
8、移动文件
mv /temp/movefile /targetFolder
9、重命令
mv oldNameFile newNameFile
10、切换用户
su -username
11、修改文件权限
chmod 777 file.java //file.java的权限-rwxrwxrwx,r表示读、w表示写、x表示可执行
12、压缩文件、解压文件
tar -czf test.tar.gz /test1 /test2
tar -xvzf test.tar.gz
tar -tzf test.tar.gz
13、查看文件头10行 或者尾10行##
head -n 10 example.txt
tail -n 10 example.txt
14、查看日志类型文件
tail -f exmaple.log //这个命令会自动显示新增内容,屏幕只显示10行内容的(可设置)。
15、使用超级管理员身份执行命令
sudo rm a.txt 使用管理员身份删除文件
16、查看端口占用情况
netstat -tln | grep 8080 查看端口8080的使用情况
17、查看端口属于哪个程序
lsof -i :8080
18、查看进程
ps aux|grep java 查看java进程
ps aux 查看所有进程
19、以树状图列出目录的内容
tree a
20、文件下载
wget http://file.tgz
curl http://file.tgz