Linux系统的目录及其重要文件(CentOS7)

根目录及其结构

[root@#test ~]# tree -L 1 /
/
├── bin -> usr/bin  #所有二进制命令所在的目录
├── boot  #内核以及系统引导文件所在目录
├── dev  #所有设备文件的目录,如磁盘,光驱等
├── etc  #二进制安装包配置文件的默认路径,服务启动命令的存放目录
├── home  #普通用户的家目录
├── lib -> usr/lib  #32位库文件存放目录
├── lib64 -> usr/lib64  #64位库文件存放目录
├── media
├── mnt  #临时挂载存储设备(u盘)的目录
├── opt  #自定义软件安装存放目录
├── proc  #内核和进程信息存放目录
├── root  #root用户家目录
├── run  #系统运行时产生的临时文件存放的目录
├── sbin -> usr/sbin  #系统管理命令存放目录(root用户命令)
├── srv  #服务启动后需要访问的数据的存放目录
├── sys  #系统使用目录
├── tmp  #临时文件存放目录
├── usr  #系统命令和帮助文件目录
└── var  #存放内容经常变动的文件的目录

/etc 和/var

/etc/profile #系统全局变量配置文件
/etc/rc.local #存储系统开机自启动程序命令文件
/etc/resolv.conf #设置本地客户端的DNS的文件

/var/log/dmesg #系统核心启动日志文件
/var/log/message #系统报错日志文件
/var/log/maillog #邮件系统日志文件
/var/log/wtmp #用户登录信息文件

重要文件

  1. 网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens33
    虚拟机设置为桥接时,文件配置如下所示。
TYPE=Ethernet
BOOTPROTO=none
DEVICE=ens33
ONBOOT=yes
IPADDR=<虚拟机IP地址>
NETMASK=<子网掩码>
GATEWAY=<默认网关>
DNS1=<首选DNS服务器>
DNS2=<备用DNS服务器>
  1. DNS配置文件/etc/resolv.conf
    网卡配置文件中的DNS设置优先级高于此文件中的DNS配置。

  2. 系统hosts文件/etc/hosts。hosts文件是主机ip地址与特定域名或者主机名对应的解析配置文件,在实际生产环境中,内网主机的hosts文件都应该保持一致。

  3. 主机名配置文件/etc/hostname

  4. fstab文件。
    在 CentOS 7 中,fstab(文件系统表)是一个配置文件,用于定义系统引导时自动挂载的文件系统。fstab 文件包含了关于每个文件系统的信息,例如文件系统的设备名称、挂载点、文件系统类型、挂载选项等。fstab 文件通常位于 /etc/fstab 路径下。要编辑 fstab 文件,您可以使用文本编辑器(如 vi 或 nano)以 root 用户权限打开该文件。

# <文件系统设备>   <挂载点>     <文件系统类型>    <挂载选项>                <其他选项>    <备份频率>    <检查顺序>

/dev/sda1         /boot        ext4             defaults                   1             2
/dev/mapper/root  /            ext4             defaults,noatime           0             1
/dev/mapper/home  /home        ext4             defaults,noatime           0             2
/dev/mapper/swap  none         swap             defaults                   0             0

在示例中,每行代表一个文件系统的挂载信息。各字段的含义如下:
<文件系统设备>: 指定文件系统设备的名称或标识符,如 /dev/sda1、UUID=xxx。
<挂载点>: 指定文件系统挂载的目标目录。
<文件系统类型>: 指定文件系统的类型,如 ext4、xfs、ntfs。
<挂载选项>: 指定挂载选项,如 defaults、noatime 等。可以使用逗号分隔多个选项。
<其他选项>: 指定其他选项,如 0(不备份)或 1(每日备份)。
<备份频率>: 指定备份频率,如 1(每天备份)或 2(每周备份)。
<检查顺序>: 指定文件系统检查顺序,如用于 / 根目录的 1 或 0(不检查)。
注意;对于自定义的挂载点,您需要确保这些目录已经存在,并且已经设置合适的权限。
在编辑 fstab 文件后,记得保存更改,并使用以下命令测试文件是否正确无误:

sudo mount -a

此命令将尝试挂载 fstab 中定义的所有文件系统。如果没有任何错误消息,则说明 fstab 中的配置是正确的,并且文件系统已成功挂载。

重要提示:在修改 fstab 文件之前,请务必备份原始文件和确保了解每个项目的含义。错误的 fstab 配置可能会导致系统无法引导或挂载失败。

  1. rc.local 文件,rc.local文件用于存放开机自启动服务命令。在 CentOS 7 中,默认情况下 rc.local 文件是禁用的,并不推荐使用。因此,如果要在 CentOS 7 中执行自定义命令或脚本,建议使用其他方式,如 systemd 单元文件。
    然而,如果仍然希望使用 rc.local 文件,以下是一些需要注意的事项:
    最首先,我发现在/etc路径下已经存在一个名为rc.local的文件,但是用此文件启动服务始终报错,后用touch命令在/etc下新建了/rc.d/rc.local文件,使用此文件最终成功。
    1.确保 rc.local 文件存在并可执行:
   sudo touch /etc/rc.d/rc.local
   sudo chmod +x /etc/rc.d/rc.local

2.使用 root 权限编辑 rc.local 文件:

  sudo vi /etc/rc.d/rc.local

3.在 rc.local 文件中添加要执行的自定义命令或脚本,特别注意,此文件中的第一行必须是#!/bin/bash,当此文件的第一行为空时,启动服务将失败!例如:

  #!/bin/bash
  # 这是一个示例命令
  echo "Hello, World!" > /tmp/hello.txt

4.保存并关闭 rc.local 文件。
5.启用 rc.local 服务单元:

sudo systemctl enable rc-local.service

6.启动 rc.local 服务:

sudo systemctl start rc-local.service

上述步骤启用了 rc.local 服务单元,并执行了 rc.local 文件中的命令。
重要提示:由于 CentOS 7 默认禁用 rc.local 文件并不推荐使用,建议考虑使用 systemd 单元文件来管理启动任务和服务。

启动时打印时间到/tmp/helloandtime.txt。
在rc.local中写入以下内容。

echo $(date +%F%n%T) > /tmp/helloandtime.txt

在启动rc-local.service过程中频繁报错,如下图所示,
在这里插入图片描述
7. 全局环境变量配置文件,/etc/profile文件。可用于存放用户登录后自动执行的脚本。
注意的是,/etc/profile 文件中的脚本是在所有用户登录时执行的。如果想要定义仅在特定用户下执行的脚本,可以考虑使用相应用户的个人配置文件,例如:
对于特定用户:home/用户名/.bash_profile
修改文件之后需要使用source命令是文件立即生效。

  1. 定时任务配置文件,/var/spool/cron。
    用户定时任务:对于特定用户的定时任务,可以使用用户的个人配置文件来配置。每个用户可以使用 crontab 命令编辑自己的定时任务。用户的定时任务文件位于 /var/spool/cron 目录中,以用户名命名。例如,要编辑用户 username 的定时任务,可以运行以下命令:
  crontab -e -u username

在编辑器中,可以添加或编辑定时任务。定时任务的格式遵循 cron 语法。编辑完成后,定时任务将自动保存并生效。

系统定时任务:对于系统级别的定时任务,可以使用系统的定时任务配置文件。在 CentOS 7 中,这些配置文件位于 /etc/cron.* 目录中,并根据执行时间间隔进行分类。以下是其中一些常见的配置文件:

/etc/crontab:系统范围的定时任务配置文件。
/etc/cron.hourly/:每小时执行一次的定时任务目录。
/etc/cron.daily/:每天执行一次的定时任务目录。
/etc/cron.weekly/:每周执行一次的定时任务目录。
/etc/cron.monthly/:每月执行一次的定时任务目录。

可使用文本编辑器打开这些文件,并按照 cron 语法的格式添加或编辑定时任务。注意,对于这些文件的更改将在下一个对应时间间隔触发定时任务时生效。
示例:要在系统级别每天执行脚本的定时任务,可以将脚本添加到 /etc/cron.daily/ 目录中,确保脚本具有可执行权限。

 sudo chmod +x /etc/cron.daily/my_script.sh

必须符合cron特定的 语法,以确保任务在预期的时间和频率下执行。
编辑完成后,定时任务将自动进行触发和执行,而无需其他操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值