详细讲解linux文件管理(结构)
linux的哲学思想:
一切皆文件:把几乎有多的资源都抽象为文件
由众多功能单一的程序组成,当完成复杂任务时组合单一的小程序:
每一个命令都避免和用户交互:易于以编程的方式完成自动化任务
使用纯文本文件保存程序的配置文件:
linux的文件系统和windows不同,linux的文件系统为单根文件系统所有文件都在其中!

文件系统结构
【文章福利】小编推荐自己的Linux内核技术交流群:【891587639】整理了一些个人觉得比较好的学习书籍、视频资料共享在群文件里面,有需要的可以自行添加哦!!!(含视频教程、电子书、实战项目及代码)


在linux中,由于使用了ext系列文件系统,使得linux系统对文件名的大小写敏感,以"."开头的文件为隐藏文件 ls命令可以查看当前目录下的文件当使用
文件:文件分为元数据和数据两部分组成
元数据:指文件的属性信息.比如访问时间.修改时间.文件大小.属主数组等信息.并不包含文件内容,只是文件的标签
数据:存放数据内容
注意:元数据和数据并不在一起存放,当磁盘格式化时.有专门的空间存放文件的元数据(inode)和数据,待续.
文件命名规则:略... #PS:no zuo no die
linux文件类型:
-:普通文件
d: 目录文件
b: 块设备
c: 字符设备
l: 符号链接文件
p: 管道文件pipe
s: 套接字文件socke
文件的三个时间:(查看命令为 "stat")
access time:访问时间,atime,读取文件内容
modify time: 修改时间, mtime,改变文件内容(数据)
change time: 改变时间, ctime,元数据发生改变change time: 改变时间, ctime,元数据发生改变
cp命令:
用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理; -s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
例

命令别名:
在linux中系统允许用户定义命令的别名,可以把一条命令定义成其他名称执行.
注意:在命令行中定义的别名只对当前shell有效,退出当前登录定义就失效了,如果要定义每次都有效必须写入文件中,编辑的文件不会立即成效,必须让shell进程重新读取配置文件:
仅对当前有效的文件: ~/.bashrc
对所有用户都有效的文件: /etc/bashrc
重新读取配置文件:
Source|. ~/.bashrc|/etc/bashrc
撤销别名命令unalias 原理同上,当前shell进程撤销用.或者删除配置文件中的代码
如果别名同原命令同名,如果要执行原命令,可以使用:
“\CMD”或‘CMD’ 外部命令则指定绝对路径
移动和重命名文件:mv
常用参数: -i 交互式 -f强制 (交互式:删除之前先询问用户是否确认修改.强制则不询问)常用参数: -i 交互式 -f强制 (交互式:删除之前先询问用户是否确认修改.强制则不询问)
删除命令:rm !!!生产环境中请务必确认操作!!! 或使用mv命令移动到其他目录
常用参数:
-i:交互式
-f:强制删除
-r:递归删除 如果指定的是一个目录则删除目录下所有子目录和文件
目录操作
创建目录:mkdir
-p:存在于不报错,且可自动穿件所需的各目录
-v:显示详细信息
-m:MODE:创建目录时直接指定权限
删除空目录;rmdir (rm -r也可删除目录)
-p:递归删除父空目录
-v:显示详细过程-v:显示详细过程
转自zx337954373
