第二周学习

一、描述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
posted @ 2021-02-07 17:11  jy03017317  阅读(75)  评论(0)    收藏  举报