Linux 命令
常用的 Linux 命令
在 Web 开发中,Linux 命令主要用于服务器管理、部署、调试和优化。以下是一些在 Web 开发中常用的 Linux 命令,按功能分类介绍:
一、文件和目录操作
- 查看文件和目录
ls -l:以长格式列出目录内容,显示文件权限、所有者、大小等信息。ls -a:显示隐藏文件(以.开头的文件)。pwd:显示当前工作目录的绝对路径。cat:查看文件内容。例如,cat index.html查看index.html文件内容。less:分页查看文件内容,适合大文件。例如,less access.log查看日志文件。head和tail:查看文件的前几行或后几行。例如,tail -f access.log实时查看日志文件的最新内容。
- 创建文件和目录
mkdir -p:创建多级目录。例如,mkdir -p /var/www/html/project。touch:创建空文件或更新文件时间戳。例如,touch index.html。
- 复制、移动和删除文件和目录
cp -r:递归复制目录。例如,cp -r /var/www/html/old_project /var/www/html/new_project。mv:移动文件或目录,也可以用于重命名。例如,mv oldfile newfile。rm -rf:强制删除目录及其内容。例如,rm -rf /var/www/html/old_project。注意:使用时要非常小心,避免误删重要文件。
- 查找文件和目录
find:查找文件或目录。例如,find /var/www/html -name "*.html"查找/var/www/html目录下所有.html文件。
二、文件内容处理
- 文本编辑
vi或vim:文本编辑器。例如,vi index.html编辑index.html文件。nano:简单易用的文本编辑器。例如,nano index.html。
- 文本搜索和替换
grep:搜索文件内容。例如,grep "error" error.log查找error.log文件中包含 “error” 的行。sed:流编辑器,用于替换文本。例如,sed -i 's/old/new/g' index.html将index.html文件中所有 “old” 替换为 “new”。awk:文本处理工具。例如,awk '{print $1}' access.log打印access.log文件中每行的第一个字段。
三、系统信息和进程管理
- 系统信息
uname -a:显示系统信息,包括内核版本、主机名等。df -h:查看磁盘空间使用情况。free -m:查看内存使用情况。top:实时显示系统中占用资源最多的进程信息。htop:更友好的进程管理工具,显示系统资源使用情况。
- 进程管理
ps aux:显示所有进程的详细信息。kill:终止进程。例如,kill -9 1234强制终止进程 ID 为 1234 的进程。pkill:通过进程名终止进程。例如,pkill apache2终止所有名为apache2的进程。
四、网络操作
- 网络连接和配置
ifconfig或ip addr:显示网络接口配置信息。ping:测试网络连接。例如,ping google.com测试到 Google 的网络连接。netstat -tuln:显示监听的网络端口。例如,查看哪些服务正在监听端口。curl:从服务器获取数据。例如,curl http://example.com获取网页内容。wget:下载文件。例如,wget http://example.com/file.zip下载文件。
- 防火墙和安全
iptables:配置防火墙规则。例如,iptables -A INPUT -p tcp --dport 80 -j ACCEPT允许 HTTP 流量。ufw:简单防火墙管理工具。例如,ufw allow 80允许 HTTP 流量。
五、服务管理
- 启动、停止和重启服务
systemctl start service_name:启动服务。例如,systemctl start apache2。systemctl stop service_name:停止服务。例如,systemctl stop apache2。systemctl restart service_name:重启服务。例如,systemctl restart apache2。systemctl status service_name:查看服务状态。例如,systemctl status apache2。
- 日志管理
journalctl:查看系统日志。例如,journalctl -u apache2查看 Apache 服务的日志。tail -f /var/log/apache2/access.log:实时查看 Apache 访问日志。
六、部署和开发工具
- 版本控制
git:版本控制系统。例如,git clone https://github.com/user/repo.git克隆仓库。git pull:更新本地仓库。git push:推送本地更改到远程仓库。
- 构建工具
npm:Node. js 包管理器。例如,npm install安装项目依赖。composer:PHP 依赖管理器。例如,composer install安装项目依赖。
- 环境管理
virtualenv:Python 虚拟环境管理。例如,virtualenv venv创建虚拟环境。conda:Python 环境管理工具。例如,conda create -n myenv python=3.8创建 Python 3.8 环境。
这些命令在 Web 开发中非常实用,可以帮助你高效地管理服务器、部署应用、调试问题和优化性能。