目录
文件类型
使用ls命令查看目录文件
ls //后加目录文件路径
[root@localhost ~]# ls /
bin boot dev etc home lib lib64 media mnt opt proc root run sbin
srv sys test tmp usr var
常用选项:
选项 | 功能 |
-l |
以长格形式显示文件和目录的详细信息
|
-d |
显示指定目录本身的信息
,
而不显示目录下的各个文件和子目录的信息
|
-h |
以更人性化的方式显示出目录或文件的大小(字节变为K,M等单位)
|
-a |
显示所有子目录和文件的信息
,
包括名称以
“.”
开头的隐藏目录和隐藏文件
|
-c |
按文件的修改时间排序后,予以显示
|
-R |
以递归的方式显示指定目录及其子目录中的所有内容
|
-i |
显示文件
索引节点
号(
inode
)
|
-s |
按照文件大小排序
|
-A |
与
-a
选项的作用类似
,
但不显示表示当前目录的
“.”
和表示父目录的
“..”
|
可以多个重叠使用 。-a与-d会冲突,-d会将-a的命令覆盖掉。
补充;
一个索引节点代表一个文件,在linux中保存在磁盘分区中的文件都给它分配一个编号,称为索引节点号inode。
硬链接,与软链接相似,但不是特殊的文件类型。
ls示例
1、显示所有目录,包括隐藏文件。
[root@localhost ~]# ls -a /root
. .. anaconda-ks.cfg .bash_logout .bash_profile .bashrc .cache .cshrc .tcshrc .Xauthority
2、查看详细信息
[root@localhost ~]# ls -l /root
总用量 4
-rw-------. 1 root root 833 3月 30 16:58 anaconda-ks.cfg
ls -l 可以简写为 ll。
Linux文件类型
例如:
[root@localhost ~]# ls -l -a /root
总用量 36
dr-xr-x---. 13 root root 4096 3月 30 17:34 .
dr-xr-xr-x. 18 root root 235 3月 30 16:47 ..
drwxr-xr-x. 2 root root 6 3月 30 17:34 公共
drwxr-xr-x. 2 root root 6 3月 30 17:34 模板
drwxr-xr-x. 2 root root 6 3月 30 17:34 视频
drwxr-xr-x. 2 root root 6 3月 30 17:34 图片
drwxr-xr-x. 2 root root 6 3月 30 17:34 文档
drwxr-xr-x. 2 root root 6 3月 30 17:34 下载
drwxr-xr-x. 2 root root 6 3月 30 17:34 音乐
drwxr-xr-x. 2 root root 6 3月 30 17:34 桌面
-rw-------. 1 root root 833 3月 30 16:58 anaconda-ks.cfg
-rw-r--r--. 1 root root 18 8月 11 2021 .bash_logout
-rw-r--r--. 1 root root 141 8月 11 2021 .bash_profile
-rw-r--r--. 1 root root 429 8月 11 2021 .bashrc
drwx------. 7 root root 95 3月 30 17:34 .cache
drwx------. 8 root root 4096 3月 30 17:34 .config
-rw-r--r--. 1 root root 100 8月 11 2021 .cshrc
drwx------. 3 root root 19 3月 30 17:34 .local
-rw-r--r--. 1 root root 129 8月 11 2021 .tcshrc
-rw-------. 1 root root 67 3月 30 17:15 .Xauthority
类型
使用ls -l命令查看到的第一个字符有:-,d,c,b,p,s,l
-:代表普通文件
d:代表目录文件 --- 文件夹
c:代表字符设备文件 --- 串行端口设备,为顺序读写,键盘。
b:代表块设备文件 --- 可供存储的接口设备,随机读写,硬盘。
p:代表管道文件 --- 用于进程间的通信。
s:代表套接字文件 --- 通常用于网络上的通信。可以启动一个程序来监听客户端的要求,客户端可以通过套接字来进行数据通信。
l:代表软连接文件 --- 类似Windows的快捷方式,如果原始文件被删除,所有指向它的符号链接也就都被破坏了。软链接有自己的node,是linux特殊文件的一种,作为一个文件,它的数据是它所连接的文件的路径。符号链接可以跨越文件系统,也可以为目录建立。
各符号含义
第二字符及以后的到空格前的字符:
-:代表无权限。
r:代表可读。
w:代表可写。
x:代表可执行。
d rwx//文件所属者权限 r-x//root组权限 r-x//其他账户权限 .//访问控制列表 2//链接次数 root//文件所属者 root//文件所属组 6//文件大小 3月 30 17:34//修改时间 公共//文件名
注:系统首先判断用户身份,再赋予权限。
Linux系统的目录结构
Linux目录结构的特点
以树结构的方式查询文件
tree //后加文件路径
例如:
[root@localhost ~]# tree /home
/home
└── ximeng
├── 公共
├── 模板
├── 视频
├── 图片
├── 文档
├── 下载
├── 音乐
└── 桌面
9 directories, 0 files
各文件作用概括
文件名 | 文件描述 |
/ |
Linux
文件系统的最上层根目录
,
其他所有目录均是该目录的子目录
|
/boot
|
存放系统启动时所需的文件
,
这些文件若损坏常会导致系统无法启动
,
一般不要改动
|
/root
|
超级用户的个人目录,普通用户没有权限访问
|
/home
|
存放一般用户的个人目录
|
/bin
|
Binary
的缩写
,
存放普通用户可执行的程序或命令(存放的是二进制代码)
|
/sbin
|
和
/bin
类似,这些文件往往用来进行系统管理
,
只有
root
可使用
|
/lib
|
是库(
library
)英文缩写,存放系统的各种库文件
|
/lib64
|
存放系统本身需要用到
64
位程序的共享函数库
(library)
|
/usr
|
一般用户程序安装所在的目录
,
用于安装各种应用程序
|
/opt
|
该目录通常提供给较大型的第三方应用程序使用
|
/etc
|
存放了系统管理时要用到的各种配置文件和子目录
|
/var
|
通常各种系统日志文件放在这里
|
/run
|
保存自系统启动以来描述系统信息的文件
|
/dev
|
dev
是设备(
device
)的英文缩写。包含所有的设备文件(光盘,磁盘)
|
/mnt
和/media
|
可以临时将别的文件系统挂在这个目录下,即为其他的文件系统提供安装点
|
/tmp
|
用来存放不同程序执行时产生的临时文件
|
/srv
|
srv
是服务
(server)
的简写,服务启动之后需要访问的数据目录
|
/sys
|
本目录是将内核的一些信息映射文件
,
以供应用程序所用
|
/proc
|
可以在这个目录下获取系统信息。这些信息是在内存中由系统自己产生的
|
路径以及工作目录
绝对路径:是指以根目录“/”为起点来表示系统中某个文件(或目录)的位置的方式。
相对路径:是以当前目录为起点,表示系统中某个文件或目录在目录结构中的位置的方式。
因为绝对路径能更为准确的定位文件位置,所以一般使用绝对路径。
工作目录
一般用户的工作目录初始在:/home/用户名
root用户初始在:/root
注意:工作目录可以使用cd命令改变。
从命令行创建文件
文件命名规则
(1)不能使用/来当文件名,/是用来做根的,也是用来做路径分隔符的。
链接文件
软连接文件
硬链接文件
创建链接文件
创建软连接文件:
ln -s 原文件 目标文件
创建硬链接就直接是:
ln 原文件 目标文件
目录文件
创建目录文件
mkdir [-p] [/路径/]目录名
补充:
统计目录及文件的空间占用情况
du [选项] [目录名]
可增加选项
选项
|
功能
|
-a
|
统计磁盘空间占用时包括所有的文件
,
而不仅仅只统计目录
|
-s
|
只统计每个文件所占用空间总的大小
,
而不是统计每个子目录、文件的大小
|
-h
|
以
K,M,G
为单位显示磁盘使用情况
,
以提高信息的可读性
|
删除目录文件
命令
rm -r [-f] 目录文件名
普通文件
创建普通文件
touch [OPTION]... FILE...
touch的两种用法
[root@localhost ~]# stat /etc/hostname
File: /etc/hostname
Size: 22 Blocks: 8 IO Block: 4096 regular file
Device: 10302h/66306d Inode: 8608116 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:hostname_etc_t:s0
Access: 2022-06-09 11:19:35.484027446 +0800
Modify: 2022-04-16 14:46:36.153011877 +0800
Change: 2022-04-16 14:46:36.153011877 +0800
Birth: -
[root@localhost /]# touch /etc/hostname
[root@localhost /]# date
Thu Jun 9 17:38:45 CST 2022
[root@localhost /]# stat /etc/hostname
File: /etc/hostname
Size: 11 Blocks: 8 IO Block: 4096 regular file
Device: 10302h/66306d Inode: 8608116 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:hostname_etc_t:s0
Access: 2022-06-09 17:38:43.690002992 +0800
Modify: 2022-06-09 17:38:43.690002992 +0800
Change: 2022-06-09 17:38:43.690002992 +0800
Birth: -
[root@localhost /]# hostnamectl set-hostname server
[root@localhost /]# cat /etc/hostname
server
[root@localhost /]# stat /etc/hostname
File: /etc/hostname
Size: 7 Blocks: 8 IO Block: 4096 regular file
Device: 10302h/66306d Inode: 8721170 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:hostname_etc_t:s0
Access: 2022-06-09 17:45:05.889004286 +0800
Modify: 2022-06-09 17:44:57.193004257 +0800
Change: 2022-06-09 17:44:57.193004257 +0800
Birth: -
补充:
删除普通文件
rm [-f] 文件名
创建多个文件
[root@master test]# touch {1,2}{3,4}
或
[root@master test]# touch abc{1..100}