第二周作业

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

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

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

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

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

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

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

文件名严格区分字符大小写;目录也是文件,在同一路径下,文件不能重名;支持使用除/以外的任意字符;最长不能超过255个字符。

/:根目录

/bin:存放所有用户可用的基本命令程序文件

/sbin:存放供系统管理使用的工具程序

/boot:引导加载器必须用到的静态文件:kernel, initramfs(initrd), grub等

/dev:存储特殊文件或设备文件

/etc:系统程序的配置文件,只能为静态

/home:普通用户的家目录,一般每个普通用户的家目录默认为此目录下与用户名相同的子目录;/home/USERNAME

/root:管理员的家目录

/lib:为系统启动或根文件系统上的应用程序(/bin , /sbin等)提供共享库,以及为内核提供内核模块

/lib64:64位系统特有的存放64位共享库的路径

/media:便携式设备挂载点

/mnt:其他文件系统的临时挂载点

/opt:附加应用程序的安装位置;可选的路径

/srv:当前主机为服务提供的数据

/tmp:为那些会产生临时文件的程序提供用于存储临时文件的目录;可供所有用户写入操作,有特殊权限

/usr:usr hierarchy,全局共享的只读数据路径

    bin, sbin

    lib , lib64

    include: C程序头文件

    share : 命令手册页和命令自带文档等架构特有的文件的存储位置

    local : 另一个层级目录

    X11R6 : X-window程序的安装位置

    src : 程序源码文件的存储位置

/usr/local:local hierarchy,让系统管理员安装本地应用程序;通常用于安装第三方程序

/var:存储经常发生变化的数据的目录,如日志

/proc:基于内存的虚拟文件系统,内核和进程存储其相关信息,它们多为内核参数,例如内核参数net.ipv4.ip_forward,会将其虚拟为net/ipv4/ip_forward,存储与/proc/sys目录下,其完整路径为:/proc/sys/net/ipv4/ip_forward

/sys: sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径,基于内存的虚拟文件系统,其主要作用在于为管理linux设备提供一种统一模型的接口           

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

文件的数据分为两种:元数据(metadata)和数据(data);元数据为文件的属性数据;使用stat命令可以查看文件的元数据:

例如:stat /etc/issue

   File: ‘/etc/issue’  

   Size: 23        Blocks: 8          IO Block: 4096  regular file

   Device: fd00h/64768d Inode: 16777320    Links: 1

   Access: (0644/-rw-r--r--)  Uid: (    0/    root)  Gid: (    0/    root)

   Context: system_u:object_r:etc_t:s0

   Access: 2019-12-02 04:25:17.224948543 -0500

   Modify: 2019-09-05 09:05:40.000000000 -0400

   Change: 2019-11-26 05:05:29.578997993 -0500

   Birth: -

        其中file文件名;size文件大小;blocks文件占了多少数据块;IO block文件所占数据块的块大小;device硬件,说明文件在硬盘的哪个柱面;inode节点号;links文件的链接数;access权限;uid文件所属主;gid文件所属组;context安全上下文;Access最近一次访问文件的时间;modify最近一次改动文件数据的时间;change最近一次改动文件属性元数据的时间;

修改文件的时间戳信息:(access,modify,change为时间戳)

        使用touch命令修改文件时间戳:

                语法:touch [OPTION]...FILE...

                主要选项:

                        -a:仅修改access time为当前系统时间

                        -c:指定文件不存在时,不予创建

                        -m:仅修改modify time为当前系统时间

                        -t STAMP:使用指定的时间[[CC]YY]MMDDhhmm[.ss]格式代替当前时间

                        -r:使用某文件的时间戳代替当前时间修改access和modify

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

硬链接:指向同一个inode的多个文件路径;目录不支持硬链接;硬链接不能跨文件系统;创建硬链接会增加文件属性中的inode引用计数。使用命令格式:"ln 原文件 链接"

软链接:指向一个文件路径的另一个文件路径;软链接与原文件为两个各自独立的文件,各自有自己的inode,对原文件创建软链接不会增加inode引用次数;目录也可以创建软链接,并且可以跨文件系统创建;删除软链接不会影响原文件,但删除原文件,软链接指定的路径即不存在,此时会成为无效链接;软链接的文件大小是其指向的文件的路径字符串的字节数。使用命令格式:"ln -s 原文件  链接"

实例操作

查看/etc/issue当前links链接数

创建硬链接/etc/issue的硬链接到/tmp/issue


查看/etc/issue的Links链接数


创建目录/etc/的硬链接


创建/etc/issue的软链接到/tmp/lnsissue


查看/etc/issue属性中的links链接数


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

cp命令:

复制文件或目录

命令格式:

单源复制: cp [OPTION]... [-T] SOURCE DEST;

       如果DEST不存在,则先创建文件,并复制源文件的数据流至DEST;

       如果DEST存在:

               如果DEST是非目录文件:则会覆盖目标文件

               如果DEST是目录文件:现在DEST目录下创建一个与源文件同名的文件,并复制其数据流

多源复制:cp [OPTION]... SOURCE... DIRECTORY; cp [OPTION]... -t DIRECTORY SOURCE...

        如果DEST不存在:错误

        如果DEST存在:

                如果DEST是非目录文件:错误

                如果DEST是目录文件:分别复制每个文件至目标目录中并保持原名

常用选项:

-i :交互式复制,即覆盖之前提醒用户确认

-f : 强制覆盖目标文件

-r : 递归复制目录

-d : 复制符号链接文件本身,而非其指向的源文件

-a : -dR 归档

使用实例:

# cp /etc/passwd /tmp/   复制/etc/passwd文件到/tmp/目录 

mv命令:

移动或者重命名文件名

命令格式:

mv [OPTION]... [-T] SOURCE DEST;mv [OPTION]... SOURCE... DIRECTORY;mv [OPTION]... -t DIRECTORY SOURCE...

常用选项:

-i: 交互

-f : force,覆盖前不提示

使用实例:

~]# mv text1.txt text2.txt   将root目录下的文件text1.txt重命名为text2.txt

~]# mv text2.txt /etc/     将root目录下的文件text2.txt移动到/etc/目录下

rm命令:

删除文件或目录

命令格式:

rm [OPTION]... FILE...

常用选项:

-i : interactive,交互

-f : force,忽略不存在的文件和参数,且不提示

-r : recursive,递归

删除目录:rm -rf /PATH/TO/DIR

        危险操作:rm -rf /*

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

使用实例:

~]# rm -f /etc/text2.txt     删除/etc/目录下的文件text2.txt ,并且不提示是否删除

cd命令:

 切换用户的工作目录,路径可表示为绝对路径或者相对路径。

使用实例:

工作目录切换到/etc/;

切换到当前用户主目录;

切换到用户上一次所在的目录;

切换到上级目录;


pwd命令:

以绝对路径方式显示用户当前所在的工作目录

使用实例:


ls命令:

显示指定文件目录的文件信息,默认显示当前目录下的文件信息

命令格式:

ls [OPTION]... [FILE]...

常用选项:

-a, --all :显示所有文件包含隐藏文件

-A : 显示除.和..之外的所有文件

-l : --long , 长格式列表,即显示文件详细的属性信息

-h : --human-readable:对文件大小单位进行换算:换算后结果可能会非精确值


-d : 查看目录自身而非其内部的文件列表

-r : 逆序显示

-R : 递归显示

-i :显示文件元数据编号

cat命令:

文本文件内容查看

命令格式:

cat [OPTION]... [FILE]...

常用选项:

-n : 给显示的文本行统一编号

-E : 显示行结束符$

mkdir命令:

创建目录

命令格式:

mkdir [OPTION]... DIRECTORY...

常用选项:

-p:自动按需创建父目录

-v:显示详细过程

-m:直接给定权限


rmdir命令:

删除空目录

命令格式:

rmdir [OPTION]... DIRECTORY...

常用选项:

-p:删除某目录后,如果其父目录为空,则一并删除


 -v:显示过程



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

~]# cp /etc/profile /tmp/

~]# vim /tmp/profile

末行模式下执行:

%s@^[[:space:]]*@@


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

在末行模式下设定,仅对当前vim进程有效:

set ts=4

永久有效

        全局:/etc/vimrc

        用户个人:~/.vimrc

echo "set ts=4" >> /etc/vimrc   全局下设置永久有效

你可能感兴趣的:(第二周作业)