第二周作业

Linux发行版的系统目录名称命名规则以及用途

linux各种发行版都遵循LSB(Linux Stadards Base)规则,使用一致的相关的基础目录名称,使用根目录系统结构(root filesystem),使用FHS(Files Hierarchy Standard)层次结构。
Linux系统基础目录的命名法则:
  1、严格区分大小写
  2、目录也是文件,在同一路径下,两个文件不能同名
  3、支持使用除 / 以外的任意字符
  4、最长字符不能超过255个字符

[root@centos7 /]# tree -d -L 1 /
/    
├── bin -> usr/bin   //所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
├── boot   //引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录
├── data   //此文件夹为用户自建
├── dev    //设备文件及特殊文件存储位置
├── etc    //配置文件目录
├── home   //普通用户家目录
├── lib -> usr/lib    //启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
├── lib64 -> usr/lib64   //专用于x86_64系统上的辅助共享库文件存放位置
├── media  //便携式移动设备挂载点
├── mnt   //临时文件系统挂载点
├── opt   //第三方应用程序的安装位置
├── proc   //用于输出内核与进程信息相关的虚拟文件系统
├── root   //管理员的家目录
├── run    //是各种各样数据的家园,为了在 Linux 文件系统中更好地组织运行时数据。
├── sbin -> usr/sbin   //管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
├── srv    //系统上运行的服务用到的数据
├── sys    //用于输出当前系统上硬件设备相关信息虚拟文件系统
├── tmp   //临时文件存储位置
├── usr    //universal shared, read-only data
└── var   //包括系统运行时要改变的数据

描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?

[root@centos7 scripts]#stat DiskCheck.sh 
  File: ‘DiskCheck.sh’  --> 文件名
  Size: 234 -->文件大小       Blocks: 8 -->占用磁盘块数         IO Block: 4096 -->磁盘块大小  regular file -->文件类型
Device: 803h/2051d -->所在设备 Inode: 78 --> inode号         Links: 1 -->被硬链接次数
Access: (0755/-rwxr-xr-x)--> 权限 Uid: (    0/    root)--> UserID Gid: (    0/    root)--> GroupID
Access: 2020-03-08 12:09:24.584960436 +0800 -->最近一次的访问时间
Modify: 2020-03-02 19:39:43.772865353 +0800 -->修改时间
Change: 2020-03-02 19:39:43.773865352 +0800 -->改变时间
 Birth: -

touch 修改时间戳(常用于创建空文件)

touch [options]File ...

选项:

-a:修改文件的访问时间为当前时间,如果和-t连用可以修改为指定时间
-c:如果文件不存在,不创建空文件
-h:修改是链接文件的时间戳而非原文件
-m:修改修改时间
-t:修改为指定的时间而非现在时间; [[CC]YY]MMDDhhmm[.ss]
-r:使用指定文件的时间戳,为当前文件的时间戳

eg:

[root@centos7 scripts]#touch -at 202012121212 DiskCheck.sh 
[root@centos7 scripts]#stat DiskCheck.sh 
  File: ‘DiskCheck.sh’
  Size: 234        Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d Inode: 78          Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-12-12 12:12:00.000000000 +0800
Modify: 2020-03-02 19:39:43.772865353 +0800
Change: 2020-03-08 13:35:18.194918424 +0800
 Birth: -

软连接和硬连接区别

1.本质上:硬链接是同一个文件多个名字;软链接则是不同文件,类似于Windows中的快捷方式.
2.跨分区上:硬链接不支持跨分区;软链接则支持.
3.目录上:硬链接不支持创建目录;软链接支持.
4.相互关系上:硬链接相互之间是平等且独立关系,毫不相干;软链接则是依赖于原始文件的.
5.Inode编号上:硬链接所有文件的Inode编号相同;软链接则不同.
6.链接数上:硬链接会增加链接数;软链接则不会.

Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示

1.pwd 显示当前shell CWD的绝对路径
语法:

pwd(选项)

选项:

-P 显示真实物理路径
-L 显示链接路径(默认)

eg:

[root@centos7 scripts]#pwd
/data/scripts

2.cd 改变目录
语法:

cd (选项) (参数)

选项:

-p 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录
-L 如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录

实例:

cd    进入用户主目录
cd ~  进入用户主目录
cd -  返回进入此目录之前所在的目录
cd ..  返回上级目录
cd ../..  返回上两级目录
cd !$  把上个命令的参数作为cd参数使用

3.ls 列出当前目录的内容或指定目录
语法:

ls(选项)(参数)

实例:

ls -a 包含隐藏文件
ls -l 显示额外的信息
ls -R 目录递归
ls -ld 目录和符号链接信息
ls -1 文件分行显示
ls –S 按从大到小排序
ls –t 按mtime排序
ls –u 配合-t选项,显示并按atime从新到旧排序
ls –U 按目录存放顺序显示
ls –X 按文件后缀排序

4.stat 用于显示文件的状态信息。
语法:

stat(选项)(参数)

选项:

-L:支持符号连接
-f:显示文件系统状态而非文件状态
-t:以简洁方式输出信息
--help:显示指令的帮助信息
--version:显示指令的版本信息

eg:

[root@centos7 scripts]#stat DiskCheck.sh 
  File: ‘DiskCheck.sh’
  Size: 234        Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d Inode: 78          Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-12-12 12:12:00.000000000 +0800
Modify: 2020-03-02 19:39:43.772865353 +0800
Change: 2020-03-08 13:35:18.194918424 +0800
 Birth: -
[root@centos7 scripts]#stat -f DiskCheck.sh 
  File: "DiskCheck.sh"
    ID: 80300000000 Namelen: 255     Type: xfs
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 13100800   Free: 13092543   Available: 13092543
Inodes: Total: 26214400   Free: 26214384
[root@centos7 scripts]#stat -t DiskCheck.sh 
DiskCheck.sh 234 8 81ed 0 0 803 78 1 0 0 1607746320 1583149183 1583645718 0 4096

touch 创建空文件和刷新时间
语法:

touch [OPTION]... FILE...

选项:

-a:修改文件的访问时间为当前时间,如果和-t连用可以修改为指定时间
-c:如果文件不存在,不创建空文件
-h:修改是链接文件的时间戳而非原文件
-m:修改修改时间
-t:修改为指定的时间而非现在时间; [[CC]YY]MMDDhhmm[.ss]
-r:使用指定文件的时间戳,为当前文件的时间戳

eg:

[root@centos7 scripts]#touch -at 202012121212 DiskCheck.sh 
[root@centos7 scripts]#stat DiskCheck.sh 
  File: ‘DiskCheck.sh’
  Size: 234        Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d Inode: 78          Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-12-12 12:12:00.000000000 +0800
Modify: 2020-03-02 19:39:43.772865353 +0800
Change: 2020-03-08 13:35:18.194918424 +0800
 Birth: -

5.cp 复制文件和目录
语法:

cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
cp SRC DEST

选项:

-a:此参数的效果和同时指定"-dpR"参数相同
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
-f:强行复制文件或目录,不论目标文件或目录是否已存在
-i:覆盖既有文件之前先询问用户
-l:对源文件建立硬连接,而非复制文件
-p:保留源文件或目录的属性
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理
-s:对源文件建立符号连接,而非复制文件
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀
-b:覆盖已存在的文件目标前将目标文件备份
-v:详细显示命令执行的操作

eg:

cp aaa/* /bbb
复制目录aaa下所有到/bbb目录下,这时如果/bbb目录下有和aaa同名的文件,需要按Y来确认并且会略过aaa目录下的子目录。
cp -r aaa/* /bbb
这次依然需要按Y来确认操作,但是没有忽略子目录。
cp -r -a aaa/* /bbb
依然需要按Y来确认操作,并且把aaa目录以及子目录和文件属性也传递到了/bbb。
\cp -r -a aaa/* /bbb
成功,没有提示按Y、传递了目录属性、没有略过目录

6.mv 移动和重命名文件
语法:

mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...

选项:

-i 交互式
-f 强制
-b 目标存在,覆盖前先备份

eg:

将文件ex3改名为new1
mv ex3 new1
将目录/usr/men中的所有文件移到当前目录(用.表示)中:
mv /usr/men/* .

7.rm 删除
语法:

rm [OPTION]... FILE...

选项:

-i 交互式
-f 强制删除
-r 递归
--no-preserve-root 删除/

eg:

交互式删除当前目录下的文件test和example
rm -i test example
Remove test ?n(不删除文件test)
Remove example ?y(删除文件example)
删除当前目录下除隐含文件外的所有文件和子目录
rm -r *

复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符

[root@centos7 scripts]#cp /etc/profile /tmp/
[root@centos7 tmp]#vim profile 
:%s/^\s*//g

在vim中设置tab缩进为4个字符

[root@centos7 ~]#vim .vimrc
set tabstop=4
:wq
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值