Linux中Java开发、部署和运维常用命令
在Java开发、部署和运维过程中,Linux操作系统常用的一些命令可以帮助开发人员、运维人员管理系统、查看日志、控制进程等。以下是一些常见的Linux命令:
1. 文件和目录操作
ls:列出当前目录下的文件和文件夹。ls -l:显示详细信息(权限、大小、修改时间等)。ls -a:显示所有文件,包括隐藏文件。
cd:切换目录。cd /path/to/directory:切换到指定目录。
pwd:显示当前所在目录。mkdir:创建目录。mkdir directory_name:创建一个新目录。
rm:删除文件或目录。rm file_name:删除文件。rm -r directory_name:递归删除目录及其中的所有内容。
cp:复制文件或目录。cp source_file destination_file:复制文件。cp -r source_dir destination_dir:复制目录。
mv:移动文件或目录,或重命名文件。mv old_name new_name:重命名文件或目录。mv file_name /new/location/:移动文件到新位置。
2. 文件内容查看
cat:查看文件内容。cat file_name:显示文件内容。
more:分页查看文件内容。more file_name:分页显示文件内容。
less:比more功能更强,支持向前向后翻页。less file_name:分页查看文件内容。
head:查看文件的前几行。head -n 10 file_name:查看文件的前10行。
tail:查看文件的后几行。tail -n 10 file_name:查看文件的最后10行。tail -f file_name:实时查看文件追加内容,常用于查看日志文件。
3. 进程管理
ps:显示当前运行的进程。ps aux:显示所有用户的进程。ps -ef:显示进程详细信息。
top:实时显示系统的进程状态,CPU和内存使用情况。htop:是top命令的增强版,提供更友好的交互界面,支持滚动和筛选。kill:结束进程。kill PID:结束指定进程(PID为进程ID)。kill -9 PID:强制结束进程。
pkill:按进程名结束进程。pkill java:结束所有java进程。
4. 磁盘和文件系统管理
df:显示文件系统的磁盘空间使用情况。df -h:以人类可读的格式显示磁盘空间。
du:显示目录或文件的磁盘使用情况。du -sh *:显示当前目录下每个文件和子目录的总大小。
mount:挂载文件系统。mount /dev/sdX /mnt:将磁盘挂载到/mnt目录。
umount:卸载文件系统。umount /mnt:卸载/mnt目录。
5. 网络操作
ping:测试网络连接。ping google.com:测试与google.com的网络连接。
ifconfig:显示和配置网络接口。ifconfig:查看网络接口的配置。ifconfig eth0 down:禁用指定的网络接口。
netstat:显示网络连接、路由表和接口信息。netstat -tuln:查看所有监听的端口和协议。
ss:查看网络连接(比netstat更高效)。ss -tuln:查看所有监听的端口。
scp:安全地复制文件到远程主机。scp local_file user@remote_host:/path/to/destination:将本地文件复制到远程主机。
6. 日志查看
journalctl:查看系统日志(适用于systemd系统)。journalctl -xe:查看系统日志并显示错误信息。
tail -f /var/log/syslog:实时查看系统日志。grep:在文件中搜索特定文本。grep "error" /var/log/java.log:查找日志文件中的"error"。
7. Java相关命令
java -version:查看Java版本。javac:编译Java源代码。javac MyProgram.java:将MyProgram.java编译成字节码(.class文件)。
java:运行Java应用。java MyProgram:运行MyProgram类。
jps:显示当前正在运行的Java进程。jstack:打印Java线程的堆栈信息。jstack PID:查看指定PID的堆栈。
8. 包管理
- Debian/Ubuntu(使用
apt):apt-get update:更新软件包列表。apt-get upgrade:升级所有已安装的软件包。apt-get install package_name:安装软件包。apt-get remove package_name:删除软件包。
- RedHat/CentOS(使用
yum):yum update:更新所有软件包。yum install package_name:安装软件包。yum remove package_name:删除软件包。
9. 权限管理
chmod:更改文件或目录的权限。chmod 755 file_name:设置文件权限为rwxr-xr-x。
chown:更改文件或目录的所有者。chown user:group file_name:将文件的所有者和用户组更改为user和group。
chgrp:更改文件或目录的用户组。chgrp group_name file_name:将文件的用户组更改为group_name。
10. 系统信息
uname -a:显示操作系统信息。uptime:显示系统的运行时间。free -h:查看内存使用情况。vmstat:显示虚拟内存统计信息。lscpu:显示CPU信息。
11. 压缩与解压
tar:创建和解压归档文件。tar -cvf archive.tar file_or_directory:创建一个.tar归档文件。tar -xvf archive.tar:解压.tar归档文件。tar -czvf archive.tar.gz directory:创建一个.tar.gz压缩包。tar -xzvf archive.tar.gz:解压.tar.gz压缩包。
gzip:压缩文件。gzip file_name:将文件压缩成.gz格式。
gunzip:解压.gz文件。gunzip file_name.gz:解压.gz文件。
