专业的JAVA编程教程与资源

网站首页 > java教程 正文

[超全整理] Java 程序员必备的 100 条 Linux 命令大全

temp10 2025-07-07 22:55:55 java教程 2 ℃ 0 评论

一、基础操作(10条)

# 1. ls - 查看目录内容
ls -l  # 长格式显示文件和目录
ls -a  # 显示隐藏文件
ls -lh  # 带单位显示文件大小

# 2. cd - 切换目录
cd /opt  # 进入/opt目录
cd ..    # 返回上级目录
cd ~     # 回到用户家目录

# 3. pwd - 显示当前路径
pwd  # 输出:/home/user

# 4. mkdir - 创建目录
mkdir project  # 创建project目录
mkdir -p a/b/c  # 递归创建多级目录

# 5. rm - 删除文件/目录
rm file.txt  # 删除文件
rm -rf dir    # 强制递归删除目录

# 6. cp - 复制文件/目录
cp src.txt dst/  # 复制文件到目录
cp -r src/ dst/  # 递归复制目录

# 7. mv - 移动/重命名文件
mv file.txt new.txt  # 重命名文件
mv src/ dir/         # 移动目录

# 8. touch - 创建空文件或更新时间戳
touch log.txt  # 创建空文件

# 9. cat - 查看文件内容
cat config.properties  # 显示文件全部内容

# 10. echo - 输出内容或变量
echo "Hello World"  # 输出文本
echo $JAVA_HOME     # 输出环境变量值

二、文件编辑(8条)

# 11. vim - 文本编辑器
vim app.java  # 编辑Java文件
# 进入后按i进入编辑模式,编辑完成后按Esc,输入:wq保存并退出

# 12. nano - 简易编辑器
nano readme.txt  # 编辑文本文件

# 13. more/less - 分页查看大文件
less log.txt  # 分页查看日志文件
# 按/搜索关键词,n下一个,N上一个,q退出

# 14. head/tail - 查看文件首尾内容
head -n 10 log.txt  # 显示前10行
tail -f app.log     # 实时监控文件追加内容

# 15. grep - 文本搜索
grep "ERROR" log.txt  # 搜索包含ERROR的行
grep -i "java" file.txt  # 忽略大小写搜索

# 16. sed - 文本替换
sed -i 's/old/new/g' file.txt  # 将文件中所有old替换为new

# 17. awk - 文本处理
awk '{print $1}' file.txt  # 打印每行第一列

# 18. diff - 比较文件差异
diff file1.txt file2.txt  # 显示两个文件的不同之处

三、权限与用户管理(8条)

# 19. chmod - 修改文件权限
chmod +x script.sh  # 添加执行权限
chmod 755 app.jar   # 精确设置权限(rwxr-xr-x)

# 20. chown - 修改文件所有者
chown user:group file.txt  # 修改所有者和组

# 21. useradd/userdel - 管理用户
useradd dev  # 创建新用户
userdel -r dev  # 删除用户及其家目录

# 22. passwd - 修改密码
passwd root  # 修改root用户密码

# 23. su/sudo - 切换用户/以管理员执行
su - user    # 切换到user用户
sudo yum install java  # 以root权限安装Java

# 24. id - 查看用户信息
id user  # 显示用户ID、组ID等信息

# 25. groups - 查看用户所属组
groups user  # 列出用户所属的所有组

# 26. whoami - 显示当前用户
whoami  # 输出当前登录的用户名

四、进程管理(10条)

# 27. ps - 查看进程状态
ps -ef  # 显示所有进程
ps aux | grep java  # 过滤Java进程

# 28. top - 实时监控进程资源
top  # 动态显示系统进程资源占用
# 按q退出,按M按内存排序,按P按CPU排序

# 29. htop - 交互式进程监控
htop  # 比top更直观的进程监控工具(需安装)

# 30. kill/killall - 终止进程
kill 1234  # 终止进程ID为1234的进程
kill -9 1234  # 强制终止进程
killall java  # 终止所有Java进程

# 31. pkill - 按名称终止进程
pkill -f "java -jar app.jar"  # 终止包含指定字符串的进程

# 32. nice/renice - 调整进程优先级
nice -n 10 java -jar app.jar  # 以较低优先级启动进程
renice 10 1234  # 将进程ID为1234的进程优先级调整为10

# 33. jps - 查看Java进程
jps -l  # 显示Java进程ID和主类名

# 34. jstat - 监控JVM统计信息
jstat -gc 1234  # 查看进程1234的GC情况

# 35. jstack - 打印JVM线程堆栈
jstack 1234 > stack.txt  # 将线程堆栈导出到文件

# 36. jmap - 生成JVM堆转储
jmap -dump:format=b,file=heap.hprof 1234  # 生成堆转储文件

五、网络操作(12条)

# 37. ping - 测试网络连通性
ping www.google.com  # 测试与Google的连接

# 38. traceroute - 追踪网络路径
traceroute www.example.com  # 显示到目标的路由路径

# 39. ifconfig/ip - 查看网络接口
ifconfig eth0  # 查看eth0接口信息
ip addr show   # 显示所有网络接口信息

# 40. netstat/ss - 查看网络连接和端口
netstat -tulpn  # 显示所有监听端口和连接
ss -tulpn       # 更高效的网络连接查看工具

# 41. curl - 发送HTTP请求
curl https://api.example.com  # 发送GET请求
curl -X POST -d 'data=123' https://api.example.com  # 发送POST请求

# 42. wget - 下载文件
wget https://example.com/file.zip  # 下载文件

# 43. ssh - 远程登录
ssh user@host  # 登录远程主机
ssh -i key.pem user@host  # 使用密钥登录

# 44. scp - 远程文件传输
scp local.txt user@host:/path/  # 上传文件
scp user@host:/path/remote.txt .  # 下载文件

# 45. sftp - 安全文件传输协议
sftp user@host  # 连接到远程主机
# 进入后使用put上传,get下载

# 46. nslookup/dig - DNS查询
nslookup google.com  # 查询域名对应的IP
dig +short google.com  # 只显示IP结果

# 47. telnet - 测试端口连通性
telnet host 8080  # 测试主机的8080端口是否开放

# 48. nc - 网络工具
nc -z host 8080  # 扫描端口
nc -l 8080  # 监听8080端口

六、系统信息(8条)

# 49. uname - 查看系统信息
uname -a  # 显示完整系统信息

# 50. hostname - 查看/设置主机名
hostname  # 显示当前主机名
hostnamectl set-hostname newname  # 设置新主机名

# 51. date - 显示/设置系统时间
date  # 显示当前时间
date -s "2023-01-01 12:00:00"  # 设置系统时间

# 52. uptime - 查看系统运行时间和负载
uptime  # 显示系统运行时间和负载情况

# 53. df - 查看磁盘空间
df -h  # 以人类可读格式显示磁盘空间使用情况

# 54. du - 查看目录大小
du -sh /opt  # 显示/opt目录的总大小
du -h --max-depth=1 /opt  # 显示/opt下一级目录的大小

# 55. free - 查看内存使用
free -h  # 以人类可读格式显示内存使用情况

# 56. vmstat - 查看系统内存、CPU状态
vmstat 1 10  # 每秒采样1次,共采样10次

七、压缩与归档(6条)

# 57. tar - 打包/压缩文件
tar -zcvf archive.tar.gz dir/  # 创建gz压缩包
tar -zxvf archive.tar.gz -C /tmp  # 解压到/tmp目录

# 58. zip/unzip - ZIP格式压缩/解压
zip -r archive.zip dir/  # 压缩目录为ZIP
unzip archive.zip -d /tmp  # 解压ZIP到/tmp

# 59. gzip/gunzip - GZIP压缩/解压
gzip file.txt  # 压缩文件
gunzip file.txt.gz  # 解压文件

# 60. bzip2/bzcat - BZIP2压缩/查看
bzip2 file.txt  # 压缩文件
bzcat file.txt.bz2  # 查看压缩文件内容

# 61. xz - XZ压缩
xz file.txt  # 压缩文件为xz格式

# 62. unrar - 解压RAR文件
unrar x archive.rar  # 解压RAR文件

八、软件包管理(8条)

基于RPM(CentOS/RHEL)

# 63. yum - 包管理器
yum install java-11-openjdk  # 安装Java 11
yum update  # 更新所有软件包

# 64. rpm - 管理RPM包
rpm -ivh package.rpm  # 安装RPM包
rpm -e package  # 卸载RPM包

基于DEB(Ubuntu/Debian)

# 65. apt-get/apt - 包管理器
apt install openjdk-11-jdk  # 安装Java 11
apt update && apt upgrade  # 更新软件包

# 66. dpkg - 管理DEB包
dpkg -i package.deb  # 安装DEB包
dpkg -r package  # 卸载DEB包

通用

# 67. wget/curl安装脚本
curl -sSL https://get.docker.com | sh  # 安装Docker

# 68. snap - 软件包管理
snap install postman  # 安装Postman

# 69. make/configure - 编译安装源码
./configure  # 配置编译选项
make  # 编译源码
make install  # 安装程序

# 70. pip - Python包管理
pip install requests  # 安装Python请求库

九、服务与定时任务(6条)

# 71. systemctl - 管理系统服务
systemctl start nginx  # 启动Nginx服务
systemctl enable nginx  # 设置Nginx开机自启
systemctl status nginx  # 查看Nginx状态

# 72. service - 管理服务(旧系统)
service httpd restart  # 重启Apache服务

# 73. chkconfig - 管理服务启动项(旧系统)
chkconfig httpd on  # 设置Apache开机自启

# 74. crontab - 设置定时任务
crontab -e  # 编辑定时任务
# 添加类似下面的行:0 0 * * * /backup/script.sh (每天0点执行备份)

# 75. at - 一次性定时任务
at 23:00 today  # 设置今天23点执行命令
# 输入命令后按Ctrl+D保存

# 76. journalctl - 查看系统日志
journalctl -u nginx.service  # 查看Nginx服务日志
journalctl -f  # 实时监控日志

十、高级操作(10条)

# 77. find - 文件搜索
find / -name "*.jar" 2>/dev/null  # 搜索所有.jar文件
find . -type f -mtime -1  # 查找一天内修改的文件

# 78. xargs - 处理命令输出作为参数
find . -name "*.txt" | xargs rm  # 删除所有txt文件

# 79. 管道(|) - 连接多个命令
ps aux | grep java | awk '{print $2}'  # 获取Java进程ID

# 80. 重定向(>, >>) - 输出重定向
echo "hello" > file.txt  # 覆盖文件内容
echo "world" >> file.txt  # 追加内容到文件

# 81. alias - 创建命令别名
alias ll='ls -l'  # 创建ll别名
alias grep='grep --color=auto'  # 带颜色的grep

# 82. export - 设置环境变量
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk  # 设置Java_HOME

# 83. source - 重新加载配置文件
source ~/.bashrc  # 重新加载bash配置

# 84. time - 测量命令执行时间
time java -jar app.jar  # 测量Java程序执行时间

# 85. watch - 定时执行命令并显示结果
watch -n 1 'ps aux | grep java'  # 每秒刷新一次Java进程

# 86. tee - 同时输出到屏幕和文件
ls -l | tee files.txt  # 同时显示和保存目录列表

十一、快捷键与技巧(8条)

# 87. Ctrl+C - 终止当前命令
# 在运行命令时按Ctrl+C终止执行

# 88. Ctrl+Z - 暂停当前命令
# 在运行命令时按Ctrl+Z暂停,可用fg恢复

# 89. Ctrl+D - 退出Shell会话
# 在终端中按Ctrl+D退出当前会话

# 90. Tab - 命令/文件名自动补全
# 输入命令或文件名时按Tab自动补全

# 91. ↑/↓ - 浏览历史命令
# 按上/下箭头浏览之前输入的命令

# 92. !! - 执行上一条命令
!!  # 执行上一条命令

# 93. history - 查看命令历史
history  # 显示所有历史命令
!123  # 执行历史中第123条命令

# 94. man - 查看命令手册
man ls  # 查看ls命令的手册页

十二、Java开发专用(4条)

# 95. java - 运行Java程序
java -jar app.jar  # 运行JAR包
java -Xmx512m MainClass  # 指定最大堆内存为512M

# 96. javac - 编译Java源文件
javac HelloWorld.java  # 编译Java文件

# 97. javadoc - 生成Java文档
javadoc -d docs src/*.java  # 生成Java文档到docs目录

# 98. jar - 创建/操作JAR包
jar cvf app.jar *.class  # 创建JAR包
jar tf app.jar  # 查看JAR包内容

十三、Docker相关(6条)

# 99. docker run - 运行容器
docker run -d -p 8080:8080 tomcat:9.0  # 后台运行Tomcat容器

# 100. docker ps - 查看运行中的容器
docker ps  # 查看正在运行的容器
docker ps -a  # 查看所有容器(包括已停止的)

总结

  1. 基础命令:先掌握lscdmkdirrmgrep等日常高频命令
  2. Java开发:重点熟悉jpsjstatjstackjava等JDK工具
  3. 运维必备:掌握pstopnetstatsystemctl等系统管理命令
  4. 实践为主:通过实际项目练习,遇到问题时查阅对应命令参数

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表