【开发常用】Java开发必看
# 【开发常用】Java开发必看
# 文件查找相关
# 通过名称
find / -name filename.txt
根据名称查找/目录下的filename.txt文件。
find . -name "*.xml"
递归查找所有的xml文件
# 根据内容
grep -Hn 'spring' *.xml
用于在当前目录下搜索所有扩展名为 .xml 的文件,并查找包含字符串 spring 的,-n,表示显示行号。
执行过程
- 匹配文件:
*.xml会匹配当前目录下所有扩展名为.xml的文件。- 搜索内容:
grep会在每个匹配的文件中搜索包含spring的行。- 输出结果:对于每个匹配的行,
grep会输出文件名和该行的内容。文件名和行内容之间通常用冒号:分隔。扩展
-H:这个选项强制grep在输出中显示文件名。即使只有一个文件被搜索,文件名也会显示在匹配的行前面。
grep -rH 'spring' /path/to/directory --include=*.xml
如果您想在特定目录中执行 grep 命令,可以使用 -r 或 -R 选项来递归搜索该目录中的所有文件。
grep 'test' d*
显示所有以d开头的文件中包含test的行。
grep '[a-z]\{5\}' aa
命令用于在文件 aa 中搜索包含恰好 5 个小写字母的单词。
# 程序相关
# 查看指定程序
ps –ef|grep java
查看所有有关java的进程
注意:当你运行 ps -ef | grep java 时,grep 命令本身也会出现在 ps -ef 的输出中,因为它也是一个正在运行的进程。grep 命令的行会包含 java 关键字,因此会被 grep 自身捕获。
所以,即使没有java进程,使用该命令后,仍会显示有一个java进程。
如果你想避免上述情况,可以使用如下命令:
ps -ef|grep [j]ava
这里的 [j]ava 是一个正则表达式,表示匹配 java,但不匹配 grep 命令本身。grep 会将 [j]ava 解释为 java,但 grep 命令本身不会包含 [j]ava,因此不会被匹配到。
ps -ef:
ps是一个用于显示当前进程状态的命令。-e选项表示显示所有进程。-f选项表示使用全格式输出,包括用户 ID、进程 ID、父进程 ID、CPU 使用率、内存使用率等详细信息。
grep java:
grep是一个用于在文本中搜索指定模式的工具。java是要搜索的模式,表示查找包含java的行。
# 查看并高亮指定程序
ps -ef|grep --color java
高亮要查询的关键字,这里为java,不过如今,有些工具会自动高亮
# 强制终止程序
kill -9 19979
强制终止线程号位19979的进程
# 文件操作
# 复制文件
cp source dest
复制文件
cp -r sourceFolder targetFolder
递归复制整个文件夹
# 移动文件
mv /temp/movefile /targetFolder
# Java程序相关
# 发布程序
nohup java -jar /path/to/deploy/myapp.jar > /path/to/deploy/myapp.log 2>&1 &
在后台运行 Java 应用程序,并将标准输出和标准错误输出重定向到同一个日志文件。
nohup:nohup 使进程在用户注销后继续运行。如果没有指定输出文件,nohup 会将输出重定向到 nohup.out 文件。
java -jar /path/to/deploy/myapp.jar:运行指定的 jar 文件。
> /path/to/deploy/myapp.log:将标准输出(stdout)重定向到 /path/to/deploy/myapp.log 文件。
2>&1:将标准错误(stderr)重定向到标准输出(stdout),从而将标准输出和标准错误都重定向到同一个文件 /path/to/deploy/myapp.log`。
&:将命令放在后台运行,使终端可以继续接受其他命令。
使用以上命令,有个前提,你需要安装java环境,毕竟你使用的是java
# 指定内存大小发布项目
常用的 JVM 内存参数
-Xms:设置初始堆内存大小。-Xmx:设置最大堆内存大小。-Xss:设置每个线程的堆栈大小。
java -Xms512m -Xmx1g -Xss1m -jar /path/to/deploy/myapp.jar
设置初始堆内存为 512MB,最大堆内存为 1GB,并将每个线程的堆栈大小设置为 1MB,可以使用以上命令。
# 查看项目日志
实际工作中,其实有些文件我们只需要看最近的一部分内容即可(如果内容按照时间排序,比如日志),我们只需要看该文件的尾部那部分。
tailf app.xml
实时查看文件的最新内容,类似于 tail -f 命令,显示文件的最后几行(通常是 10 行)
tailf是一个命令,用于实时显示文件的最新内容。它会持续监控文件的变化,并在文件内容更新时立即显示新的行。
tailf实际上是tail -f的别名,两者功能相同。
tail -f -n 20 application.xml
实时显示文件的最后 20 行。
要停止 tailf 或 tail -f,可以按 Ctrl + C 终止命令。
grep '20' app.xml |grep 'spring'
用于在 app.xml 文件中查找同时包含 20 和 spring 的行
grep -C 3 'spring' app.xml
查找包含指定模式的行,并显示该行及其上下文行。-C 选项指定了要显示的上下文行数
查找包含 spring 的行,并显示每行前后各三行的上下文