个人技术分享

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 tophtop 命令

tophtop 是两个常用的系统资源监控工具。

  • 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 adduserdeluser 命令

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

  • 添加用户

    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 ifconfigip 命令

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

  • 查看网络接口信息

    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 netstatss 命令

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

  • 查看所有连接

    netstat -a
    

    或者

    ss -a
    
  • 查看监听端口

    netstat -l
    

    或者

    ss -l
    
5.4 curlwget 命令

curlwget 是用于从命令行下载文件的工具。

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

6. 磁盘管理

6.1 dfdu 命令

dfdu 是用于查看磁盘使用情况的命令。

  • 查看磁盘使用情况

    df -h
    

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

  • 查看目录大小

    du -sh directory_name
    

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

6.2 fdiskparted 命令

fdiskparted 是用于磁盘分区的命令。

  • 查看磁盘分区

    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 uptimefree 命令

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

  • 查看系统运行时间

    uptime
    
  • 查看内存使用情况

    free -h
    

8. 日常任务自动化

8.1 crontab 命令

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

  • 编辑定时任务

    crontab -e
    
  • 列出定时任务

    crontab -l
    
8.2 at 命令

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

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

9. 文件编辑

9.1 nanovim 命令

nanovim 是两个常用的文本编辑器。

  • 使用 nano 编辑文件

    nano file_name
    

  • 使用 vim 编辑文件

    vim file_name
    

10. 结论

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