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

[经验分享] linux的 文件管理

[复制链接]

尚未签到

发表于 2018-5-20 07:42:33 | 显示全部楼层 |阅读模式
  文件系统结构元素
  创建和查看文件 复制、转移和删除文件
  

  首先简要介绍一下 文件系统与目录结构
  

  根目录为一级目录 /
  

  根目录下有bin boot dev etc home root run sbin tmp usr var 这些为二级目录
  

  home下 有 Alice bob eve 而usr 下 有bin local sbin tmp 和var下的tmp这些为三级目录
  

  文件和目录被组织成一个单根倒置树结构
  文件系统从根目录下开始,用“/”表示  根文件系统(rootfs):root filesystem
  以.开头的文件为隐藏文件  路径分隔的 /
  文件有两类数据: 元数据:metadata 数据:data  文件系统分层结构:LSB  Linux Standard Base FHS: (Filesystem Hierarchy Standard)
  

  文件颜色可分为五类 分别为
  蓝色-->目录 绿色-->可执行文件 红色-->压缩文 件 浅蓝色-->链接文件 灰色-->其他文件
  

  除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和 文件不推荐使用,有些字符需要用引号来引用它们。
  标准Linux文件系统(如ext4),文件名称大小写敏感。例如 :MAIL, Mail, mail, mAiL
  

  

  下面介绍一下 各级目录的具体作用 和所存储的文件
  

  /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, shar
  /var: variable data files cache: 应用程序缓存数据目录
  lib: 应用程序状态信息数据 local:专用于为/usr/local下的应用程序存储可变数据;
  lock: 锁文件 log: 日志目录及文件 opt: 专用于为/opt下的应用程序存储可变数据;
  run: 运行中的进程相关数据;通常用于存储进程pid文件 spool: 应用程序数据池
  tmp: 保存系统两次重启之间产生的临时数据
  /proc: 用于输出内核与进程信息相关的虚拟文件系统
  /sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
  /selinux: security enhanced Linux,selinux相关的安全策 略等信息的存储位置
  

  

  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
  

  

  当然目录的绝对路径 有时是有变化的 特别是在 centos6.8 和7之间的区别
  

  例如
  /bin 和 /usr/bin /sbin 和 /usr/sbin /lib 和/usr/lib /lib64 和 /usr/lib64
  

  还有一些 显示当前 路径的写法 命令行
  

  每个shell和系统进程都有一个当前的工作目录 CWD:current work directory  显示当前shell CWD的绝对路径 #pwd: printing working directory
  

  例如 绝对路径 和相对路径的 区别 和用法
  绝对路径 以正斜杠开始 完整的文件的位置路径 可用于任何想指定一个文件名的时候  相对路径名 不以斜线开始 指定相对于当前工作目录或某目录的位置 可以作为一个简短的形式指定一个文件名
  cd  改变目录 为绝对或相对路径: cd /home/joshua/work cd project/docs 到上一级目录: cd .. 为了你的主目录: cd 到以前的工作目录: cd 相关的环境变量: PWD:保存了当前目录路径 OLDPWD:上一次所在目录路径
  

  列出当前目录的内容或指定目录  用法: ls [options] [files_or_dirs] Example: ls -a 包含隐藏文件 ls -l 显示额外的信息 ls -R 目录递归通过 ls -ld 目录和符号链接信息 ls -1  文件分行显示 ls –S  按从大到小排序 ls –u   配合-t选项,显示并按atime从新到旧排序 ls –U  不排序按目录存放顺序显示
  

  文件通配符的使用
  

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

  

  [wxc] 匹配列表中的任何的一个字符
  [^wxc] 匹配列表中的所有字符以外的字符
  预定义的字符类:#man 7 glob
  [:digit:]:任意数字,相当于0-9
  [:lower:]:任意小写字母
  [:upper:]: 任意大写字母
  [:alpha:]: 任意大小写字母
  [:alnum:]:任意数字或字母
  [:space:]:空格
  [:punct:]:标点符号
  

  文件的 复制 移动 删除 创建 空文件夹 和tree命令的用法
  

  cp常用选项
  -i:交互式
  -r, -R: 递归复制目录及内部的所有内容;
  -a: 归档,相当于-dR --preserv=all
  -d:--no-dereference --preserv=links 不复制原文件,只复制链接名
  --preserv[=ATTR_LIST] mode: 权限 ownership: 属主属组 timestamp: links xattr context all
  -p: 等同--preserv=mode,ownership,timestamp
  

  

  移动和重命名文件
  

  mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]...
  -t DIRECTORY SOURCE... 常用选项:
  -i: 交互式 -
  f: 强制
  

  删除的用法
  

  rm [OPTION]... FILE... 常用选项:
  -i: 交互式
  -f: 强制删除
  -r: 递归
  --no-preserve-root
  例: #rm -rf /
  

  

  目录操作tree的 用法
  

  

  tree 显示目录树
  -d: 只显示目录
  -L level:指定显示的层级数目
  -P pattern: 只显示由指定pattern匹配到的路径
  

  mkdir 创建目录
  -p: 存在于不报错,且可自动创建所需的各目录;
  -v: 显示详细信息 -m MODE: 创建目录时直接指定权限;
  

  rmdir 删除空目录
  -p: 递归删除父空目录
  -v: 显示详细信息
  

  rm -
  r 递归删除目录树
  

  最后还有 命名别名
  

  编辑配置给出的新配置不会立即生效;
  bash进程重新读取配置文件:
  source /path/to/config_file .  /path/to/config_file
  撤消别名:unalias  unalias [-a] name [name ...] 如果别名同原命令同名,如果要执行原命令,可使用 “\COMMAND” ’COMMAND’ /PATH/COMMAND:外部命令
  

  

  

运维网声明 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-462308-1-1.html 上篇帖子: linux中echo命令 下篇帖子: Linux的哲学
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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