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

/bin:所有用户可用的基本命令程序文件;
/sbin:供系统管理使用的工具程序;
/boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等;
/dev:存储特殊文件或设备文件;
    设备有两种类型:字符设备(线性设备)、块设备(随机设备);
/etc:系统程序的配置文件,只能为静态;
/home:普通用户的家目录的集中存放位置;
/root:管理员的家目录;可选;
/lib:为系统启动或根文件系统上的应用程序(/bin, /sbin等)提供共享库,以及为内核提供内核模块
    libc.so.*:动态链接的C库;
    ld*:运行时链接器/加载器
    modules:用于存储内核模块的目录;
/lib64:64位系统特有的存放64位共享库的路径;
/media:便携式设备的挂载点,cdrom,floppy等;
/mnt:其他文件系统的临时挂载点;
/opt:附加应用程序的安装位置;可选路径;
/srv:当前主机为服务提供的数据;
/tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录;可供所有用户执行写入操作;有特殊权限;
/usr:usr Hierarchy,全局共享的只读数据层级结构;
/var:var Hierarchy,存储经常发生变化的数据层级结构;
/proc:虚拟文件系统,用于为内核及进程存储其相关信息;它们多为内核参数,例如net.ipv4.ip_forward,虚拟为/net/ipv4/forward,存储于/proc/sys/
/sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的接口;

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

  • 时间戳:access time、modify time、change time
  • 查看:

    stat命令:
    显示文件或文件系统的状态
    stat FILE…

  • 修改:

    touch [OPTION]… FILE…

    -c:指定的文件路径不存在时不予创建;
    -a:仅修改access time;
    -m:仅修改modify time;
    -t STAMP [[CC]YY]MMDDhhmm[.ss]
    

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

  • 硬链接:

    • 创建硬链接会增加额外的记录项以引用文件
    • 对应于同一文件系统上一个物理文件
    • 每个目录引用相同的inode号
    • 创建时链接数递增
    • 删除文件时:
    • rm命令递减计数的链接
    • 文件要存在,至少有一个链接数
    • 当链接数为零时,该文件被删除
    • 不能跨越驱动器或分区
    • 语法:

      `ln filename [linkname ]`
  • 符号(或软)链接:

    • 一个符号链接指向另一个文件
    • ls - l的 显示链接的名称和引用的文件
    • 一个符号链接的内容是它引用文件的名称
    • 可以对目录进行
    • 可以跨分区
    • 指向的是另一个文件的路径;其大小为指向的路径字符串的长度;不增加或减少目标文件inode的引用计数
    • 语法:

      `ln -s filename [linkname]`
  • 硬链接示例:

    [root@centos7 ~]# touch aa
    [root@centos7 ~]# ln aa aa.link
    [root@centos7 ~]# ll -i aa aa.link
    50808392 -rw-r--r--. 2 root root 0 Mar  1 08:15 aa        //可以看到源文件和硬链接文件inode号、权限、时间一致
    50808392 -rw-r--r--. 2 root root 0 Mar  1 08:15 aa.link     //文件类型为普通文件
    [root@centos7 ~]# ll
    total 0
    -rw-r--r--. 2 root root 0 Mar  1 08:15 aa
    -rw-r--r--. 2 root root 0 Mar  1 08:15 aa.link
    [root@centos7 ~]# rm -rf aa                                      //把源文件删除后,硬链接文件可以正常访问
    [root@centos7 ~]# echo "xxxx" >> aa.link
    [root@centos7 ~]# cat aa.link
    xxxx
    
  • 软链接示例:

    [root@centos7 ~]# touch bb
    [root@centos7 ~]# echo "xxxxxxxxxxxxx" >> bb
    [root@centos7 ~]# ln -s bb bb.link
    [root@centos7 ~]# ll -i bb bb.link
    50339518 -rw-r--r--. 1 root root 14 Mar  1 08:23 bb
    50808392 lrwxrwxrwx. 1 root root  2 Mar  1 08:22 bb.link -> bb
    
    [root@centos7 ~]# ll
    total 4
    -rw-r--r--. 1 root root 14 Mar  1 08:23 bb
    lrwxrwxrwx. 1 root root  2 Mar  1 08:22 bb.link -> bb
    [root@centos7 ~]# cat bb.link
    xxxxxxxxxxxxx
    [root@centos7 ~]# rm -rf bb  //删除源文件之后,软连接不可以正常访问
    [root@centos7 ~]# cat bb.link
    cat: bb.link: No such file or directory
    //可以看到inode号不相同,大小不一致,软连接的文件权限为777,但实际是由源文件决定
    //文件类型变成符号链接,也就是(l)
    
  • 总结软链接和硬链接的区别

    1. 本质:硬链接:同一个inode号多个文件名字,软连接不同文件
    2. 跨分区:硬链接不支持跨分区,软链接支持跨分区
    3. 硬链接不支持目录创建,软连接支持目录创建
    4. 硬链接没有依赖关系,软连接和源文件有依赖关系
    5. 硬链接不会增长连接数,软链接会增长连接数
    6. 路径:软连接的原始路径要相对软连接的相对路径
    7. 文件类型:硬链接根据文件创建的类型指定,软连接会变成l

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

  • cp命令

    cp命令:copy
    常用选项:
    -i:交互式复制,即覆盖之前提醒用户确认;
    -f:强制覆盖目标文件;
    -r,-R:递归复制目录;
    -d:复制符号链接文件本身,而非其指向的源文件;
    -a:用于实现归档;

    单源复制:cp [OPTION]… [-T] SOURCE DEST
    多源复制:cp [OPTION]… SOURCE… DIRECTORY
    cp [OPTION]… -t DIRECTORY SOURCE…

    单源复制:cp [OPTION]… [-T] SOURCE DEST
    如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;
    如果DEST存在:
    如果DEST是非目录文件:则覆盖目标文件;
    如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;

    多源复制:cp [OPTION]… SOURCE… DIRECTORY
    cp [OPTION]… -t DIRECTORY SOURCE…
    如果DEST不存在:错误;
    如果DEST存在:
    如果DEST是非目录文件:错误;
    如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;

  • mv命令

    mv命令:move
    mv [OPTION]… [-T] SOURCE DEST
    mv [OPTION]… SOURCE… DIRECTORY
    cp [OPTION]… -t DIRECTORY SOURCE…

    常用选项:

    -i:交互式
    -f:force
    
  • rm命令

    rm命令:remove
    rm [OPTION]… FILE…

    常用选项:

    -i:interactive
    -f:force
    -r:recursive
    
        删除目录:rm -rf /PATH/TO/DIR
            危险操作:rm -rf /*
    

    注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录;(模拟回收站)

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

    [root@CentOS7 data]#cp /etc/profile /tmp/
    [root@CentOS7 data]#vim /tmp/profile :%s/^[[:space:]]\+//

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

    [root@CentOS7 data]#vim vim ~/.vimrc

    在文件中添加:
        set ts=4
        set noexpandtab