文件管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件管理相关的知识,希望对你有一定的参考价值。
文件系统与目录结构文件系统结构
Linux下的文件类型 :
例:查看文件类型
PWD
显示当前shell CWD的绝对路径
-P 显示真实物理路径
-L 显示连接路径(默认)
basename :基名
dirname :目录名
例:显示当前工作目录
例: 获取/etc/sysconfig/的基名
例: 取/etc/sysconfig/的路径名
cd
使用绝对或相对路径:
cd /home/wang/ cd home/wang
cd ..: 切换至父目录
cd 切换至当前用户主目录
cd - 切换至以前的工作目录
例:切换到用户家目录
例:切换到父目录
例:切换到/etc/sysconfig目录下
例:切换到上一次所在的目录
ls
列出目录内容
例: 显示当前目录下所有文件
例: 显示目录内容的额外信息
或者
例: 递归显示目录内容
例:组合应用
stat
查看文件状态
例: 查看issue文件的状态,注意三个时间戳
通配符
touch
用来生成空文件,如果此文件存在,将刷新此文件的时间戳
例:创建空文件test.sh
cp
复制文件和目录
注意:cp是cp - i的别名
直接复制不在询问:cp
常用选项:
练习题
每天将/etc/目录下所有文件,备份到/data独立的子目录下,并要求子目录格式为backupYYY-mm-dd,备份过程可见
创建/data/rootdir目录,并复制/root下所有文件到该目录内,要求保留原有权限
三种方法:
例:将/etc/issue文件复制到/data/下改名为issue.bak
例:复制文件/data/issue.bak并重命名为/data/issue.bak.1
例:文件夹不能复制到文件里面,会报错
cp - a :
cp -v :保留过程
cp - R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
例:复制/etc目录下所有文件及其子目录到当前目录,并重命名为etc_bak
MV
移动和重命名文件
用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中;可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中;如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名。
注意事项:移动并不是复制,mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。
常用选项:
例:将 fstab文件移动到/tmp下,(本目录的fstab不在了)
例: 移动整个文件夹
例: 把rootdir文件夹名字重命名为dir
rm
删除
常用选项:
rm 是 rm-i 的别名,不再询问:
m
例:
先清除垃圾文件,腾出磁盘空间:
rename
批量修改文件
例:把txt文件都加上bak后缀并备份下来
解译:找到所有以 f 开头的文件,发现有f 开头的txt文件,就替换成txt.bak
目录操作:
tree
显示目录树
常用选项:
例:查看/boot目录结构
tree - d:只显示目录不显示文件
mkdir
创建目录,文件夹
常用选项
例: 创建dir3 目录
mkdir - p:子目录和父目录一起创建
例:
rmdir
删除空目录
常用选项
例: 不能删空目录
rmdir - p : 递归删除父空目录
例:
rm -r :递归删除目录树
索引节点
inode
包含文件系统所有文件列表
inode表结构:
目录:
inode表:
ls - i :可以看出节点编号
cp和inode
rm和inode
mv和inode
硬链接
给同一个文件名起多个名称
例:
符号(或软)链接
例:
例: 把 /usr/sbin/apachectl文件在当前目录下创建软连接文件为apachectl
理论:硬链接和软链接的区别
2.1.本质:
硬:本质是同一个文件
软:本质不是同一个文件
2.跨分区
3.inode
4.链接数
5.文件夹
6.相对路径
7.删除原文件
8.文件类型
file
确定文件内容
常用选项
file -b :不显示文件名称
例:
file -L : 查看对应软链接对应文件的文件类型
例:
以上是关于文件管理的主要内容,如果未能解决你的问题,请参考以下文章