一、常用文件与目录命令
日常使用最多的就是文件和目录操作,下面是我最常用的几个命令:
ls -la # 查看当前目录所有文件(含隐藏文件)的详细信息
cd /etc/nginx # 切换到指定目录
pwd # 显示当前所在目录的绝对路径
mkdir -p a/b # 递归创建多级目录
cp -r src dst # 递归复制目录
rm -rf test/ # 递归删除目录(慎用)
find / -name "*.conf" # 全盘搜索指定名称的文件
小技巧:Tab 键补全路径,Ctrl + R 可以搜索历史命令,用熟以后效率提升非常明显。
二、文件权限管理
Linux 中每个文件都有属主、属组和其他人的读(r)、写(w)、执行(x)权限。用 ls -l 可以看到类似 -rw-r--r-- 的权限标记。
chmod 644 file.txt # 所有者可读写,其他人只读
chmod +x deploy.sh # 给脚本添加执行权限
chown user:group file.txt # 修改文件属主和属组
曾经因为脚本没有执行权限折腾了半天,后来养成习惯:新写的脚本先 chmod +x 再运行。
三、软件包管理
以 CentOS 和 Ubuntu 两个常见发行版为例:
| 操作 | CentOS (yum/dnf) | Ubuntu (apt) |
|---|---|---|
| 安装软件 | yum install nginx |
apt install nginx |
| 更新索引 | yum makecache |
apt update |
| 搜索软件 | yum search nginx |
apt search nginx |
| 卸载软件 | yum remove nginx |
apt remove nginx |
四、systemd 服务管理
现在主流发行版都用 systemd 管理服务,常用命令如下:
systemctl start nginx # 启动服务
systemctl stop nginx # 停止服务
systemctl restart nginx # 重启服务
systemctl status nginx # 查看服务状态
systemctl enable nginx # 设置开机自启
journalctl -u nginx -f # 实时查看服务日志
排查服务启动失败时,先用 systemctl status 看状态,再用 journalctl -u 服务名 看详细日志,基本能定位大部分问题。
五、查看系统资源
top/htop:实时查看进程和内存占用;df -h:查看磁盘空间使用情况;free -h:查看内存使用情况;ps aux | grep nginx:查找指定进程;netstat -tlnp:查看端口监听情况。
小结
学习 Linux 最重要的是多动手,遇到问题多看日志、多查手册(man 命令)。后续我会继续补充 Shell 脚本和定时任务相关的笔记。