WK2
系统目录
[root@centos8 ~]# ls /|tr -s ' ' '\n'
bin #二进制文件
boot #启动文件
data #自定义的目录
dev #设备相关的文件
etc #配置文件
home #用户家目录
lib #32位的库文件
lib64 #64为的库文件
media #移动设备的挂载点
mnt #临时文件系统挂载点
opt #第三方应用
proc #内存文件
root #root家目录
run #运行相关的文件
sbin #root才能执行的二进制文件
srv #运行的服务用到的数据
sys #硬件设备相关信息虚拟文件系统
tmp #临时文件
usr #共享文件
var #变量文件
/var
cache #应用程序缓存数据
lib #应用程序状态信息数据
local #/usr/local下的应用程序存储变量
lock #锁文件
opt #/opt下的应用程序的变量
run #运行中的进程的相关数据,通常用于存储pid文件
spool #应用程序数据池
tmp #保存系统两次重启之间产生的临时数据
文件元数据
文件的属性信息称为文件的元数据。包含大小,时间,类型等。
元数据存在node表中,一个文件由多条记录组成,第一条记录存放了元数据信息
- 节点号
- 文件类型
- UID,所属用户ID
- GID,所属组ID
- 链接数
- 文件的大小和不同的时间戳
- 指向磁盘上文件的数据块指针
- 其他数据
#查看信息
[root@centos8 data]# stat t1
File: t1
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 805h/2053d Inode: 136 Links: 1
Access: (0444/-r--r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:etc_runtime_t:s0
Access: 2020-12-05 11:56:54.883794569 +0800
Modify: 2020-12-05 11:56:54.883794569 +0800
Change: 2020-12-05 11:56:58.383794445 +0800
Birth: -
#创建t1,如果已存在刷新atime和ctime
[root@centos8 data]# touch -a t1
[root@centos8 data]# stat t1
File: t1
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 805h/2053d Inode: 136 Links: 1
Access: (0444/-r--r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:etc_runtime_t:s0
Access: 2020-12-06 21:33:35.980311795 +0800
Modify: 2020-12-05 11:56:54.883794569 +0800
Change: 2020-12-06 21:33:35.980311795 +0800
Birth: -
#创建t1,如果已存在刷新mtime和ctime
[root@centos8 data]# touch -m t1
[root@centos8 data]# stat t1
File: t1
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 805h/2053d Inode: 136 Links: 1
Access: (0444/-r--r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:etc_runtime_t:s0
Access: 2020-12-06 21:33:35.980311795 +0800
Modify: 2020-12-06 21:34:43.519309273 +0800
Change: 2020-12-06 21:34:43.519309273 +0800
Birth: -
软硬链接
硬链接:本质上给文件起了一个新的名称,实质是同一个文件
软链接:指向另一个文件,快捷方式,软链接文件和源文件不是同一个文件
ln 硬链接名称 原文件名称
ln -s 软链接名称 原文件名称
区别总结:
| 对比项 | 硬链接 | 软连接 |
|---|---|---|
| 本质 | 同一个文件 | 不是同一个文件 |
| 跨设备 | 不支持 | 支持 |
| inode | 相同 | 不相同 |
| 链接数 | 创建增加,删除减少 | 不变 |
| 文件夹 | 不支持 | 支持 |
| 相对路径 | 相对于当前目录 | 相对于源文件目录 |
| 删除源文件 | 链接数减少,不影响文件访问 | 链接文件将无法访问 |
| 文件类型 | 和源文件相同 | 链接文件,与源文件无关 |
#创建硬链接,链接数增加
[root@centos8 data]# ll t1
-r--r--r--. 1 root root 0 Dec 6 21:34 t1
[root@centos8 data]# ln ./t1 t2
[root@centos8 data]# ll t1 t2
-r--r--r--. 2 root root 0 Dec 6 21:34 t1
-r--r--r--. 2 root root 0 Dec 6 21:34 t2
#删除文件,链接数减少
[root@centos8 data]# rm -f t1
[root@centos8 data]# ll t2
-r--r--r--. 1 root root 0 Dec 6 21:34 t2
#创建软链接,相对源文件路径
[root@centos8 data]# ll t2 t3
-r--r--r--. 1 root root 0 Dec 6 21:34 t2
lrwxrwxrwx. 1 root root 2 Dec 6 21:59 t3 -> t2
文件管理
touch:创建文件
rm:删除文件
vi/vim:编辑文件
cat:查看文件
cp:复制文件
mv:移动文件&重命名文件
stat:查看文件信息
#创建文件
[root@centos8 data]# touch {A..D}.txt
[root@centos8 data]# ll *.txt
-rw-r--r--. 1 root root 0 Dec 6 22:08 A.txt
-rw-r--r--. 1 root root 0 Dec 6 22:08 B.txt
-rw-r--r--. 1 root root 0 Dec 6 22:08 C.txt
-rw-r--r--. 1 root root 0 Dec 6 22:08 D.txt
#编辑文件
[root@centos8 data]# vim A.txt
#查看文件
[root@centos8 data]# cat A.txt
hello,world!
#复制文件
[root@centos8 data]# ll A.txt AA.txt
-rw-r--r--. 1 root root 13 Dec 6 22:10 AA.txt
-rw-r--r--. 1 root root 13 Dec 6 22:09 A.txt
#移动&重命名文件
[root@centos8 data]# ll A.txt AA.txt AAA.txt
ls: cannot access 'AA.txt': No such file or directory
-rw-r--r--. 1 root root 13 Dec 6 22:10 AAA.txt
-rw-r--r--. 1 root root 13 Dec 6 22:09 A.txt
#查看文件相关信息
[root@centos8 data]# stat A.txt
File: A.txt
Size: 13 Blocks: 8 IO Block: 4096 regular file
Device: 805h/2053d Inode: 142 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:etc_runtime_t:s0
Access: 2020-12-06 22:09:57.090230339 +0800
Modify: 2020-12-06 22:09:55.095230414 +0800
Change: 2020-12-06 22:09:55.097230414 +0800
Birth: -
#删除文件
[root@centos8 data]# rm -f AAA.txt
[root@centos8 data]# ll AAA.txt
ls: cannot access 'AAA.txt': No such file or directory
其他
- vim设置tab=4个空格
[root@centos8 tmp]# cd
[root@centos8 ~]# vim .vimrc
set et
set ts=4
- 删除文件中行首的空白字符
[root@centos8 data]# cp /etc/profile /tmp/
[root@centos8 ~]# vim /tmp/profile
#按esc进入扩展命令模式
#输入:%s/^\ \+//回车
#输入:wq回车