2021-02-01 Linux作业
1、描述Linux发行版的系统目录名称命名规则以及用途。
系统目录名称及用途:
/boot:系统开机启动时的引导文件的存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录
/bin:软链接,指向usr/bin,所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
/sbin:软链接,指向usr/sbin,管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
/lib:软链接,指向usr/lib64,启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/lib64:软链接,指向usr/lib,专用于x86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录
/home/USERNAME:普通用户的家目录
/root:管理员的家目录
/media:便携式移动设备挂载点
/mnt:临时文件系统挂载点
/dev:设备文件及特殊文件存储位置
/opt:第三方应用程序的安装位置
/srv:存放系统上运行的服务用到的数据
/tmp:临时文件的存储位置
/usr:全局共享的只读数据路径,存放系统资源数据
/var:存储常发生变化的数据的目录
/proc:用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinux:security enhanced Linux,selinux相关的安全策略等信息的存储位置
命名规则:
遵循FHS (Filesystem Hierarchy Standard) 标准
文件系统从根目录下开始,用“/”表示
标准Linux文件系统(如:ext4),文件名称大小写敏感,例如:MAIL, Mail, mail, mAiL
以 . 开头的文件为隐藏文件
路径分隔用 /
文件名最长255个字节
包括路径在内文件名称最长4095个字节
蓝色-->目录,绿色-->可执行文件,红色-->压缩文件,浅蓝色-->链接文件,灰色-->其他文件
除了斜杠和NUL,所有字符都有效,但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引
号来引用
2、描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?
[root@centos7 ~]# ll /
total 20
lrwxrwxrwx. 1 root root 7 Feb 23 21:43 bin -> usr/bin
l 代表文件类型为链接文件
第一个 rwx 代表文件所有者拥有读写执行权限
第二个 rwx 代表文件所属组拥有读写执行权限
第三个 rwx 代表其他人拥有读写执行权限
. 代表文件没有设置facl权限,有facl权限时显示+
1 代表硬链接数
第一个 root 代表文件所有者
第二个 root 代表文件所属组
7 代表文件的大小为7字节,因为软链接的源文件usr/bin有7个字符,1个字符占用1字节
Feb 23 21:43 代表文件的修改时间
touch 文件名 创建新的空文件,如文件已存在则刷新该文件的atime,mtime,ctime
-a 仅改变 atime和ctime
-m 仅改变 mtime和ctime
-t [[CC]YY]MMDDhhmm[.ss] 指定atime和mtime的时间戳
-c 如果文件不存在,则不予创建
stat 文件名 显示文件状态信息,包含atime,mtime,ctime
3、总结软链接和硬链接区别,并用实例操作说明。
软链接,可理解为Windows中的快捷方式
硬链接,可理解为同一个文件的不同名称
新增链接时链接数的变化:
软链接不变,不增加或减少目标文件inode的引用计数
硬链接每增加一个,链接数+1,会增加或减少目标文件inode的引用计数
占用空间:
软链接占用空间等于源文件的字符长度,如7个字符占用7字节;
硬链接占用空间等于源文件,因为引用相同的inode号,同一个文件
链接与源文件能否跨分区或驱动器:
软链接:能
硬链接:不能
能否支持链接目录:
软链接:能
硬链接:不能
删除源文件:
软链接:源文件被删除,软链接失效
硬链接:源文件被删除,硬链接依然有效,源文件仍然存在,链接数为0,源文件被删除
4、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
cd 切换工作目录
-P 切换至物理路径,而非软链接目录
cd 切换至家目录
cd .. 切换至上一级目录
cd - 切换至上一个工作目录
pwd 显示当前所在的工作目录
-P 显示真实物理路径
-L 显示链接路径(默认)
ls 显示文件或目录
语法:ls [options] [files_or_dirs]
-a 包含隐藏文件
-l 显示额外的信息
-R 目录递归
-ld 目录和符号链接信息
-1 文件分行显示
-S 按从大到小排序
-t 按mtime排序
-u 配合-t选项,显示并按atime从新到旧排序
-U 按目录存放顺序显示
-X 按文件后缀排序
stat 显示文件状态
access time 访问时间,atime,读取文件内容
modify time 修改时间,mtime,改变文件内容(数据)
change time 改变时间,ctime,元数据发生改变
[root@centos8 ~]#stat /etc/passwd
File: /etc/passwd
Size: 1306 Blocks: 8 IO Block: 4096 regular file
Device: 802h/2050d Inode: 134792556 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-12-09 20:37:12.830991350 +0800
Modify: 2019-12-09 20:37:12.826991351 +0800
Change: 2019-12-09 20:37:12.826991351 +0800
file 显示文件的类型
语法:file [options] <filename>...
-b 列出文件辨识结果时,不显示文件名称
-f filelist 列出文件filelist中文件名的文件类型
-F 使用指定分隔符号替换输出文件名后默认的”:”分隔符
-L 查看对应软链接对应文件的文件类型
--help 显示命令在线帮助
touch 创建文件或刷新文件时间戳
语法:touch [OPTION]... FILE...
-a 仅改变 atime和ctime
-m 仅改变 mtime和ctime
-t [[CC]YY]MMDDhhmm[.ss] 指定atime和mtime的时间戳
-c 如果文件不存在,则不予创建
mkdir 创建目录
-p: 存在于不报错,且可自动创建所需的各目录
-v: 显示详细信息
-m MODE: 创建目录时直接指定权限
rmdir 删除空目录
-p 递归删除父空目录
-v 显示详细信息
-r 删除非空目录
rename 批量文件重命名
语法:rename [options] <expression> <replacement> <file>...
rename '文件名需更改的部分' '需更改成什么' 要改名的文件
#为所有的conf文件加上.bak后缀
rename 'conf' 'conf.bak' f*
cp 复制文件或目录
语法:
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
-i 如果目标已存在,覆盖前提示是否覆盖
-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 目标存在,覆盖前先备份加数字后缀,形式为 filename.~#~ ,可以保留多个版本
mv 移动文件或目录
语法:
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
-i 交互式
-f 强制
-b 目标存在,覆盖前先备份
rm 删除文件或目录
语法:rm [OPTION]... FILE...
-i 交互式
-f 强制删除
-r 递归
--no-preserve-root 删除/
alias rm='DIR=/data/backup`date +%F%T`;mkdir $DIR;mv -t $DIR'
5、复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符
[root@centos7 ~]#cp -a /etc/profile /tmp
[root@centos7 ~]#vim /tmp/profile
:%s/^[[:blank:]]\+//g
:wq
6、在vim中设置tab缩进为4个字符
[root@centos7 ~]#vim .vimrc
添加set tabstop=4
:wq

浙公网安备 33010602011771号