个人技术分享

Debian 作为一个稳定、高效和安全的操作系统,广泛应用于服务器、桌面和嵌入式系统中。对于新手和经验丰富的系统管理员来说,熟练掌握 Debian 的常用命令是管理和维护系统的基础。本文将详细介绍一些在 Debian 系统中经常使用的命令,帮助读者更好地理解和操作这个强大的操作系统。

1. 包管理

1.1 apt 命令

apt 是 Debian 系统中最常用的包管理工具,它简化了软件包的安装、升级和删除过程。

  • 更新包列表:

    sudo apt update
    

    这个命令会从软件源中获取最新的包列表,确保系统中的包信息是最新的。

  • 升级系统:

    sudo apt upgrade
    

    这个命令会升级所有已经安装的软件包到最新版本。

  • 安装软件包:

    sudo apt install package_name
    

    这个命令会安装指定的软件包及其所有依赖项。

  • 删除软件包:

    sudo apt remove package_name
    

    这个命令会删除指定的软件包,但保留其配置文件。

  • 彻底删除软件包:

    sudo apt remove package_name
    

    这个命令会删除指定的软件包及其所有配置文件。

1.2 dpkg 命令

dpkg 是 Debian 的底层包管理工具,用于安装、删除和查询 .deb 软件包。

  • 安装 .deb 包:

    sudo dpkg -i package_name.deb
    

    这个命令会安装本地的 .deb 包。

  • 删除包:

    sudo dpkg -r package_name
    

    这个命令会删除已安装的软件包。

  • 查询已安装包:

    dpkg -l | grep package_name
    

    这个命令会列出所有已安装的包,并过滤出与指定名称匹配的包。

2. 系统管理

2.1 systemctl 命令

systemctl 是 Systemd 的控制工具,用于管理系统和服务。

  • 启动服务:

    sudo systemctl start service_name
    

    这个命令会启动指定的服务。

  • 停止服务:

    sudo systemctl stop service_name
    

    这个命令会停止指定的服务。

  • 重启服务:

    sudo systemctl restart service_name
    

    这个命令会重启指定的服务。

  • 查看服务状态:

    sudo systemctl status service_name
    

    这个命令会显示指定服务的当前状态。

  • 启用服务:

    sudo systemctl enable service_name
    

    这个命令会设置指定的服务在系统启动时自动启动。

  • 禁用服务:

    sudo systemctl disable service_name
    

    这个命令会禁止指定的服务在系统启动时自动启动。

2.2 journalctl 命令

journalctl 是一个日志查看工具,用于查看由 Systemd 收集和管理的日志。

  • 查看所有日志:

    sudo journalctl
    

    这个命令会显示系统中的所有日志。

  • 查看实时日志:

    sudo journalctl -f
    

    这个命令会显示实时更新的日志输出。

  • 查看特定服务的日志:

    sudo journalctl -u service_name
    

    这个命令会显示指定服务的日志。

2.3 top 和 htop 命令

top 和 htop 是两个常用的系统资源监控工具。

  • top 命令:

    top
    

    这个命令会显示系统的实时资源使用情况,包括 CPU、内存和运行的进程。

  • htop 命令(需要先安装 htop 包):

    sudo apt install htop
    htop
    

    htop 提供了一个更友好的用户界面,显示系统资源使用情况和运行的进程,支持通过上下箭头选择和管理进程。

3. 文件操作

3.1 ls 命令

ls 是用于列出目录内容的命令。

  • 列出当前目录内容:

    ls
    
  • 列出详细信息:

    ls -l
    

    这个命令会列出文件和目录的详细信息,包括权限、所有者、大小和修改时间。

  • 列出隐藏文件:

    ls -a
    

    这个命令会显示所有文件,包括隐藏文件。

3.2 cp 命令

cp 是用于复制文件和目录的命令。

  • 复制文件:

    cp source_file destination_file
    
  • 递归复制目录:

    cp -r source_directory destination_directory
    
    
3.3 mv 命令

mv 是用于移动或重命名文件和目录的命令。

  • 移动文件:

    mv source_file destination_directory
    
  • 重命名文件:

    mv old_name new_name
    
3.4 rm 命令

rm 是用于删除文件和目录的命令。

  • 删除文件:

    rm file_name
    
  • 递归删除目录:

    rm -r directory_name
    
  • 强制删除:

    rm -f file_name
    

    这个命令会强制删除文件而不提示确认。

4. 用户和权限管理

4.1 adduser 和 deluser 命令

adduser 和 deluser 是用于添加和删除用户的命令。

  • 添加用户:

    sudo adduser user_name
    

    这个命令会创建一个新的用户并设置密码。

  • 删除用户:

    sudo deluser user_name
    

    这个命令会删除指定用户。

4.2 usermod 命令

usermod 是用于修改用户信息的命令。

  • 将用户添加到组:
    sudo usermod -aG group_name user_name
    
    这个命令会将用户添加到指定的组中。
4.3 chmod 命令

chmod 是用于更改文件或目录权限的命令。

  • 设置权限:
    chmod permissions file_name
    
    例如,chmod 755 file_name 设置文件权限为读写执行(所有者)、读执行(组和其他人)。
4.4 chown 命令

chown 是用于更改文件或目录所有者的命令。

  • 更改所有者:
    sudo chown owner:group file_name
    
    例如,sudo chown user:group file_name 将文件所有者更改为指定的用户和组。

5. 网络管理

5.1 ifconfig 和 ip 命令

ifconfig 和 ip 是用于查看和配置网络接口的命令。

  • 查看网络接口信息:

    ifconfig
    

    或者

    ip addr show
    
  • 配置 IP 地址:

    sudo ifconfig interface_name ip_address
    

    或者

    sudo ip addr add ip_address dev interface_name
    
5.2 ping 命令

ping 是用于测试网络连通性的命令。

  • 测试网络连接:
    ping hostname_or_ip
    
5.3 netstat 和 ss 命令

netstat 和 ss 是用于查看网络连接和端口状态的命令。

  • 查看所有连接:

    netstat -a
    

    或者

    ss -a
    
  • 查看监听端口:

    netstat -l
    

    或者

    ss -l
    
5.4 curl 和 wget 命令

curl 和 wget 是用于从命令行下载文件的工具。

  • 下载文件:
    curl -O url
    
    或者
    wget url
    

6. 磁盘管理

6.1 df 和 du 命令

df 和 du 是用于查看磁盘使用情况的命令。

  • 查看磁盘使用情况:

    df -h
    

    这个命令会显示已挂载文件系统的磁盘使用情况。

  • 查看目录大小:

    du -sh directory_name
    

    这个命令会显示指定目录的大小。

6.2 fdisk 和 parted 命令

fdisk 和 parted 是用于磁盘分区的命令。

  • 查看磁盘分区:

    sudo fdisk -l
    

    或者

    sudo parted -l
    
  • 分区磁盘:

    sudo fdisk /dev/sdX
    

    或者

    sudo fdisk /dev/sdX
    

7. 系统信息

7.1 uname 命令

uname 是用于显示系统信息的命令。

  • 显示系统信息:
    uname -a
    
7.2 hostnamectl 命令

hostnamectl 是用于查看和设置系统主机名的命令。

  • 查看主机名:

    hostnamectl
    
  • 设置主机名:

    sudo hostnamectl set-hostname new_hostname
    
7.3 uptime 和 free 命令

uptime 和 free 是用于查看系统运行时间和内存使用情况的命令。

  • 查看系统运行时间:

    uptime
    
  • 查看内存使用情况:

    free -h
    

8. 日常任务自动化

8.1 crontab 命令

crontab 是用于管理定时任务的命令。

  • 编辑定时任务:

    crontab -e
    
  • 列出定时任务:

    crontab -l
    
8.2 at 命令

at 是用于一次性任务调度的命令。

  • 调度一次性任务:
    echo "command" | at time
    

9. 文件编辑

9.1 nano 和 vim 命令

nano 和 vim 是两个常用的文本编辑器。

  • 使用 nano 编辑文件:

    nano file_name
    

  • 使用 vim 编辑文件:

    vim file_name
    

10. 结论

掌握 Debian 的常用命令是系统管理的基础。这些命令涵盖了包管理、系统管理、文件操作、用户和权限管理、网络管理、磁盘管理、系统信息和日常任务自动化等多个方面。通过熟练使用这些命令,系统管理员可以高效地管理和维护 Debian 系统,确保系统的稳定性和安全性。