第二周学习
一、描述Linux发行版的系统目录名称命名规则以及用途
linux系统目录命名规则:
1、使用LSB(Linux Standard Base)分层结构
2、遵循FHS (Filesystem Hierarchy Standard) 标准
3、文件系统从根目录“/”下开始
4、文件名最长255个字节
5、包括路径在内文件名称最长4095个字节
6、蓝色-->目录 绿色-->可执行文件 红色-->压缩文件 浅蓝色-->链接文件 灰色-->其他文件
7、除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用它们
8、标准Linux文件系统(如ext4),文件名称大小写敏感
9、每个文件都有两类相关数据:元数据:metadta,即属性,数据:data,即文件内容
[chen@centos7 /]$ tree -L 1
.
├── bin -> usr/bin 引导文件存放目录
├── boot 所有用户使用的基本命令
├── data 自己新建的数据文件目录
├── dev 设备文件和特殊文件存储位置
├── etc 配置文件目录
├── home 用户家目录上层
├── lib -> usr/lib 启动是程序依赖的基本共享库文件
├── lib64 -> usr/lib64 用于X86_64系统上的辅助共享库文件存放位置
├── media 便携式移动设备挂载点
├── mnt 临时文件系统挂载点
├── opt 第三方应用程序的安装位置
├── proc 用于输出内核与进程信息相关的虚拟文件系统
├── root 管理员的家目录
├── run 运行中的进程相关数据,通常用于存储进程pid文件
├── sbin -> usr/sbin 管理类的基本命令
├── srv 系统上运行的服务用到的数据
├── sys 用于输出当前系统上硬件设备相关信息虚拟文件系统
├── tmp 临时文件存储位置
├── usr 全局共享只读数据,整个目录都是只读权限,包括保证系统完整性功能提供的应用程序,系统管理命令,不变程序和软件包的存放库,函数库等
└── var 常态性变动的文件,包括缓存,登录文件以及某些软件运行所产生的文件
二、描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?
元数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息(inode...)等等
查看元数据是用的是stat命令
[chen@centos7 etc]$ stat centos-release
File: ‘centos-release’
Size: 38 Blocks: 8 IO Block: 4096 regular file
Device: 802h/2050d Inode: 134360736 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:etc_t:s0
Access: 2021-02-06 17:32:00.608857862 -1000
Modify: 2018-11-23 03:16:58.000000000 -1000
Change: 2021-01-24 22:52:42.029386243 -1000
Birth: -
File:文件的完整名称
Size:文件的数据大小
Blocks:占用磁盘的块数
IO Block:IO 块的大小
Device:所在设备
Inode:文件的节点
Links:文件的链接数
Access:文件的访问权限
Uid:属主id/用户
Gid:属组id/组名
access time :访问时间,atime,读取文件内容
modify time :修改时间, mtime,改变文件内容(数据)
change time :改变时间, ctime,元数据发生改变
修改文件时间戳的命令为:touch
touch [OPTION]... FILE...
-a change only the access time 改变访问时间和改变时间
-m change only the modification time 改变修改时间和访问时间
-t use [[CC]YY]MMDDhhmm[.ss] instead of current time 使用指定的日期时间,而非现在的时间。
三、总结软链接和硬链接区别,并用实例操作说明
硬链接本质上就给一个文件起一个新的名称,实质是同一个文件
软链接文件和原文件本质上不是同一个文件,一个符号链接指向另一个文件,就像 windows 中快捷方式
[root@centos7 test]# touch a
[root@centos7 test]#
[root@centos7 test]# ll -a
total 0
drwxr-xr-x. 2 root root 15 Feb 6 21:01 .
dr-xr-xr-x. 19 root root 248 Feb 6 21:01 ..
-rw-r--r--. 1 root root 0 Feb 6 21:01 a
[root@centos7 test]# ln a a_hlink
[root@centos7 test]# ln -s a a_slink
[root@centos7 test]# ll -i
total 0
134913039 -rw-r--r--. 2 root root 0 Feb 6 21:01 a
134913039 -rw-r--r--. 2 root root 0 Feb 6 21:01 a_hlink
134913040 lrwxrwxrwx. 1 root root 1 Feb 6 21:04 a_slink -> a
硬链接和软连接的区别总结:
硬链接本质是同一个文件,不支持跨设备,inode相同,创建新的硬链接,链接数会增加,删除硬链接则链接数减少,硬链接不支持文件夹,硬链接和源文件的文件类型形同,删除源文件后硬链接的文件仍然可以访问
软链接本质不是同一个文件,支持跨设备,inode不同,创建和删除软链接,链接数都不会变化,支持文件夹,删除源文件这软链接文件无法访问,软链接是链接文件,和原文件无关。
四、Linux上的文件管理类命令有哪些,其常用的使用方法及相关示例演示。
pwd命令: printing working directory
-P 显示真实物理路径
-L 显示链接路径(默认)
[root@centos7 test]# pwd
/test
命令 cd : change directory 改变目录
选项:-P 切换至物理路径,而非软链接目录
可以使用绝对或相对路径
切换至父目录: cd ..
切换至当前用户主目录: cd
切换至以前的工作目录: cd -
[root@centos7 /]# cd /etc/sysconfig/
[root@centos7 sysconfig]# pwd
/etc/sysconfig
ls 命令可以列出当前目录的内容或指定目录
用法:
ls [options] [files_or_dirs]
常见选项:
-a 包含隐藏文件
-l 显示额外的信息
-R 目录递归
[root@centos7 sysconfig]# ls -l -a
total 104
drwxr-xr-x. 6 root root 4096 Jan 24 22:56 .
drwxr-xr-x. 74 root root 8192 Feb 6 17:32 ..
-rw-r--r--. 1 root root 325 Jan 24 22:56 anaconda
-rw-r--r--. 1 root root 483 Jan 24 22:55 authconfig
drwxr-xr-x. 2 root root 43 Jan 24 22:52 cbq
-rw-r--r--. 1 root root 46 Apr 12 2018 chronyd
drwxr-xr-x. 2 root root 6 Oct 30 2018 console
-rw-r--r--. 1 root root 150 Nov 8 2018 cpupower
-rw-------. 1 root root 110 Apr 10 2018 crond
-rw-------. 1 root root 1390 Apr 10 2018 ebtables-config
-rw-r--r--. 1 root root 73 Oct 30 2018 firewalld
lrwxrwxrwx. 1 root root 15 Jan 24 22:53 grub -> ../default/grub
-rw-r--r--. 1 root root 798 Oct 30 2018 init
-rw-------. 1 root root 2393 Nov 4 2018 ip6tables-config
-rw-------. 1 root root 2374 Nov 4 2018 iptables-config
-rw-r--r--. 1 root root 903 Apr 10 2018 irqbalance
-rw-r--r--. 1 root root 1722 Nov 4 2018 kdump
-rw-r--r--. 1 root root 180 Jan 24 22:55 kernel
-rw-r--r--. 1 root root 200 Oct 30 2018 man-db
drwxr-xr-x. 2 root root 6 Oct 30 2018 modules
-rw-r--r--. 1 root root 634 Oct 30 2018 netconsole
-rw-r--r--. 1 root root 22 Jan 24 22:55 network
drwxr-xr-x. 2 root root 4096 Jan 24 22:55 network-scripts
-rw-r--r--. 1 root root 15 Aug 3 2017 rdisc
-rw-r--r--. 1 root root 905 Oct 30 2018 readonly-root
-rw-r--r--. 1 root root 196 Oct 30 2018 rsyslog
-rw-r--r--. 1 root root 0 Jun 9 2014 run-parts
lrwxrwxrwx. 1 root root 17 Jan 24 22:53 selinux -> ../selinux/config
-rw-r-----. 1 root root 506 Apr 10 2018 sshd
-rw-r--r--. 1 root root 610 Oct 30 2018 wpa_supplicant
stat 用于显示文件的状态信息
语法:
stat [OPTION]... FILE...
选项:
-L:支持符号连接;
-f:显示文件系统状态而非文件状态;
-t:以简洁方式输出信息;
--help:显示指令的帮助信息;
--version:显示指令的版本信息。
[root@centos7 sysconfig]# stat init
File: ‘init’
Size: 798 Blocks: 8 IO Block: 4096 regular file
Device: 802h/2050d Inode: 201522825 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:bin_t:s0
Access: 2021-02-06 17:31:53.805999443 -1000
Modify: 2018-10-30 12:57:05.000000000 -1000
Change: 2021-01-24 22:53:01.248400619 -1000
Birth: -
touch命令可以用来创建空文件或刷新文件的时间
格式:
touch [OPTION]... FILE...
选项说明:
-a 仅改变 atime和ctime
-m 仅改变 mtime和ctime
-t [[CC]YY]MMDDhhmm[.ss] 指定atime和mtime的时间戳
-c 如果文件不存在,则不予创建
[root@centos7 test]# touch f1.txt
[root@centos7 test]# ll -a
total 0
drwxr-xr-x. 2 root root 59 Feb 6 22:06 .
dr-xr-xr-x. 19 root root 248 Feb 6 21:01 ..
-rw-r--r--. 2 root root 0 Feb 6 21:01 a
-rw-r--r--. 2 root root 0 Feb 6 21:01 a_hlink
lrwxrwxrwx. 1 root root 1 Feb 6 21:04 a_slink -> a
-rw-r--r--. 1 root root 0 Feb 6 22:06 f1.txt
利用 cp(copy)命令可以实现文件或目录的复制
格式:
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
常用选项
-i 如果目标已存在,覆盖前提示是否覆盖
-n 不覆盖,注意两者顺序
-r, -R 递归复制目录及内部的所有内容
-a 归档,相当于-dpR=all,常用于备份功能
-d 不复制原文件,只复制链接名
-p:保留源文件或目录的属性
[root@centos7 test]# cp -a f1.txt /var/f1.bak
[root@centos7 test]# ls -l f1.txt /var/f1.bak
-rw-r--r--. 1 root root 0 Feb 6 22:06 f1.txt
-rw-r--r--. 1 root root 0 Feb 6 22:06 /var/f1.bak
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 删除/
五、复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符
cp /etc/profile /tmp/
vim /tmp/profile
:%s/^\s*//g
六、在vim中设置tab缩进4个字符
vim ~/.vimrc
set expandtab 或者写成set et
set tabstop=4 或者写成set ts=4

浙公网安备 33010602011771号