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
文件。