1.描述Linux发行版的系统目录名称命名规则以及用途。
linux各种发行版都遵循LSB(linux Stadards Base)规则,使用一致的相关的基础目录名称,使用根目录系统结构(root filesystem),使用FHS(Files Hierarchy Standard)层次结构。
系统目录是从根目录下开始,用"/"表示,文件和目录被组织成一个单根倒置书结构。
结构总结如下
目录名称 | 用途 |
---|---|
/boot | 引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader,grub) |
/bin | 所有用户使用的基本命令;不能关联至独立分区,os启动即会用到的程序 |
/sbin | 管理类的基本命令;不能关联至独立分区,os启动即会用到的程序 |
/lib | 启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules) |
/lib64 | 专用于x86_64系统上的辅助共享库文件存放位置 |
/etc | 配置文件目录 |
/home/USERNAME | 普通用户家目录 |
/root | 管理员的家目录 |
/media | 便携式移动设备挂载点 |
/mnt | 临时文件系统挂载点 |
/dev | 设备文件及特殊文件存储位置 |
/opt | 第三方应用程序的安装位置 |
/srv | 系统上运行的服务用到的数据 |
/usr | 全局共享只读数据,整个目录都是只读权限 |
/var | 常态性变动的文件,包括缓存(cache),登陆文件(logfile)以及某些软件运行所产生的文件。 |
/proc | 用于输出内核与进程信息相关的虚拟文件系统 |
/sys | 用于输出当前系统上硬件设备相关信息虚拟文件系统 |
/selinux | selinux相关的安全策略等信息的存储位置 |
2.描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?
文件系统的数据分为两类,分别时数据和元数据。
stat filename:查看文件的元数据信息,输出信息比ls -l更加详细。
[root@gouge data]# stat jishu.sh
File: ‘jishu.sh’
Size: 461 Blocks: 8 IO Block: 4096 regular file
Device: fd02h/64770d Inode: 68 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-11-15 17:33:27.823113660 +0800
Modify: 2019-11-15 17:33:26.103113612 +0800
Change: 2019-11-15 17:33:26.104113612 +0800
Birth: -
File:文件名称
Size:文件大小
Blocks:占用的磁盘块数
IO Block:IO块大小
regular file:这里时显示文件的类型,此处表示一个普通文件
Device:所在设备
Inode:inode节点号
Links:被链接的次数
Access(1):文件的权限
Uid:uid号和数珠
Gid:gid号和属组
Access(2):文件最近一次被访问的时间
Modify:文件的修改时间(改变文件内容)
Chang:文件的改变时间(元数据发生改变)
touch:创建空文件,修改文件的时间戳;
格式:touch [OPTION]…FILE…
不跟参数代表刷新文件的3个时间(系统当前时间)
- -a 仅改变atime和ctime
- -m 仅改变mtime和ctime
- -t [[CC]YY]MMDDhhmm[.ss]
指定atime和mtime的时间戳 - 如果文件不存在,则不予创建
3.连接和硬连接区别,并用实例操作说明
1、本质上:硬链接是一个文件多个名字,软连接指的是不同的文件;
2、跨分区:硬链接使用的是同一个inode,所以不能跨分区,而软链接存储的是另一个文件的文件路径,可以跨分区;
3、目录:软链接可以创建目录,硬链接不行;
4、链接数:创建硬链接会增加链接数;
5、文件类型:软连接是链接文件,硬链接是普通文件;
6、相对路径:源文件相对路径是相对链接文件路径,不是相对当前目录的路径;
[root@gouge ~]# ln -s passwd /data/link1
[root@gouge ~]# ll /data/
total 4
-rw-r--r-- 1 root root 461 Nov 15 17:33 jishu.sh
lrwxrwxrwx 1 root root 6 Nov 23 15:35 link1 -> passwd
[root@gouge ~]# ln -s ../../root/passwd /data/link2
[root@gouge ~]# ll /data/
total 4
-rw-r--r-- 1 root root 461 Nov 15 17:33 jishu.sh
lrwxrwxrwx 1 root root 6 Nov 23 15:35 link1 -> passwd
lrwxrwxrwx 1 root root 17 Nov 23 15:36 link2 -> ../../root/passwd
4.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
cp:文件拷贝
cp [OPTION]…[-T] SOURCE DEST
- -i 覆盖前提示
- -r,-R 递归复制目录及内部的所有内容
- -p,-a 保留属性复制
- -b 目标存在,覆盖前先备份
mv:移动和重命名文件
- -i 交互式
- -f 强制
- -b 目标存在,覆盖前先备份
rm:删除
rm [OPTION]…FILE…
- -i 交互式
- -f 强制
- -r 递归
rm -rf /* 删除根下所有文件(慎用)
tree 显示目录书
- -d:只显示目录
- -L level:指定显示的层级数目
- -P pattern:只显示由指定pattern匹配到的路径
mkdir 创建目录
- -p:递归创建
- -v:显示详细信息
- -m MODE:创建目录时直接指定权限
rmdir 删除空目录
- -p:递归删除
- -v
rm -r 递归删除目录树
5.复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符
vim /tmp/profile 按:进入扩展模式
%:代表全文
s/1/2/:代表搜索1替换成2
^x:行首是x的字符
[[:space:]]:表示空白字符
x*:匹配前面的字符任意次
g:全局替换
:%s/^[[:space:]]*//g
删除空格行:
:g/^$/d
6.在vim中设置tab缩进为4个字符
配置文件:永久有效
全局:/etc/vimrc
个人:~/.vimrc
扩展命令模式:当前vim进程有效
- 1:行号
显示:set number,简写 set nu
取消:set nonumber,简写 set nonu - 2:自动缩进
启用:set autoindent,简写 set ai
禁用:set noai - 3:高亮搜索
启用:set hlsearch
禁用:set nohlsearch - 4:语法高亮
启用:syntax on
禁用:syntax off - 5:忽略字符的大小写
启用:set ignorecase, 简写 set ic
不忽略:set noic - 6:设置光标所在行的标识线
启用:set cursorline,简写 set cul
禁用:set nocursorline
vim ~/.vimrc
set ignorecase
set cursorline
set autoindent