一、Debian 简介
Debian 是一个自由开源的操作系统,基于 Linux 内核,以其稳定性、安全性和丰富的软件包著称。它采用社区驱动的开发模式,拥有庞大的软件仓库和广泛的硬件支持,是许多其他 Linux 发行版(如 Ubuntu)的基础。
二、基本系统操作
1. 系统信息查看
# 查看系统版本
lsb_release -a
cat /etc/debian_version
# 查看内核版本
uname -r
uname -a # 显示完整内核信息
# 查看系统架构
arch
dpkg --print-architecture
# 查看系统负载
uptime
w # 显示当前登录用户和系统负载
# 查看内存使用情况
free -h # -h 选项以人类可读的格式显示
free -m # 以MB为单位显示
# 查看磁盘使用情况
df -h
df -i # 查看inode使用情况
# 查看分区信息
lsblk
fdisk -l # 需要root权限
2. 用户和权限管理
# 切换用户
su - 用户名 # 切换到指定用户,- 表示同时切换环境变量
sudo 命令 # 以root权限执行命令
# 添加用户
adduser 用户名 # 交互式添加用户
useradd 用户名 # 非交互式添加用户
# 设置用户密码
passwd 用户名
# 删除用户
deluser 用户名
deluser --remove-home 用户名 # 同时删除用户主目录
# 添加用户到组
usermod -aG 组名 用户名
# 查看当前用户所属组
groups
id
# 更改文件/目录权限
chmod 755 文件名 # 数字方式设置权限
chmod u+x 文件名 # 符号方式设置权限(用户增加执行权限)
# 更改文件/目录所有者
chown 用户名:组名 文件名
三、软件包管理(APT)
Debian 主要使用 APT(Advanced Package Tool)进行软件包管理,以下是常用命令:
# 更新软件包列表
sudo apt update
# 升级已安装的软件包
sudo apt upgrade
sudo apt full-upgrade # 会处理依赖关系变化,可能移除一些包
# 安装软件包
sudo apt install 软件包名
sudo apt install 软件包名=版本号 # 安装特定版本
# 卸载软件包(保留配置文件)
sudo apt remove 软件包名
# 彻底卸载软件包(删除配置文件)
sudo apt purge 软件包名
# 搜索软件包
apt search 关键词
# 查看软件包信息
apt show 软件包名
# 查看已安装的软件包
dpkg -l
dpkg -l | grep 关键词 # 搜索已安装的软件包
# 清理缓存的软件包
sudo apt clean # 清理所有缓存的.deb文件
sudo apt autoclean # 清理旧版本的缓存文件
# 自动移除不再需要的依赖包
sudo apt autoremove
源码编译安装
# 安装编译工具
sudo apt install build-essential
# 一般编译安装步骤
./configure
make
sudo make install
四、文件和目录操作
# 列出目录内容
ls
ls -l # 详细列表
ls -a # 显示隐藏文件
ls -h # 人类可读的文件大小
# 切换目录
cd 目录路径
cd ~ # 切换到当前用户主目录
cd .. # 切换到上级目录
# 创建目录
mkdir 目录名
mkdir -p 父目录/子目录 # 创建多级目录
# 删除目录
rmdir 目录名 # 只能删除空目录
rm -r 目录名 # 删除非空目录
# 创建空文件
touch 文件名
# 复制文件/目录
cp 源文件 目标路径
cp -r 源目录 目标路径 # 复制目录
# 移动/重命名文件/目录
mv 源 目标
# 删除文件
rm 文件名
rm -f 文件名 # 强制删除,不提示
rm -rf 目录名 # 强制删除目录及其内容
# 查看文件内容
cat 文件名 # 显示全部内容
less 文件名 # 分页显示
head 文件名 # 显示前10行
head -n 20 文件名 # 显示前20行
tail 文件名 # 显示后10行
tail -f 文件名 # 实时查看文件更新
# 查找文件
find 目录 -name "文件名模式"
find /home -name "*.txt" # 在/home目录下查找所有txt文件
# 查找命令所在路径
which 命令名
whereis 命令名 # 显示命令、手册页等位置
五、系统服务管理
# 查看服务状态(systemd系统)
systemctl status 服务名
# 启动服务
sudo systemctl start 服务名
# 停止服务
sudo systemctl stop 服务名
# 重启服务
sudo systemctl restart 服务名
# 重新加载服务配置(不中断服务)
sudo systemctl reload 服务名
# 设置服务开机自启
sudo systemctl enable 服务名
# 禁止服务开机自启
sudo systemctl disable 服务名
# 查看所有服务状态
systemctl list-units --type=service
六、网络管理
# 查看网络接口信息
ip addr
ifconfig # 需要安装net-tools包
# 查看路由表
ip route
route # 需要安装net-tools包
# 测试网络连接
ping 域名/IP地址
ping -c 4 域名 # 发送4个数据包后停止
# 查看DNS配置
cat /etc/resolv.conf
# 查看网络连接
ss -tuln # 显示TCP/UDP监听端口
netstat -tuln # 需要安装net-tools包
# 下载文件
wget 网址
curl -O 网址
# 配置网络接口(Debian 10+)
sudo nano /etc/network/interfaces # 传统方式
# 或使用nmcli(NetworkManager)
nmcli connection show
nmcli connection modify 连接名 配置项 值
七、进程管理
# 查看当前运行的进程
ps
ps aux # 显示所有用户的所有进程
ps -ef # 以全格式显示所有进程
# 动态查看进程
top
htop # 更友好的界面,需安装
# 查找特定进程
pgrep 进程名
ps aux | grep 进程名
# 终止进程
kill 进程ID
kill -9 进程ID # 强制终止进程
pkill 进程名 # 根据进程名终止进程
八、压缩和解压缩
# 压缩为tar.gz
tar -czvf 压缩文件名.tar.gz 要压缩的文件/目录
# 解压tar.gz
tar -xzvf 压缩文件名.tar.gz
# 压缩为tar.bz2
tar -cjvf 压缩文件名.tar.bz2 要压缩的文件/目录
# 解压tar.bz2
tar -xjvf 压缩文件名.tar.bz2
# 压缩/解压zip
zip 压缩文件名.zip 要压缩的文件/目录
unzip 压缩文件名.zip
# 压缩/解压gzip
gzip 文件名 # 压缩后删除原文件
gunzip 文件名.gz # 解压
九、系统维护
# 查看系统日志
tail /var/log/syslog
journalctl # systemd日志
# 查看硬件信息
lshw # 需要root权限
lscpu # 查看CPU信息
lsmem # 查看内存信息
# 检查磁盘错误
sudo fsck /dev/sdX # X为分区,需在非挂载状态下运行
# 查看系统启动时间和运行时间
systemd-analyze
uptime
# 清理系统垃圾
sudo apt autoremove
sudo apt autoclean
十、实用技巧
命令历史:
使用上下箭头查看历史命令
history
命令查看所有历史!n
执行第 n 条历史命令!!
重复执行上一条命令
命令别名:
alias ll='ls -l' # 临时生效 # 永久生效需添加到~/.bashrc echo "alias ll='ls -l'" >> ~/.bashrc source ~/.bashrc
管道和重定向:
命令1 | 命令2 # 将命令1的输出作为命令2的输入 命令 > 文件 # 将输出重定向到文件(覆盖) 命令 >> 文件 # 将输出追加到文件 命令 2> 文件 # 将错误输出重定向到文件
后台运行命令:
命令 & # 后台运行 nohup 命令 & # 后台运行,断开连接后继续执行
Debian 系统以其稳定性和灵活性被广泛应用于服务器和桌面环境,掌握这些基本命令可以满足日常管理和使用需求。如需更深入学习,可以参考 Debian 官方文档和相关专业书籍。
评论