1、文件系统结构

/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相关的安全策略等信息的存储位置

2、Linux下文件类型

- 普通文件

d 目录文件

b 块设备

c 字符设备

l  符号链接文件

p 管道文件pipe

s 套接字文件socket

3、相对路径与绝对路径

相对路径:不以斜线开始,指定相对于当前工作目录或某目录的位置,可以作为一个简短的形式指定一个文件名

绝对路径:以正斜杠开始,完整的文件的位置路径,可用于任何想指定一个文件名的时候

基名:basename

目录名:dirname

4、文件通配符

* 匹配零个或多个字符

? 匹配任何单个字符

~ 当前用户家目录

~mage 用户mage家目录

~+ 当前工作目录

~- 前一个工作目录

[0-9] 匹配数字范围

[a-z]:字母

[A-Z]:字母

[wang] 匹配列表中的任何的一个字符

[^wang] 匹配列表中的所有字符以外的字符

预定义的字符类:man 7 glob

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

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

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

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

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

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

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

  [:punct:]:标点符号

  [:print:]:可打印字符

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

  [:graph:]:图形字符

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

5、相关命令

(1) pwd  显示当前绝对路径

   -P 显示真实物理路径

   -L 显示链接路径(默认)

(2) cd   改变目录

  cd ..  切换至父目录

  cd -  切换至上一个工作目录

  cd   切换至当前用户的主目录

(3) ls  列出当前目录的内容或指定目录

  ls -a 包含隐藏文件

  ls -l 显示额外的信息

  ls -R 目录递归

  ls -ld 目录和符号链接信息

  ls -1 文件分行显示

  ls –S 按从大到小排序

  ls –t 按mtime排序

  ls –u 配合-t选项,显示并按atime从新到旧排序

  ls –U 按目录存放顺序显示

  ls –X 按文件后缀排序

(4) stat  查看文件的状态

  三个时间戳:

    access time 访问时间,atime,读取文件内容

    modify time 修改时间, mtime,改变文件内容(数据)

    change time 改变时间, ctime,元数据发生改变

(5) touch  创建文件和刷新时间

  touch [OPTION]... FILE...

    -a 仅改变 atime和ctime

    -m 仅改变 mtime和ctime

    -t [[CC]YY]MMDDhhmm[.ss] 指定atime和mtime的时间戳

    -c 如果文件不存在,则不予创建

(6) cp  复制文件和目录

  cp [OPTION]... [-T] SOURCE DEST

  cp [OPTION]... SOURCE... DIRECTORY

  cp [OPTION]... -t DIRECTORY SOURCE...

  cp SRC DEST

    -i 覆盖前提示

    -n 不覆盖,注意两者顺序

    -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

    -v --verbose 显示详细过程

    -f --force 强制复制

    -u --update 只复制源比目标更新文件或目标不存在的文件

    -b 目标存在,覆盖前先备份,形式为 filename~

    --backup=numbered 目标存在,覆盖前先备份加数字后缀

(7) mv   移动和重命名文件

  mv [OPTION]... [-T] SOURCE DEST

  mv [OPTION]... SOURCE... DIRECTORY

  mv [OPTION]... -t DIRECTORY SOURCE...

  常用选项:

    -i 交互式

    -f 强制

    -b 目标存在,覆盖前先备份

(8) rm  删除

  rm [OPTION]... FILE...

  常用选项:

    -i 交互式

    -f 强制删除

    -r 递归

    --no-preserve-root 删除/

(9) file  确定文件内容

  file [options] <filename>...

    -b 列出文件辨识结果时,不显示文件名称

    -f filelist 列出文件filelist中文件名的文件类型

    -F 使用指定分隔符号替换输出文件名后默认的”:”分隔符

    -L 查看对应软链接对应文件的文件类型

    --help 显示命令在线帮助

(10) 目录操作

tree 显示目录树

  -d: 只显示目录

  -L level:指定显示的层级数目

  -P pattern: 只显示由指定pattern匹配到的路径

mkdir 创建目录

  -p: 存在于不报错,且可自动创建所需的各目录

  -v: 显示详细信息

  -m MODE: 创建目录时直接指定权限

rmdir 删除空目录

  -p: 递归删除父空目录

  -v: 显示详细信息

rm -r 递归删除目录树

5、硬链接和软链接

(1) 硬链接

  创建硬链接会增加额外的记录项以引用文件

  对应于同一文件系统上一个物理文件

  每个目录引用相同的inode号 创建时链接数递增

  删除文件时:

    rm命令递减计数的链接

    文件要存在,至少有一个链接数

    当链接数为零时,该文件被删除

    不能跨越驱动器或分区

  语法:ln filename [linkname ]

(2) 软链接

  一个符号链接指向另一个文件

  ls -l 显示链接的名称和引用的文件

  一个符号链接的内容是它引用文件的名称

  可以对目录进行

  可以跨分区

  指向的是另一个文件的路径;其大小为指向的路径字符串的长度;不增加或减少目标文件inode的引用计数

  语法:ln -s filename [linkname]

linux学习-文件管理的更多相关文章

  1. Linux学习笔记(二) 文件管理

    了解 Linux 系统基本的文件管理命令可以帮助我们更好的使用 Linux 系统,以下介绍几个常用的文件管理命令 1.pwd pwd 是 Print Working Directory 的简写,用于显 ...

  2. Linux学习笔记之四————Linux常用命令之文件管理

    Linux命令——文件管理相关命令 <1>查看文件信息:ls ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令. Linux文件或 ...

  3. deepin linux学习笔记(四)进不去图形界面怎么办?

    目录 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 更换成lxde桌面 进不去图形界面怎么办? 总结 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 生命不息 ...

  4. linux学习:【第1篇】初识Linux及安装

    狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! linux学习:[第1篇]初识Linux及安装 写在前面 学习之初看了一段文章,很有感触,所以也 ...

  5. 我的Linux学习之路及参考书籍

    学习目的 很简单的考虑,最近在各大招聘网站上找工作,发现多数c/c++开发职位都需要Linux开发经验,让我很苦恼,因为Linux我到目前为止知之甚少,知道Linux的概念,也在大学期间了解过一段时间 ...

  6. Linux学习-计算机基础

    Linux 学习-计算机基础 一.描述计算机的组成及其功能. 计算机系统是由硬件(Hardware)和软件(Software )两部分组成. 硬件: 从硬件基本结构上来讲,计算机是由运算器.控制器.存 ...

  7. 转 Linux命令-文件管理命令

    http://jingyan.baidu.com/article/9113f81bc1c7a72b3214c7d3.html Linux命令-文件管理命令 浏览:4118 | 更新:2012-11-1 ...

  8. Linux学习笔记(一) 文件系统

    对于每一个 Linux 学习者来说,了解 Linux 文件系统的结构是十分有必要的 因为在 Linux 中一切皆文件,可以说只有深入了解 Linux 的文件系统,才会对 Linux 有更深刻的理解 L ...

  9. Linux学习笔记(四) vi编辑器

    一.vi 编辑器 vi 编辑器 (Visual Interface) 是所有 Unix 及 Linux 系统下标准的编辑器,相当于 Windows 系统中的记事本 它有三种模式,分别是: Comman ...

随机推荐

  1. Flask学习 2修改路由规则 传入参数访问url

    #!/usr/bin/env python # encoding: utf-8 """ @version: v1.0 @author: cxa @file: flask0 ...

  2. php面试专题---9、会话控制考点

    php面试专题---9.会话控制考点 一.总结 一句话总结: 面向对象.设计模式这些特别好用,需要融会贯通 1.请写出PHP类权限控制修饰符? public.protected.private 2.p ...

  3. VS2015发布web服务

    一.IIS中 ①添加网站 二.VS2015 ①右键解决方案→发布: ②自定义,设置配置文件名称: ③ ④发布     三.IIS中浏览(图片的ip地址是自己,上面的ip是截图别人的,所以不一样)

  4. MySQL5.6同步指定数据库

    需求:生产环境同步sakila (root@localhost) [(none)]> show databases;+--------------------+| Database |+---- ...

  5. KEIL建立新唐MCU的工程时,移植官网程序报错变量未定义问题解决方法

    最近在使用新唐的MCU,新唐的MCU使用还算方便,你安装好KEIL之后再安装 Nu-Link_Keil_Driver_V3.00.6909 驱动即可建立新唐的MCU工程,注意的是因为新唐MCU是C51 ...

  6. 使用TensorFlow的基本步骤

    学习任务 学习使用TensorFlow,并以california的1990年的人口普查中的城市街区的房屋价值中位数作为预测目标,使用均方根误差(RMSE)评估模型的准确率,并通过调整超参数提高模型的准 ...

  7. Fira Code,可以让不等号!=直接显示出来的字体

    今天看B站某直播间有人写代码C#里一堆不等号直接显示,感觉很神奇,以为是插件还是什么新语法,托人问了下原来是Fira Code字体 https://github.com/tonsky/FiraCode ...

  8. SPOJ NICEBTRE - Nice Binary Trees(树 先序遍历)

    传送门 Description Binary trees can sometimes be very difficult to work with. Fortunately, there is a c ...

  9. Hibernate入门1

    Hibernate概述: 1. 什么是框架: 写程序,在使用框架之后,帮我们实现一部分的功能,使用框架的好处可以少写一部分代码实现功能 2. 什么是hibernate框架: hibernate框架应用 ...

  10. 标准标签库JSTL(JSP Standard Tag Library)

    1, 核心标签(最常用, 最重要的) 表达式控制标签 out 输出常量 value---直接赋值 输出变量 default---默认值 escapeXml---控制转义字符(默认为true, 如果需要 ...