LInux文件管理

文件系统目录结构

Linux中目录结构是有一定的约定的FHS

  • /bin:存放二进制程序
  • /boot:启动相关
  • /dev:设备文件
  • /etc:配置文件
  • /home:用户家目录
  • /lib:库文件
  • /lib64:64位库文件
  • /madia:关盘等设备
  • /mnt:外部设备挂载点
  • /opt:存放第三方程序(现在用的少)
  • /proc:虚拟目录对应内存中的内容
  • /root:root账号家目录
  • /run:存放正在运行中的相关文件
  • /sbin:管理员执行的二进制程序
  • /sys:存放硬件相关
  • /tmp:临时文件夹
  • /usr:二层根,存放很多内容,比如man手册
  • /var:变化的内容,比如日志

在Linux中对文件名称大小写敏感,由于文件系统对大小写敏感导致的,如FATFS的U盘挂载到LInux下大小写时不敏感的,所以Linux系统对文件大小写并不敏感,而是文件是同对大小写敏感

文件系统细节

文件系统和目录被组织成一个单根的导致树结构,文件系统从根目录下开始,用“/”表示,跟文件系统为“rootfs:root filesystem”,文件名称曲风大小写,以"."开头的文件为隐藏文件,路径分隔使用"/"符号,文件有两类数据:元数据和数据

文件名规则

  • 文件名最长255个字节
  • 包括路径在内的文件名称最长4095个字节
  • 有不同的颜色区分不同文件
    • 目录:蓝色
    • 可执行文件:绿色
    • 压缩文件:红色
    • 连接文件:浅蓝色
    • 其他文件:灰色

    颜色是可以惊醒定义和修改的/etc/DIR_COLORS这个文件就是用来定义文件颜色的,更改这个配置文件就会改变颜色

  • 除了斜杠"/"和NUL,所有字符都有效,但是用特殊字符的目录名和文件不推荐使用,有些字符需要使用引号引用
  • 标准Linux文件系统(如ext4)对文件名称大小写敏感

CentOS7的目录变化

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

在CentOS7中这些目录已经是一个目录了

Linux下的文件类型

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

特殊文件/dev/zero指的是NUL,可以输出NUL

/dev/null黑洞设备,可以将不要的内容输出值此设备

dd if=/dev/zero of=f1.txt bs=1 count=1 分别指输入,输出,一次读入大小,读入几次

hexdump -C 查看十六进制文件

查看与切换目录

pwd             #查看所在文件夹
pwd -P #查看真实路径
cd 或 cd ~ #切换到自己的家目录
cd ~USER #可以切换到USER用户家目录
cd - #切换到上一个所在的目录
$OLDPWD #这个变量存放了上一次所在的目录

时间戳

ctime = Change time为元数据更改时间

mtime = Modify time为内容更改时间

atime = Access time为访问时间(一天之内再次访问不做修改,有个例外,当都时间比些时间要早时有访问会更新,centos6开始)

stat命令可以查看文件元数据

查看目录的文件列表

ls                  #默认列出文件夹下的文件泪飙(不包含隐藏文件)
ls -a #列出文件夹所有文件
ls -A #列出文件夹除. ..以外的为念列表
ls -l #列出晚间的详细信息,默认显示时间为mtime内容更改时间
ls -d #只列目录本身的属性,不进入目录
ls -R #递归显示子目录里的文件列表
ls -$ #一行显示$个文件
ls -S #按从大到小排序
ls -r #倒序排列信息
ls -t #按找mtime排序
ls -l --time=ctime #查看文件ctime也可以查看atime
ls -X #以文件后缀分类显示
ls -h #以人类易读的方式显示大小
stat FILE #查看文件元数据

绝对路径与相对路径

绝对路径指从根开始,路径指定到目标

相对路径一般相对现在所在的目录,有些特殊情况相对于其它路径

.               #当前目录
.. #父目录
../../../../../ #当上级目录数量超过根时,由于根的父目录也是根,所以会一直为根

基名与目录名

/etc/sysconfig/network              #以这个文件为例
basename /etc/sysconfig/network #取其基名
#结果为network
dirname /etc/sysconfig/network #取其目录名
#结果为/etc/sysconfig

通配符模式

ls *.txt                #显示以txt为后缀的文件(.txt不会被列出来)
ls * #将所有文件列出,目录则进入目录并列出其文件列表
ls -d * #只显示目录本身不深入目录显示文件列表
ls .* * -d 或 ls -a * #显示所有文件

*:匹配零个或多个字符

?:匹配任何单个字符

~:当前用户家目录

~USER:用户USER家目录

~+:当前工作目录

~-:前一个工作目录

[0-9]:匹配数组范围

[a-z]:字母aAbB

[A-Z]:字母AaBb

[STRING]:匹配列表中任何一个字符

[^STRING]:匹配列表中所有字符以为的字符

预定义的字符类:man 7 glob

[:digit:]:任意数字相当于[0-9]

[:lower:]:任意小写字母

[:upper:]:任意大写字母

[:alpha:]:任意大小写字母

[:alnum:]:任意数字或字母

[:blank:]:水平空白字符

[:space:]:水平或垂直空白字符

[:punct:]:标点符号

[:print:]:可打印字符

[:cntrl:]:控制(非打印)字符

[:graph:]:图形字符

[:xdigit:]:十六进制字符

3-2 LInux文件管理的更多相关文章

  1. Linux文件管理相关命令

    Linux文件管理相关命令   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在了解了Linux文件管理背景知识之后, 我们可以 ...

  2. Linux文件管理上

    Linux文件管理   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 对于计算机来说,所谓的数据就是0和1的序列.这样的一个序列 ...

  3. Linux文件管理和编辑常用命令

    Linux文件管理和编辑常用命令 mkdir 命令 功能说明 mkdir 命令用于创建一个目录,mkdir是make directory的缩写 格式: mkdir [选项] 目录名 mkdir 命令的 ...

  4. 转 Linux文件管理

    Linux文件管理 http://www.cnblogs.com/vamei/archive/2012/09/09/2676792.html 作者:Vamei 出处:http://www.cnblog ...

  5. linux文件管理--压缩打包

    目录 linux文件管理--压缩打包 1.压缩打包介绍 2.gzip压缩工具 3.zip压缩工具 注意: 4.tar压缩工具 5.tar生产案例实践 linux文件管理--压缩打包 1.压缩打包介绍 ...

  6. day58:Linux:BashShell&linux文件管理&linux文件下载上传

    目录 1.BashShell 2.Linux文件管理 3.Linux文件下载和上传 BashShell 1.什么是BeshShell? 命令的解释,用来翻译用户输入的指令 2.BashShell能做什 ...

  7. 3-1 Linux文件管理类命令详解

    根据马哥Linux初级 03-01整理 1. 目录管理 ls cd pwd mkdir rmdir tree 2. 文件管理 touch stat file rm cp mv nano 3. 日期时间 ...

  8. Linux文件管理_1

    在Linux中,全部都是文件,所以文件管理在Linux上格外重要,在我们学习文件管理前,我们先学习几个关于文件的命令,之后才能更好的学习文件管理. 目录 pwd命令 cd命令 列出文件内容ls 查看文 ...

  9. linux文件管理之bash shell

    BASH Shell 对文件进行管理 ========================================================创建.复制.删除.移动.查看.编辑.压缩.查找 内 ...

随机推荐

  1. https加载http资源,导致ios手机上的浏览器图片加载问题

    今天解决一个线上bug的时候发现的问题,如下图: 从表象来看,同样的图片,安卓手机上可以正常展示,但是到ios手机上首次进入页面就不能正常显示图片,必须手动刷新一次页面才能正常加载. 这时候,我们首先 ...

  2. poj3417 Network/闇の連鎖[树上差分]

    首先隔断一条树边,不计附加边这个树肯定是断成两块了,然后就看附加边有没有连着的两个点在不同的块内. 方法1:BIT乱搞(个人思路) 假设考虑到$x$节点隔断和他父亲的边,要看$x$子树内有没有点连着附 ...

  3. Vue 实现 登陆后打开主页面(登陆组件 + 主页面组件)

    本次演示,项目所需iview,router 首先 在 views 目录 新建 两个 组件 ( login.vue ,index.vue ) login.vue <template> < ...

  4. 决策树--CART树详解

    1.CART简介 CART是一棵二叉树,每一次分裂会产生两个子节点.CART树分为分类树和回归树. 分类树主要针对目标标量为分类变量,比如预测一个动物是否是哺乳动物. 回归树针对目标变量为连续值的情况 ...

  5. phpstorm快捷键和激活

    点击PHP中文网->PHPstorm激活, 按照步骤激活 今天遇到了不能激活的情况, your activation code could not be validated.这个解决方法是把上面 ...

  6. AtCoder AGC005E Sugigma: The Showdown (博弈论)

    题目链接 https://atcoder.jp/contests/agc005/tasks/agc005_e 题解 完了真的啥都不会了-- 首先,显然如果某条A树的边对应B树上的距离大于等于\(3\) ...

  7. [洛谷P3942]:将军令(贪心)

    题目传送门 题目背景 历史/落在/赢家/之手至少/我们/拥有/传说谁说/败者/无法/不朽拳头/只能/让人/低头念头/却能/让人/抬头抬头/去看/去爱/去追你心中的梦 题目描述 又想起了四月.如果不是省 ...

  8. vue-loader+webpack配置项目流程

    前提:安装了node.js与npm 1.建立一个npm项目 新建项目文件夹,打开终端,将路径移动至此文件夹,初始化输入 npm init 按照提示输入项目名称,描述,作者等信息(可回车跳过) 成功创建 ...

  9. 一本学习HTTP很好的书《图解HTTP》

    网上电子版的一堆(*^__^*) 嘻嘻……

  10. 2018-2019-2 20165205 网络对抗技术 Exp9 Web安全基础

    2018-2019-2 20165205 网络对抗技术 Exp9 Web安全基础 1.基础问题 SQL注入攻击原理,如何防御 原理: SQL注入指攻击者在提交查询请求时将SQL语句插入到请求内容中,同 ...