1 前言
在应用部署过程中,Linux命令是必不可少的工具。它们能够帮助我们管理文件、连接服务器、拷贝文件、查看日志以及运行应用等。本文将介绍一些在应用部署中常用的Linux命令,包括 SSH登录、SCP传输、CP拷贝、MV移动、Tar解压、DU查看文件大小、Tail查看日志以及Nohup后台运行等命令。
2 SSH登录命令
作用: 通过安全的加密方式远程登录服务器。
使用情景和场合:
- 远程管理服务器:用于连接远程服务器进行文件操作、系统管理、软件安装等任务。
- 维护和管理多台服务器:方便管理分布在不同位置的服务器。
使用方法: ssh [用户名]@[服务器IP] -p [端口号]
常用参数:
-p [端口号]
:指定连接的端口号。-i [密钥文件路径]
:指定用于身份验证的密钥文件。
示例:
# 登录跳板机,再连接到对应服务器
ssh 用户名@跳板机IP
ssh 用户名@服务器IP -l root -p 1234
3 SCP传输命令
作用: 在不同服务器之间安全地复制文件或文件夹。
使用情景和场合:
- 部署应用:将本地开发完成的应用程序传输到远程服务器进行部署。
- 数据备份:定期将重要数据传输到备份服务器。
使用方法: scp [本地路径/文件名] [用户名]@[计算机IP]:[远程路径]
常用参数:
-r
:递归复制整个目录。-P [端口号]
:指定连接的端口号。-i [密钥文件路径]
:指定用于身份验证的密钥文件。
示例:
# 将本地文件拷贝到远程服务器
scp 本地路径/文件 用户名@计算机IP:远程路径
# 传文件
scp 文件.jar 用户名@远程IP:/远程路径
# 传文件夹
scp -r 文件夹 用户名@远程IP:/远程路径
4 CP拷贝命令
作用: 复制文件或文件夹到指定位置。
使用情景和场合:
- 备份数据:复制文件或目录到另一个位置或设备以进行数据备份。
- 快速复制文件:将文件复制到其他位置,以便在不同目录下使用相同文件。
使用方法: cp [源文件路径] [目标路径]
常用参数:
-r
:复制目录及其内容。-p
:保留源文件的属性(如权限等)。
示例:
# 将文件拷贝到指定目录
cp 文件名 目标目录
# 例如:
cp jdk-8u144-linux-x64.tar.gz /usr/java
5 MV移动命令
作用: 将文件或文件夹移动到指定位置。
使用情景和场合:
- 重命名文件或文件夹:将文件或文件夹更改名称或移动到其他目录。
- 文件整理:整理文件系统,将文件移动到更合适的目录。
使用方法: mv [源文件路径] [目标路径]
常用参数:
-i
:在覆盖文件前进行提示。-b
:在覆盖文件前进行备份。
示例:
# 将文件移动到指定目录
mv 文件名 目标目录
# 例如:
mv jdk-8u144-linux-x64.tar.gz /usr/java
6 TAR解压命令
作用: 解压缩 .tar.gz
或 .tar
文件。
使用情景和场合:
- 解压文件:解压下载的软件压缩包以进行安装或使用。
- 文件打包:将文件或目录打包成一个压缩文件以进行传输或备份。
使用方法: tar -zxvf [文件名.tar.gz]
常用参数:
-x
:解压文件。-z
:使用 gzip 解压缩。-v
:显示详细信息。
示例:
# 解压文件
tar -zxvf jdk-8u144-linux-x64.tar.gz
7 DU查看文件夹/文件大小
作用: 显示文件或文件夹的大小。
使用情景和场合:
- 磁盘空间管理:查看文件夹或文件的大小以了解磁盘使用情况。
- 查找占用空间较大的文件:快速找出占用大量磁盘空间的文件或目录。
使用方法: du -sh [路径]
常用参数:
-h
:以易读方式显示文件大小。--max-depth=[深度]
:限制显示的目录层级深度。-s
:仅显示总计大小。
示例:
- 查看目录下各文件夹及文件大小并按大小排序
du -sh /home/* | sort -h
-
du -h [路径]
:以易读方式显示路径下所有文件及文件夹大小。du -h /home/user/Documents
-
du -h --max-depth=1 [路径]
:显示路径下第一层文件夹的大小。du -h --max-depth=1 /home/user
-
du -s [路径]
:仅显示路径下所有文件和文件夹的总大小。du -s /home/user/Documents
-
du -h -d 2 [路径]
:显示路径下的文件夹和子文件夹的大小,限制最多深度为2级。du -h -d 2 /home/user
8 TAIL查看日志
作用: 实时查看文件内容(尤其是日志文件)的最后几行。
使用情景和场合:
- 监控日志:实时监控应用程序的日志变化以进行故障排查和系统状态监控。
- 查看日志更新:查看最新的系统或应用程序日志以获得最新状态。
使用方法: tail -f [文件路径]
常用参数:
-
-f
:实时刷新显示文件新增内容。 -
-n [行数]
:显示指定行数的内容。 -
-c [字节数]
:从文件末尾开始显示指定字节数的内容。
示例:
-
tail -n 20 [文件路径]
:显示文件末尾的最后20行内容。tail -n 20 /var/log/syslog
-
tail -f [文件路径]
:实时刷新显示文件新增内容(适用于监控日志文件变化)。tail -f /var/log/nginx/access.log
-
tail -c 500 [文件路径]
:从文件末尾开始显示最后500个字节的内容。tail -c 500 /var/log/auth.log
9 NOHUP后台运行
作用: 在后台运行命令,即使退出当前终端也不会中断。
使用情景和场合:
- 长时间运行任务:运行需要较长时间才能完成的任务,如数据处理、备份等。
- 远程管理应用程序:部署后台服务或应用程序,使其在服务器上持续运行而不受用户退出影响。
使用方法: nohup [命令] &
示例:
-
nohup java -jar app.jar &
:后台运行 Java 应用程序。nohup java -jar /path/to/app.jar &
-
nohup ./start_server.sh &
:后台运行脚本文件启动服务器。nohup ./start_server.sh &
-
nohup python script.py > output.log &
:后台运行 Python 脚本,并将输出重定向到文件。nohup python /path/to/script.py > /path/to/output.log &
10 结语
这些命令在日常的服务器管理和应用部署中都扮演着重要的角色,能够帮助管理员和开发人员有效地管理服务器和文件,以及监控应用程序状态。在掌握这些基本命令的基础上,可以更高效地管理服务器和部署应用程序。以上命令涵盖了常见的操作,希望能对您在应用部署过程中有所帮助。