前言
刚接触Linux服务器?本文为你汇总了最核心、最常用的一些基础命令,帮助你快速上手,高效地管理你的服务器。
一、基础系统管理
1.1 更新系统
保持系统为最新状态是安全的基础。
# 更新软件包列表
sudo apt update
# 升级所有已安装的软件包
sudo apt upgrade
1.2 查看系统信息
快速了解服务器的状况。
# 查看系统版本
cat /etc/os-release
# 查看内存使用情况
free -h
# 查看磁盘空间使用情况
df -h
# 查看CPU信息
lscpu
二、安全与便捷设置
2.1 强化SSH安全
建议禁止密码登录,只使用SSH密钥登录,这是保障服务器安全的重要一步。
编辑SSH配置文件:
sudo nano /etc/ssh/sshd_config
确保以下配置项是这样设置的:
PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin prohibit-password
修改后重启SSH服务以生效:
sudo systemctl restart sshd
2.2 快速添加SSH公钥
将你的公钥添加到服务器,以便免密登录。
# 创建.ssh目录(如果不存在)
mkdir -p ~/.ssh
# 将你的公钥内容追加到authorized_keys文件
echo "你的SSH公钥内容" >> ~/.ssh/authorized_keys
# 设置正确的目录和文件权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
注意:将 你的SSH公钥内容
替换为你的真实公钥字符串 (例如 ssh-rsa AAAA... user@example.com
)。
2.3 设置 ll
命令别名
ll
是 ls -la
的一个常用别名,可以更方便地查看文件和目录的详细列表。
# 将别名设置追加到.bashrc配置文件
echo "alias ll='ls -la'" >> ~/.bashrc
# 使配置立即生效
source ~/.bashrc
三、常用核心命令
3.1 文件与目录操作
查看文件内容
# 实时查看文件末尾的新增内容,常用于看日志
tail -f /var/log/syslog
# 查看文件最后10行
tail -n 10 filename.txt
搜索文件内容 (grep)
grep
是一个强大的文本搜索工具。
# 在文件中搜索关键词
grep "搜索词" filename.txt
# 在目录中递归搜索 (不区分大小写)
grep -ri "error" /path/to/directory
# 搜索并显示匹配行的行号
grep -n "搜索词" filename.txt
# 搜索并显示匹配内容及前后2行
grep -A 2 -B 2 "error" filename.txt
创建文件与目录
# 创建一个空文件
touch filename.txt
# 创建一个目录
mkdir directory_name
# 递归创建多级目录
mkdir -p path/to/new/directory
3.2 进程与系统监控
监控系统资源
# 实时交互式查看进程和系统资源占用
top
# 查看所有进程
ps aux
# 查找特定进程
ps aux | grep "进程名"
管理进程
# 结束进程 (通过进程ID)
kill PID
# 强制结束进程
kill -9 PID
# 通过进程名结束所有匹配的进程
pkill "进程名"
后台任务
# 让命令在后台运行
nohup command &
# 查看后台运行的任务
jobs
示例:后台运行一个Python脚本
假设你有一个需要长时间运行的脚本 my_task.py
,可以使用以下命令:
nohup python my_task.py &
这样,脚本就会在后台持续运行,即使你关闭终端。所有输出会被默认保存到当前目录的 nohup.out
文件中。
四、定时任务 (Crontab)
使用 crontab
可以让系统在指定时间自动执行任务。
# 编辑当前用户的定时任务
crontab -e
# 查看当前用户的定时任务列表
crontab -l
Crontab 格式说明:
# 分钟(0-59) 小时(0-23) 日(1-31) 月(1-12) 星期(0-7, 0和7都代表周日) 要执行的命令
常用示例:
# 每天凌晨3点执行备份脚本
0 3 * * * /path/to/backup.sh
# 每周日凌晨2点30分执行清理任务
30 2 * * 0 /path/to/cleanup.sh
# 每月1号凌晨执行日志归档
0 0 1 * * /path/to/archive-logs.sh