您的位置:首页 > 其它

文件系统管理

2016-07-28 12:15 239 查看
一.文件系统与目录结构
[root@localhost /]# tree -L 1 /
/
├── bin -> usr/bin
├── boot
├── date
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── regular_express.txt
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var
1.文件系统目录
/:文件系统第一级目录
/bin:系统所需的基础命令
/boot:内核及系统引导文件
/dev:硬件设备文件
/etc:全局的配置文件目录
/home:用户的家目录
/root:root用户的家目录
/sbin:root用户存放的管理命令,普通用户无法访问
/tmp:临时文件存放的目录
/usr:程序和数据存放目录
/var:存放一些变量文件
/lib:存放共享库文件及内核模块文件
/lib64:辅助共享库的存放文件
/mnt:设备临时挂载点
/media:移动设备挂载点
/opt:第三方应用程序安装位置
/srv:系统上运行的服务用到的数据
/proc用于输出内核与进程信息相关的虚拟文件系统
2.文件系统注意事项
(1)文件系统从根开始,用/表示
(2)名称大小写敏感,但和系统是相关的
(3)以.开头的文件是隐藏文件
(4)路径分隔符是/
(5)文件有两类数据:元数据(metadate),数据(date)
(6)用/分割的路径不能超过255个字节
(7)蓝色表示目录,绿色表示可执行文件,红色表示压缩文件,浅蓝色表示链接文件,灰色表示其他文件.
(8)除了斜杠和NUL,所有字符都有效
3.文件类型
-:普通文件
d:目录文件
b:块设备
c:字符设备
l:符号链接文件
p:管道文件pipe
s: 套接字文件socket
二.绝对路径和相对路径
1.绝对路径
以/开始,完整的文件的位置路径
注意:第一个/为根,后面路径的/为分隔符
2.相对路径
不以斜线开始,指定以当前目录开始的文件路径
三.文件管理的常用命令
1.cd 改变目录
cd [-L|[-P [-e]]] [dir]
2.pwd 查看当前目录
3 ls 列出当前目录`q
ls [OPTION]... [FILE]...
选项:
-a:包含隐藏文件
-l: 显示权限,属组等额外信息
-R:目录递归
-ld:目录和符号链接信息
-1: 文件分行显示
-S:从大到小排顺序
-u:配合-t选项,显示并按atime,从新到旧排序
-U:不排序按目录存放顺序显示
4.通配符glob
*:任意字符,包括空字符
?:单个字符
~:当前用户家目录
~username:用户家目录
~+:当前工作目录
~-:前一个工作目录
[0-9]:0到9之间的任意数字
[A-Z]:任意大写字母
[a-z]:任意小写字母
[abc]:a,b,c任意一个字符
[^abc]:a,b,c字符外的字符
预定义的字符:
[:digit:]任意数字0-9之间
[:lower:]任意小写字母
[:upper:]任意大写字母
[:alpha:]任意大小写字母
[:alnum:]任意数字或字母
[:space:]空格
[:punct:]标点符号
实例:
1.显示/etc目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录
ls -d /var/l*[[:digit:]][[:lower:]]
2.显示etc目录下,以一个数字开头,且以非数字结尾的文件和目录
[root@localhost testdir]# ls -d /etc/[[:digit:]][^[:digit:]]
/etc/1.  /etc/1w  /etc/3l
3.显示etc目录下,以非字母开头,后面跟了一个字母以及其他任意长度字符的文件或目录
[root@localhost testdir]# ls -d /etc/[^[:digit:]][[:alpha:]]*
/etc/abrt        /etc/man.config
/etc/acpi        /etc/maven
5.stat 查看文件属性状态

三个时间戳:
atime,访问时间 ,读取文件内容
mtime,修改时间,改变文件内容
ctime,改变时间,改变文件属性
实例:
1.查看test文件后,查看文件属性状态
Access: 2016-07-28 05:11:31.383222474 +0200
Modify: 2016-07-28 05:11:23.321221132 +0200
Change: 2016-07-28 05:11:23.321221132 +0200
2.修改test文件内容,再查看文件属性
Access: 2016-07-28 05:13:04.497221235 +0200
Modify: 2016-07-28 05:13:04.497221235 +0200
Change: 2016-07-28 05:13:04.520221563 +0200
3.重命名test文件,再查看文件属性
Access: 2016-07-28 05:13:04.497221235 +0200
Modify: 2016-07-28 05:13:04.497221235 +0200
Change: 2016-07-28 05:16:42.997216922 +0200
总结:修改文件内容,三个时间戳都会改变;查看文件,只会修改atime;像重命名修改属性的操作,只会改变mtime和ctime.
6.touch
touch [OPTION]... FILE...
-a :仅改变atime

-m:仅改变mtime
-t:STAMP:[[CC]YY]MMDDhhmm[.ss]
-c: 如果文件不存在,则不予创建
7.cp
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
选项:
-i:交互式
-r, -R: 递归复制目录及内部的所有内容;
-a: 归档,相当于-dR--preserv=all
-d:--no-dereference --preserv=links 不复制原文件,只复制链接名
--preserv[=ATTR_LIST]
-p: 等同--preserv=mode,ownership,timestamp

-v: --verbose
-f: --force
实例:
1、使用别名命令,每日将/etc/目录下所有文件,备份到/testdir/下独立的新目录下,并要求新目录格式为backupYYYY-mm-dd,备份过程可见
alias cpa='cp -rpv /etc/ /testdir/abckup`date +%F`'
2、先创建/testdir/rootdir目录,再复制/root所有下文件到该目录内,并要求保留原有权限
cp -rp /root/ /testdir/rootdir/
8.rm
rm [OPTION]... FILE...
选项:
-f:强制删除
-r:递归删除
-i:交互模式
实例:
1.把testdir目录下的rootdir删掉
rm -rf rootdir/
2.删除带有-开头的文件
rm ./-a
"-"是参数,系统会误判,要加入./代表本目录
9.mv
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
选项:
-i: 交互式
-f: 强制
实例:
复制一个文件,创建一个目录,文件移动到目录

[root@localhost tmp]# cp ~/.bashrc .newbashrc
[root@localhost tmp]# mkdir  test
[root@localhost tmp]# mv .newbashrc test
[root@localhost tmp]# ls -a test
.  ..  .newbashrc
四.索引节点: 1.inode索引节点

一个目录是目录下的文件名和文件inode之间的映射,存储数据时,磁盘会在在inode表中分配一个空闲的indone节点给文件,当删除文件时,只是把文件名删除,释放inode节点,数据未被删除,而是把数据块放在空闲列表中,当有新数据使用空闲数据块时,数据才会被删除.2.硬链接
ln filename [linkname] 1.不能创建目录链接,只能针对文件 2.删除源文件,连接文件不会删除 3.节点引用计数会增加,而且相同 4.一个文件可以对应多个名字的硬链接,硬链接不能跨分区 硬链接创建:
[root@centos7 testdir]# ln aa /testdir/f2/aalink
[root@centos7 testdir]# ll /testdir/f2/aalink -i
135 -rw-r--r--. 3 root root 660 Jul 30 16:21 /testdir/f2/aalink
3.软链接 ln -s src linkname 1.目录和文件都可以创建链接 2.删除源文件,链接文件也失效 3.节点引用计数不同 4.可以跨分区 ln -s 创建软连接时,原始文件的绝对路径或相对路径(相对于软链接文件的路径)
[root@centos7 testdir]# ln -s /testdir/aa /tmp/aalink
[root@centos7 testdir]#
[root@centos7 testdir]# ll /tmp/aalink -i
869130 lrwxrwxrwx. 1 root root 11 Jul 30 17:46 /tmp/aalink -> /testdir/aa
知识点: (1).ls -i 查看inode节点号[root@centos7 testdir]# ll -i
total 16
160 -rw-r--r--. 1 root root 682 Jul 30 16:19 000
135 -rw-r--r--. 3 root root 660 Jul 30 16:21 aa
156 -rw-r--r--. 1 root root  44 Jul 28 17:25 aaa
134 -rw-r--r--. 1 root root   0 Jul 28 17:06 ab
133 -rw-r--r--. 1 root root   0 Jul 28 17:06 ac

(2).创建字节,使用inode号

(3)扫描 一秒钟刷新一次

4.file 查看文件类型 file [options] <filename>... Option: -b列出文件辨识结果时,不显示文件名称。 -c详细显示指令执行过程,便于排错或分析程序执行形 -f列出文件中文件名的文件类型 -F使用指定分隔符号替换输出文件名后默认的”:”分隔符 -i输出mime类型的字符串 -L查看对应软链接对应文件的文件类型 -z尝试去解读压缩文件的内容 --help显示命令在线帮助
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  7 28 2016