Linux发行版的系统目录
目录结构
ps. /data目录是博主自己创建的,不是原先linux自带的目录
- /bin 存放系统命令
- /boot 存放着系统的启动文件和内核
- /dev 设备文件主目录
- /proc 系统进程和系统硬件信息
- /etc 系统 主配置文件 主目录
(eg. /etc/profile:环境变量配置文件) -
/var variable data file 常态型变动的文件,包括缓存,登录文件,以及某些软件运行所产生的文件,包括程序文件
- /home 普通用户的家目录
- /lib&lib64 系统库文件存放的目录 .dll
- /usr 系统帮助文档以及源码包安装位置
universal shared,read-only data :全局共享只读数据 - /sbin 超级用户使用的命令存放的目录,链接文件,实际在/usr/sbin
- /mnt 用户挂载目录
- /run 存放当前运行程序库的目录(当前运行的目录)
- /root 超级用户root家目录
- /tmp 临时文件存放目录 系统启动过程中会产生一些临时文件,这些临时文件就存放在tmp目录下
- media 可移动介质挂载点(eg. 光驱)
16 /opt 第三方应用程序文件存放目录
命名法则及规定
文件命令规则:
- 除了/(根目录)之外,所有的字符都合法。
- 有些字符最好不用,如空格符、制表符、退格符和字符@#¥()- 等。
- 避免使用 ▪ 作为普通文件名的第一个字符。
- 大小写敏感。
变量命名规则:
- 变量名必须有一定的意义,并且意义准确。
- 不要大小写混用。
- 尽量避免使用全局变量
文件的元数据
元数据信息
stat
显示文件的状态信息
-L:支持符号连接;
-f:显示文件系统状态而非文件状态;
-t:以简洁方式输出信息;
--help:显示指令的帮助信息;
--version:显示指令的版本信息。
`stat(选项)(参数)`
信息:
- file:文件名
- size:文件大小
- block:文件占了多少个数据块
- IO Block:文件所占数据块的块大小
- Device:硬件,既说明该文件在硬盘的那个柱面
- Inode:节点号
- links:链接
- Access(第一个):权限
- Uid:该文件所属的属主
- Gid:该文件所属的属组
- context:安全上下文
- Access(第二个):文件上一次的访问时间
- Modify:文件上一次修改的时间
- Change:文件上一次属性更改的时间
修改文件的时间戳
touch
把已存在文件的时间标签更新为系统当前的时间
touch(选项)(参数)
软连接和硬连接区别
硬链接(hard link):
- b文件是a文件的硬链接,则代表一个inode节点对应两个不同的文件名,两个文件名指向同一个文件。如果删除了a或者b其中任一个,对另外一个没有影响。每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收。
软链接(soft link):
- c文件是a文件的软链接,c的inode节点号与a的inode节点号不相同,c和a指向两块不同的数据块。但是c的数据块中存放的只是a的路径名(可以根据这个找到B的目录项)。c和a之间是“主从”关系,如果a被删除了,c仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。
ln 语法格式
硬链接:ln 源文件 链接名
软链接:ln -s 源文件 链接名
eg.
-
创建文件a
-
创建a的硬链接b
看到inode链接数变成了2
-
创建a的软连接c
产生文件符号是一个l的链接文件
-
删除a,查看b和c
看到b文件上的inode节点数变为1,而c文件变成一个无效文件(红色方块内闪烁表示文件不存在了。)
Linux上的文件管理类命令
-
ls 显示文件信息
-
touch 创建文件
-
rm 删除文件
-
mkdir 创建目录
- 显示文件内容
- less 随意浏览文件,向前向后滚动都可以
- more 浏览文件,可以向后滚动
- tail 显示文件的尾部内容
-
cat 全部加载文件内容
-
cp 复制文件
-
mv 移动文件
-
pwd 显示当前路径
eg.
- 复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符
cp /etc/profile /tmp
sed -i 's/^[ /t]*//g' ./profile
说明:
1) ^[ /t],是以空格或者tab键开头;
2)*是代表匹配0到多次
- 在vim中设置tab缩进为4个字符
vim ~/.vimrc;set tabstop=4