一、Linux发行版系统目录名称命名规则及用途
1.Linux的各个发行版目录结构:
Linux的各个发行版目录结构使用的是FHS的层次结构:
1.文件和目录组织和一个单根的倒置数结构;
2.文件系统从根目录开始
2.系统目录的命名规则:
1.文件最长为225字节
2.包括路径在内最长4095个字节
3.对大小写敏感,要注意大小写,不能使用特殊的目录命名
4.出了 / 和 /NUL ASCLL 中的0,所以其他的字符都有效
3.系统目录的命名规则
/bin 存放系统的命令
/sbin 超级用户root使用的命令存在的目录
/boot 存放系统的启动文件和内核
/dev 设备文件主目录(文件具体内容在/proc下)
/proc 系统进程及硬件信息
/etc 系统主配置文件主目录
/var 系统配置文件主目录
/home 普通用户的家目录
/root 超级用户家目录
/lib & /lib64 系统的库文件存放目录
/usr 系统帮助文档和源码包安装位置(源码包属于开发爱好者)
/mnt 用户挂载目录
/tmp 临时文件存放目录(系统启动时产生的临时文件,一旦占满则无法启动)
/run 当前运行目录
/opt 第三方应用程序文件存放目录
/media 可移植介质挂载点
/srv 常用语各种非红帽的服务器
二、文件的元数据和时间戳
1.元数据(metedata):元数据用于保存文件的属性,通过指针指向其对应的真实数据。
通过 stat [ 文件名 ] 命令可以查看当前文件的元数据。
其中,file为文件的名称;size为文件的大小(字节);blocks为所用的数据块数;IO block为数据块的大小;device为设备编号;links为硬链接个数;access为权限;uid为属主id/用户名;gid为属组id/组名;access、modify、change三项分别为该文件的时间戳:atime、mtime和ctime。
2.修改文件的时间戳:可通过touch命令来刷新文件的时间。
格式为: touch [ 选项 ] [ 文件名 ]
touch用于创建空文件,也可更改其时间(若文件名存在,可直接刷新文件的三个时间)。
选项:-a :改变文件的 atime 和 ctime
-m:改变文件的 mtime 和 ctime
-t :CCYYMMDDhhmm.ss 指定改变 atime 和 mtime
-c:若文件不存在,不予创建
三、硬连接与软链接及二者区别
1.硬链接:位于同一硬盘分区内的,文件名称可以有多个,但指向数据的链接是一致的。 (类似于名字与身份证号码的关系,一个人可以有很多名字,但只能有唯一的身份证号码)
创建新的硬链接 : ln [ 原文件名 ] [ 硬链接文件名/目录 ]
值得注意的是:硬链接仅能在同一分区创建,不能跨分区创建;文件夹不能创建硬链接。
删除某个硬链接,只要硬链接数不为0,那么硬链接对应的文件就不会被删除,仅有文件对应的所有硬链接被删除,文件的数据才会被删除。
文件硬链接数可以通过命令 ll -i [ 文件名 ] 查看 , 如:-rw-r--r-- 2 root root ... 中,数字2即为该文件的链接数。
2.软链接:类似于Windows的快捷方式,创建出指向这个文件的链接文件,软链接文件与原文件属性、数据等等都不相同。
创建新的软链接 : ln -s [ 原文件名/目录 ] [ 软链接文件名 ]
值得注意的是:软链接文件既支持文件夹创建,又支持跨分区创建。创建软链接的命令中,原文件名的目录是相对于软链接文件的路径,软链接文件的目录是相对于当前用户所在的路径。
若软链接文件被删除,原文件不会有变化;若原文件被删除,软链接文件会失效。
通过命令 ll [ 文件(夹)名 ]可以查看该文件是否为软链接文件,所示,文件夹名会显示浅蓝色且有指向其他文件的箭头(—>)标识。
3.硬链接与软链接的区别:二者的区别主要分为一下几个方面:
(1)本质:硬链接:是同一个文件
软链接:是两个不同的文件
(2)跨设备:硬链接:不支持
软链接:支持
(3)inode:硬链接:相同
软链接:不同
(4)连接数:硬链接:创建则增加,删除则减少
软链接:不会随创建和删除而变化
(5)文件夹:硬链接:不支持
软链接:支持
(6)相对路径:硬链接:原文件相对于当前工作路径
软链接:原文件相对于链接文件路径
(7)删除原文件:硬链接:链接数减一,不影响访问
软链接:链接失效,无法访问
(8)文件类型:硬链接:与原文件相同
软链接:链接文件,与原文件无关
四、文件管理相关命令
几个重要的文件管理命令有cp、mv、rm
1.文件拷贝命令cp
cp [ 选项... ][ 原文件/目录 ][ 新文件/目录 ]
选项:-p 保存属性
-r 递归
-d 仅拷贝链接名,不拷贝原文件
-a 保留所有数据
-v 显示过程
-i 警告提醒
-f 强制
-u 仅拷贝相对于目标文件更新的文件和不存在的文件
--backup 备份覆盖
在root权限下,cp命令为“ cp -i ”命令的别名。
2.文件移动命令mv
mv [ 选项... ][ 原地址 ][ 新地址 ]
选项:-f 强制
-i 警告提醒
--backup 备份覆盖
3.文件删除命令rm
rm [ 选项...][文件...]
选项: -i 警告提醒
-f 强制
-r 递归
!注意! 使用比命令必须格外小心,使用不当会产生严重的后果。
五、文件复制和字符替换
复制/etc/profile至/tmp/目录, 用查找替换命令删除/tmp/profile文件中的行首的空白字符。
通过下列两行命令即可实现:
[root@bogon ~]# cp -a /etc/profile /tmp
[root@bogon ~]# cat /tmp/profile|tr -d ' '
六、vim设置Tab缩进
在vim中设置tab缩进为4个字符。
vim中设置tab的参数为 tabstop
立即生效:
在打开的vim文件中,末行模式:set tabstop=4
永久有效:
echo "set tabstop=4" >> /etc/vimrc