一、 Linux文件系统
“一切皆文件”这是linux的一种思想,即Linux把所有的东西用文件来描述。文件可以说是Linux的所有,它们放在不同的目录下,而这些目录的源头被称为根(根目录)。Linux系统的一些目录:
/:系统的根目录
/bin:供所有用户使用的基本命令,不能关联到独立分区,OS启动即用到的程序
/boot:引导文件存放的目录,还存放内核文件,引导加载器
/dev:设备文件及特殊文件存储的位置(字符设备:只能线性访问 块设备:随机访问)
/etc : 用于存放静态的永久系统配置文件
/home:用于存放用户的家目录
/include:C程序的头文件
/lib:32位使用的库文件
/lib64:64位系统使用的库文件
/local:第三方应用程序的安装位置
/media:便携式设备挂载点
/mnt:临时文件系统挂载点
/opt:第三方应用程序的安装位置
/proc:用于输出内核与进程相关的虚拟文件系统
/root:root用户的家目录
/run:包含动态的、非永久的应用运行时的数据
/sbin:启动时程序依赖的基本共享库文件以及内核模块文件
/selinux:security enhanced Linux,selinux相关的安全策略等信息的存储位置
/share:结构化独立的数据
/srv:系统上运行的服务用到的数据
/tmp:用于存放临时文件
/usr:存放安装的软件程序和库
/var:存放动态的配置数据
二、 Linux的文件
1. 文件名规则
a. 文件名最长为255字节
b. 包括路径在内文件名称最长4095个字节
c. 文件的类型与颜色
蓝色->目录 绿色->可执行文件 红色->压缩文件 浅蓝色->链接文件 灰色->其他文件
d. 除了斜杠和NUL,所有的字符有效,但是不推荐使用特殊字符命名。
e. 标准的Linux文件系统,文件名大小写敏感
2. 文件类型
不同字母所代表不同的文件类型
d:目录文件
b:块设备
c:字符设备
l:符号链接文件
p:管道文件
s:套接字文件
3. 绝对路径和相对路径
绝对路径:从根目录开始直到文件所在位置的文件名所经过的路径(包括文件名)称为文件的绝对路径
相对路径:从相对的文件和目录开始直到找到目标文件的位置所经过的路径(包括文件名)称为文件的相对路径,写相对路径时一定要注意是相对的是哪个文件或目录
4. 索引节点
索引节点存放在索引节点表中,包含了文件系统所有文件列表,一个节点在一个表项,它包含了有关文件的信息(元数据),包括:文件类型,权限,UID,GID,链接数(指向这个文件名的路径名称个数)该文件的大小和同的时间戳,指向该文件的大小和不同的时间戳,指向磁盘上文件的数据块指针,和文件有关的其他数据。
索引节点表分指针:直接指针,一级指针,二级指针,三级指针。其中直接指针12个,直接指针指向数据块。一级指针指向直接指针,此时的直接指针放在一个数据块内,这些直接指针指向数据块。二级指针、三级指针逐级递减指向指针,这种方式可以扩大存储更多的数据和文件。在文件查找时,先通过目录名查找对应的索引节点号,然后通过节点号去找对应指向文件的下一个节点号直到找到数据。(注意:一个目录文件的内容就是该目录下所有文件的目录项的列表。
5. 硬链接和软链接
a. 硬链接
创建一个与文件名不同但是其他皆相同的文件,并且硬链接只能在同一分区创建,创建后会增加链接数,目录无法创建硬链接
语法格式:ln filename [linkname]
b. 软链接
相当于Windows中的快捷方式,又称为符号链接,符号链接的内容是它引用文件的名称,软链接可以跨分区,不会增加文件的链接数,目录可以创建软链接
语法格式:ln filename [linkname]
附:几个小命令的学习
tr: 从标准输入中翻译、压缩和/或删除字符并写入标准输出
authconfig:配置默认的设置
vipw: 修改查看passwd的内容,带有语法提示功能
vigr: 修改查看group的内容,带有语法提示功能
pwck: 检查passwd的格式
grck: 检查group的格式
useradd:添加用户
-b:指定家目录所在的位置
-c:指定用户的注释信息
-d:指定家目录所在的位置和名字
-D:显示或者更改为用户默认添加的配置,需要有root权限,修改 的文件在/etc/defauilt/useradd中
-e:指定用户的过期时间,格式可以为YY-MM-DD
-f:指定用户密码过期后将之锁定的期限
-g:为用户指定主组名或ID,组名或ID必须存在
-G:为用户指定附加组,组名或ID必须存在
-k:为用户指定家目录下的内容模板,指定后不退出终端立刻查看 会看到用户下的文件属于模板所有者且无法访问,退出终端后再 次查看则文件属于用户、所有组也会变成用户所在组
-K:覆盖/etc/defs下的键值,通过这个选项可以修改用户的一些 参数
-l:不将用户添加到lastlog和faillog数据库
-m:创建用户的家目录,普通用户默认创建家目录,系统用户创建 家目录
-M:不创建用户家目录
-N:不创建与用户名相同的组,而是以users作为主组
-o:允许创建ID相同名字不同用户,系统登录名显示
-p:可以执行但是在shadow文件中显示为明文,建立的用户无法 通过-p选项创建的密码成功登录系统,可以猜测用户输入的密码 并不是与明文的密码匹配,而是以同样的加密算法加密然后匹配 秘文
-r:创建一个系统用户,系统用户没有邮箱目录和家目录,用-m可 以创建家目录
-s:指定用户的登录shell,在/etc/shells查看可用shell
-u:指定用户的uid
-U:创建与用户名相同的组;创建用户时默任创建与用户
-Z:用一个特定的seuser作为SElinux用户映射
newusers:批量创建用户,不能登录系统,没有邮箱
chpasswd:批量创建密码,创建后能登录系统,没有邮箱
usermod:修改用户参数
-c:修改用户的注释
-d:修改用户的家目录,如果目录不存在不会创建,修改之后再次 创建与家目录相同的目录也不会被识别,用su无法切换到用户目 录而是到一个bash下
-e:指定用户账号过期的时间,即/etc/shadow文件内容格式的倒 数第二个字段
-f:设置账号的锁定期限
-g:修改用户的主组,组必须存在
-G:添加附加组列表,会覆盖以前的附加组
-a:为用户追加附加组,与-G共用
-l:修改登录名
-L:锁定指定用户,在/etc/shadow的密码栏加!,密码必须存在 才有效
-m:移动家目录的内容到新的位置,仅仅用于-d
-o:允许不同名用户有相同ID
-R:directory to chroot into 目录chroot进 //未理解其作用
-s:修改用户的登陆shell
-p:修改密码与useradd的情况相同
-u:修改用户的uid
-U:解锁指定的用户
-Z:映射新的SElinux用户到用户
userdel:删除用户
-f:强制完成某些无法正常完成的操作
-r:删除用户的同时移除用户的家目录和邮箱
-R: –root CHROOT_DIR directory to chroot into
-Z:移除所有的用户的SElinux用户的映射
id: 为指定用户或(在用户省略时,为当前用户)打印用户和组信息
-a:忽略与其他版本的兼容性
-Z:只打印当前用户的安全上下文
-g:只打印用户的组ID
-G:打印用户所有的组ID
-n:打印ID号对应的名字,跟ugG连用
-r:打印真实ID而不是有效ID,跟ugG连用,有效ID是指当前用户的 ID,在用su切换用户并且指定ID的时候会出现这种情况,此时用 r选项查看ID则会看到用户本来的ID即真实ID,而不是su指定的有 效ID
-u:打印用户的有效ID
-z:打印的时候去掉显示的NUL字符,比如空格之类的
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/88538
评论列表(2条)
0.0
第三题是取出最多那个shell,而不是把shell全部取出来,其余全对,加油。