目录
一,文件管理
Linux的目录结构是一个树状结构:
文件的分类:
操作文件的常用命令:
文件元数据和节点和inode表结构:
特点:
创建文件:
查看文件inode号:
cp和inode:
rm和inode:
mv和inode:
软硬连接:
硬连接:
软连接:
二,IO重定向
1,标准输入输出
查看:
演示:
查看:
演示:
2, 重定向
标准输出重定向:
标准输入重定向:
3,管道
一,文件管理
Linux的目录结构是一个树状结构:
文件的分类:
符号 | 文件类型 |
- | 普通文件 |
d | 目录文件 |
l | 连接文件 |
c | 字符文件 |
b | 块设备文件 |
s | 套接字文件 |
p | 管道文件 |
操作文件的常用命令:
文件元数据和节点和inode表结构:
特点:
创建文件:
在linux中创建文件时会为文件分配一个inode号,并且分配一些block。但是一个inode对应多少blocks则由系统决定。所以,创建文件是否能成功由inode和内除决定。内存够但是创建文件不成功可能是inode号不足,inode号足够但创建文件不成功可能是因为内存不够。
查看inode号和内存用量:
df -i
查看文件inode号:
ls -i filename
cp和inode:
rm和inode:
mv和inode:
软硬连接:
硬连接:
硬连接相当于让原文件的inode号有了多个别名。如下图所示:
创建硬连接:
ln filename1 filename2 //创建一个指向filename1的硬连接filename2
演示:
查看inode号:inode号相同
软连接:
软连接相当于让原来的文件名多了一个别名。
创建软连接:
ln -s file1 file3 //为file创建一个软连接file3
演示:
inode号:不一样
二,IO重定向
1,标准输入输出
在linux中由三个最基本的IO文件:标准输入,标准输出,标准错误输出
查看:
ll /dev/std*
演示:
在虚拟终端中,标准输入输出都是当前窗口
查看:
ll /proc/self/fd/ //显示fd对应的硬件
tty //显示当前窗口
演示:
2, 重定向
将输入和输出转移到别的文件中,不在当前窗口显示。
标准输出重定向:
#覆盖操作符,如果文件存在,会被覆盖
> #把STDOUT重定向到文件
1> #同上
2> #把STDERR重定向到文件
&> #把标准输出和错误都重定向
>& #和上面功能一样,建议使用上面方式
#追加操作符,在原有文件的基础上追加内容
>> #追加标准输出重定向至文件
1>> #同上
2>> #追加标准错误重定向至文件
标准输入重定向:
< #标准输入重定向
<<终止词 #标准多行输入重定向cmd <<< "string"#高级输入重定向
3,管道
能将输出变为另一个文件或者指令的输入。有些文件不支持管道,但是可以在中间加入参数:xargs来当中间人转换