Linux文件目录详解

简介: Linux文件目录详解

Linux一切皆文件

Linux所有目录皆存放于 /(根目录)下

本文基于centos-7.9系统记录

系统目录及作用

  • 我们可以利用命令:tree -L 1 /查看/目录下所有子目录,目录后注释则是介绍此目录作用。
  • 我们会经常用到/bin、/etc、/var等目录下的内容
tree -L 1 /
/
├── bin -> usr/bin # 用于存放二进制命令
├── boot # 内核及引导系统程序所在的目录
├── dev # 所有设备文件的目录(如磁盘、光驱等)
├── etc # 配置文件默认路径、服务启动命令存放目录
├── home # 用户家目录,root用户为/root
├── lib -> usr/lib # 32位库文件存放目录
├── lib64 -> usr/lib64 # 64位库文件存放目录
├── media # 媒体文件存放目录
├── mnt # 临时挂载设备目录
├── opt # 自定义软件安装存放目录
├── proc # 进程及内核信息存放目录
├── root # Root用户家目录
├── run # 系统运行时产生临时文件,存放目录
├── sbin -> usr/sbin # 系统管理命令存放目录
├── srv # 服务启动之后需要访问的数据目录
├── sys # 系统使用目录
├── tmp # 临时文件目录
├── usr # 系统命令和帮助文件目录
└── var # 存放内容易变的文件的目录
19 directories, 0 files

比较重要的系统文件

网卡配置文件

  • 网卡配置文件为:/etc/sysconfig/network-scripts/ifcfg-eth0
  • ipv6内容暂时用不到,也可以删掉。
cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet # 类型为以太网
PROXY_METHOD=none # 代理方式:关闭状态
BROWSER_ONLY=no # 只是浏览器:否
BOOTPROTO=static # 网卡引导协议为静态,dhcp为动态
DEFROUTE=yes # 默认路由:开启
IPV4_FAILURE_FATAL=no # 是否开启ipv4致命错误检测:否
IPV6INIT=yes # IPv6是否自动初始化:是
IPV6_AUTOCONF=yes # ipv6是否自动配置
IPV6_DEFROUTE=yes # ipv6是否可以为默认路由
IPV6_FAILURE_FATAL=no # 是否开启ipv6致命错误检测:否
IPV6_ADDR_GEN_MODE=stable-privacy # ipv6地址生成模型
NAME=eth0 # 网卡名称
# 以下几项为手动配置
ONBOOT=yes # 网卡开机自启动
IPADDR=192.168.10.3 # IP地址
PREFIX=24 # 子网掩码
GATEWAY=192.168.10.254 # 网关地址
DNS1=223.5.5.5 # DNS地址

DNS配置文件

  • DNS(Domain Name System)用于将域名解析为IP地址,本地DNS配置文件为:/etc/resolv.conf
  • 下面配着内容是将223.5.5.5作为DNS服务器的地址,含义是指等服务器所有DNS解析工作都有服务器地址为223.5.5.5的DNS服务器负责。
cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 223.5.5.5

系统hosts文件

  • hosts文件是主机IP地址与主机名或域名对应的解析配置文件,进行本地解析。所有内网服务器hosts文件都保持一致。
  • 文件路径为:/etc/hosts
  • 夫妻之间的服务通信、接口调用等可以用hosts文件中的域名或主机名代替IP
cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.2 nginx-lb
192.168.10.3 nginx01
192.168.10.4 tomcat01
192.168.10.5 tomcat02

主机名配置文件

  • 可以在此文件中修改主机名,文件路径为:/etc/hostname
  • 也可以通过命令hostnamectl set-hostname 主机名直接进行修改
cat /etc/hostname 
nginx01

fstab文件

  • 这个文件是记录开机需要自动挂载的文件系统的配置文件,也就是常说的永久挂载
  • 文件的路径为:/etc/fstab
  • 临时挂载命令为:mount 文件系统 挂载点
cat /etc/fstab 
#
# /etc/fstab
# Created by anaconda on Sun Jan 10 03:40:54 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=cafe565d-aa74-4650-97cf-917c79d997d1 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0

上面内容包含两条挂载信息,挂的信息分为六列,含义分别为

1.被挂载的设备名称
2.挂载点
3.文件系统类型
4.挂载选项。default为默认
5.是否需要备份,0为不需要
6.是否需要开机检查,0为不需要

rc.local文件

  • 用于存放开机自启动服务命令,可以将命令直接写入此配置文件中,路径为:/etc/rc.local
  • 配置完成后,需要执行chmod +x /etc/rc.d/rc.local属于该文件的执行权限
cat /etc/rc.local 
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local

全局环境变量配置文件

  • 此文件中配置对所有用户生效,如果需要对某用户配置环境变量,需要在其家目录下.bash_profile文件中做出配置。
  • 路径为:/etc/profile
cat /etc/profile
export JAVA_HOME=/app/jdk
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$PATH:$JAVA_HOME/bin
  • 上面内容为为JDK配置的环境变量。配置完成后运行source /etc/profile使其生效。

定时任务配置文件

  • 此文件路径为:/var/spool/cron/
  • 可以直接使用命令crontab -e进行编辑。

用户相关配置命令

文件目录相关命令

命令:touch

  • 用于修改文件的时间属性,若文件不存在,则创建。
  • 语法:touch [选项] 文件名
  • 选项:
-a:修改文件的访问时间为当前系统时间
-m:修改文件的修改时间为系统当前时间
-d:将文件的修改时间修改为指定的时间
  • 实例:创建一个新文件并查看创建时间
[root@nginx01 ~]# touch newfile
[root@nginx01 ~]# ll newfile 
-rw-r--r-- 1 root root 0 1月  23 20:52 newfile

命令:cat

  • 查看文件内容,进行文件合并
  • 语法:cat [选项] 文件名cat 文件一 文件二 > 文件三
  • 选项:
-n:从一开始对文件所有输出的行数编号
-b:从一开始对文件所有输出的行数编号,忽略空行
-s:连续两行以上的空白行,合并成一行
  • 实例:查看文件内容并对输出内容编号
[root@nginx01 ~]# cat -n newfile 
     1  dabf
     2  fee
     3  fef
     4  afffwff

命令:mkdir

  • 用于创建一个新目录
  • 语法:mkdir [选项] 目录名
  • 选项:
-m:创建目录的同时设置目录权限
-p:递归创建目录

实例:创建/下data目录,并在/data目录下创建haha目录

[root@nginx01 ~]# mkdir -p /data/haha
[root@nginx01 ~]# tree /data/
/data/
└── haha
1 directory, 0 files

命令:rm

  • 用于删除文件或目录,删除时一定要多加注意,防止误删
  • 语法:rm [选项] 文件或目录
  • 选项:
-i:删除之前进行确认
-f:强制删除,不进行确认
-r:递归删除
-v:显示详细过程
  • 实例:强制删除文件,不进行确认
[root@nginx01 ~]# ll
总用量 8
-rw-------. 1 root root 1357 1月  10 2021 anaconda-ks.cfg
-rw-r--r--  1 root root   21 1月  23 20:57 newfile
[root@nginx01 ~]# rm -rf newfile 
[root@nginx01 ~]# ll
总用量 4
-rw-------. 1 root root 1357 1月  10 2021 anaconda-ks.cfg

命令:cp

  • 此命令用于复制
  • 语法:cp [选项] 文件或目录
  • 选项:
-a:复制目录时保留文件连接文件属性,并可递归复制目录
-f:强制复制
-i:覆盖之前进行确认
-p:保留原文件或目录的属性
-r:递归复制
  • 实例:将文件复制到/data目录下
[root@nginx01 ~]# cp /etc/passwd /data/
[root@nginx01 ~]# ll /data/
总用量 4
drwxr-xr-x 2 root root    6 1月  23 21:00 haha
-rw-r--r-- 1 root root 1077 1月  23 21:08 passwd

命令:mv

  • 将文件或目录移动位置,或进行重命名
  • 语法:mv [选项] 源文件或目录 目标文件或目录
  • 选项:
-b:如果目标文件存在,则覆盖前为其创建一个备份

实例:将/data下passwd文件移动至/data/haha目录下

[root@nginx01 ~]# ll /data/
总用量 4
drwxr-xr-x 2 root root    6 1月  23 21:00 haha
-rw-r--r-- 1 root root 1077 1月  23 21:08 passwd
[root@nginx01 ~]# mv /data/passwd /data/haha/
[root@nginx01 ~]# ll /data/
总用量 0
drwxr-xr-x 2 root root 20 1月  23 21:11 haha
[root@nginx01 ~]# ll /data/haha/
总用量 4
-rw-r--r-- 1 root root 1077 1月  23 21:08 passwd

同系列文章链接

目录
相关文章
|
1月前
|
存储 Linux
Linux 目录名称
Linux系统目录结构简介:根目录(/)下包含各类功能目录,如/bin存放用户命令,/etc存储配置文件,/home为用户主目录,/var记录日志等可变数据,/usr存放用户工具,/tmp用于临时文件。各目录分工明确,保障系统有序运行。(238字)
191 5
|
6月前
|
Linux 开发工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
|
4月前
|
存储 数据管理 Linux
区分Linux中.tar文件与.tar.gz文件的不同。
总之,".tar"文件提供了一种方便的文件整理方式,其归档但不压缩的特点适用于快速打包和解压,而".tar.gz"文件通过额外的压缩步骤,尽管处理时间更长,但可以减小文件尺寸,更适合于需要节约存储空间或进行文件传输的场景。用户在选择时应根据具体需求,考虑两种格式各自的优劣。
689 13
|
5月前
|
安全 Linux
Linux赋予文件000权限的恢复技巧
以上这些步骤就像是打开一扇锁住的门,步骤看似简单,但是背后却有着严格的逻辑和规则。切记,在任何时候,变更文件权限都要考虑安全性,不要无谓地放宽权限,那样可能
183 16
|
6月前
|
Linux
【Linux】 Linux文件I/O常见操作技巧
以上就是Linux文件I/O操作的一些技巧,接纳它们,让它们成为你在Linux世界中的得力伙伴,工作会变得轻松许多。不过记住,技巧的运用也需要根据实际情况灵活掌握,毕竟,最适合的才是最好的。
196 28
|
5月前
|
存储 Linux 数据处理
深入剖析Linux中一切即文件的哲学和重定向的机制
在计算机的奇妙世界中,Linux的这套哲学和机制减少了不同类型资源的处理方式,简化了抽象的概念,并蕴藏着强大的灵活性。就像变戏法一样,轻轻松松地在文件、程序与设备之间转换数据流,标准输入、输出、错误流就在指尖舞动,程序的交互和数据处理因此变得既高效又富有乐趣。
99 4
|
6月前
|
Ubuntu Linux
"unzip"命令解析:Linux下如何处理压缩文件。
总的来说,`unzip`命令是Linux系统下一款实用而方便的ZIP格式文件处理工具。本文通过简明扼要的方式,详细介绍了在各类Linux发行版上安装 `unzip`的方法,以及如何使用 `unzip`命令进行解压、查看和测试ZIP文件。希望本文章能为用户带来实际帮助,提高日常操作的效率。
863 12
|
7月前
|
Linux 定位技术
Linux系统中的cd命令:目录切换技巧
踏过千山,越过万水,人生就是一场不断前行的旅程,总充满了未知与挑战。然而,“cd”命令如同你的旅伴,会带你穿梭在如棋盘一般的文件系统中,探索每一处未知。希望你能从“cd”命令中找到乐趣,像是掌控了一种络新妙的魔法,去向未知进发,开始你的探索之旅。
295 24
|
7月前
|
Linux Shell
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
422 19
|
5月前
|
Linux
linux文件重命名命令
本指南介绍Linux文件重命名方法,包括单文件操作的`mv`命令和批量处理的`rename`命令。`mv`可简单更改文件名并保留扩展名,如`mv old_file.txt new_name.txt`;`rename`支持正则表达式,适用于复杂批量操作,如`rename 's/2023/2024/' *.log`。提供实用技巧如大小写转换、数字序列处理等,并提醒覆盖风险与版本差异,建议使用`-n`参数预览效果。