服务器目录结构作用和常用命令

服务器目录结构作用和常用命令

一、目录结构

大多数服务器操作系统的目录结构遵循Linux的通用标准,也就是所谓的“文件系统层次结构标准”(FHS)。

图片

下面是一些常见的目录及其用途:

  1. / (根目录)
    这是整个文件系统的起点,所有的目录和文件都从这里开始。
  2. /bin
    存放系统中最基本的命令,比如lscpmkdir等。这些命令在单用户模式下也是可用的。
  3. /boot
    包含启动Linux时所需的文件,比如内核文件(vmlinuz)和引导加载器(grub)。
  4. /dev
    存放设备文件,比如硬盘(/dev/sda)、终端(/dev/tty)等。
  5. /etc
    存放系统的配置文件,比如网络配置(/etc/sysconfig/network-scripts/)、用户信息(/etc/passwd)等。
  6. /home
    普通用户的主目录,每个用户都有一个以自己用户名命名的子目录,比如/home/username
  7. /lib
    存放系统最基本的共享库文件,类似于Windows中的DLL文件。
  8. /media
    用于挂载可移动设备,比如U盘、光盘等。
  9. /mnt
    临时挂载点,通常用于挂载文件系统或网络共享。
  10. /opt
    用于安装第三方软件,比如Oracle数据库、Tomcat等。
  11. /root
    超级用户(root)的主目录,普通用户没有权限访问。
  12. /sbin
    存放系统管理员使用的命令,比如fdiskifconfig等。
  13. /tmp
    临时文件目录,所有用户都可以在这里创建文件,但文件可能会被系统定期清理。
  14. /usr
    存放用户安装的应用程序和文件,类似于Windows的Program Files目录。
  15. /var
    存放经常变化的文件,比如日志文件(/var/log)、邮件(/var/mail)等。

二、常用基本命令

接下来,咱们聊一些常用的基本命令,

以前已经介绍过一篇了:作为前端,怎么让其他同事给你挑大拇指?运维命令简易上手

结合上文,这些命令在日常操作中会经常用到。

  1. head / tail
    查看文件的开头或结尾部分。
    例如:
    • head -n 10 file.txt:显示file.txt的前10行。
    • tail -f /var/log/messages:实时查看日志文件的更新。
  2. chmod
    修改文件或目录的权限。
    例如:chmod 755 file.txt:将file.txt的权限设置为755。
  3. chown
    修改文件或目录的所有者。
    例如:chown user:group file.txt:将file.txt的所有者改为user,所属组改为group。
  4. ps
    查看当前运行的进程。
    常用选项:
    • ps aux:显示所有进程的详细信息。
  5. top
    实时显示系统资源使用情况和进程信息。
  6. df
    查看磁盘空间使用情况。
    例如:df -h:以人类可读的格式显示磁盘使用情况。
  7. du
    查看目录或文件的磁盘使用情况。
    例如:du -sh /home:显示/home目录的总大小。
  8. wget
    从网络下载文件。
    例如:wget http://example.com/file.zip:下载file.zip文件。

这些命令和目录结构是CentOS服务器操作的基础,掌握了它们,日常的服务器管理就会轻松很多!

进阶命令

systemctl

但是,我们有时下载的服务,需要通过 systemctl 的管理才可以运行,比如上篇文章提到的 prometheus

1
2
3
sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus

systemctl 是 CentOS 7 及以后版本中用于管理系统服务的命令。它替代了旧版的 servicechkconfig 命令,用于启动、停止、重启、启用或禁用系统服务。

这类服务一般需要我们在服务器/etc/systemd/system/ 目录下维护配置文件,例如:prometheus.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
ExecStart=/opt/prometheus/prometheus \
--config.file=/opt/prometheus/prometheus.yml \
--storage.tsdb.path=/opt/prometheus/data
Restart=always

[Install]
WantedBy=multi-user.target

接着,可以使用下面的 systemctl 命令管理这类服务了:

  1. 启动服务

    1
    systemctl start prometheus
  2. 停止服务

    1
    systemctl stop prometheus
  3. 重启服务

    1
    systemctl restart prometheus
  4. 查看服务状态

    1
    systemctl status prometheus
  5. 启用开机自启动

    1
    systemctl enable prometheus
  6. 禁用开机自启动

    1
    systemctl disable prometheus
  7. 查看所有服务

    1
    systemctl list-unit-files --type=service
  8. 查看失败的服务

    1
    systemctl --failed结尾