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

文件系统
    文件和目录被组织成一个单根倒置树结构
    文件系统从根目录下开始,用"/"表示
    根文件系统(rootfs): root filesystem
    文件名称区分大小写
    以.开头的文件为隐藏文件
    路径分隔 /
    文件有两类数据:
        元数据:metadata
        数据:data
    文件系统分层结构:LSB Linux Standard Base
    FHS:(Filesystem Hierarchy Standard)
文件名规则
    文件名最长255个字节
    包括路径在内文件名称最长4095个字节
    蓝色-->目录
    绿色-->可执行文件
    红色-->压缩文件
    浅蓝色-->链接文件
    灰色-->其它文件
    除了斜杠和NUL,所有字符都有效。但是用特殊字符的目录名和文件不推荐使用,有些字符需要引号来引用它们
    标准Linux文件系统(如ext4),文件名称大小写敏感
        例如:MAIL,Mail,mail,mAiL
文件系统结构
    /boot: 引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader,grub)都存放于此目录
    /bin: 所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
    /sbin: 管理类的基本命令;不能关联至独立分区,OS启动即会永奥的程序
    /lib: 启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
    /lib64: 专用于x86_64系统上的辅助共享库文件存放位置
    /etc: 配置文件目录
    /home/USERNAME: 普通用户家目录
    /root: 管理员的家目录
    /media: 便携式移动设备挂载点
    /mnt: 临时文件系统挂载点
    /dev: 设备文件及特殊文件存放位置
        b: block device,随机访问
        c: character device,线性访问
    /opt: 第三方应用程序的安装位置
    /srv: 系统上运行的服务用到的数据
    /tmp: 临时文件存储位置
    /usr: universal shared, read-only data
        bin: 保证系统拥有完整功能而提供的应用程序
        sbin:
        lib: 32位使用
        lib64: 只存在64位系统
        include: C程序的头文件(header files)
        share: 结构化独立的数据,例如doc,man等
        local: 第三方应用程序的安装位置
            bin,sbin,lib,lib64,etc,share
    /var: variable data files
        cache: 应用程序缓存数据目录
        lib: 应用程序状态信息数据
        local: 专用于为 /usr/local 下的应用程序存储可变数据
        lock: 锁文件
        log: 日志目录及文件
        opt: 专用于为 /opt 下的应用程序存储可变数据
        run: 运行中的进程相关数据,同城用户存储进程pid文件
        spool: 应用程序数据池
        tmp: 保存系统两次重启之间产生的临时数据
    /proc: 用于输出内核与进程信息相关的虚拟文件系统
    /sys: 用于输出当前系统上硬件设备相关信息虚拟文件系统
    /selinux: security enhanced Linux, selinux相关的安全策略等信息的存储位置

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

文件的元数据信息有:
    文件类型,权限,UID, GID
    链接数(指向这个文件名路径名称个数)
    该文件的大小和不同的时间戳
    指向磁盘上文件的数据块指针
    有关文件的其它数据
如何查看:
    stat +文件名
    三个时间戳:
        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的时间戳
            -c  如果文件不存在,则不预创建    

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

硬链接
    创建硬链接会增加额外的记录项亿引用文件
    对应于同一文件系统上一个物理文件
    每个目录引用相同的inode号
    创建时链接数递增
    删除文件时:
        rm命令递减计数的链接
        文件要存在,至少有一个链接数
        当链接数为零时,该文件被删除
    不能跨越驱动器或分区
    语法:
        in filename [linkname]
软链接
    一个符号链接指向另一个文件
    ls -l 显示链接的名称和引用的文件
    一个符号链接的内容是它引用文件的名称
    可以对目录进行
    可以跨分区
    指向的是另一个文件的路径;其大小为指向的路径字符串的长度;不增加或减少目标文件inode的引用技术
    语法:
        ln -s filename [linkname]
示例:
    硬链接

软链接

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

cp  复制文件和目录
    cp [OPTION]... [-T] SOURCE DEST
    cp [OPTION]... SOURCE... DIRECTORY
    cp [OPTION]... -t DIRECTORY SOURCE...
    cp SRC DEST
        SRC是文件:
            如果目标不存在:新建DEST,并将SRC中内容填充至DEST中
            如果目标存在:
                如果DEST是文件:将SRC中的内容覆盖至DEST中
                    基于安全,建议为cp命令使用-i选项
                如果DEST是目录:在DEST下新建与源文件同名的文件,并将SRC中内容填充至新文件中
        SRC是目录:此时使用选项:-r
            如果目标不存在:则创建指定目录,复制SRC目录中所有文件至DEST中
            如果目标存在:
                如果DEST是文件:报错
                如果DEST是目录:复制SRC目录中所有文件至DEST中
    cp SRC... DEST
        SRC...  多个文件
        DEST    必须存在,且为目录,其它情形均会出错
    cp常用选项:
        -i      覆盖前提示
        -n      不覆盖,注意两者顺序
        -r,-R   递归复制目录及内部的所有内容
        -a      归档,相当于-dR --preserv=all
        -d  --no-dereference --preserv=links    不复制原文件,只复制链接名
        --preserv [=ATTR_LIST]
            mode:   权限
            ownership:属主属组
            timestamp:
        -p  等同--preserv=mode,ownership,timestamp
        -v  --verbose
        -f  --force
        -u  --update 只复制源比目标更新文件或目标不存在的文件
        -b  目标存在,覆盖前先备份,形式为 filename~
        --backup=numbered 目标存在,覆盖前先备份加数字后缀

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 递归删除目录树

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

cp /etc/profile /tmp/
vim /tmp/profile
    %s/^[[:space:]]\+//

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

cd ~
vim .vimrc
    增加一行
    set tabstop=4
    保存退出