文件管理(硬链接与软连接 ,ls, cp, ....)和标准Io

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件管理(硬链接与软连接 ,ls, cp, ....)和标准Io相关的知识,希望对你有一定的参考价值。

文件管理:
(1):文件系统
文件系统从根目录下开始,用“/”表示
文件名是区分大小写的
以.开头的文件为隐藏文件
文件有两类数据
元数据:metadata
数据:data
(2):文件名规则
文件名最长225个字节
蓝色----目录
绿色----可执行文件
红色----压缩文件
浅蓝色----链接文件
灰色------其他文件
(3):文件系统结构
/boot:引导文件存放目录
/bin:供所有用户使用的基本命令
/sbin :管理类基本命令
/etc :配置文件目录
/home :普通用户家目录
/root :管理员夹目录
media :便携带移动设备挂载点
/mnt :临时文件系统挂载点
/dev :设备文件与特殊文件储存位置
/opt :第三方应用程序安装位置
/tmp :临时文件储存位置
(4):文件类型
— :普通文件
d :目录文件
b :块设备
c : 字符设备
l :符号连接
p :管道文件
s :套结文件
(5):显示当前工作目录
pwd
-p 显示真是路径
-l 显示链接文件【默认】

绝对和相对路径
绝对路径
以正斜杠开始完整的文件的位置路径

相对路径
不以斜杠开始指定相对于当前工作目录或某一个目录位置

ls参数和用法 【查看】
用法:ls [options] [file_or_dirs]
参数:
ls -a : 包含隐藏文件
ls -l : 显示额外的信息
ls -ld :目录和符号链接信息
ls -1 :文件分行显示
ls -S :按从打到小排序
ls-t :按mtime 排序
ls -U :按目录存放顺序显示
ls -X :按文件后续排序

:ls -a /root【显示root下所有文件包括隐藏文件】

cp常见选项【拷贝**】
参数:
-i :覆盖前提示
-r:递归复制目录及内部所有内容
-a :归档
-f :强制
-u只复制原比目标更新文件

例:
(1):cp /root/dang.txt /data【拷贝root下的dang.txt文件到/data下】

mv常用选项【移动和重命名】
参数:
-i :交互式
-f 强制
例:
(1):mv /root/dang.txt /data【移动root下的dang.txt文件到/data】
(2):mv /root/dang dang.txt 【把root下dang文件改名为dang.txt】
(3):mv /root/dang.txt /data/dang 【把root下dang.txt改名为dang并移动到/data下】

rm常用选项【删除】
参数:
-i :交互式
-f :强制删除
-r :递归
例:
(1):rm -rf / 【危险命令 禁止使用】

mkdir 【创建目录】
-p :可自动创建所需要的个目录 【递归创建】
-v :显示详细信息
-m :创建目录时直接制定权限

例:
(1):mkdir -p data/dri1/dri2【创建data/下dri1/下dri2文件】

rmdir 【删除空目录】
例:
(1):rmdir data 【删除data 这个目录,只能删除空目录】

硬链接与软连接区别:

1.原理上:

硬链接(hard link):A是B的硬链接(A和B都是文件名),则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没有影响。每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收。注:文件和文件名是不同的东西,rm A删除的只是A这个文件名,而A对应的数据块(文件)只有在inode节点链接数减少为0的时候才会被系统回收。

软链接(soft link):A是B的软链接(A和B都是文件名),A的目录项中的inode节点号与B的目录项中的inode节点号不相同,A和B指向的是两个不同的inode,继而指向两块不同的数据块。但是A的数据块中存放的只是B的路径名(可以根据这个找到B的目录项)。A和B之间是“主从”关系,如果B被删除了,A仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。

2.使用限制上:

硬链接:
a.不能对目录创建硬链接,原因有几种,最重要的是:文件系统不能存在链接环(目录创建时的".."除外,这个系统可以识别出来),存在环的后果会导致例如文件遍历等操作的混乱(du,pwd等命令的运作原理就是基于文件硬链接,顺便一提,ls -l结果的第二列也是文件的硬链接数,即inode节点的链接数)

b:不能对不同的文件系统创建硬链接,即两个文件名要在相同的文件系统下。

c:不能对不存在的文件创建硬链接,由原理即可知原因。

软链接:
a.可以对目录创建软链接,遍历操作会忽略目录的软链接。

b:可以跨文件系统

c:可以对不存在的文件创建软链接,因为放的只是一个字符串,至于这个字符串是不是对于一个实际的文件,就是另外一回事了

3.命令

硬链接:ln 源文件 链接名

软链接:ln -s 源文件 链接名

标准I/O

(1):标准输入和输出
程序:指令+数据
读入数据 :input
输出数据 : output
(2):linux 给程序提供三种I/O设备
1:标准输入 -0默认接受来自键盘的输入
2:标准输出 -1 默认输出到在终端窗口
3:标准错误 -2 默认输出到终端窗口

把标准输出重定向到文件 【>文件将会被覆盖】
2> 把标准错误重定向到文件 【原有基础内容上,追加内容】
&>把所有输出重定向到文件 【标准输出和标准错误】
&> 覆盖重定向
&> 追加重定向
set -C 禁止将内容覆盖以有文件,但可追加
set +c 允许覆盖
| file 强制覆盖

例:标准输出和错误输出各自定向至不同位置
命令 > /data/data.txt 2> /data/data.txt 【表示: 命令的标准输出重定向到/data/data.txt这个文件,命令的标准错误重定向到/data/data.txt这个文件】
命令 > /data/data.txt 2 >&1 【表示: 命令的标准输出和标准错误全部重定向到/data/data.txt这个文件】

     ***注释:以上内容仅供参考***

以上是关于文件管理(硬链接与软连接 ,ls, cp, ....)和标准Io的主要内容,如果未能解决你的问题,请参考以下文章

硬链接与软连接

centos7-硬链接与软链接

硬链接与软链接

#11 硬连接与软链接与RAID与LVM2

目录本质,硬链接与软连接,常用的一些小命令

Linux基本命令学习——硬链接与软链接权限管理