Linux 命令

Linux 命令

常用的 Linux 命令

在 Web 开发中,Linux 命令主要用于服务器管理、部署、调试和优化。以下是一些在 Web 开发中常用的 Linux 命令,按功能分类介绍:

一、文件和目录操作

  1. 查看文件和目录
    • ls -l:以长格式列出目录内容,显示文件权限、所有者、大小等信息。
    • ls -a:显示隐藏文件(以 . 开头的文件)。
    • pwd:显示当前工作目录的绝对路径。
    • cat:查看文件内容。例如,cat index.html 查看 index.html 文件内容。
    • less:分页查看文件内容,适合大文件。例如,less access.log 查看日志文件。
    • headtail:查看文件的前几行或后几行。例如,tail -f access.log 实时查看日志文件的最新内容。
  2. 创建文件和目录
    • mkdir -p:创建多级目录。例如,mkdir -p /var/www/html/project
    • touch:创建空文件或更新文件时间戳。例如,touch index.html
  3. 复制、移动和删除文件和目录
    • 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注意:使用时要非常小心,避免误删重要文件。
  4. 查找文件和目录
    • find:查找文件或目录。例如,find /var/www/html -name "*.html" 查找 /var/www/html 目录下所有 .html 文件。

二、文件内容处理

  1. 文本编辑
    • vivim:文本编辑器。例如,vi index.html 编辑 index.html 文件。
    • nano:简单易用的文本编辑器。例如,nano index.html
  2. 文本搜索和替换
    • grep:搜索文件内容。例如,grep "error" error.log 查找 error.log 文件中包含 “error” 的行。
    • sed:流编辑器,用于替换文本。例如,sed -i 's/old/new/g' index.htmlindex.html 文件中所有 “old” 替换为 “new”。
    • awk:文本处理工具。例如,awk '{print $1}' access.log 打印 access.log 文件中每行的第一个字段。

三、系统信息和进程管理

  1. 系统信息
    • uname -a:显示系统信息,包括内核版本、主机名等。
    • df -h:查看磁盘空间使用情况。
    • free -m:查看内存使用情况。
    • top:实时显示系统中占用资源最多的进程信息。
    • htop:更友好的进程管理工具,显示系统资源使用情况。
  2. 进程管理
    • ps aux:显示所有进程的详细信息。
    • kill:终止进程。例如,kill -9 1234 强制终止进程 ID 为 1234 的进程。
    • pkill:通过进程名终止进程。例如,pkill apache2 终止所有名为 apache2 的进程。

四、网络操作

  1. 网络连接和配置
    • ifconfigip addr:显示网络接口配置信息。
    • ping:测试网络连接。例如,ping google.com 测试到 Google 的网络连接。
    • netstat -tuln:显示监听的网络端口。例如,查看哪些服务正在监听端口。
    • curl:从服务器获取数据。例如,curl http://example.com 获取网页内容。
    • wget:下载文件。例如,wget http://example.com/file.zip 下载文件。
  2. 防火墙和安全
    • iptables:配置防火墙规则。例如,iptables -A INPUT -p tcp --dport 80 -j ACCEPT 允许 HTTP 流量。
    • ufw:简单防火墙管理工具。例如,ufw allow 80 允许 HTTP 流量。

五、服务管理

  1. 启动、停止和重启服务
    • 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
  2. 日志管理
    • journalctl:查看系统日志。例如,journalctl -u apache2 查看 Apache 服务的日志。
    • tail -f /var/log/apache2/access.log:实时查看 Apache 访问日志。

六、部署和开发工具

  1. 版本控制
    • git:版本控制系统。例如,git clone https://github.com/user/repo.git 克隆仓库。
    • git pull:更新本地仓库。
    • git push:推送本地更改到远程仓库。
  2. 构建工具
    • npm:Node. js 包管理器。例如,npm install 安装项目依赖。
    • composer:PHP 依赖管理器。例如,composer install 安装项目依赖。
  3. 环境管理
    • virtualenv:Python 虚拟环境管理。例如,virtualenv venv 创建虚拟环境。
    • conda:Python 环境管理工具。例如,conda create -n myenv python=3.8 创建 Python 3.8 环境。
      这些命令在 Web 开发中非常实用,可以帮助你高效地管理服务器、部署应用、调试问题和优化性能。