俗话说,一回生二回熟,日积月累方能始终。(第二周)

六月ゝ 毕业季﹏ 提交于 2019-12-09 15:22:28

一,描述Linux发行版的系统目录名称命名规则以及用途。
1,版本命名规则:
内核版本由三部分组成:主版本号、次版本号、末版本号
开发版本:第二位数字是奇数
稳定版本:第二位数字是偶数
2,文件与目录命名规则:
文件名:字母、数字、下划线、圆点
普通文件 - (黑色)
目录文件 d (蓝色)
链接文件 l (亮蓝色)
特殊文件 cd (黄色)
配置文件 .conf
日志文件 .log
系统日志文件 .syslog
系统配置文件 .cfg
系统文件 .i386
脚本文件 .sh
3,FHS:Filesystem Hierarchy Standard
/bin:所有用户可用的基本命令程序文件;
/sbin:系统管理使用的工具程序;
/boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等;
/dev:存储特殊文件或设备文件;
设备有两种类型:字符设备(线性设备,时序的)、块设备(随机设备,随意访问);
/etc:系统程序的配置文件,只能为静态;
/home:普通的家目录的集中位置(特有的);一般每个普通用户的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME;
/root:管理员的家目录;可选;
/lib:为系统启动或根文件系统上的应用程序(/bin, /sbin等)提供共享库,以及为内核提供内核模块
libc.so.:动态链接的C库;
ld
:运行时链接器/加载器;
modules:用于存储内核模块的目录;
/lib64:64位系统特有的存放64位共享库的路径;
/media:便携式设备挂载点,cdrom, floppy等;
/mnt:其它文件系统的临时挂载点;
/opt:附加应用程序的安装位置;可选路径;
/srv:当前主机为服务提供的数据;
/tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录;可供所用户执行写入操作;有特殊权限;
/usr:usr Hierarchy,全局共享的只读数据路径;
bin, sbin:只是供应当前文件下的二进制程序
lib, lib64
include:C程序头文件;
share:命令手册页和自带文档等架构特有的文件的存储位置,类似man,example等文件
local:另一个层级目录;
X11R6:X-Window程序的安装位置
src:程序源码文件的存储位置
/usr/local:Local hierarchy,让系统管理员安装本地应用程序;也通常用于安装第三方程序;早前在opt下,
不同程序可能安装两次,为避免覆盖而在此指定文件路径
/var:/var Hierarchy,存储常发生变化的数据的目录;
cache Application cache data
lib Variable state information
local Variable data for /usr/local
lock Lock files
log Log files and directories
opt Variable data for /opt
run Data relevant to running processes
spool Application spool data
tmp Temporary files preserved between system reboots
/proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息;它们多为内核参数,例如net.ipv4.ip_forward, 虚拟为net/ipv4/ip_forward, 存储于/proc/sys/, 因此其完整路径为/proc/sys/net/ipv4/ip_forward;
/sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的的接口;
参考文件:https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/

二,描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?
1,元数据定义:
数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。元数据算是一种电子式目录,为了达到编制目录的目的,必须在描述并收藏数据的内容或特色,进而达成协助数据检索的目的,元数据就是数据的数据。
任何文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据,而元数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息(inode...)等等。
2,元数据信息包含:
File:文件名
Size:文件大小(单位:B)
Blocks:文件所占块个数
IO Block:每个数据块的大小(单位:B)
regular file:普通文件(此处显示文件的类型)
Inode:文件的Inode号,文件的索引节点号
Links:硬链接次数
Access:权限
Uid:(属主id/属主名)
Gid:(属组id/属组名)
Context:文件所在的环境
Access:最近访问时间access time (atime)
Modify:数据改动时间modification time (mtime)
Change:元数据改动时间status time (ctime)
Creat:文件创建时间
3,查看文件的元数据的方法:
stat命令:stat:display file or file system status,使用stat 查看文件的元数据
使用语法:stat FILE…
示例:查看/etc/passwd文件的元数据
[root@localhost ~]# stat /etc/passwd
4,修改文件的时间戳的方法:
touch命令:touch – change file timestamps修改时间戳
使用语法: touch [OPTION]… FILE…
文件系统元数据(metadata)的更改都被保存在一份单独的日志里,当发生系统崩溃时可以根据日志正确地恢复数据。

三,总结软连接和硬连接区别,并用实例操作说明。
1,硬链接:
本质时对同一个文件起多个文件名。所以表现为一个inode号可以对应多个文件名。
特点:
       1.文件有相同的inode和data block
       2.只能对已存在的文件创建
       3.不能夸分区创建
       4.不能对目录进行创建,只可对文件创建
       5.删除一个硬链接文件不影响其他有相同inode号的文件
实例:
[root@mageedu test]# ll -i
total 0
1010100 -rw-r–r-- 1 root root 0 Nov 10 14:58 test.txt
[root@mageedu test]# ln test.txt test1.txt
[root@mageedu test]# ll -i
total 0
1010100 -rw-r–r-- 2 root root 0 Nov 10 14:58 test1.txt
1010100 -rw-r–r-- 2 root root 0 Nov 10 14:58 test.txt
[root@mageedu test]# rm test1.txt
rm: remove regular empty file ‘test1.txt’? y
[root@mageedu test]# ll -i
total 0
1010100 -rw-r–r-- 1 root root 0 Nov 10 14:58 test.txt,
2,软链接:
软连接就是一个普通文件,只是数据块内容有点特殊。软链接有着自己的inode号以及用户数据块。
特点:
1.有自己的文件属性及权限等
2.可对不存在的文件或目录创建软链接
3.可跨分区创建
4.可对文件或目录创建
5.创建时,链接计数不会增加
6.删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软链接被称为死链接,若被指向路劲文件被重新创建,死链接可恢复为正常的软链接
实例:
[root@mageedu test]# ll
total 0
-rw-r–r-- 1 root root 0 Nov 10 14:58 test.txt
[root@mageedu test]# ln -s test.txt test.txt.lnk
[root@mageedu test]# ll
total 0
-rw-r–r-- 1 root root 0 Nov 10 14:58 test.txt
lrwxrwxrwx 1 root root 8 Nov 10 15:14 test.txt.lnk -> test.txt
[root@mageedu test]# rm test.txt
rm: remove regular empty file ‘test.txt’? y
[root@mageedu test]# ll
total 0
lrwxrwxrwx 1 root root 8 Nov 10 15:14 test.txt.lnk -> test.txt
[root@mageedu test]# touch test.txt
[root@mageedu test]# ll
total 0
-rw-r–r-- 1 root root 0 Nov 10 15:15 test.txt
lrwxrwxrwx 1 root root 8 Nov 10 15:14 test.txt.lnk -> test.txt

四,Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
1,目录管理命令
ls:列出指定目录下的内容
格式:ls [OPTION]... [FILE]...
   -a:显示所有文件包括隐藏文件
   -A:显示除.和..之外的所有文件
   -l,--long:显示文件的详细属性信息
   -h:对文件大小进行单位换算,可能影响精度
   -d:查看目录本身而非其内部的文件
   -r:逆序显示文件
   -R:递归显示文件
示例:ls -lah / --详细显示/目录下的所有文件(包括隐藏文件)
   ls -ldh /etc --详细显示/etc目录本身
   ls -lhv / --倒序显示/目录下所有文件(包括隐藏文件)
   ls -R /etc    --递归显示/etc下所有文件
mkdir:创建目录
格式:mkdir [OPTION]... DIRECTORY...
   -p:自动按需创建父目录
   -m:创建目录时给定权限
示例:mkdir -p /data/test/A/B --在/data目录下递归创建/test/A/B三个目录
   mkdir -m 711 -p /data/MODE/A --在/data目录下递归创建MODE/A两个目录同时指定目录A的权限为711
rmdir:删除目录
格式:rmdir [OPTION]... DIRECTORY...
   -p:删除目录后如果其父目录为空,则一并删除
示例:rmdir -p /data/test/A --删除A目录后,test目录为空,一并删除
cd:切换目录
示例:cd ..:切换到上级目录
   cd ~:切换回自己的家目录
   cd -:在上一次目录与当前目录直接来回切换
pwd:显示当前目录
2,文件管理命令
cp:复制
格式:单源复制:cp [OPTION]... [-T] SOURCE DEST(如果DEST不存在则创建,存在则覆盖)
   多源复制:cp [OPTION]... SOURCE... DIRECTORY(DEST必须为directory)
   -i:交互式复制,即覆盖前提醒用户确认
   -f:强制覆盖目标文件
   -r,-R:递归复制目录
示例:cp -if /data/[1-3].txt /data/test --test必须为目录,把三个文件一起复制到test中
   cp -r /data /practice --把data目录及目录下的内容一起复制到practice中
mv:剪切
格式:单源复制:mv [OPTION]... [-T] SOURCE DEST(如果DEST不存在则创建,存在则覆盖)
   多源复制:mv [OPTION]... SOURCE... DIRECTORY(DEST必须为directory)
   -i:交互式复制,即覆盖前提醒用户确认
   -f:强制覆盖目标文件
示例:mv -i /data/[1-3].txt /practice --把/data目录下三个txt文件剪切到/practice下
rm:删除
格式:rm [OPTION]... FILE...
   -i:交互式复制,即覆盖前提醒用户确认
   -f:强制覆盖目标文件
   -r,-R:递归处理,将制定目录下的所有文件包括目录一并删除
示例:rm -rf /practice --递归删除/practice目录
3,文本内容管理命令
cat:正向查看文本内容
格式:cat [OPTION]... [FILE]...
   -n:给显示的文本行编号
   -E:显示行结束符号$
示例:cat -n /etc/fstab --查看/etc/fatab内容并显示行号
tac:倒叙查看文本内容
格式:tac [OPTION]... [FILE]...
示例:tac /etc/passwd --倒叙查看文本内容
head:显示文本内容,默认显示头10行
格式:head [OPTION]... [FILE]...
   -n #:显示文本头#行内容
示例:head -5 /etc/passwd --显示/etc/passwd文件头5行内容
tail:显示文本内容,默认显示后10行
格式:tail [OPTION]... [FILE]...
   -n #:显示文本后#行内容
   -f:查看文件尾部内容结束后不退出,跟随显示新增的行
示例:tail -8 /etc/passwd --显示/etc/passwd文件后8行内容
more:分屏显示文本内容,每次显示一屏显示完停止
格式:more [options] file [...]
   Space键:显示文本下一屏内容
   Enter键:只显示文本下一行内容
   b键:显示文本上一屏内容
   q键:退出
less:分屏显示文本内容,不主动退出
格式:less [options] file [...]
   Space键:显示文本下一屏内容
   Enter键:只显示文本下一行内容
   b键:显示文本上一屏内容
   q键:退出
五,复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符。
[root@mageedu test]# cp /etc/profile /tmp/
[root@mageedu test]# vim /tmp/ profile
在:模式下输入:%s@^[[:space:]]+@@g

六,在vim中设置tab缩进为4个字符
1,redhat和CentOS系统的设置方法:
vim /etc/virc
set tabstop=4
vim /etc/vimrc
set tabstop=4
2,Ubuntu系统的设置方法:
vim /etc/vim/vimrc
set tabstop=4

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!