描述Linux发行版的系统目录名称命名规则以及用途

iamplane 2020-08-19

一、描述Linux发行版的系统目录名称命名规则以及用途

linux系统目录命名规则:

1、使用LSB(Linux Standard Base)分层结构
2、遵循FHS (Filesystem Hierarchy Standard) 标准
3、文件名最长255个字节
4、包括路径在内文件名称最长4095个字节
5、蓝色-->目录 绿色-->可执行文件 红色-->压缩文件 浅蓝色-->链接文
件 灰色-->其他文件
6、除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用它们
7、标准Linux文件系统(如ext4),文件名称大小写敏感

linux系统目录架构及用途:

[ /]# tree -L 1
.
├── bin -> usr/bin :所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
├── boot  :引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)
都存放于此目录
├── data    :自定义
├── dev  :设备文件及特殊文件存储位置
├── etc  :配置文件目录
├── home  :普通用户家目录
├── lib -> usr/lib  :启动时程序依赖的基本共享库文件以及内核模块文件
├── lib64 -> usr/lib64  :专用于x86_64系统上的辅助共享库文件存放位置
├── media  :便携式移动设备挂载点
├── mnt  :临时文件系统挂载点
├── opt  :第三方应用程序的安装位置
├── proc  :用于输出内核与进程信息相关的虚拟文件系统
├── root  :管理员的家目录
├── run  :运行中的进程相关数据,通常用于存储进程pid文件
├── sbin -> usr/sbin  :管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
├── srv  :系统上运行的服务用到的数据
├── sys  :用于输出当前系统上硬件设备相关信息虚拟文件系统
├── tmp  :临时文件存储位置
├── usr  :全局共享的只读数据路径
└── var  :存储常发生变化的数据的目录

二、描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?

元数据信息及查看:stat命令

[ data]# stat test.log 
  File: ‘test.log’
  Size: 12              Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d      Inode: 70          Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-08-06 19:42:32.083316328 +0800
Modify: 2020-08-06 19:33:28.633305081 +0800
Change: 2020-08-06 19:33:28.633305081 +0800
 Birth: -

file:文件的完整名称
Size:文件的数据大小
Blocks:占用磁盘的块数
IO Block:IO 块的大小
Device:所在设备
regular:文件的类型
Indoe:文件的节点
Links:文件的链接数
Access:文件的访问权限
Uid:属主id/用户
Gid:属组id/组名
access time :访问时间,atime,读取文件内容
modify time :修改时间, mtime,改变文件内容(数据)
change time :改变时间, ctime,元数据发生改变

修改文件的时间戳:touch命令

touch [OPTION]... FILE...
-a 仅改变 atime和ctime
-m 仅改变 mtime和ctime
-t [[CC]YY]MMDDhhmm[.ss]
指定atime和mtime的时间戳

三、总结软链接和硬链接区别,并用实例操作说明。

1、软连接,其实就是新建立一个文件,这个文件就是专门用来指向别的文件的。软连接的inode跟原文件的inode是不一致的
2、硬链接是不会建立inode。他只是在文件原里的inode link count域再增加1而已,也因此硬链接是不可以跨越文件系统的。
3、硬链接是一个文件别名。
4、软链接可以跨文件系统,硬链接不可以
5、软链接可以对一个不存在的文件名进行链接,硬链接不行。
6、软链接可以对目录进行连接,硬连接不可以
7、两种链接都可以通过ln来创建,ln默认创建的是硬链接
8、使用-s开关可以创建软链接。

四、Linux上的文件管理类命令有哪些,其常用的使用方法及相关示例演示。

pwd 显示当前shell CWD的绝对路径

语法:
pwd(选项)
选项:
-P 显示真实物理路径
-L 显示链接路径(默认)
实例:
[ data]# pwd
/data
cd 改变目录
语法:

cd 改变目录

语法:

cd (选项) (参数)
选项:

-p 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录
-L 如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录。

当仅实用"-"一个选项时,当前工作目录将被切换到环境变量"OLDPWD"所表示的目录。
实例:

cd 进入用户主目录;
cd ~ 进入用户主目录;
cd - 返回进入此目录之前所在的目录;
cd .. 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
cd ../.. 返回上两级目录;
cd !$ 把上个命令的参数作为cd参数使用。
ls 列出当前目录的内容或指定目录
语法:

ls 列出当前目录的内容或指定目录

语法:

ls(选项)(参数)
实例:

ls -a 包含隐藏文件
ls -l 显示额外的信息
ls -R 目录递归
ls -ld 目录和符号链接信息
ls -1 文件分行显示
ls –S 按从大到小排序
ls –t 按mtime排序
ls –u 配合-t选项,显示并按atime从新到旧排序
ls –U 按目录存放顺序显示
ls –X 按文件后缀排序
stat 用于显示文件的状态信息。
语法:

stat 用于显示文件的状态信息

语法:
stat(选项)(参数)
选项:

-L:支持符号连接;
-f:显示文件系统状态而非文件状态;
-t:以简洁方式输出信息;
--help:显示指令的帮助信息;
--version:显示指令的版本信息。

实例:
[ data]# stat test.log
File: ‘test.log’
Size: 12 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 70 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2020-08-06 19:42:32.083316328 +0800
Modify: 2020-08-06 19:33:28.633305081 +0800
Change: 2020-08-06 19:33:28.633305081 +0800
Birth: -
[ data]#
[ data]# stat -f test.log
File: "test.log"
ID: 80300000000 Namelen: 255 Type: xfs
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 13100800 Free: 13092547 Available: 13092547
Inodes: Total: 26214400 Free: 26214392
[ data]#
[ data]# stat -t test.log
test.log 12 8 81a4 0 0 803 70 1 0 0 1596714152 1596713608 1596713608 0 4096

touch 创建空文件和刷新时间

语法:

touch [OPTION]... FILE...

选项:

-a 仅改变 atime和ctime
-m 仅改变 mtime和ctime
-t [[CC]YY]MMDDhhmm[.ss] 指定atime和mtime的时间戳
-c 如果文件不存在,则不予创建

cp 复制文件和目录

语法:

cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
cp SRC DEST
选项:

-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。

mv 移动和重命名文件

语法:

mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...

选项:

-i 交互式
-f 强制
-b 目标存在,覆盖前先备份

rm 删除

语法:

rm [OPTION]... FILE...

选项:

-i 交互式
-f 强制删除
-r 递归
--no-preserve-root 删除/

五、复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符

cp /etc/profile /tmp //复制/etc/profile至/tmp/目录
vim /tmp/profile //用vim打开profile文件
:%s/^\s*//g //扩展命令模式下输入

六、在vim中设置tab缩进4个字符

vim ~/.vimrc //vim打开用户家目录下.vimrc,如需改全局变量的话修改/etc/vimrc文件
set tabstop=4 //加入如下字段

相关推荐