linux常用命令+部署
1. 文件与目录操作
ls
:列出当前目录下的文件和子目录ls -l
:详细列出文件信息ls -a
:显示所有文件,包括隐藏文件
cd
:切换目录cd /path/to/directory
:进入指定目录cd ..
:返回上一级目录cd ~
:进入用户的主目录
pwd
:显示当前所在路径mkdir
:创建新目录mkdir new_folder
:创建名为new_folder
的目录
rm
:删除文件或目录rm file
:删除文件rm -r directory
:递归删除目录及其内容rm -rf directory
:强制删除目录及其内容(小心使用)
cp
:复制文件或目录cp source destination
:复制文件cp -r source_dir destination_dir
:递归复制目录
mv
:移动或重命名文件/目录mv source destination
:移动文件/目录或重命名
touch
:创建空文件touch file.txt
:创建一个名为file.txt
的空文件
2. 拷贝、移动
cp
:拷贝文件或目录cp file1 file2
:复制文件file1
为file2
cp -r dir1 dir2
:递归复制目录dir1
到dir2
mv
:移动或重命名文件/目录mv file1 /new/location/
:将文件移动到新位置mv oldname newname
:重命名文件或目录
3. 打包与压缩
tar
:打包和解包文件tar -cvf archive.tar files
:打包文件为.tar
tar -xvf archive.tar
:解包.tar
tar -czvf archive.tar.gz files
:打包并压缩为.tar.gz
tar -xzvf archive.tar.gz
:解压.tar.gz
gzip
和gunzip
:压缩和解压.gz
gzip file
:压缩文件gunzip file.gz
:解压.gz
文件
zip
和unzip
:压缩和解压.zip
zip archive.zip files
:将文件压缩为.zip
unzip archive.zip
:解压.zip
文件
4. 文本编辑
nano
:简单的终端文本编辑器nano file.txt
:编辑文件
vi
或vim
:高级终端文本编辑器vi file.txt
:使用 Vim 编辑文件- 在 Vim 中:
i
:进入插入模式Esc
:退出插入模式:wq
:保存并退出:q!
:不保存退出
5. 查找命令
find
:在目录中查找文件find /path -name "filename"
:在指定路径查找文件find /path -type d -name "dirname"
:查找目录
grep
:搜索文本中的字符串grep "text" file.txt
:在文件中搜索字符串grep -r "text" /path/to/directory
:递归查找目录中的字符串
locate
:快速查找文件locate filename
:查找系统中与filename
相关的文件
6. 手动部署
- 拉取代码
git clone https://repository-url.git
:从 Git 仓库克隆项目git pull
:从远程仓库拉取最新代码
- 编译和构建
- Java项目:
mvn clean package -Dmaven.test.skip=true
:使用 Maven 清理并打包项目
- Node.js项目:
npm install
:安装依赖npm run build
:构建项目
- Java项目:
- 启动服务
- Java:
nohup java -jar app.jar &
:后台启动 Java 应用
- Node.js:
npm start
或node server.js
:启动 Node.js 应用
- Docker:
docker build -t app .
:构建 Docker 镜像docker run -d -p 8080:80 app
:运行 Docker 容器
- Java:
7. 自动部署
-
编写自动化部署脚本
-
使用 Shell 脚本自动化部署流程,通常包括以下步骤:
-
拉取最新代码:
git pull origin master
-
编译和打包:
mvn clean package -Dmaven.test.skip=true
-
杀死旧进程:
tpid=`ps -ef | grep app_name | grep -v grep | awk '{print $2}'` if [ -n "$tpid" ]; then kill -9 $tpid fi
-
启动新服务:
nohup java -jar app.jar &
-
-
通过这些常用的命令,基本可以实现Linux系统下的手动和自动部署操作,以及日常文件管理和操作。