2020-02-16 第二周作业

▲就业班和全程班的小伙伴看这里:(学习老王视频的作业第3-4节)

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

1)目录名称命名规则

1.1、文件名最长255个字节,包括路径在内文件名称最长4095个字节

1.2、蓝色-->目录 绿色-->可执行文件 红色-->压缩文件 浅蓝色-->链接文件 灰色-->其他文件

1.3、除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用它们

1.4、标准Linux文件系统(如ext4),文件名称大小写敏感 例如:MAIL, Mail, mail, mAiL

2)目录用途

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

1)描写文件的元数据:是指文件的属性、大小、创建时间、访问时间、属主属组等信息.

2)在Linux中,用stat命令查看文件的元数据,例如:

其中各项的含义描述:

File:文件名  

Size:文件大小(单位:byte)

Blocks:文件占用的数据块个数

IO Block:文件所占用数据块的块容量(单位:byte)

regular file:普通文件(文件类型)

Device:设备号(十六进制/十进制)

Inode:索引节点

Links:硬连接数(1代表没有其它的硬连接)

Access:第一个Access,权限(八进制/rwx格式)

Uid:所属主(ID号/名称)

Gid:所属组(ID号/名称)

Access:第二个Access,最近访问时间,也可以理解为读时间

Modify:最近数据修改时间

Change:最近元数据修改时间

Birth:创建时间

3)用touch命令修改文件的时间戳信息:

格式:touch [OPTION]...FILE...

-a 仅改变 atime 和 ctime

-m 仅改变 mtime 和 ctime

-t  [[CC]YY]MMDDhhmm[.ss] 指定atime和mtime的时间戳

其中,atime是第二个Access的时间戳,mtime是指Modify时间戳,ctime是指Change时间戳。

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

1、本质不同:硬链接是指向同一个文件(inode号相同),软链接指向的不是同一个文件(inode号不同)

2、创建链接时:创建硬链接链接数加1,创建软链接连接数不变

3、删除时:硬链文件接不受影响但链接数减少;软链接失效

4、是否可以跨分区:硬链接不可以跨分区,软链接可以跨分区

5、目录是否可以创建链接:硬链接不可以对目录创建,软链接可以对目录创建

6、文件类型不同

7、创建命令不同:硬链接为 ln;软链接为 ln -s

8、相对路径不同:硬链接为文件所在文件夹的相对路径;软链接为原始文件与软链接文件所在路径的相对

【举例】

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

1)cd

【描述】:命令用来切换工作目录

【语法】:cd [-L|[-P [-e]]] [dir]

【选项】:

-P: 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录

-L: 如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录。

- : 当仅实用"-"一个选项时,当前工作目录将被切换到环境变量"OLDPWD"所表示的目录。

【常用格式】:

cd :进入用户主目录;

cd ~ : 进入用户主目录;

cd -  :返回进入此目录之前所在的目录;

cd ..  :返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);

cd ../..  :返回上两级目录; cd !$ 把上个命令的参数作为cd参数使用

2)ls

【功能】:查看目录下文件的详细信息

【语法】:ls 选项[-ald] [文件或目录]

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

        -l :详细信息显示

        -d :查看目录属性

【举例】:

# ls  -d  /etc/*/                 -------- 显示/etc目录下的所有非隐藏的目录

# ls  -d  /etc/.*                 --------显示/etc目录下的隐藏文件

3)mkdir

【用途】:创建目录

【格式】:mkdir [OPTION]... DIRECTORY...

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

-m:创建目录时给定权限

【示例】:

(1) 如何创建/testdir/dir1/x, /testdir/dir1/y, /testdir/dir1/x/a, /testdir/dir1/x/b, /testdir/dir1/y/a, /testdir/dir1/y/b

# mkdir -p /data/testdir/dir1/{x,y}/{a,b}

(2) 如何创建/testdir/dir2/x, /testdir/dir2/y, /testdir/dir2/x/a,/testdir/dir2/x/b

# mkdir -p /data/testdir/dir2/{x/{a,b},y}

(3) 如何创建/testdir/dir3, /testdir/dir4, /testdir/dir5, /testdir/dir5/dir6, /testdir/dir5/dir7

# mkdir -p /data/testdir/dir{3,4,5/dir{6,7}}

4)rmdir

【用途】:删除目录

【格式】:rmdir [OPTION]... DIRECTORY...

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

【示例】:

rmdir -p /data/test/A                               --删除A目录后,test目录为空,一并删除

5)cp

【用途】:复制文件

【格式】:

单源复制:cp [OPTION]... [-T] SOURCE DEST(如果DEST不存在则创建,存在则覆盖)

多源复制:cp [OPTION]... SOURCE... DIRECTORY(DEST必须为directory)

【选项】

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

-f:强制覆盖目标文件

-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 目标存在,覆盖前先备份加数字后缀

【举例】

1、[endif]每天将/etc/目录下所有文件,备份到/data独立的子目录下,并要求子目录格式为 backupYYYY-mm-dd,备份过程可见,并且要求只复制源比目标更新文件或目标不存在的文件

       # cp -r -av -u  /etc/ /data/bakup`date +%F`

2、创建/data/rootdir目录,并复制/root下所有文件到该目录内,要求保留原有权限

       # mkdir -p /data/rootdir

       # cp -r --preserv=mode /root /data/rootdir

3、 目标存在,覆盖前先备份加数字后缀

6)mv

【用途】:移动文件

【格式】:

单源移动:mv [OPTION]... [-T] SOURCE DEST(如果DEST不存在则创建,存在则覆盖)

多源移动:mv [OPTION]... SOURCE... DIRECTORY(DEST必须为directory)

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

-f:强制覆盖目标文件

-b:目标存在,覆盖前先备份

7)rm

【用途】:删除

【格式】:rm [OPTION]... FILE...

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

-f:强制覆盖目标文件

-r,-R:递归处理,将制定目录下的所有文件包括目录一并删除

【举例】删除大文件并立即释放所占空间的正确方法(例:/data/bigfile 文件太大想立即删除并释放磁盘空间)

# > /data/bigfile              -----采用重定向的方式将bigfile文件内容清空

# ll /data/bigfile               -----查看bigfile文件占用空间为0

# df -h                             -----查看磁盘占用率是否得到缓解

# rm -f /data/bigfile          -----彻底删除bigfile文件

8)cat

【用途】:正向查看文本内容

【格式】:cat [OPTION]... [FILE]...

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

-E:显示行结束符号$


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

[root@centos7 ~]#cp /etc/profile /tmp

[root@centos7 /tmp]#vim profile

:%s@^[[:space:]]\+@@g

:wq


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

1)临时生效:编辑一个文件,进入之后一次输入 [esc] --> [ : ] --> [ set ts=4 ]

2)永久生效:在~目录中创建一个.vimrc文件,增加内容 set tabstop=4 保存退出。


另:附vim键位图、思维导图


你可能感兴趣的:(2020-02-16 第二周作业)