linux练习题二

目录

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

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

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

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

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

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

 


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


/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: 保存系统两次重启之间产生的临时数据

/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:临时文件存储位置
/proc: 用于输出内核与进程信息相关的虚拟文件系统 
/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统 
/selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位


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

stat命令查看文件元数据信息,touch命令修改文件的时间戳信息,介绍如下:

stat命令

stat – display file or file system status(用于展示文件或文件系统的状态)

  • 创建空文件和刷新时间 touch

    用法:stat [OPTION]… FILE…
  • 示例:

 

  • 解释说明:利用stat命令,可以显示文件的元数据(13)
    • File:文件名
    • Size:文件大小(单位:B)
    • Blocks:文件所占扇区个数,为8的倍数(通常的 Linux 的扇区大小为 512 B,连续八个扇区组成一个block)
    • IO Block:每个数据块的大小(单位:B)
    • regular file:普通文件(此处显示文件的类型)
    • Links:硬链接次数
    • Access:权限
    • Uid:(属主id/属主名)
    • Gid:(属组id/属组名)
    • Access:最近访问时间
    • Modify:数据改动时间
    • Change:元数据改动时间

以上的参数均属于文件的元数据,元数据即用来描述数据的数据

时间戳

此处着重说明一下文件的时间戳:

  • Access:Access time(atime),是指取用文件的时间,所谓取用,常见的操作有:使用编辑器查看文件内容,使用cat命令显示文件内容;使用cp命令把该文件(即来源文件)复制成其他文件;或者在这个文件上运用grep、sed、more、less、tail、head等命令,凡是读取文件的操作,均改变文件的Access time
  • Modify:Modify time(mtime),是指修改文件内容的时间,只要文件内容有改动(如使用转向输出或转向附加的方式)或存盘的操作,就会改变文件的Modify time,平常我们使用ls –l查看文件时,显示的时间就是Modify time
  • Change:Change time(ctime),是指文件属性或文件位置改动的时间,如:使用chmod、chown、mv指令集;使用ln做文件的硬是连接,都会改变文件的Change time

touch命令

为了更形象地描述时间戳,下面将引入touch命令,通过具体的例子来进行区分:

touch – change file timestamps(修改文件的时间戳)

  • 用法:touch [OPTION]… FILE…
  • 常用参数:
    -c:指定的文件路径不存在时不予创建
    -a: 仅修改access time和change time
    -m:仅修改modify time和change time
    注意:Change time不能手动指定
    -t:修改Access time和Modify time为指定时间,格式为:[[CC]YY]MMDDhhmm[.ss](年月日时分.秒)
  • 示例:
  1. 首先使用touch命令创建一个空文件(touch + 文件名,当文件不存在时,可以用于创建空文件)

  2. 使用touch -a f1.txt,修改f1.txt的Access时间为当前系统时间

     


    这时我们发现文件的Change time一同被改变了,因为Access time属于文件元数据中的一项,当Access time被修改时,文件的属性也被改动
  3. 使用touch -m f1.txt,将f1.txt的Modify时间改为当前系统时间


    这时我们发现文件的Change time一同被改变了,原因和上面相同,当Modify time被修改时,文件的属性也被改动
  4. 使用touch -t 1801120000.00 f1.txt,将文件的访问和修改时间改为2018年1月12日0点0分0秒


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

如下图:hard link(硬链) 和file 都指向同一个 inode,inode对应了一个实际物理存储的文件。soft link(软链) 对应一个新的inode, 新的inode对应一个新的物理存储文件,物理存储文件又指向了目标文件 file。

软链接相当于建立了一个新的快捷方式文件,该文件有自己的名称和inode以及物理存储的文件数据,文件数据里记录着如何跳转的设置数据,访问该快捷文件会被重新定向到原始文件,删除原始文件,软链文件失效,再次创建同名的文件后,链接指向新的同名文件;

硬链接相当于为当前文件名对应的文件再建立了一个文件别名,别名对应的inode以及物理数据都是一样的,删除文件的其中一个名称,文件不会丢失,除非把所有的名称都删除。


软链接可以为文件和目录(哪怕是不存在的)创建链接

硬链接只能为文件创建链接。


③软链接可以跨文件系统 (示例/tmp与/data不在一个分区)

硬链接必须是同一个文件系统(示例/tmp与/data不在一个分区)


硬链接因为只是文件的一个别名,所以不重复占用内存,软链接因为只是一个访问文件的快捷方式文件,文件内只包含快捷指向信息,所以占用很小的内存。
软链接的文件权限和源文件可以不一样,创建时链接数不增长

硬链接文件权限肯定是一样的,创建时链接数递增



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

创建空文件和刷新时间 touch

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

      SRC是文件:

           如果目标不存在:新建DEST,并将SRC中内容填充至DEST中

           如果目标存在:

               如果DEST是文件:将SRC中的内容覆盖至DEST中

                     基于安全,建议为cp命令使用-i选项

               如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容 填充至新文件中

cp SRC... DEST

      SRC...  多个文件

      DEST       必须存在,且为目录,其它情形均会出错 

cp SRC DEST

     SRC是目录:此时使用选项:-r

        如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中

        如果DEST存在:

          如果DEST是文件:报错

          如果DEST是目录:

 

cp常用选项

    -i  覆盖前提示   

    -n     不覆盖,注意两者顺序 

    -r, -R 递归复制目录及内部的所有内容 

    -a  归档,相当于-dR --preserv=all 

    -d   --no-dereference --preserv=links  不复制原文件,只复制链接名 

    --preserv[=ATTR_LIST]

          mode: 权限

          ownership: 属主属组

          timestamp: 

          links

          xattr

          context

          all

    -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  删除/  

示例:   rm -rf    /*

目录操作

tree 显示目录树

      -d: 只显示目录

      -L level:指定显示的层级数目

      -P pattern: 只显示由指定pattern匹配到的路径 

mkdir 创建目录

      -p: 存在于不报错,且可自动创建所需的各目录

      -v: 显示详细信息

      -m MODE: 创建目录时直接指定权限 

rmdir 删除空目录

       -p: 递归删除父空目录

       -v: 显示详细信息 

rm -r 递归删除目录树


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

复制并编辑profile文件

扩展命令模式下输入进行替换

%s/^\s*//


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

编辑文件,进入之后依次输入 [esc] --> [ : ] --> [ set tabstop=4 ]

或者tabstop可以简写为ts。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值