【开发常用】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
的行,并显示每行前后各三行的上下文