Java开发常用的Linux命令

一、查找文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件

  1. find . -name "*.xml" 递归查找所有的xml文件
  2. find . -name "*.xml" |xargs grep "hello world" 递归查找所有文件内容中包含hello world的xml文件
  3. grep -v "String" filename 文件中不匹配“String”的行;
  4. grep "String" filename 文件中匹配“String”的行
  5. grep -H 'spring' *.xml 查找所有的包含spring的xml文件
  6. find ./ -size 0 | xargs rm -f & 删除文件大小为零的文件
  7. ls -l | grep '.jar' 查找当前目录中的所有jar文件
  8. grep 'test' d* 显示所有以d开头的文件中包含test的行。
  9. grep 'test' aa bb cc 显示在aa,bb,cc文件中匹配test的行。
  10. grep '[a-z]\{5\}' aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
  11. grep [option] [pattern] [file1,file2]
    grep content show.txt查找show.txt里面包含content的行
  12. command | grep [option] [pattern]
    ps -ef | grep mongo查看某个服务信息
    cat show.txt | grep content查找show.txt里面包含content的行

二、查看一个程序是否运行

  1. ps -ef显示当前所有进程
  2. ps –ef|grep tomcat 查看所有有关 tomcat 的进程
  3. ps aux|grep java 查看 java 进程
  4. ps aux 查看所有进程

三、启动/终止线程

  1. ./startup.sh 启动进程
  2. kill -9 19979 终止线程号为19979的线程

四、端口

1️⃣netstat -ano查看端口是否被占用

说明:

  1. cmd:先用命令提示符 “netstat -ano” 命令显示所有端口状态,找到目标端口对应的PID;
  2. 然后根据该 PID ,输入 “tasklist”命令程序,就可知道其程序名,进而查明程序的来源,采取适当的措施。

2️⃣lsof -i :8080查看端口属于哪个程序

3️⃣nc -zv ip portnc -nvv ip port检查服务器端口是否通

4️⃣ping www.baidu.com查看网络是否连通

5️⃣ ping www.baidu.com -p 80查看端口是否开启

6️⃣netstat -anp|grep 127.0.0.1查看端口

五、查看文件头10行/查看文件尾10行

1️⃣头:head -n 10 demo.txthead -10 demo.txt

2️⃣尾:tail -n 10 demo.txttail -10 demo.txt

3️⃣tail -f demo.log
命令:tail -f
查看文件:demo.log
描述:这个命令会自动显示新增内容,屏幕只显示10行内容(可设置)。可以实时查看文件的最后内容,一般用来实时查看日志。

六、分页查看文件内容

more demo.txt
命令:more
查看文件:demo.txt
描述:分页查看demo.txt的内容

Enter(向下翻滚一行)
空格(向下滚动一屏)
Q(退出命令)
B(向上滚动一屏)

七、查看文件内容

cat demo.txt
命令:cat
查看文件:demo.txt
描述:查看 demo.txt 的内容

八、改变文件或目录的拥有者和组

  • chown user:user src
    变更文件夹src的拥有者为user,用户组为user【其目录下内容不做变更】
  • chown -R root:root src
    变更文件夹src及其目录下所有文件的拥有者为root,用户组为root【其目录下内容全部变更】

九、改变文件或目录的访问权限

权限范围:u(拥有者)、g(郡组)、o(其它用户)。
权限代号:r(读权限/4)、w(写权限/2)、x(执行权限/1)

  1. chmod u+x test.sh
    给文件拥有者增加 test.sh 的执行权限
  2. chmod u+x -R test
    给文件拥有者增加test目录及其下所有文件的执行权限

十、复制/备份文件

  1. cp source dest 复制文件
    命令:cp
    源文件:source
    目标文件:dest
    描述:复制源文件(source)为目标文件(dest)
  2. cp -r sourceFolder targetFolder
    命令:cp -r
    源文件:sourceFolder
    目标位置:targetFolder
    递归复制整个文件夹(sourceFolder文件包括其子文件 )到指定目录(targetFolder)
  3. scp sourecFile romoteUserName@remoteIp:remoteAddr 远程拷贝

远程传输文件 scp。先保证服务器间,ssh间能互相跳转。

命令格式:scp -r 源目录 用户名@ip:目标目录
-r参数的作用是递归复制源目录,及复制目录下的子目录和文件
【copy走】scp -r /souDirectory/souFile tarUser@tarIp:/tarDirectory
【copy来】scp -r souUser@souIp:/souDirectory/souFile /tarDirectory
scp -r ~/app hadoop@hadoop001:~/
scp -r ~/app hadoop@hadoop002:~/
分发环境变量
scp ~/.bash_profile hadoop@hadoop001:~/
scp ~/.bash_profile hadoop@hadoop002:~/

十一、目录/文件的创建与删除

1️⃣mkdir newfolder
命令:mkdir
创建目标:newfolder
描述:在当前目录下创建newfolder目录

ln -s /opt/test ./link2test
描述:创建目录/opt/test的符号链接

2️⃣touch demo.txt
命令:touch
创建目标:demo.txt
描述:在当前目录下创建文件demo.txt

3️⃣rmdir deleteEmptyFolder删除空目录
命令:rmdir
删除目标:deleteEmptyFolder
描述:该命令只能删除空目录

4️⃣删除文件包括其子文件

-r递归删除,-f强制删除。危险操作,务必小心,切记

  • rm -rf deleteFile
    命令:rm -rf
    删除目标:deleteFile
  • rm -rf deleteFile*
    命令:rm -rf
    删除目标:以’deleteFile’开始的所有文件

十二、移动文件

mv /temp/movefile /targetFolder
命令:mv
源文件:/temp/movefile
目标位置:/targetFolder

十三、重命名

mv oldNameFile newNameFile
命令:mv
原名字:oldNameFile
新名字:newNameFile

十四、启动vim编辑器

  • vim三种模式:命令模式,插入模式,编辑模式。使用ESC 或 i 或 :来切换。
  • 命令模式下:
    :q退出;
    :q!强制退出;
    :wq保存退出;
    :set number显示行号
    n 跳到下一关键词
  • 编辑desc.txt文件
    vim desc.txt

1️⃣cat和vi/vim和nano区别

  1. cat是 linux 系统下一个文本打印的命令,用于输出一个文本的信息到控制台上。该命令的输入类似于使用 word 打开一个文档,但是该文档不能编辑。

  2. vi/vim是 linux 系统下用于文本查看、编辑的命令,不仅仅可以查看,还可以编辑。

  3. nano类似于vim命令的功能,命令语句为:nano p(打开p文件)

2️⃣vi和vim区别

  1. vi 不需要安装,打开代码,颜色一样(黑色)
  2. vim 需要额外安装,打开代码,用颜色区分代码

十五、uniq

对内容去重,只把相邻且相同的去重,如果想要全局去重,需要先用sort排序

cat fileName | sort | uniq文件排序并去重
cat file | sort | uniq -c文件排序并去重,且输出每行出现的次数

十六、sort

cat fileName | sort对内容进行排序,数据按字典序排列,如果想按数值排,加-n选项

十七、wc

wc -l fileName文件里有多少行
wc -w fileName文件有多少个单词
wc -c fileName文件有多少个字节
wc -m fileName文件有多少个字符
cat fileName | wc -l可以和管道符结合使用

十八、服务启停

nohup java -jar java-service.jar当账户退出或终端关闭时,程序仍然运行。
java -jar java-service.jar > log.txt &命令结尾&,表示在当前ssh窗口,可按ctrl+c打断程序运行,或者关闭窗口时,程序直接退出。其中>指的是日志文件输出的地方。
nohup java -jar java-service.jar > log.txt &后台进程,可以用ctrl+c跳出刷屏。
setsid java -jar java-service.jar-----➕setsid 后台进程
docker start/stop/restart tomcat
docker start/stop/restart zookeeper
docker start/stop/restart redis
docker start/stop/restart rabbitmq
docker start/stop/restart mysql

如果当前系统 jdk 版本不是所需,可指定 jdk 版本执行,也可以指定端口以替换默认端口:
/home/jdk1.8/bin/java -jar java-service.jar --server.port=8888

十九、查看文件,包含隐藏文件

ls -alls -la
显示当前目录下所有文件的详细信息

二十、ls -lrth

  1. ls -lrth【-lrth 实际上是代表了 “-l -r -t -h” 这四个选项集合】
    按修改时间正序列出当前工作目录下的所有文件的详细信息。
    ls -lth
    按修改时间倒序列出当前工作目录下的所有文件的详细信息。

  2. ls -lh【按文件名首字母正序排列,同时显示文件的大小】
    ls -lrh【按文件名首字母倒序排列,同时显示文件的大小】
    如果文件大小大于或者接近于 1G,那么就会以 GB 为单位显示。如果大小接近 Mb,则会按照 Mb 为单位显示,以此类推。

ls demo* -lrt【列出当前目录下 demo开头的文件】

常用参数:

二十一、显示系统当前进程信息/查看内存的使用情况

free 或者 top

free命令可以看到内存以及缓存的使用情况,如下:
total 总内存
used 已用内存
free 空闲内存
buff/cache 已使用的缓存
avaiable 可用内存

已使用的缓存(buff/cache)的命令:sync; echo 3 > /proc/sys/vm/drop_caches
线上执行这条命令不好!!!

二十二、查看磁盘空间使用情况

  • df -h 查看磁盘空间使用情况

  • du -h /opt/test 查看/opt/test目录的磁盘使用情况

二十三、文件下载

wget http://file.tgz mac下安装wget命令 curl http://file.tgz

wget 文件地址下载文件

二十四、远程登录

ssh userName@ip

二十五、打印信息

echo $JAVA_HOME打印 java home 环境变量的值

二十六、关机或重启

  • shutdown -h now
    立刻关机
  • shutdown -r -t 60
    60秒后重启

二十七、以树状图列出目录的内容

tree a ps: Mac下使用tree命令

二十八、使用超级管理员身份执行命令

sudo rm a.txt 使用管理员身份删除文件

1️⃣sudo 表示 superuser do。 它允许已验证的用户以其他用户的身份来运行命令。其他用户可以是普通用户或者超级用户。大部分时候用它来以提升的权限来运行命令。

2️⃣在 linux 中通过 su 可以在用户之间切换。超级权限用户 root 向普通或虚拟用户切换不需要密码,而普通用户切换到其它任何用户都需要密码验证。su 为switch user,即切换用户的简写。格式为两种:

  1. su -l USERNAME(-l 为 login,即登录的简写)
  2. su USERNAME

如果不指定 USERNAME(用户名),默认为 root,所以切换到 root 身份的命令即为:su -root 或 su root 或 su - 或 su

3️⃣su USERNAME,与su - USERNAME的区别

  1. su -USERNAME切换用户后,同时切换到新用户的工作环境中。
  2. su USERNAME切换用户后,不改变原用户的工作目录,及其他环境变量目录。

二十九、帮助命令

  1. man ls查看 ls 命令的帮助文档
  2. man java查看 java 命令的帮助文档
  3. man git查看 git 命令的帮助文档

三十、java 常用命令

java javac jps , jstat , jmap , jstack

三十一、jps

jps(Java Virtual Machine Process Status Tool)是 java 提供的一个显示当前所有 java 进程 pid 的命令,适合在 linux/unix 平台上简单查看当前 java 进程的一些简单情况。

使用 jps 要先安装 jdk(jps 是 jdk 自带的命令)。jps 类似 linux 的 ps 命令,不同的是 ps 是用来显示进程,而 jps 只显示 java 进程,准确的说是当前用户已启动的部分 java 进程信息,信息包括进程号和简短的进程 command。

提示:曾经遇到一个这样的问题:一个 nagios 插件用 jps 监控 java 进程。结果得不到 java 进程信息。这是由于 jps 只能显示当前用户的 java 进程,而执行插件的用户是 nagios,所以显示不了其他用户的 java 进程。

jps 的作用是显示当前系统的 java 进程情况及其 pid 号。可以通过它来查看到底启动了哪些 java 进程(因为每一个 java 程序都会独占一个 java 虚拟机实例)以及进程 PID。并可通过 opt 来查看这些进程的详细启动参数。

命令格式:jps [options] [hostid]

[options]选项 :

  1. -q:仅输出 VM 标识符,不包括classname、jar name、arguments in main method
  2. -m:输出 main method 的参数。
  3. -l:输出完全的包名,应用主类名,jar的完全路径名。
  4. -v:输出 jvm 参数。
  5. -V:输出通过 flag 文件传递到 JVM 中的参数(.hotspotrc文件或-XX:Flags=所指定的文件)。
  6. -J:传递参数到 vm。例如:-J-Xms512m

三十二、jar 包的生成与解压

  1. jar cf demo.jar demo创建jar包
    命令:jar cf
    源文件:demo

  2. jar cvf demo.jar demo创建jar包并显示打包过程
    命令:jar cvf
    源文件:demo

  3. tar -zxvf demo.jar解压缩 demo.jar
    命令:tar -zxvf
    源文件:demo.jar

三十三、war 包的生成与解压

  1. jar -cvf target.war ./source
    命令:jar -cvf
    源文件:source
    生成文件:target.war

  2. unzip source.war -d targetFile
    命令:unzip
    源文件:source.war
    -d:解压到文件夹targetFile

三十四、zip 包的生成与解压

  1. zip -r demo.zip demo生成 demo.zip
    命令:zip -r
    源文件:demo

  2. unzip demo.zip解压缩 demo.zip
    命令:unzip
    源文件:demo.zip

  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 1. cd:切换目录 2. ls:列出目录下的文件和子目录 3. pwd:显示当前目录的路径 4. mkdir:创建目录 5. rm:删除文件或目录 6. cp:复制文件或目录 7. mv:移动文件或目录 8. cat:查看文件内容 9. grep:查找文件中的指定字符串 10. chmod:修改文件或目录的权限 11. chown:修改文件或目录的所有者 12. tar:打包和解压缩文件 13. ps:查看进程信息 14. top:实时查看系统资源占用情况 15. netstat:查看网络连接状态 16. ping:测试网络连接 17. ifconfig:查看和配置网络接口信息 18. ssh:远程登录到另一台计算机 19. scp:在计算机之间复制文件 20. curl:从命令行访问Web服务。 ### 回答2: 作为一个开发人员,我们通常需要使用各种工具和技术来完成我们的工作。其中一个常见的技术是通过使用Linux命令Java环境下进行开发工作。以下是一些常见的Linux命令,它们在Java开发中非常有用: 1. cd命令:cd命令用于切换当前工作目录。当我们需要切换到一个新的文件或目录时,我们可以使用该命令。例如,如果我们需要切换到Java项目的工作目录,可以使用“cd”命令以进入项目根目录。 2. ls命令:ls命令用于列出当前目录中的所有文件和目录。我们可以使用该命令来查看当前目录中所有Java文件的列表。 3. cat命令:cat命令用于将文件的内容显示在屏幕上。我们可以使用该命令来查看Java文件的内容。 4. touch命令:touch命令用于创建一个新的空文件或更新一个已经存在的文件的时间戳。该命令对于创建新的Java文件或更新现有的文件非常有用。 5. cp命令:cp命令用于将文件或目录从一个位置复制到另一个位置。该命令对于复制Java文件或整个项目非常有用。 6. mv命令:mv命令用于将文件或目录从一个位置移动到另一个位置。该命令对于移动Java文件或整个项目非常有用。 7. rm命令:rm命令用于删除文件或目录。该命令对于清理Java项目或删除不再需要的文件非常有用。 8. mkdir命令:mkdir命令用于创建一个新的目录。该命令对于创建Java项目或将其组织到不同的目录中非常有用。 9. rmdir命令:rmdir命令用于删除一个目录。该命令对于删除Java项目中不再需要的目录非常有用。 以上是一些在Java开发常用Linux命令。随着您的经验和技能的增长,您可能会发现更多的有用命令。在使用命令之前,请务必牢记其作用和用法,以避免意外删除或更改您的文件和目录。 ### 回答3: Java开发常用Linux命令有很多,以下是一些常见的Linux命令及其作用: 1. cd命令:改变当前所在目录。 2. ls命令:查看当前目录中的文件和子目录。 3. mkdir命令:创建新的目录。 4. touch命令:创建新的空文件。 5. cp命令:复制文件或目录。 6. mv命令:移动文件或目录。 7. rm命令:删除文件或目录。 8. cat命令:查看文件内容。 9. grep命令:在文件中查找匹配的内容。 10. find命令:在文件系统中搜索文件或目录。 11. tar命令:压缩和解压缩文件或目录。 12. top命令:显示系统中正在运行的进程和资源使用情况。 13. ps命令:显示系统中正在运行的进程和状态信息。 14. kill命令:杀死一个正在运行的进程。 15. su命令:切换到超级用户账户。 以上是一些Java开发常用Linux命令开发人员们可以灵活运用这些命令,在Linux环境中进行快速的开发工作,并且节省大量的时间和精力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JFS_Study

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值