文件系统应该具备的五个基本功能:
1. 用户能够用文件名对存储介质上的信息进行访问,文件系统负责完成对文件的按名存取。
2. 用户能创建一个新文件或删除一个文件,并能对指定的文件进行打开、关闭、读、写、执行等操作。
3. 对文件提供保护和保密措施,从而防止对文件的无意或有意的破坏,并实现对文件的共享。
4. 对文件存储空间的管理。
5. 文件系统应提供转储和恢复的能力,尽量减少因系统发生故障时所造成的破坏。
有关磁盘空间的命令
mount | 挂载文件系统 |
umount | 卸载已挂上的文件系统 |
df | 检查各硬盘分区和已挂上来的文件系统的磁盘空间 |
du | 显示文件目录或大小 |
fdisk | 分区命令 |
如果没有参数则列出系统所有分区容量
rmdir命令的语法结构如下:
rdmir [option] dir-name
在工作目录下无法删除工作目录和还包含其他目录的目录。
mv命令可以将文件从一个目录移动到另外一个目录,同时也可以改变文件名。
可以通过命令chmod来改变用户对文件的访问权限,该命令有两种使用方式。
chmod命令模式
chmod [role] [+|-|=] [mode] filename
参数role可以是
u 代表用户。
g 代表组。
o 代表其他用户。
a 代表所有用户。
操作符有+、-、=,含义分别为添加、取消或赋予某个权限
mode可用字母r(可读)、字母w(可写)和字母x(可执行)的任意组合来标示。
1、初始时,文件myfile的权限是”-rw-r--r--”(所有者具有读写、组用户具有读、其他用户只读权限)
2、通过chmod命令给文件拥有者追加可执行权限、给组用户设定可写和可执行权限、为其他用户追加可写权限
用户账号文件
在Linux系统中,系统识别用户的信息是账号ID,而不是账号名称。账号ID保存在文件/etc/passwd文件中。
当要登录Linux主机时
系统首先会到文件/etc/passwd中查找与账号对应的账号ID。
从文件/etc/passwd文件中读取相应的账户ID(User ID)和组ID(Group ID)。
同时读取的还有该账号的主目录和shell。
文件/etc/passwd
yf:x:1000:1000:yf,,,:/home/yf:/bin/bash
冒号“:”一共分隔了七个部分
帐号名称
密码
用户ID
组ID
描述信息
用户主目录
用户登录shell
(1)注册名(login_name):用于区分不同的用户。在同一系统中注册名是惟一的。在很多系统上,该字段被限制在8个字符(字母或数字)的长度之内;
(2)口令(passwd):系统用口令来验证用户的合法性。现在的Unix/Linux系统中,口令不再直接保存在passwd文件中,通常将passwd文件中的口令字段使用一个“x”来代替,将/etc/shadow作为真正的口令文件,用于保存包括个人口令在内的数据。当然shadow文件是不能被普通用户读取的,只有超级用户才有权读取。 需要注意的是,如果passwd字段中的第一个字符是“*”的话,那么,就表示该账号被查封了,系统不允许持有该账号的用户登录。
(3)用户标识号(UID):UID是一个数值,是Linux系统中惟一的用户标识,用于区别不同的用户。对于系统来说UID更为重要;而对于用户来说注册名使用起来更方便。UID是0表示是系统管理员,1~499给系统使用的ID,500~65535给一般者使用
(4)组标识号(GID):这是当前用户的缺省工作组标识。具有相似属性的多个用户可以被分配到同一个组内,每个组都有自己的组名,且以自己的组标识号相区分。在现代的Unix/Linux中,每个用户可以同时属于多个组。除了在passwd文件中指定其归属的基本组之外,还在/etc/group文件中指明一个组所包含用户。
(5)用户名(user_name):包含有关用户的一些信息,如用户的真实姓名、办公室地址、联系电话等。在Linux系统中,mail和finger等程序利用这些信息来标识系统的用户。
(6)用户主目录(home_directory):该字段定义了个人用户的主目录,当用户登录后,他的Shell将把该目录作为用户的工作目录。在Unix/Linux系统中,超级用户root的工作目录为/root;而其它个人用户在/home目录下均有自己独立的工作环境,个人用户的文件都放置在各自的主目录下。
(7)命令解释程序(Shell):Shell是当用户登录系统时运行的程序名称,通常是一个Shell程序的全路径名,如/bin/bash。
chown命令①命令格式:
chown [选项]... [所有者][:[组]] 文件...
②命令功能:
通过chown改变文件的拥有者和群组。在更改文件的所有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员。
如果没有特殊的要求,通常使用adduser命令接上用户名称直接创建用户帐号。 adduser创建用户的时候会创建和用户同名的用户组。
执行下列命令:
sudo passwd root
输入两次密码
su root
输入设置的root密码
切换到root用户
du [-ahskm] [目录名]
不加任何参数,递归列出当前目录下每个目录及其子目录所占空间大小。
后接目录名则列出指定目录下每个目录及其子目录所占空间大小。
参数: -a 列出目录和文件的大小 -h 以易读方式表示大小 -s 只列出总量而不列出子目录大小
一般使用 du -sh 来获取数据
表示显示根目录下所有目录所占大小
fdisk [-l] 设备名
参数: -l 输出指定设备的分区内容,如果fdisk -l 后面没有设备名,则把整个系统搜索到的全部设备分区列出来。
如:fdisk –l /dev/sda
如果想在运行的Linux下访问其它文件系统中的资源的话,就要用mount命令来实现。
mount的基本用法:
格式:mount [-参数] [设备名称] [挂载点]
mount命令的功能是给硬盘挂载上文件系统。
其中常用的参数有:
-a 安装在/etc/fstab文件中列出的所有文件系统。
-f 伪装mount,作出检查设备和目录的样子,但并不真正挂载文件系统
-n 不把安装记录在/etc/mtab 文件中。
-r 将文件系统安装为只读。
-v 详细显示安装信息。
-w 将文件系统安装为可写,为命令默认情况。
-t 指定设备的文件系统类型,
虚拟机下mount命令的使用:挂载u盘
1、插上u盘,在虚拟机→移除设备→断开u盘设备与主机的连接
2、使用fdisk –l 命令,查看Linux是否识别u盘。可看到系统已识别u盘,并分配一个分区/dev/sdb(每个系统识别的标示符不同)。
4、将USB设备(/dev/sdb)挂装到/mnt/usb目录下:
mkdir /mnt/usb
mount /dev/sdb /mnt/usb
5、进入到挂载目录,可以查看U盘的内容
cd /mnt/usb