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