Linux second week homework

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


Linux系统基础目录的命名规则:

       1、遵循FHS(Filesystem Hierarchy Standard)标准

       2、严格区分大小写

       3、目录也是文件,在同一路径下,两个文件不能同名

       4、支持使用除 / 以外的任意字符

       5、最长字符不能超过255个字符

          6、文件系统从根目录开始/

目录结构大致如下图:

 

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

 

文件的元数据是指文件的属性、大小、创建时间、访问时间、属主属组等信息。

 

三个时间戳含义:

access time 访问时间,atime,读取文件内容 //不会频繁更新,一般隔了一天开始更新

modify time 修改时间, mtime,改变文件内容(数据)//修改文件,时间发生变化

change time 改变时间, ctime,元数据发生改变 //如果属性发生变化,时间发生变化

 

查看方法:

[root@centos7 ~]#touch a     #创建文件a
[root@centos7 ~]#stat a      #查看文件a的访问时间,修改时间和改变时间
  File: ‘a’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 802h/2050d	Inode: 201559922   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-04-13 14:20:36.620030125 +0800
Modify: 2020-04-13 14:20:36.620030125 +0800
Change: 2020-04-13 14:20:36.620030125 +0800
 Birth: -

修改文件时间戳的命令:touch
  touch [option]... Files
     -c 指定的文件路径不存在时不予创建
     -a 仅修改access time
     -m 仅修改modify time

修改文件的access time

[root@centos7 ~]#touch -a a
[root@centos7 ~]#stat a
  File: ‘a’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 802h/2050d	Inode: 201559922   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-04-13 14:28:41.798047159 +0800       ----> 文件a的atime从14:20:36变为14:28:41
Modify: 2020-04-13 14:20:36.620030125 +0800
Change: 2020-04-13 14:28:41.798047159 +0800       ----> 文件a的ctime也随之改变。
 Birth: -

修改文件的modify time

[root@centos7 ~]#touch -m a
[root@centos7 ~]#stat a
  File: ‘a’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 802h/2050d	Inode: 201559922   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-04-13 14:28:41.798047159 +0800
Modify: 2020-04-13 14:32:59.257056197 +0800   ----> 文件a的mtime从14:20:36变为14:32:59
Change: 2020-04-13 14:32:59.257056197 +0800   ----> 文件a的ctime也随之改变
 Birth: -

 

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

 

硬链接:

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

语法: ln filename [linkname ]

特征: 1、原文件和链接文件的属性完全一样
       2、链接文件和源文件的关系类似于:复制+同步更新
    3、当原文件丢失,硬链接文件还可以访问
    4、不能跨分区,不能针对目录使用
    5、原理:原文件和硬链接文件的节点相同的,1个文件名只能对应1个节点号。但是1个节点号能对应多个文件名。所以,他们的属性完全相同,并且修改了其中一个的内容另外一个也会跟着修改。

软链接:

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

语法: ln -s filename [linkname]

 特征:1、相当于windows的快捷方式

            2、符号链接,所以链接文件大小都很小
          3、当运行软连接的时候,会根据链接指向找到真正的文件,然后执行
             4、所有链接文件的权限都是777,而真正的权限是由指向的那个文件决定的
             5、原文件丢失后,软链接无法访问,会报找不到的错误
             6、ls -al ,软连接后面箭头执行的时源文件

硬链接示例:

[root@centos7 ~]#touch 8
[root@centos7 ~]#ln 8 8.link
[root@centos7 ~]#ll -i 8 8.link
201559925 -rw-r--r-- 2 root root 0 Apr 13 14:44 8      //可以看到源文件和硬链接文件inode号、权限、时间一致
201559925 -rw-r--r-- 2 root root 0 Apr 13 14:44 8.link  //文件类型为普通文件

 

[root@centos7 ~]#ll
total 8
-rw-r--r--  2 root root    0 Apr 13 14:44 8
-rw-r--r--  2 root root    0 Apr 13 14:44 8.link
[root@centos7 ~]#rm -rf 8
[root@centos7 ~]#echo "1234" >> 8.link               //把源文件删除后,硬链接文件可以正常访问
[root@centos7 ~]#cat 8.link
1234

软连接示例:

[root@centos7 ~]#touch 9
[root@centos7 ~]#echo "1234" >> 9
[root@centos7 ~]#ln -s 9 9.link
[root@centos7 ~]#ll -i 9 9.link
201559936 -rw-r--r-- 1 root root 115 Apr 13 14:59 9
201559937 lrwxrwxrwx 1 root root   1 Apr 13 14:58 9.link -> 9
//可以看到inode号不相同,大小不一致,软连接的文件权限为777,但实际是由源文件决定
//文件类型变成符号(软)链接,也就是(I)
[root@centos7 ~]#ll
total 16
-rw-r--r--  1 root root  115 Apr 13 14:59 9
lrwxrwxrwx  1 root root    1 Apr 13 14:58 9.link -> 9
[root@centos7 ~]#cat 9.link
1234
[root@centos7 ~]#rm -rf 9
[root@centos7 ~]#cat 9.link
cat: 9.link: No such file or directory

//删除源文件之后,软连接不可以正常访问

 

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

 

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

https://blog.csdn.net/Andy_xjc/article/details/105510043

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

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

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

set tabstop=4

在vim界面的扩展命令模式下输入此语句即可,但这个设置是当前vim进程有效,如果要永久有效,则修改/etc/vimrc,或者是用户~/.vimrc,这此语句放进去。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《嵌入式Linux编程的精髓-第二版》是一本涵盖嵌入式Linux编程相关知识的书籍。嵌入式系统是指嵌入到设备中,负责控制设备运行的计算机系统。Linux是一种自由、开放源代码的操作系统,广泛应用于嵌入式系统中。 在第二版中,这本书提供了嵌入式系统开发的最新趋势和技术。它讲解了嵌入式Linux系统的搭建和配置,包括交叉编译工具链的搭建、Linux内核的配置和裁剪,以及Bootloader的加载等。此外,书中还介绍了如何进行硬件与软件的交互,包括GPIO控制、设备驱动的开发与调试等。 本书还特别强调了实践与项目开发。作者通过编写一些实际案例来引导读者探索不同的嵌入式项目,包括网络应用、图形界面、多媒体处理、无线通信等。这有助于读者将所学知识应用到实际开发中,提高嵌入式系统的开发能力。 此外,本书还介绍了调试和优化嵌入式系统的方法。作者分享了一些调试工具和技巧,帮助读者解决开发中的常见问题。还介绍了优化嵌入式系统性能的方法,以提高系统的速度和响应能力。 总之,《嵌入式Linux编程的精髓-第二版》是一本全面而实践性强的嵌入式Linux编程学习指南。通过学习本书,读者将能够掌握Linux的基本原理和嵌入式系统的开发技巧,并能够应用于实际项目中,提高嵌入式系统的性能和稳定性。 ### 回答2: 《嵌入式Linux编程:第二版》是一本涵盖嵌入式Linux系统开发的重要概念和技术的书籍。本书旨在帮助读者掌握嵌入式Linux编程的各个方面,从而成为一名嵌入式系统开发专家。 第二版的《嵌入式Linux编程》与第一版相比,进行了更新和扩展。本书涵盖了Linux内核的最新版本,并介绍了最新的嵌入式Linux开发工具和技术。同时,本书还增加了对容器化和虚拟化技术在嵌入式Linux系统中的应用的讨论。 本书的内容涵盖了从基础知识到高级主题的嵌入式Linux系统开发。读者将学习如何搭建嵌入式Linux开发环境,了解Linux内核的基本概念和结构,并深入研究设备驱动程序和文件系统的开发。此外,本书还介绍了嵌入式系统的调试和性能优化技术,以及与硬件交互的通信协议和接口。 读者在阅读本书时,将通过实例和案例学习,结合实际应用场景,将理论知识应用到实际项目中。通过深入学习嵌入式Linux编程,读者将能够理解和掌握嵌入式Linux系统的架构和工作原理,能够编写高效、可靠的设备驱动程序和应用程序,并能够解决嵌入式系统开发中遇到的各种挑战和问题。 总之,通过阅读《嵌入式Linux编程:第二版》,读者将获得全面的嵌入式Linux编程知识和技能,并能够在实际项目中应用这些知识和技能,成为一名嵌入式系统开发专家。 ### 回答3: 《嵌入式Linux编程掌握-第二版》是一本深入了解嵌入式Linux编程的指南。这本书适合有一定编程基础的读者,他们有兴趣学习如何在嵌入式系统中使用Linux。它提供了关于嵌入式Linux的详细知识和实践经验,包括Linux内核和设备驱动程序的基础知识,以及如何将Linux运行在各种不同的嵌入式硬件上。 这本书的第二版提供了更加深入和全面的内容,与第一版相比进行了更新和扩充。它介绍了如何为嵌入式系统配置和编译Linux内核,以及如何开发和调试Linux设备驱动程序。此外,它还涵盖了嵌入式Linux系统的网络和存储管理,以及如何优化和调试系统性能。 书中还包含了大量的示例代码和实验项目,读者可以通过实践来加深对所学知识的理解和掌握。此外,该书还介绍了一些流行的嵌入式开发板和硬件平台,以及常用的开发工具和调试技术。 总的来说,通过阅读《嵌入式Linux编程掌握-第二版》,读者将获得深入了解嵌入式Linux系统开发的能力,并在实践中掌握如何在嵌入式系统中应用Linux的技术和工具。这对想要在嵌入式领域从事开发工作的人来说是一本很有价值的参考书。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值