文件的基本管理
目录
一、Linux系统目录结构和相对/绝对路径
(一)系统目录结构
在WIN系统中,查看文件要先进入相应的盘符,然后进入文件目录
在WIN中,它有很多根,例如C:\? ?D:\? E:\? 等等,按字母排列,根后面再显示路径
Linux下只有一个根目录
使用tree命令查看,这个命令默认是没有的,需要手工安装
首先将光盘挂载到mnt下
[root@localhost /]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
输入 rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm 安装命令
这样命令就安装成功了,现在来查看一下
查看 / 的话,会跳出较多的信息,这里我们查看tmp来演示一下
可以看到,这些文件都是 真实存在的
知道这些以后,我们来看看重点的/
1 / 处于Linux系统树型结构的最顶端,是Linux文件系统的入口,所有的目录都在/之下
2 /bin bin是BIniary的缩写。常用的二进制命令目录。比如ls、cp、mkdir、cut等;和/类似,一些用
户级gnu工具
3 /boot 存放的系统启动相关文件
4 /dev Device的缩写。硬件设备文件目录,如声卡、磁盘等。在Linux中一切皆文件,磁盘等设备也被看
做文件
5 /etc 配置文件,当前系统有哪些用户,密码信息,软件配置信息
6 /home 普通用户的家目录默认存放目录
7 /lib 库文件存放目录
8 /mnt 挂载存储设备的目录
9 /media 多媒体文件
10 /opt 空文件夹,存放后天安装的软件
11 /proc 内存环境中的程序状态
12 /sys 系统目录,存放硬件信息的相关文件
13 /run 运行目录,存放的是系统运行时的数据
14 /srv 服务目录,存放本地服务的相关文件
15 /sbin 大多数涉及系统管理的命令都存放该目录,root用户才可以执行
16 /tmp 存放临时文件
17 /var 系统运行和软件运行时产生的日志信息
18 /usr 存放应用程序和文件
(二)相对路径和绝对路径
1.绝对路径
从根开始描述文件的位置,有且唯一,无论在哪里都可以准确找到,从 / 开始?
2.相对路径
从当前路径 开始描述文件的位置,有不一定唯一,如果参照物变了就找不到文件从,或者..开始
可以看到,在opt文件夹下直接切换到images是不可以的,..表示上册目录,opt的上级目录就是根
(三)通配符的作用
通配符 : 代表了一类字符,它的作用是匹配文件的名字
?:代表任意一个单个字符
* :任意长度字符,不能显示隐藏文件
例如:
匹配以P开头的 :ls p*
匹配以conf结尾的:ls ?*conf
中间包含conf的:ls *conf*
数字开头的:ls ?[0-9]*
字母开头的:ls ?[a-z]*
符号 | 效果 |
---|---|
? | 匹配一个字符 f?.txt |
* | 匹配所有非隐藏的字符无论多长多短,但不匹配 "." 开头的文件,即隐藏文件 |
{1..10} | 1到10 |
{a..z} | a b c ...z |
{A..Z} | A B C .....Z |
[123]([此处括号里值代表一个字符]) | 取其中之一有就显示没有也无所谓 |
[a-z]单个小写字母 | 范围需要注意 |
[0-9]单个数字 | 匹配数字范围(0123456789) |
\ | 转义符,表示原来的意思 |
[[:lower:]] | 小写字母表示 a-z |
[[:upper:]] | 大写字母表示 A-Z |
[^zhou] | 匹配列表中的所有字符以外的字符 |
[[:digit:]] | 任意数字,相当于0-9 |
[[:alpha:]] | 任意字母 |
二、创建、复制、删除文件,rm -rf /意外事故
(一)创建文件夹
1.命令之------touch
作用:常用来创建空文件,如果有文件,则用来修改文件的时间
文件的三种时间:
访问时间:atime? 查看内容? ?cat? a.txt
修改时间:mtime? ?修改内容? vim? a.txtt
改变时间:ctime? ? 文件属性,比如权限? change time? ?chmod +x a.sh
语法:touch 文件名
也可以同时创建多个
语法:touch 文件名 (空格)文件名
如果想创建同名,不同序号的多个文件夹可以加上{a..k},这样相当于增加了一个变量
数字也可以
2.命令之----vim
使用vim命令创建一个新文件
输入vim god.txt 在里面输入内容后保存退出
输入cat god.txt查看一下输入的内容
3.命令之-----mkdir
作用:创建目录
语法:mkdir (选项)文件名
同时创建多个目录? ? ? ?
当我们想创建C目录的时候,会显示没有那个文件和目录。这是因为,我们没有a目录b目录
创建一个目录的时候,如果这个目录的上一级不存在的话,要创建父目录
这个时候需要加上 “? -p”? :parents? 表示同时创建父目录,就是递归建立目录
(二)删除文件和目录
命令:rm
作用:可以删除一个目录中的一个或者多个文件或目录,对于链接文件,只删除整个链接文件,而原文件保持不变的
语法:rm 【选项】 处理对象
选项:
-f:强制删除,没有提示
-r:删除目录
(三)复制文件
命令:cp? 源文件/目录? ?目标文件/目录
选项:-R/r:递归处理,将制定目录下的所有文件与子目录一并处理
-a:保留文件夹权限
正常cp的情况下会改变文件属性
-a 后会保留原属性
(四)移动文件或文件夹
命令:mv
语法:mv /源目录/文件? /目标目录/文件
作用:
1.源文件和目标文件路径位置一样是改名
2.源文件和目标文件路径位置不一样是移动,也可以是移动并改名
三、查找文件的命令
(一)du命令
du:disk use ?查看磁盘使用量,一般用来查找大的文件夹
使用方法 du ?【选项】 【文件或目录】 ?默认是全部显示
-a:统计磁盘占用时包括所有的文件.而不仅仅只统计目录
-h:以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
-s:只统计所占用空间总的 (Summary) 大小,而不是统计每个子目录、文件的大小
ll看到的是真实文件的大小,du看到的是文件占了多少磁盘(4K)
(二)which命令
which:在$PATH中查找外部命令
语法:which? 命令
查找ls命令,输入 which? ?ls 显示ls 在usr/bin/下
(三)find命令
find:查找
语法:find 【查找范围】【查找条件】【处理动作】
特点:精确查找、实时查找、支持查找条件巨多
1.按文件名称查找
-name? ?
根据目标文件的名称进行查找,允许使用“*”及“?”通配符 ?-iname "文件名称" 不区分大小写
比如要找一个boot下vm开头的文件
可以在后面加上-ls 显示信息,就是处理动作
2.按文件大小查找
-size? ?
根据目标文件的大小进行查找一般使用“+”、“-”号设置超过或小于指定大小作为查找条件常用的容量单位包括 kB(注意 k 是小写)、MB、GB
比如查找小于 10k 的文件? 输入find /tmp -size -10k
3.按空文件查找
-empty
每个文件或者文件夹都有一个inode号,如果inode号用完,磁盘即便有空间也无法在创建文件,所以需要查找空文件进行删除
需要在命令行后面加上处理动作
4.按文件类型查找
-type? ?
根据文件的类型进行查找文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等
5.按inode号
-inum? ?
根据文件inode号查找
6.按权限查找
-perm?
?按文件权限查找
这里r=4 w=2 x=1 数字代表文件相应的权限,后面会讲到,在这里大家做个简单的了解
7.最大搜索目录深度
-maxdepth? n
将你的文件以分级的形式查找
8.最小搜索目录深度
-mindepth n
同上??
9.按时间戳查找
比如要找到一个10天以上,以log 结尾的 普通文件
输入find / -name "*log" -type f -mtime ?+10
10.处理动作
-ls:显示详细信息
-delete:删除
-ok:连接find的命令与后续操作命令,会询问是否操作
它会逐条询问
-exec :与-ok作用一致,但不询问直接操作
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!