1. 描述Linux发行版的系统目录名称命名规则以及用途。
linux各种发行版都遵循LSB(Linux Stadards Base)规则,使用一致的相关的基础目录名称,使用根目录系统结构(root filesystem),使用FHS(Files Hierarchy Standard)层次结构,下面将简单介绍linux的目录及其用途。
linux的文件系统是倒立的树状结构,由根(/)起始,其他目录均为/的子目录。
一级目录
[root@localhost ~]# tree -d -L 1 /
├── bin -> usr/bin
├── boot
├── data
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var
/bin:普通用户的命令,centos7系统 软链接至usr/bin
/boot:引导文件存放于此目录,vimlinuz、grub
/dev:设备以及特殊文件存放目录,/dev/zero,/dev/null..
/etc : 系统配置文件存放目录
/home:普通用户的家目录
/lib :库文件存放目录
/lib64:x86_64库文件存放目录
/media:便携式挂载点
/mnt:其他文件临时挂载点
/opt:第三方程序安装目录
/proc:统启动后,cpu映射的虚拟文件系统
/root:root家目录
/run:系统启动的守护进程等
/sbin/:管理员用户命令存放目录
/srv:当前主机为服务提供的数据
/sys:统启动后,硬件设备映射的虚拟文件系统
/tmp:临时文件存放目录
/usr:系统默认的软件都会放置到/usr
/var:常用于存放可变化的数据,比如一些日志信息等。
2. 描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?
file::f1 表示文件的完整名称
Size::表示文件的数据大小
Blocks::占用磁盘的块数
IO Block:IO 块的大小
Device:所在设备
regular: 文件的类型
Indoe:文件的节点
Links:文件的链接数
Access:文件的访问权限
(0644/-rw-r--r--) 文件所有者权限为rw 读写执行权限
(Uid)所有者的Uid号,类型身份证号具有唯一性
(Gid)所有组也是主组号
Access(第二个):文件最近一次的访问时间
Modify:文件的修改时间
Chang:文件的改变时间
Birth:文件的类型 - 表示普通文件
touch
创建空文件和刷新时间
语法:
touch [OPTION]... FILE...
选项:
-a 仅改变 atime和ctime
-m 仅改变 mtime和ctime
-t [[CC]YY]MMDDhhmm[.ss]
指定atime和mtime的时间戳
-c 如果文件不存在,则不予创建
3. 总结软连接和硬连接区别,并用实例操作说明。
硬链接
本质 同一个文件多个名字,相互之前无依赖关系,原始文件相对于当前工作目录,每个目录引用相同的inode号,创建时链接数递增。
删除文件时:
文件要存在,至少有一个链接数,当链接数为零时,该文件被删除,不能跨越驱动器或分区
语法: ln filename [linkname ]
软连接
本质 不是同一个文件,节点号链接数均不同,可以对目录进行,可以跨分区,相互之间有依赖关系,路径相对于目标文件,文件类型不一样。
语法:ln -s filename [linkname]
4. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
pwd printing working directory
显示当前工作目录
语法 pwd [--help][--version]
选项说明:
-P 显示真实物理路径
-L 显示链接路径(默认)
# pwd/root/test #输出结果
cd change dir
改变目录
语法: cd [dirName]
切换至父目录: cd ..切换至当前用户主目录: cd切换至以前的工作目录: cd -
ls 列出当前目录的内容或指定目录
语法: ls [options] [files_or_dirs]
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 [options] filename
#stat filenameFile 文件名Size 文件大小(字节)Blocks 文件使用的数据块总数IO Block 数据块的大小regular file:文件类型(常规文件) Device 设备编号 Inode 文件所在的InodeLinks 硬链接次数Access 权限Uid 属主id/用户Gid 属组id/组名Access Time:简写为atime,表示文件的访问时间。当文件内容被访问时,更新这个时间 Modify Time:简写为mtime,表示文件内容的修改时间,当文件的数据内容被修改时,更新这个时间。 Change Time:简写为ctime,表示文件的状态时间,当文件的状态被修改时,更新这个时间,例如文件的链接数,大小,权限,Blocks数。
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
选项:
-i 覆盖前提示
-n 不覆盖,注意两者顺序
-r, -R 递归复制目录及内部的所有内容
-a 归档,相当于-dR --preserv=all
cp -a 要备份的文件名{,.bak}
-d --no-dereference --preserv=links 不复制原文件,只复制链接名
--preserv[=ATTR_LIST]
mode: 权限
ownership: 属主属组
timestamp: 文件时间戳
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 删除/
tree
显示目录树
选项:
-d: 只显示目录
-L level:指定显示的层级数目
-P pattern: 只显示由指定pattern匹配到的路径
mkdir
创建目录
选项:
-p: 存在于不报错,且可自动创建所需的各目录
-v: 显示详细信息
-m MODE: 创建目录时直接指定权限
rmdir
删除空目录
选项:
-p: 递归删除父空目录
-v: 显示详细信息
rm -r 递归删除目录树
使用rm删除文件时,如果文件被占用有时可能无法释放磁盘空间,可以使用> 文件名 来实现。
5. 复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符。
cp /etc/profile /tmp sed -ri '/^([[:space:]]+)/d' profile
6. 在vim中设置tab缩进为4个字符
临时生效 vim profile :set tablestop=4
永久生效 echo "set tablestop=4" >> ~/.vimrc