CC00009.LinuxBasic——|Linux&常用命令.V03|——|文件操作|软硬连接|...

一、文件操作命令:touch命令
### --- touch 命令

~~~     创建空文件或修改文件时间,这个命令的基本信息如下。
~~~     命令名称:touch。
~~~     英文原意:change file timestamps。
~~~     所在路径:/bin/touch。
~~~     执行权限:所有用户。
~~~     功能描述:修改文件的时间戳。
~~~     命令重定向
~~~     touch创建一个空文件,或者修改该文件最后一次的时间

[root@server21 ~]# touch yanqi                                      // 创建一个空文件yanqi
[root@server21 ~]# echo 命令重定向 >> yanqi                          // echo若是后面没有目标文件,会自动创建,若是有该文件,则会直接把数据写入到该文件内
[root@server21 ~]# cat yanqi
二、stat 命令
### --- stat 命令
~~~     stat 是查看文件详细信息的命令,而且可以看到文件的这三个时间,其基本信息如下。
~~~     命令名称:stat。
~~~     英文原意:display file or file system status。
~~~     所在路径:/usr/bin/stat。
~~~     执行权限:所有用户。
~~~     功能描述:显示文件或文件系统的详细信息。

[root@localhost ~]# stat anaconda-ks.cfg
~~~     文件:"anaconda-ks.cfg"
~~~     大小:1453     块:8         IO 块:4096       普通文件
~~~     设备:803h/2051dInode:33574991     硬链接:1
~~~     权限:(0600/-rw-------) Uid:(      0/      root)       Gid:(   0/  root)
~~~     环境:system_u:object_r:admin_home_t:s0
~~~     最近访问:2018-11-06 23:22:23.409038121 +0800    
~~~     最近更改:2018-10-24 00:53:08.760018638 +0800                // 数据修改时间
~~~     最近改动:2018-10-24 00:53:08.760018638 +0800                // 状态修改时间
~~~     Linux是不会显示文件创建时间的。

[root@server21 ~]# stat yanqi
  File: `yanqi'                                                     // 文件名称
  Size: 16          Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d  Inode: 2621451     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2021-02-04 17:33:41.005010875 +0800
Modify: 2021-02-04 17:32:35.841008302 +0800
Change: 2021-02-04 17:32:35.841008302 +0800
三、cat 命令
### --- cat 命令
### --- cat不适合查看长文件 
~~~     cat 命令用来查看文件内容。这个命令的基本信息如下。
~~~     命令名称:cat。
~~~     英文原意:concatenate files and print on the standard output。
~~~     所在路径:/bin/cat。
~~~     执行权限:所有用户。
~~~     功能描述:合并文件并打印输出到标准输出
~~~     命令格式

[root@localhost ~]# cat [选项] 文件名
~~~     选项:
~~~     -A: 相当于-vET 选项的整合,用于列出所有隐藏符号
~~~     -E: 列出每行结尾的回车符$
~~~     -n: 显示行号
~~~     -T: 把 Tab 键用^I 显示出来
~~~     -v: 列出特殊字符
### --- 查看文件
[root@server21 ~]# cat yanqi 
命令重定向
 
### --- 列出所有隐藏符号
[root@server21 ~]# cat -A yanqi 
M-eM-^QM-=M-dM-;M-$M-iM-^GM-^MM-eM-.M-^ZM-eM-^PM-^Q$
### --- 列出每行结尾的回车符$
[root@server21 ~]# cat -E yanqi 
命令重定向$
 
### --- 显示行号
[root@server21 ~]# cat -n yanqi 
     1  命令重定向
### --- 把Tab键用^I显示出来
[root@server21 ~]# cat -T yanqi 
^I命令重定向
11111111111
^I22222222
 
### --- 列出特殊符号
[root@server21 ~]# cat -v yanqi 
    M-eM-^QM-=M-dM-;M-$M-iM-^GM-^MM-eM-.M-^ZM-eM-^PM-^Q
11111111111
    22222222
四、more 命令
### --- more 命令

~~~     more 是分屏显示文件的命令,其基本信息如下。
~~~     命令名称:more。
~~~     英文原意:file perusal filter for crt viewin。
~~~     所在路径:/bin/more。
~~~     执行权限:所有用户。
~~~     功能描述:分屏显示文件内容。
~~~     more 命令比较简单,一般不用什么选项,命令会打开一个交互界面,可以识别一些交互命令。
~~~     常用的交互命令如下。
~~~     空格键:向下翻页。
~~~     b:向上翻页。
~~~     回车键:向下滚动一行。
~~~     /字符串:搜索指定的字符串。
~~~     q:退出。
### --- more分屏显示文件

[root@server21 ~]# more install.log
--More--(16%)
~~~     空格键:向下翻页。
~~~     b:向上翻页。
~~~     回车键:向下滚动一行。
~~~     /字符串:搜索指定的字符串。
~~~     q:退出。
五、less 命令
### --- less 命令
~~~     less 命令和 more 命令类似,只是 more 是分屏显示命令,而 less 是分行显示命令,其基本信息如下。
~~~     命令名称:less。
~~~     英文原意:opposite of more。
~~~     所在路径:/usr/bin/less。
~~~     执行权限:所有用户。
~~~     功能描述:分行显示文件内容

~~~     #less分行显示文件内容
~~~     #下箭头往下一行一行翻页
~~~     #上箭头网上一行一行翻页
~~~     #q退出
六、head 命令
### --- head 命令

~~~     head 是用来显示文件开头的命令,其基本信息如下。
~~~     命令名称:head。
~~~     英文原意:output the first part of files。
~~~     所在路径:/usr/bin/head。
~~~     执行权限:所有用户。
~~~     功能描述:显示文件开头的内容。
### --- 命令格式

[root@localhost ~]# head [选项] 文件名
~~~     选项:
~~~     -n 行数:从文件头开始,显示指定行数
~~~     -v: 显示文件名
### --- head显示文件头

[root@server21 ~]# head install.log                                     // 显示文件头10行
[root@server21 ~]# head -n 20 install.log                               // 显示文件头特定行数
七、tail 命令
### --- tail 命令

~~~     既然有显示文件开头的命令,就会有显示文件结尾的命令。tail 命令的基本信息如下。
~~~     命令名称:tail。
~~~     英文原意:output the last part of files。
~~~     所在路径:/usr/bin/tail。
~~~     执行权限:所有用户。
~~~     功能描述:显示文件结尾的内容。
### --- 命令格式
~~~     选项:
~~~     -n 行数:从文件结尾开始,显示指定行数
~~~     -f:监听文件的新增内容

[root@localhost ~]# tail [选项] 文件名
### --- tail显示文件尾10行
[root@server21 ~]# tail install.log                                   // 显示文件尾10行
[root@server21 ~]# tail -n 20 install.log                             // 显示文件尾特定行数

### --- 监听某一个文件的新增内容
[root@server21 ~]# tail -f install.log
*** FINISHED INSTALLING PACKAGES ***                                  // ctrl+C退出
八、ln 命令
### --- ln 命令
~~~     我们来看看 ln 命令的基本信息。
~~~     命令名称:ln。
~~~     英文原意:make links between file。
~~~     所在路径:/bin/ln。
~~~     执行权限:所有用户。
~~~     功能描述:在文件之间建立链接
### --- 所有系统的根目录的i及诶单号都是2,1在系统内核加载的时候已经占用了。
### --- 根是从2开始计算的。

[root@server21 ~]# ls -ild /                                          // i显示i节点号,l长格式显示,d只显示目录
2 dr-xr-xr-x. 22 root root 4096 Feb  4 17:19 /
### --- ln 命令的基本格式如下:
~~~     选项:
~~~     -s: 建立软链接文件。如果不加“-s”选项,则建立硬链接文件
~~~     -f: 强制。如果目标文件已经存在,则删除目标文件后再建立链接文件

[root@localhost ~]# ln [选项] 源文件 目标文件
### --- 如果创建硬链接:

[root@server21 ~]# ln yanqi /tmp/yanqi_ln
[root@server21 ~]# ls -il yanqi /tmp/yanqi_ln 
2621452 -rw-r--r-- 2 root root 0 Feb  4 18:02 /tmp/yanqi_ln
2621452 -rw-r--r-- 2 root root 0 Feb  4 18:02 yanqi
### --- 建立硬链接文件,目标文件没有写文件名,会和原名一致
### --- 也就是/root/yanqi 和/tmp/yanqi_ln 是硬链接文件
### --- 修改源文件查看硬链接文件

[root@server21 ~]# echo 硬连接 >> yanqi                                // 源文件内修改文件内容

[root@server21 ~]# cat /tmp/yanqi_ln                                  // 硬链接里面的内容会随之发生变化
~~~     硬连接
### --- 修改硬链接文件查看源文件

[root@server21 ~]# echo 硬链接里面添加数据 >> /tmp/yanqi_ln             // 硬链接里面添加数据
[root@server21 ~]# cat yanqi                                          // 源文件内容也会随之发生变化
~~~     硬连接
~~~     硬链接里面添加数据
### --- 如果创建软链接:

[root@localhost ~]# touch bols
[root@localhost ~]# ln -s /root/bols /tmp/
### --- 建立软链接文件
### --- 硬链接与软连接的特征

~~~     硬链接特征:
~~~     源文件和硬链接文件拥有相同的 Inode 和 Block
~~~     修改任意一个文件,另一个都改变
~~~     删除任意一个文件,另一个都能使用
~~~     硬链接标记不清,很难确认硬链接文件位置,不建议使用
~~~      硬链接不能链接目录
~~~     硬链接不能跨分区
~~~     #硬链接不建议使用,它的标记是一个,不容易识别
~~~     #硬链接不可以链接目录;目录做硬链接资源消耗太大
### --- 软链接特征:

~~~     软链接和源文件拥有不同的 Inode 和 Block
~~~     两个文件修改任意一个,另一个都改变
~~~     删除软链接,源文件不受影响;删除源文件,软链接不能使用
~~~     软链接没有实际数据,只保存源文件的 Inode,不论源文件多大,软链接大小不变
~~~     软链接的权限是最大权限 lrwxrwxrwx.,但是由于没有实际数据,最终访问时需要参考源文件权限
~~~     软链接可以链接目录
~~~     软链接可以跨分区
~~~     软链接特征明显,建议使用软连接
### --- 软连接:相当于windows下的快捷方式
### --- 软连接源文件删除后,软链接文件会随时消失

[root@server21 ~]# rm -rf /tmp/*
[root@server21 ~]# ln -s /root/yanqi /tmp/yanqi_软连接
[root@server21 ~]# ll /tmp/yanqi_软连接 
lrwxrwxrwx 1 root root 11 Feb  4 18:20 /tmp/yanqi_软连接 -> /root/yanqi
### --- i节点号完全不一致
### --- 修改软链接源文件,查看软链接文件

[root@server21 ~]# echo 软链接 >> yanqi 
[root@server21 ~]# cat /tmp/yanqi_软连接 
~~~     软链接
### --- 修改软链接文件,查看源文件

[root@server21 ~]# echo 软链接文件 >> /tmp/yanqi_软连接 
[root@server21 ~]# cat yanqi 
~~~     软链接
~~~     软链接文件
### --- 删除源文件,查看软链接文件报错,查找不到该文件

[root@server21 ~]# rm -rf /root/yanqi 
[root@server21 ~]# cat /tmp/yanqi_软连接 
cat: /tmp/yanqi_软连接: No such file or directory
### --- 在源文件写入大量的文件内容,而软链接文件的大小不会发生变化

[root@server21 ~]# ls -ihl /root/yanqi /tmp/yanqi_软链接 
2621453 -rw-r--r-- 1 root root 2.8K Feb  4 18:28 /root/yanqi
3932162 lrwxrwxrwx 1 root root   11 Feb  4 18:27 /tmp/yanqi_软链接 -> /root/yanqi
### --- 软链接链目录

[root@server21 ~]# mkdir yanqi目录
[root@server21 ~]# ln -s /root/yanqi目录/ /tmp/yanqi软链接目录
[root@server21 ~]# ll /tmp/
total 0
lrwxrwxrwx 1 root root 11 Feb  4 18:27 yanqi_软链接 -> /root/yanqi
lrwxrwxrwx 1 root root 18 Feb  4 18:32 yanqi软链接目录 -> /root/yanqi目录/
### --- 软连接一定要写绝对路径

[root@server21 ~]# ln -s yanqi /tmp/yanqi_软连接相对路径
[root@server21 ~]# ln -s /root/yanqi /tmp/yan_软连接绝对路径

[root@server21 ~]# ll /tmp/
lrwxrwxrwx 1 root root  5 Feb  4 18:38 yan_软连接相对路径 -> yanqi      // 报错
lrwxrwxrwx 1 root root 11 Feb  4 18:39 yan_软连接绝对路径 -> /root/yanqi
[root@server21 ~]# cat /tmp/yan_软连接相对路径                          // 查看文件失败
cat: /tmp/yan_软连接相对路径: No such file or directory
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值