linux文件夹

目录结构:根目录—/,其下的一级目录:
root, 管理员家目录
media,便携移动设备挂载点
mnt, 临时文件系统挂载点 ,如外围设备的挂载点
var 非固定的文件 如缓存/临时文件,日志,邮件
sbin, 管理类的基本命令
bin , 所有用户使用的基本命令,不能关联到独立分区
etc 放各种配置文件目录, issue 登录前提示
motd 登录后提示
boot 引导文件存放目录,放内核文件,引导加载器等
home, 普通用户家目录
dev 放设备文件,如sda硬盘,sro光盘 zero null random随机数
proc 内核,不占硬盘空间
sys 硬件
lib 启动时程序依赖的基本共享库文件以及内核模块文件
 64lib 放专用于x86_64系统上的64位的库
tmp 临时文件存储位置
opt: 第三方应用程序的安装位置
usr 系统的大部分文件放在这里,又称位第二层根
/usr的子目录:bin: 保证系统拥有完整功能而提供的应用程序
sbin:
lib:32位使用
lib64:只存在64位系统
include: C程序的头文件(header files)
share:结构化独立的数据,例如doc, man等
local:第三方应用程序的安装位置
bin, sbin, lib, lib64, etc, share

文件系统: 文件和目录被组织成一个单根倒置树结构 
文件系统从根目录下开始,用“/”表示 
根文件系统(rootfs):root filesystem 
文件名称区分大小写 
以.开头的文件为隐藏文件 
路径分隔的 / :对于文件快捷方式而言,文件名末尾加/,表示要显示文件夹内各个文件的信息;不加/的,表示只显示该快捷方式的信息
文件有两类数据: 元数据:metadata 具体指文件的属性
数据:data
文件名规则: 文件名最长255个字节 
包括路径在内文件名称最长4095个字节 
蓝色-->目录 ,绿色-->可执行文件 ,红色-->压缩文件,浅蓝色-->链接文件 灰色-->其他文件 ,但不是绝对的。
除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用, 有些字符需要用引号来引用它们 
标准Linux文件系统(如ext4),文件名称大小写敏感
例如:MAIL, Mail, mail, mAiL
Linux的应用程序的组成部分:
二进制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin 
库文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64 
配置文件:/etc, /etc/DIRECTORY, /usr/local/etc 
帮助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc
linux的文件类型:
开头是-,表示 普通文件 
d 目录文件
 b 块设备
 c 字符设备 
l 符号链接文件
 p 管道文件pipe 
s 套接字文件socket,与网络通讯相关
显示当前工作目录:
每个shell和系统进程都有一个当前的工作目录 
CWD扩展指令 :[] {}
显示当前shell CWD的绝对路径
pwd: 显示工作目录的路径名称
-P 显示真实物理路径
-L 显示链接路径(默认)
更改目录:cd 改变目录
使用绝对路径 cd /home/wang/
使用相对路径 cd home/wang
切换至父目录: cd ..
切换至当前用户主目录: cd
切换至以前的工作目录: cd —
选项:-P 
相关的环境变量:
PWD:当前目录路径
OLDPWD:上一次目录路径
列出目录内容:ls -a 包含隐藏文件
ls -l 显示额外的信息
ls -R 目录递归通过
ls -ld 目录和符号链接信息
ls -1 文件分行显示
ls –S 按从大到小排序
ls –t 按mtime排序
ls –u 配合-t选项,显示并按atime从新到旧排序
ls –U 按目录存放顺序显示
ls –X 按文件后缀排序
查看文件状态:stat 显示文件的 三个时间戳
存放文件:metadata, data 
三个时间戳: access time:访问时间,atime,读取文件内容
modify time: 修改时间, mtime,改变文件内容(数据)
change time: 改变时间, ctime,元数据发生改变

创建空文件与刷新时间:touch命令
格式:touch [OPTION]... FILE...
-a 仅改变 atime和ctime
-m 仅改变 mtime和ctime
-t [[CC]YY]MMDDhhmm[.ss]
指定atime和mtime的时间戳
-c 如果文件不存在,则不予创建
cp命令: copy的简写
cp复制文件和目录:文件夹不能复制到文件里但可以复制为目标的子文件或子文件夹
cp+源+目标:将一个源复制到一个目标:目标是没有的文件夹,则新建并成为其子文件
目标是文件,则覆盖之
cp+多个源+目标文件夹:多个源复制到目标(文件夹),成为其子文件
cp+ -t+目标文件夹+源文件:将源文件复制到目标文件夹
cp –r+源文件夹(目录)+目标文件夹——将源文件夹及其每个子文件都复制到目标文件夹里
-f 强制, 将原文件内容覆盖
-i 覆盖前提示—复制时,若目标文件有内容就覆盖
-n 不覆盖,注意两者顺序
-a 归档,可作为备份,复制的文件与原文件完全一样
-v 可看到复制过程
-p 复制只保留了权限/所有者/时间戳,其他不保留
-d 不复制源文件,只复制链接
-R 递归,一个一个的复制
-u 只复制比目标新的文件,即将新文件覆盖旧的文件

     -b复制前先备份(backup备份前加数字)
        ——backup=numbered 若目标存在,则 复制前先备份

mv命令:移动——每次移动一个文件
例如: mv 文件1 文件2——将文件1移动到文件2
-i: 交互式
-f: 强制
-b: 目标存在,覆盖前先备份
remane+字符串1+字符串2 将文件中的字符串1用字符串2替代
如果mv命令的目标和源在相同的文件系统,作为mv 命令
用新的文件名创建对应新的目录项
删除旧目录条目对应的旧的文件名
不影响inode表(除时间戳)或磁盘上的数据位置:没有数据被移动! 
如果目标和源在一个不同的文件系统, mv相当于cp和rm

rm删除
-i 交互式
-f 强制删除
-r 递归
rm删除大文件时容易出现异常,可以用>将文件清空,快速释放空间,再用rm删除文件名。>>可以将有内容的文件清空,若内容为0时则作改变
当文件是空的时就创建文件

目录操作:tree 显示目录树
-d: 只显示目录
-L level:指定显示的层级数目
-P pattern: 只显示由指定pattern匹配到的路径 
mkdir 创建目录
-p: 存在于不报错,且可自动创建所需的各目录
-v: 显示详细信息
-m MODE: 创建目录时直接指定权限
rmdir 删除空目录
-p: 递归删除父空目录
-v: 显示详细信息 
rm -r 递归删除目录树
rm 命令: 链接数递减,从而释放的inode号可以被重用
把数据块放在空闲列表中
删除目录项
数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖
索引节点:即文件的文件编号,每建立一个文件就有一个文件编号,即为节点编号
Inode表中包含文件系统所有的文件列表
电脑只认节点编号,不认文件名
目录用于放文件名与其对应的节点编号
Inode表的结构:
分为一级
二级
三级
…………
直到能够存放全部的数据,所有数据都在最低级的结构里存放,所有上层结构不存放数据
df –i——查看节点情况
ls di+文件名——查看文件的节点编号
节点用完了与空间用完的一样,
同一分区中,删除的数据其节点编号不变,内容没了,其节点编号可以给别的文件用
链接:
硬链接:针对一个文件起多个文件名,不支持跨分区,可以在同一分区中不同的目录
(link)in+文件名+文件名2:将文件命名为文件2。in -s
同一个文件有几个名字就有几个链接数
不支持目录,只支持文件
每个目录都有.和..,所以目录(文件夹)的链接数至少是2。
链接文件的大小指文件的大小
文件删除后依然可以访问
软链接(符号链接):指向另一个文件的路径
如 ln –s 文件名 文件路径——将文件名移到文件路径下
软连接不是同一个文件,而是一个指针,指向文件名不是数据块
创建软连接的时候不会增加链接数
支持文件夹/目录,支持跨分区和设备
原始文件的一般路径用相对路径,相对路径一定相对于软连接文件的路径
链接文件的大小指路径的大小
文件删除后不能访问
相对路径与硬链接不同
File命令:确定文件内容,类型
-b显示文件辨识结果,不显示文件名
-F用指定的分隔符替换文件名后默认的“:”分隔符
-f文件目录 列出文件目录中文件名的文件类型
-L查看软连接对应的文件的类型
Cat只用于文本文件。reset重置

posted @ 2018-09-25 21:25  王之涛涛  阅读(288)  评论(0编辑  收藏  举报