您的位置:首页 > 其它

文件管理系统-第二周作业

2020-08-30 22:04 756 查看

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:设备文件及特殊文件存储位置
b: block device,随机访问
c: character device,线性访问
/opt:第三方应用程序的安装位置
/srv:系统上运行的服务用到的数据
/tmp:临时文件存储位置
/usr: universal shared, read-only data
bin: 保证系统拥有完整功能而提供的应用程序,所有用户可访问
sbin:保证系统拥有完整功能而提供的应用程序,系统管理命令
lib:32位使用
lib64:只存在64位系统
include: C程序的头文件(header files)
share:结构化独立的数据,例如doc, man等
local:第三方应用程序的安装位置
bin, sbin, lib, lib64, etc, share
/var: variable data files
cache: 应用程序缓存数据目录
lib: 应用程序状态信息数据
local:专用于为/usr/local下的应用程序存储可变数据
lock: 锁文件
log: 日志目录及文件
opt: 专用于为/opt下的应用程序存储可变数据
run: 运行中的进程相关数据,通常用于存储进程pid文件
spool: 应用程序数据池
tmp: 保存系统两次重启之间产生的临时数据
/proc: 用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置


2、描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?
元数据信息:1、文件类型(权限,UID,GID)
2、链接数(指向这个文件名路径名称个数)
3、该文件的大小和不同的时间戳
4、指向磁盘上文件的数据块指针
5、有关文件的其他数据
stat命令用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。
语法
stat [options] [arg]
选项
-L:支持符号连接;
-f:显示文件系统状态而非文件状态;
-t:以简洁方式输出信息;
参数
文件:指定要显示信息的普通文件或者文件系统对应的设备文件名。
[root@localhost ~]# stat initial-setup-ks.cfg
File: ‘initial-setup-ks.cfg’
Size: 1868 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 67157073 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:admin_home_t:s0
Access: 2019-05-29 19:11:34.806015704 +0800
Modify: 2019-05-29 19:11:34.807015704 +0800
Change: 2019-05-29 19:11:34.807015704 +0800
Birth: -
Access:最后一次访问时间
Modify:最后一次修改时间
Change:最后一次更改时间
1、当读取文件时,access time 时间改变,而 modity time ,change time 不会改变
2、当修改文件时,access time,modity time ,change time都会个改变
3、当修改属性时,change time改变,access time,modity time 不变
常用修改时间戳的命令有很多,如:chmod,chown,touch,vi,vim,cat,less,more,tail,tac等等
3、总结软链接和硬链接区别,并用实例操作说明。
1、本质:硬链接:同一个链接多个名字,软链接不同文件
2、跨分区 硬链接:同一文件系统上一个物理文件 软链接:不同文件系统,不同物理文件
3、目录:硬链接:只能对文件操作 软链接:可以对文件,也可以对目录操作
4、相互关系:
5、inode号: 硬链接:每个目录引用相同的inode号 软链接:每个目录引用不同的inode号
6、链接数:软链接:不增加或减少目标文件inode的引用计数 硬链接:创建时链接数递增
7、相对路径:原始文件路径
8、文件类型 :一个是普通文件类型,一个符号链接文件
9 、用法不同 硬链接:ln filename [linkname ] 软链接:ln -s filename [linkname ]


4、Linux上的文件管理类命令都有哪些,其常用的使用方法机其相关示例演示
cd 改变目录
切换至父目录: cd ..
切换至当前用户主目录: cd
切换至以前的工作目录: cd -
使用绝对或相对路径:
cd /home/wang/
cd home/wang
列出当前目录的内容或指定目录
用法:ls [options] [files_or_dirs]
示例
ls -a 包含隐藏文件
ls -l 显示额外的信息
ls -R 目录递归
ls -ld 目录和符号链接信息
ls -1 文件分行显示
ls –S 按从大到小排序
ls –t 按mtime排序
ls –u 配合-t选项,显示并按atime从新到旧排序
ls –U 按目录存放顺序显示
ls –X 按文件后缀排序
tree 显示目录树
-d: 只显示目录
-L level:指定显示的层级数目
-P pattern: 只显示由指定pattern匹配到的路径
mkdir 创建目录
-p: 存在于不报错,且可自动创建所需的各目录
-v: 显示详细信息
-m MODE: 创建目录时直接指定权限
rmdir 删除空目录
-p: 递归删除父空目录
-v: 显示详细信息
rm -r 递归删除目录树
5、复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符
cp /etc/profile /tmp/
cat /tmp/profile |tr -d '
[root@localhost ~]# cat /tmp/profile | tr -d ' '
#/etc/profile

#Systemwideenvironmentandstartupprograms,forloginsetup
#Functionsandaliasesgoin/etc/bashrc

#It'sNOTagoodideatochangethisfileunlessyouknowwhatyou
#aredoing.It'smuchbettertocreateacustom.shshellscriptin
#/etc/profile.d/tomakecustomchangestoyourenvironment,asthis
#willpreventtheneedformerginginfutureupdates.

pathmunge(){
case":${PATH}:"in
:"$1":)
;;
*)
if["$2"="after"];then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
esac
}

if[-x/usr/bin/id];then
if[-z"$EUID"];then
#kshworkaround
EUID=

/usr/bin/id-u

UID=
/usr/bin/id-ru

fi
USER="
/usr/bin/id-un
"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
fi

#Pathmanipulation
if["$EUID"="0"];then
pathmunge/usr/sbin
pathmunge/usr/local/sbin
else
pathmunge/usr/local/sbinafter
pathmunge/usr/sbinafter
fi

HOSTNAME=

/usr/bin/hostname2>/dev/null

HISTSIZE=1000
if["$HISTCONTROL"="ignorespace"];then
exportHISTCONTROL=ignoreboth
else
exportHISTCONTROL=ignoredups
fi

exportPATHUSERLOGNAMEMAILHOSTNAMEHISTSIZEHISTCONTROL

#Bydefault,wewantumasktogetset.Thissetsitforloginshell
#Currentthresholdforsystemreserveduid/gidsis200
#Youcouldcheckuidgidreservationvalidityin
#/usr/share/doc/setup-*/uidgidfile
if[$UID-gt199]&&["

/usr/bin/id-gn
"="
/usr/bin/id-un
"];then
umask002
else
umask022
fi

foriin/etc/profile.d/.sh/etc/profile.d/sh.local;do
if[-r"$i"];then
if["${-#i}"!="$-"];then
."$i"
else
."$i">/dev/null
fi
fi
done

unseti
unset-fpathmunge

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: