马哥教育42期第二周作业

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用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinuxselinux相关的安全策略等信息的存储位置

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值