一:文件 与 文件夹
文件
一般是1个独立的东西,可以通过一些特性的工具进行打开,并且其中不能再包含出来文字以外的东西
文件夹
可以在其中包含其他文件的东西
为何要讲文件?
1.在Linux中,近乎一般以上都是对文件的操作
2.Linux本身也是一个基于文件形式表示的操作系统
3.在Linux中,一切皆文件
(就像在Python中,一切皆对象)
- 在Windows中是文件的,在Linux中也是文件
- 在Windows中不是文件的,在Linux中也是以文件的形式存储的
对文件有哪些操作?
- 创建文件
- 查看文件
- 复制文件
- 移动文件(重命名文件)
- 编辑文件
- 保存文件
- 压缩文件
- 删除文件
- 恢复文件
- 查找
绝对路径 与 相对路径
相对路径 - 从当前目录开始的路径
- 当前目录:
.
- 上级目录:
..
- 上上级目录:
../..
- 当前用户的家目录:
~
- 当前目录下的file目录:
./file
或者file
绝对路径 - 完整的路径
- 根目录:
/
- 根目录中 root目录下的 1.txt文件:
/root/1.txt
- 根目录中 usr目录下的 local目录下的 info.log文件:
/usr/local/info.log
文件的时间
在Linux系统中,文件有3种时间
- atime(Access Time):最后访问的时间。每访问一次该文件,atime就会更新
- ctime(Change Time):改变的时间。修改文件内容,ctime就会更新
- mtime(Modify Time):修改的时间。修改文件内容、权限等操作,mtime就会更新
查看
# 仅查看修改的时间(mtime)
ls -l 文件名
# 查看3种时间
stat 文件名
文件的扩展名
Linux文件是没有扩展名的,加上扩展名只是为了便于区分文件的类型
查看方法1:
ls -l 文件名
后的第1个字符
第一个字符 | 文件类型 | 例 |
---|---|---|
- | 普通文件(文本文件、二进制文件、压缩文件、图片、视频、音乐) | /bin/ls |
d | 目录文件(目录,相当于Windows中的文件夹。一般为蓝色) | /home/ |
b | 设备文件(块设备)存储设备:移动硬盘、U盘、CD | /dev/sda |
c | 设备文件(字符设备)扫描设备:传真、打印机、扫描仪 | /dev/printer |
s | 套接字文件 | /run/rpcbind.sock |
p | 管道文件 | /run/systemd/iniectl/fifo |
l | 链接文件(一般为淡蓝色) | /bin |
查看方法2:
filr 文件名
file /root/mine/diary.txt
二:Linux的文件目录结构
Windows 与 Linux 的目录结构对比
Windows:一切皆图形
有磁盘分区
的概念,磁盘中可以有多个分区(C盘、D盘、E盘...),分区中可以有多个文件夹
以多根的方式组织文件 C:\
D:\
E:\
Linux:一切皆文件
没有磁盘分区的概念,只有1个根目录:/
,根目录下有许多子目录
以单根的方式组织文件 /
Linux的目录结构
目录名称 | 全称 | 作用 |
---|---|---|
bin |
Binary 二进制 | 该目录存储的都是二进制文件,文件都是可以被运行的 |
boot | Boot 启动 | 系统启动相关的文件,如:内核、initrd,以及grub(BootLoader) |
dev |
Device 设备 | 该目录中存放的都是外接设备,如:CD、U盘 但是 外接设备无法直接使用,需要手动挂载 (类似Windows下的分配盘符) |
etc |
Etcetera 等等 Editable Text Configuration 可编辑文本配置 |
该目录主要存储一些配置文件 |
home |
Home 家 | 表示出了root用户之外的其他用户的家目录 类似于Windows的User目录 |
lib | Library | 存放库文件 Glibc(比如说Java的类库) |
lost+found | Lost+Found 失物招领 | 系统异常产生错误(比如说异常关机)时 会将一些遗失的片段放置于此目录下 通常这个目录会自动出现在装置目录下 |
media | Media 媒体 | 挂载那些USB接口的移动硬盘(包括U盘)、CD/DVD驱动器等等(系统自动挂载) |
mnt |
Mount 挂载 | 外接设备需要挂载时,就需要挂载到mnt目录(用户手动挂载) |
net | Network 网络 | 包括了许多网络相关的配置 |
opt | Optional application software packages 可选应用软件包 |
该目录用于存放那些可选的程序 |
proc |
Process 进程 | 该目录存储的是Linux运行时的进程 可以查看CPU、内存信息 |
root |
Root 根 | 该目录是root用户自己的家目录 |
run | Run 运行 | 存放运行的程序的文件 |
sbin |
Super binary 超级二进制 | 该目录也是存放一些可以被执行的二进制文件 但是必须得由super权限的超级管理员才能执行 |
selinux | Security-Enhanced Linux 安全增强式Linux | 对SElinux的一些配置文件目录,SElinux可以让linux更加安全 |
srv | Service 服务 | 存放一些对外的服务数据(不是软件,而是数据) |
sys | System 系统 | Linux 内核中设计较新的一种虚拟的基于内存的文件系统 |
tmp |
Temporary 临时的 | 系统运行产生的临时文件,10天后自动删除(类似于回收站) |
usr |
Unix Software Resource Unix软件资源 | 存放用户自己安装的软件,类似于Windows的ProgramFiles |
var |
Variable files 变量文件 | 存放程序、系统的日志文件的目录 |
ls -l 时的详细信息解析
total
总文件数
,包括隐藏文件
Linux中有2个默认的隐藏文件:
.
当前目录、..
上级目录
权限相关
由10或者11个字符组成:
第1个字符:表示文件类型
第2-10个字符:3个为1组,每组分别是[r读
、w写
、x执行
]权限,没有权限的用-
表示
-
第1组:文件
所有者
的读写执行权限(所有者权限) -
第2组:与文件所有者在同一
用户组
的其他用户所具有的权限(所属组权限) -
第3组:
其他用户
权限(访问者权限)
所属主
该文件/目录的创建者
所属组
该文件/目录的创建者所在的用户组
文件大小
表示该文件的大小
,单位是字节
(Byte)
月份
1月到12月的缩写(省略了.
)
月份 | 英文 | 缩写 |
---|---|---|
1月 | January | Jan. |
2月 | February | Feb. |
3月 | March | Mar. |
4月 | April | Apr. |
5月 | May | May. |
6月 | June | Jun. |
7月 | July | Jul. |
8月 | August | Aug. |
9月 | September | Sep. |
10月 | October | Oct. |
11月 | November | Nov. |
12月 | December | Dec. |
为什么要把完整的表列出来呢?没错,我就是来科(zhuāng)普(bī)的
日期
1 3 5 7 8 10 12:1-31日
4 6 9 11:1-30日
2:28或29日
时间
只显示时
和分
:00:00 - 23:59
文件名
文件的名称(可以带有后缀,只是为了区分文件的类型)