设为首页 收藏本站
查看: 1071|回复: 0

[经验分享] linux 文件管理

[复制链接]

尚未签到

发表于 2018-5-19 15:09:26 | 显示全部楼层 |阅读模式
文件管理
Linux的文件系统和目录结构图:

先看centos6.8的目录结构:用tree命令可以查看,如果没安装请使用 sudo yum install tree 命令安装
[root@centos6 cent]# tree / -L 1
/
├── bin             1
├── boot            2
├── dev             3
├── etc             4
├── home            5
├── lib             6
├── lib64           7
├── lost+found     centos7已弃用
├── media           8
├── misc            centos7已弃用
├── mnt             9
├── net             centos7已弃用
├── opt             10
├── proc            11
├── root            12
├── sbin            13
├── selinux         centos7已弃用
├── srv             14
├── sys             15
├── tmp             16
├── usr             17
└── var             18
再看centos7的目录结构:用tree命令可以查看

[root@localhost ~]# tree / -L 1
/
├── bin -> usr/bin         1
├── boot                   2
├── dev                    3
├── etc                    4
├── home                   5
├── lib -> usr/lib         6
├── lib64 -> usr/lib64     7
├── media                  8
├── mnt                    9
├── opt                    10
├── proc                   11
├── root                   12
├── run                    centos7新特性
├── sbin -> usr/sbin       13
├── srv                    14
├── sys                    15
├── tmp                    16
├── usr                    17
└── var                    18

RHEL7目录变化:

  •   /bin 和 /usr/bin
  •   /sbin 和 /usr/sbin
  •   /lib 和/usr/lib
  •   /lib64 和 /usr/lib64


还有一张整理好的图片:




DSC0000.png


文件系统结构详解:


/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器 (bootloader, grub)都存放于此目录
/bin:供所有用户使用的基本命令;不能关联至独立分区, OS启动即会用到的程序
/sbin:管理类的基本命令;不能关联至独立分区,OS启动即 会用到的程序
/lib:启动时程序依赖的基本共享库文件以及内核模块文件 (/lib/modules)
/lib64:专用于x86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录
/home/USERNAME:普通用户家目录
/root:管理员的家目录
/media:便携式移动设备挂载点
/mnt:临时文件系统挂载点
/dev:设备文件及特殊文件存储位置 b: block device,随机访问 c: character device,线性访问
/opt:第三方应用程序的安装位置
/srv:系统上运行的服务用到的数据
/tmp:临时文件存储位置
/usr: universal shared, read-only data
bin: 保证系统拥有完整功能而提供的应用程序
sbin:
lib:32位使用
lib64:只存在64位系统
include: C程序的头文件(header files)
share:结构化独立的数据,例如doc, man等
local:第三方应用程序的安装位置 bin, sbin, lib, lib64, etc, share


/var: variable data files
cache: 应用程序缓存数据目录
lib: 应用程序状态信息数据
local:专用于为/usr/local下的应用程序存储可变数据;
lock: 锁文件
log: 日志目录及文件
opt: 专用于为/opt下的应用程序存储可变数据;
run: 运行中的进程相关数据;通常用于存储进程pid文件
spool: 应用程序数据池
tmp: 保存系统两次重启之间产生的临时数据


/proc: 用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinux: security enhanced Linux,selinux相关的安全策 略等信息的存储位置
一些重要目录:


二进制程序:
/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

文件系统:



  •   文件系统从根目录下开始的,用 "/"表示

  •   文件和目录被组织成一个单根倒置树结构

  •   跟文件系统(rootfs): root filesystem

  •   名称是大小写敏感(特殊的文件系统除外)

  •   以 . 开头的文件为隐藏文件

  •   路径分隔符 /

  •   文件有两类数据:   

        元数据 : metadate

        数据  : data

  •   文件系统分层结构:LSB Linux Standard Base

  •   FHS : (Filesystem Hierarchy Standard):文件系统层次结构标准






文件命名规则:



  •   包括路径在内文件名最长4095个字符,用 / 分隔的路径不能超过255个字节

  •   除了 斜杠 和 NUL ,所有的字符都有效

  •   使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用它们

  •   标准的Linux文件系统(如ext4),文件名称大小写敏感


文件颜色照应:



  •   蓝色-->目录
  •   绿色-->可执行文件
  •   红色-->压缩文件
  •   浅蓝色-->链接文件
  •   灰色-->其他文件


Linux下文件的类型:


  •   -: 普通文件
  •   d: 目录文件
  •   b: 块设备
  •   c: 字符设备
  •   l: 符号链接文件
  •   p: 管道文件pipe
  •   s: 套接字文件socket



每个shell和系统进程都有一个当前的工作目录

显示当前的shell的绝对路径命名: #pwd :printing working directory

PWD:保存了当前目录路径
OLDPWD:保存上一次所在目录路径
可以用 #echo $PWD 查看

路径又分为两种,一种为绝对路径,一种为相对路径
绝对路径是以正斜杠开始,显示完整的文件的位置路径

可用于任何想指定一个文件名的时候

相对路径不用以斜线开始,指定相对于当前工作目录或某

目录的位置,可以作为一个简短的形式指定一个文件名

两种路径方式各有好处,需要灵活应用



来说一下 cd 命令的简单使用

cd : Change  the  current  directory  to  dir.改变目录
可以改变相对或者绝对路径:
cd home/Download

cd /home/nineven

到上一级目录:cd..
进入自己的主目录:cd ,cd ~
进入以前的工作目录:cd -





ls,是用来列出目录内容的命令
它可以列出当前目录或指定目录的内容
用法:
ls [OPTION]... [FILE]...
比如:

ls -a 显示隐藏的文件
DSC0001.png
ls -l 显示额外的信息
DSC0002.png

ls -R 目录递归通过 ,文件夹内的内容递归显示
DSC0003.png
ls -ld 目录和符号链接信息
DSC0004.png
ls -1  文件分行显示
DSC0005.png
ls –S  按从大到小排序
ls –u   配合-t选项,显示并按atime从新到旧排序
ls –U  不排序按目录存放顺序显示
这些命令自己可以ls --help 查看,一定要自己学会运用帮助命令




文件的状态查看 stat FILENAME


stat 文件:metadate 元数据  ,date 数据
时间戳,通过stat查看,比如:
DSC0006.png
access time:访问时间,atime,读取文件内容
modify time: 修改时间, mtime,改变文件内容(数据)
change time: 改变时间, ctime,元数据发生改变
使用touch命令可以更改时间戳
先用touch --help查看一下,发现:

-a    change only the access time
-m    change only the modification time

-t STAMP  use [[CC]YY]MMDDhhmm[.ss] instead of current time  
命令如下:
先查看一下详细信息:

DSC0007.png
然后执行 touch -a issue
DSC0008.png
然后执行 touch -m issue
DSC0009.png
修改指定时间比如 touch -t200808080808.24 issue
DSC00010.png

比如一些编辑vim,查看cat,复制cp等都会改变时间戳











文件通配符:



  •   * 匹配零个或多个字符
       DSC00011.png
  •   ? 匹配任何单个字符
  •   ~ 当前用户家目录
  •   ~username 用户家目录
  •   ~+ 当前工作目录
  •   ~- 前一个工作目录
  •   [0-9] 匹配一个数字范围
       DSC00012.png
  •   [a-z]:大写和小写字母
  •   [A-Z]:大写字母
DSC00013.png


  •   [abc] 匹配列表中的任何的一个字符
  •   [^abc] 匹配列表中的所有字符以外的字符
      
  • DSC00014.png


预定义的字符类:
可以用 #man -f glob 查看所在的章节然后 #man 7 glob


  •   [:digit:] :任意数字,相当于0-9
  •   [:lower:] :任意小写字母
  •   [:upper:] :任意大写字母
  •   [:alpha:] :任意大小写字母
  •   [:alnum:] :任意数字或字母
  •   [:space:] :空格
  •   [:punct:] :标点符号




练习:


1、显示/var目录下所有以l开头,以一个小写字母结尾,且中 间出现至少一位数字的文件或目录
ls -d /var/l*[[:digit:]]*[[:lower:]]
2、显示/etc目录下以任意一位数字开头,且以非数字结尾的 文件或目录
ls -d /etc/[[:digit]]*[^[:digit:]]
3、显示/etc/目录下以非字母开头,后面跟了一个字母及其 它任意长度任意字符的文件或目录
ls -d /etc/[^[:alpha:]][[:alpha:]]*[[:alnum:]]*
4、显示/etc目录下所有以m开头以非数字结尾的文件或目录
ls -d /etc/m*[^[:digit:]]
5、显示/etc目录下,所有以.d结尾的文件或目录
ls -d /etc/*.d
6、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文 件或目录
ls -d /etc/[mnrp]*.conf




  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-462090-1-1.html 上篇帖子: linux 简单目录操作 下篇帖子: Linux 命令历史
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表