Linux-Chap2-文件系统

本文介绍了Linux文件系统的概念,包括文件分类、文件系统结构、文件命名规则。详细讲解了Linux中的文件系统相关命令如ls、cd、mkdir等,以及用户管理命令如sudo、adduser等。此外,还阐述了文件属性、权限管理以及硬链接和符号链接的区别和应用。

Chap2 Linux文件系统

Linux的文件

Linux中一切都是文件,包括内核、shell。

文件分类:

       普通文件:仅包含字符流的数据文件(文本文件、二进制文件)

       目录文件:文件夹和子目录的详细信息(文件名和inode号)

       设备文件:代表设备,完成对设备的读取和写入操作

文件命名规则:

       字母和数字、符号(.-_)、可以有扩展名也可没有、区分大小写

文件系统结构

系统目录:

/:根目录
/home:用户目录
/bin:Unix常用命令,如bash,date,cat,tar等
/sbin:管理员命令,如fdisk,mkfs等
/etc:系统配置文件目录,如passwd,shadow(登录名和密码)等
/dev:设备文件目录,如硬盘等
/lib:库文件目录
/var:可变文件目录,如打印和邮件等
/tmp:临时文件目录

路径:

       绝对路径名:从根目录开始

       相对路径名:从当前目录开始

       根目录:/

       当前用户主目录:~或者环境变量$HOME

       当前目录:.

       父目录:..

文件操作命令

文件系统相关命令:

       ls:列出文件

-a 显示以.开头的文件 
-F 用*标记可执行文件,用/标记目录,用@标记符号链接 
-l 以列表形式显示文件属性 
-t 按最后修改时间排序(降序) 
-u 按最后访问时间排序 
-r 逆序排序 
-R 递推显示子目录和文件

       cd:改变当前工作目录

       mkdir:创建目录(文件夹)

       rmdir:删除空目录

                   -p 删除空目录树

       cp:复制文件

-b 为已存在目标文件创建备份 
-n 不覆盖已有目标文件 
-i 覆盖时询问 
-R 递推复制子目录和文件

        mv:移动文件,重命名文件

-b 为已存在目标文件创建备份 
-n 不覆盖已有目标文件 
-i 覆盖时询问

        rm:删除文件

-f 强制删除 
-i 删除时询问 
-R 递推删除子目录和文件

        tar:存档管理

-c 创建存档 
-x 提取存档 
-t 显示存档中的文件 
-f 指定存档名称 
-v 显示执行过程 
-z 同时使用gzip压缩文档

tar -cvf a.tar hello hello.c
hello
hello.c

        gzip:压缩文件,解压缩文件

-d 解压缩 
-k 保留原文件 
-l 显示压缩文件内容 
-r 递推压缩子目录和文件

压缩和解压缩命令:

压缩:
tar -zcvf 压缩文件名 .tar.gz 被压缩文件名
解压缩:
tar -zxvf 压缩文件名.tar.gz

用户管理相关命令

       sudo:暂时以root权限执行命令(使用时会要求输入当前用户的密码)

              sudo 命令

       adduser:添加新用户(以交互方式简单方便地添加用户,为用户设定密码,为用户创建同名用户组和主目录)

              adduser 用户名

       passwd:修改用户密码

-d 删除用户密码 
-l 锁定用户,阻止登录 
-u 解锁用户

       usermod:编辑用户信息

-c 账号说明 
-d 修改主目录 
-s 修改默认shell 
-g 修改主群组 
-G 修改附加群组 
-L 锁定用户,阻止登录 
-U 解锁用户

       deluser:删除用户(默认不删主目录)

--group 删除用户组 
--remove-home 删除用户主目录 
--remove-all-files 删除系统中owner是该用户的所有文件

       su:切换用户

- 复制当前环境变量 
-c 以该用户身份执行一条命令,不切换用户
如不加参数,切换成管理员

 文件属性

       ls -l查看

总用量 72
-rw-r--r-- 1 wh1516 wh1516   114 10月 29 16:26 1.txt
-rwxr-xr-x 1 wh1516 wh1516 13176 12月 31 15:48 c
drwxr-xr-x 3 wh1516 wh1516  4096 6月  11  2020 cachelab-handout
drwxrwxr-x 2 wh1516 wh1516  4096 11月 14 15:03 ch3
drwxrwxr-x 2 wh1516 wh1516  4096 11月 14 15:43 CH4
-rw------- 1 wh1516 wh1516  6311 12月 31 15:38 ch6emp.tar.gz
-rw-rw-r-- 1 wh1516 wh1516  1341 12月 31 15:47 cond_exp.c

       文件类型属性:第一个字符:-为普通文件,d为目录,l表示符号链接

       文件权限属性:第一栏后九个字符,前三位所有者、中三位用户组、后三位其他用户。

       文件所有权:第三和第四栏,所有权和用户组所有权。文件所有者可以修改文件权限,文件所有者对文件的操作权显示在权限字符串的前三位,用户组所有者对文件的操作权显示在权限字符串的中三位。

       文件大小:第五栏。文件的字符数,与实际占用空间不同。目录的大小取决于所包含的文件名,显示的是预期值。

       文件的最后修改时间:中间的日期栏。文件最后修改的时间戳。


chmod:改变文件权限。八进制权限表示,三位哪一位有权限即为1。

类别操作权限
u 用户+ 增加权限r 读权限
g 用户组

- 删除权限

w 写权限
o 其他用户= 指定绝对权限x 执行权限
a 全部  

目录权限:

           • r 读权限:是否可以访问文件名列表
           • w 写权限:是否可以创建或删除文件
           • x 执行权限:是否可以在路径中使用
 
chmod 664 hello.c
-rw-rw-r--

chmod u-w newdir
cp hello.c newdir
Permission denied

umask:设定默认权限。最终权限=默认权限码-权限掩码(默认002)

       umask 八进制权限掩码

chown:改变文件所有者。需要sudo才可执行。

       sudo chown user2 hello.c

chgrp:改变文件用户组所有权。 需要sudo才可执行。


文件与inode:Linux支持多个文件系统,每个文件都使用inode编号与一个inode表格相关联。inode表格包含了文件的属性:类型、权限、链接数、所有者、用户组、文件大小、修改时间,是一个指向文件存储磁盘区块的指针数组。文件在一个文件系统中有唯一的inode编号。使用ls -i命令查看文件inode编号(第一栏)

文件链接:一个文件可以有多个文件名,称为一个文件有多个链接,可以通过任意一个链接访问该文件。ls -l的第二栏为链接数字:有几个链接指向它(名字数)。

ln:创建一个链接。(链接表示为lrwxrwxrwx)

       硬链接:创建一个具有相同inode编号的文件名

       符号链接:创建一个拥有独立inode的文件指向链接的文件

-s 创建符号链接 
-f 强制创建链接(当链接名已被使用时)

ln 1.c 2.c
ls -li
total 2
123456 -rw-rw-r-- user1 user1 date 2.c
123456 -rw-rw-r-- user1 user1 date 1.c

       硬链接的作用:可以在文件实际位置发生变化时使用链接访问文件。可以防止意外删除:使用rm命令只是删除了一个链接。

              假设程序中引用了如下位置的文件:file/data.txt,之后该文件被移动到了新目录:newfile/data.txt,为了避免修改程序,可以在file目录中创建一个newfile/data.txt的硬连接。

       ln newfile/data.txt file

       符号链接的作用:类似Windows系统中的快捷方式,创建一个指向该文件的指针文件,支持跨文件系统建立链接。


stat:查看文件属性。

       -f 查看文件系统属性

touch:修改时间戳,创建空文件。

-a 只改变访问时间 
-c 不创建文件 
-m 只改变修改时间 
-t 使用YYMMDDhhmm更新时间

wc:计算行数、字数和字符数。显示:行数 字数 字符数

-c 计算字符数
-l 计算行数 
-w 计算字数

find:查找文件。

find path –option expression
-name 按文件名查找 
-perm XXX 按权限查找 
-type f, d, l 按类型查找 
-user 按所有者查找 
-group 按用户组所有者查找 
-ctime -x +x 按创建时间查找

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值