Linux系统的目录结构
1、Linux目录结构的特点
分区 ‘加载’ 于目录结构:
使用树形目录结构来组织和管理文件。
整个系统只有一个位于根分区的一个根目录(树根)、一棵树
其他所有分区、目录、文件以及外部设备(如硬盘、光驱等)都是以根目录为起点,挂接在目录树的
某个目录中的
通过访问挂载点目录,即可实现对这些分区的访问。
Linux的根目录用“/”表示
每个主分区或逻辑分区都有一个独立的根目录和相应的树形目录结构,各分区采用盘符进行区分和标 识。
一句话,Linux中万物皆文件
/ | Linux文件系统的最上层根目录,其他所有目录均是该目录的子目录 |
---|---|
/bin | Binary的缩写,存放普通用户可执行的程序或命令 |
/boot | 存放系统启动时所需的文件,这些文件若损坏常会导致系统无法启动,一般不要改动 |
/dev | dev 是设备(device)的英文缩写。包含所有的设备文件 |
/etc | 存放了系统管理时要用到的各种配置文件和子目录 |
/home | 存放一般用户的个人目录 |
/lib | 是库(library)英文缩写,存放系统的各种库文件 |
/lib64 | 存放系统本身需要用到64位程序的共享函数库(library) |
/mnt/media | 可以临时将别的文件系统挂在这个目录下,即为其他的文件系统提供安装点 |
/opt | 该目录通常提供给较大型的第三方应用程序使用,例如Sun Staroffice、Corel WordPerfect,这可避免将文件分散至整个文件系统 |
/proc | 可以在这个目录下获取系统信息。这些信息是在内存中由系统自己产生的 |
/root | 超级用户的个人目录,普通用户没有权限访问 |
/run | 保存自系统启动以来描述系统信息的文件 |
/sbin | 和/bin类似,这些文件往往用来进行系统管理,只有root可使用 |
/srv | srv 是服务(server)的简写,服务启动之后需要访问的数据目录 |
/sys | 本目录是将内核的一些信息映射文件,以供应用程序所用 |
/tmp | 用来存放不同程序执行时产生的临时文件。 |
/home | 存放一般用户的个人目录 |
/usr | 一般用户程序安装所在的目录,用于安装各种应用程序 |
/var | 通常各种系统日志文件放在这里 |
2、工作目录、用户家目录及路径
绝对路径:是指以根目录“/”为起点来表示系统中某个文件(或目录)的位置的方式
相对路径:是以当前目录为起点,表示系统中某个文件或目录在目录结构中的位置的方式。
3、 Linux的文件类型大致可分为
普通文件:用于存放数据、程序等信息的文件。
使用 ls -l 命令后,第一列第一个字符为 “-” 的文件为普通文件
以普通文件为例,使用 ls -l 命令,可以看到结果的第一列是 -rwxrwxrwx 的形式,其中第一个字符 “-” 表示这个文件为普通文件,它也可以是其他的字符,不同的字符代表不同类型的文件。其后的一串字符表明了该文件的权限,其中:
1)r 表明该文件具有可读权限,若该位置为 “-” ,则表明文件不可读;
2)w 表明该文件具有写权限,若该位置为 “-” ,则表明文件不可写;
3)x 表明该文件具有可执行权限,若该位置为 “-” ,则表明文件不具有可执行权限;
4)第一个 rwx 表示该文件的所有者对该文件的权限;第二个 rwx 表示该文件所属组对该文件的权限;第三个 rwx 表示其他用户对该文件的权限。
目录文件:是由文件系统中一个目录所包含的目录项组成的文件。
第一个字符为 “d” 在 Linux 中代表该文件是一个目录文件
链接文件:又称符号链接文件, 用于不同目录下文件的共享。实际上它指向另一个文件。
硬链接
硬链接,相当于给原文件取了个别名,其实两者是同一个文件,删除二者中任何一个,另一个不会消失
同样的,使用 ln 命令可以创建一个文件的硬链接:
ln test.txt test_hardlink
软连接
软链接相当于给原文件创建了一个快捷方式,如果删除原文件,则对应的软链接文件也会消失。
软链接(又称符号链接),使用 ln -s file file_softlink 命令可以创建一个文件的软链接文件:
ln -s test.txt test_softlink
设备文件:用于与I/O设备提供连接的一种文件,分为 块设备文件:表示磁盘、光盘等
1)块设备文件:
一个 block 通常为 4KB 的大小,也就是说每次可以存取 4096(或其整数倍) 个字节的数据
硬盘、软盘等都是块设备
块设备文件支持以块(block)为单位的访问方式
2)字符设备文件:
字符终端、串口和键盘等就是字符设备
字符设备文件:联系着按照字符进行操作的终端、键盘等设备。
字符设备文件的第一个字符是 “c”(char)
管道文件:主要用于在进程间传递数据。
套接字文件 :套接字(socket)文件通常用于网络数据连接。
管道文件主要用于进程间通信,第一个字符为 “p”(pipe)
ls命令
列表(list)显示目录内容——ls命令
命令格式:ls [选项] 文件名或目录名
选项 | 功能 |
---|---|
-a | 显示所有子目录和文件的信息,包括名称以“.”开头的隐藏目录和隐藏文件。 |
-A | 与-a选项的作用类似,但不显示表示当前目录的“.”和表示父目录的“…”。 |
-c | 按文件的修改时间排序后,予以显示。 |
-d | 显示指定目录本身的信息,而不显示目录下的各个文件和子目录的信息。 |
-h | 以更人性化的方式显示出目录或文件的大小,默认的大小单位为字节,使用-h选项后将显示为K、M等单位。此选项需要和-l选项结合使用才能体现出结果。 |
-l | 以长格形式显示文件和目录的详细信息,ls命令默认只显示名称的短格式。 |
-R | 以递归的方式显示指定目录及其子目录中的所有内容。 |
date命令
参数 | 作用 |
---|---|
%S | 秒(00~59) |
%M | 分钟(00~59) |
%H | 小时(00~23) |
%I | 小时(00~12) |
%m | 月份(1~12) |
%p | 显示出AM或PM |
%a | 缩写的工作日名称(例如:Sun) |
%A | 完整的工作日名称(例如:Sunday) |
%b | 缩写的月份名称(例如:Jan) |
%B | 完整的月份名称(例如:January) |
%q | 季度(1~4) |
%y | 简写年份(例如:20) |
%Y | 完整年份(例如:2020) |
%d | 本月中的第几天 |
%j | 今年中的第几天 |
%n | 换行符(相当于按下回车键) |
%t | 跳格(相当于按下Tab键) |
按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间的date命令如下所示:
[root@ikta ~]# date "+%Y-%m-%d %H:%M:%S"
2021-11-23 11:46:23
将系统的当前时间设置为2020年11月1日8点30分的date命令如下所示:
[root@ikta ~]# date -s "20201101 8:30:00"
Sun Nov 1 08:30:00 CST 2020
timedatectl命令
timedatectl命令用于设置系统的时间,英文全称为:“time date control”
语法格式为:“ timedatectl [参数]”
timedatectl命令中的参数以及作用
参数 | 作用 |
---|---|
status | 显示状态信息 |
list-timezones | 列出已知时区 |
set-time | 设置系统时间 |
set-timezone | 设置生效时区 |
查看系统时间与时区:
[root@ikta ~]# date "+%Y-%m-%d %H:%M:%S"
2021-11-23 11:46:23
[root@ikta ~]# timedatectl status
Local time: Tue 2021-11-23 11:49:03 CST
Universal time: Tue 2021-11-23 03:49:03 UTC
RTC time: Tue 2021-11-23 03:49:03
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
mkdir命令
——mkdir命令(make directory)
命令格式: mkdir [-p] [/路径/]目录名 -p——可快速创建出目录结构中指定的每个目录,对于已存在的目录不会被覆盖
[root@ikta ~]