一 linux文件系统概要

linux系统结构有别用于windos,他是树状结构的文件系统,在linux下我们称一切皆文件,我们将一个目录,可以成称为目录文件。
linux只有一个单独的顶级目录结构。所有一切都从root开始,用'/'代表,并且延伸到子目录。

DOS/Windows有不同的分区同时目录都存于分区上。

linux则通过'加载'的方式把所有分区都放置在root下制定的目录里。

windows下最接近于root的是c:。

一句话总结:Windows下,目录结构属于分区;Linux下,分区属于目录结构。

在windows下,启动时检测不同的分区并被赋予一个分区字母。在linux下除非你加载一个分区或设备,否则系统不会知道那个分区的存在。

这看上去也许不是访问分区或设备的最方便的方式,但他提供了伟大的机动性。
来看一下linux的树状文件系统结构

二 linux目录文件详解

下面我们逐一了解下整个目录
/ 根目录,一切文件都在他之下
/bin 存放必要的命令 例如 ls cat cp
/boot 存放系统内核以及启动所需文件 我们看到grub就在他里面
/dev 存放设备文件 如我硬盘,/dev/hda 光驱 /dev/cdrom
串口 /dev/tty 刚说了一切皆文件,访问设备就是访问文件刚目录就是访问设备的入口
/etc 存放系统的配置文件 ,所有系统管理所需要的配置文件和子目录
比如/etc/profile /etc/bash.rc
/home 用户文件的主目录,相当于windos下C:\Users,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的 比如/root /lv-linux
前者是root 用户,后者是普通用户
/lib 存放的是系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库
/proc 该目录是一个虚拟的目录,是系统内存的映射,我们可以通过直接访问来获取系统信息,存放存储进程和系统信息
/usr 包含了一般不需要修改的应用程序,命令程序文件、程序库、手册和其它文档,类似于Windows下的Program Files目录,用户的很多应用程序和文件都存放在该目录下
/media 系统自动识别外设的挂载点 如u盘
/mnt 为用户提供的临时挂载点, 存放临时的映射文件系统,我们常把软驱和光驱挂装在这里的floppy和cdrom子目录下
/opt 额外安装软件所设置的目录,该目录默认为空.比如可以安装mysql数据库到这里
/sbin:s就是Super User的意思,该目录存放的是系统管理员使用的系统管理程序
/usr/bin:该目录存放的是系统用户使用的应用程序。
/usr/sbin: 该目录存放的是超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src :该目录是内核源代码默认的放置目录。

三:几种文件类型介绍

输入ls -l
第一列第一个字符就是文件类型
'd' 表示该文件为目录;
'-' 表示该文件为普通文件;
'l' 表示该文件为链接文件(linux file),上边提到的软链接即为该类型;
'b' 表示该文件为块设备,比如 /dev/sda 就是这样的文件。
'c' 表示该文件为串行端口设备,例如键盘、鼠标。
's' 表示该文件为套接字文件(socket),用于进程间通信。

四 cd 命令

相对路径和绝对路径:
举个例子,你要从家里到公司有两种办法:
1:你从家里 到地铁站,再到公司,这条路从家里出发完整走一遍就是绝对路径
2:你恰好在公司附近的公园散步,这时候去公司,就不需要回到家里,这样就是相对路径
vi /etc/sysconfig/network-scripts/ifcfg-ens33
该路径就是绝对路径,从根下找起
比如上面我可以找操作
先 cd /etc/syconfig/network-scripts
然后执行 vi ifcfg-ens33 这时vi 后面跟的就是相对路径
如果你这在/root 下查看cat ifcfg-ens33 肯定实现不了
因为当前目录下没有该文件你还是要老老实实cat /etc/sysconfig/network-scripts/ifcfg-ens33
怎么看我当前在哪个目录下, pwd 就可以
下面介绍几中cd 用法
1 cd - 返回上次所在目录 执行两次回到当前目
2 cd ~ 进入用户家目录,比如你当前是以root用户登录,并且进入到其他目录 你可以cd ~ 就到/root
3 cd ..回到上级目录,比如你现在处在/etc/sysconfig/network-scipts 目录下
你执行cd ..就到了/etc/sysconfig 下,再执行一次就到/etc 下

五 mkdir rmdir rm ls 命令

1 mkdir 创建目录
比如我在根目录下创建一个python目录
mkdir /python 就可以
如果我要创建一个复式目录,在根下创建一个/python/program
你可以cd 到python 下 mkdir program
你也可以 直接执行 mkdir -p /python/program
2 rmdir 删除目录
rmdir 只能删除非空目录,如果包含文件文件无法删除
rmdir -p 也只能删除非空复式目录,
举例: mkdir -p /123/456/789
这时 rmdir -p /123/456/789 可以全部删除
如果touch /123/456/789/a.txt
此时 rmdir -p 无法删除任何文件
如果 touch /123/a.txt
rmdir -p 可以删除掉/456/789 保留 /123/a.txt
3 rm 删除文件和目录
rm 不跟参数只能删除文件,不能删除目录
rm -rf 可以删除任意目录或文件
例如 touch /123/456/789/a.txt
rm /123/456/789/a.txt 可以删除a.txt 其他目录均保留
touch /123/1.txt /123/456/2.txt /123/456/789/3.txt
此时用rm -r /123/456/789可以删除3.txt 和789目录,要根据提示输入两次yes
rm -rf /123/456/789 全部删除
带v参数 rm -rfv 可以看到执行过程
4 ls 命令
ls 是list 的意思,罗列目录文件下的内容,下面我么介绍几种用法:
ls -a 显示所有文件和目录 (看查看到隐藏文件)
-l 以长格式显示,每行只显示一个
-i 显示文件索引节点号(inode)。一个索引节点代表一个文件
-t 按文件的修改时间由近及远排序显示
-d 仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表
-h 可以直观显示文件大小
-c ls不带参数的默认输出,多列显示
例子: ls -al | grep '^d' 显示所有目录

Linux 学习总结(五)-linux 文件系统及相关命令的更多相关文章

  1. Linux学习笔记(五) 账号管理

    1.用户与组账号 用户账号:包括实际人员和逻辑性对象(例如应用程序执行特定工作的账号) 每一个用户账号包含一个唯一的用户 ID 和组 ID 标准用户是系统安装过程中自动创建的用户账号,其中除 root ...

  2. Linux学习笔记之 Btrfs文件系统简介及使用

    Btrfs 也有一个重要的缺点,当 BTree 中某个节点出现错误时,文件系统将失去该节点之下的所有的文件信息.而 ext2/3 却避免了这种被称为”错误扩散”的问题. Btrfs相关介绍: Btrf ...

  3. Linux学习之二-Linux系统的目录结构

    Linux学习之二-Linux系统的目录结构 在Linux的根目录下,有很多的目录,但是需要记住,对于Linux而言,一切皆文件.因此此处的目录也是文件.用ls / 命令就能看到根目录下的各类不同的目 ...

  4. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

  5. Linux学习心得之 Linux下ant安装与使用

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下ant安装与使用 1. 前言2. ant安装3. 简单的a ...

  6. linux学习书籍推荐linux学习书籍推荐

    引用地址:http://www.cnblogs.com/notepi/archive/2013/06/15/3137103.html Linux 学习书目推荐 Linux基础 1.<Linux与 ...

  7. Redis学习笔记(二)-key相关命令【转载】

    转自 Redis学习笔记(二)-key相关命令 - 点解 - 博客园http://www.cnblogs.com/leny/p/5638764.html Redis支持的各种数据类型包括string, ...

  8. Linux 学习笔记 2:文件系统

    1.文件系统层次结构 系统目录内容: /: 根目录(之后的/都是目录分隔符) /home:用户目录 /bin: Unix常用命令,如bash, date, cat, tar等 /sbin: 管理员命令 ...

  9. Linux学习笔记之Linux相关知识

    [想成为某一方面的大神,没有捷径可走,只能不断的记录.练习.总结.coding……] notes:主要从网上摘录了一些关于Linux的历史以及一些相关内容,以便对Linux系统有一定的了解.这不但可以 ...

随机推荐

  1. 删除trigger 禁用触发器 启用触发器 查看触发器

    删除trigger drop trigger 触发器名 on 在那个表上 禁用触发器 Alter Table 表名 disable trigger 触发器名 启用触发器 Alter Table 表名 ...

  2. NodeJs接口token认证express框架passport实现方式Bearer认证

    1.生成一个简单的express项目(命令:express passport-test),项目结构如下: 2.添加项目依赖: npm install passport --save npm insta ...

  3. request方法总结

     1.获得指定的头 String header = response.getHeader("user-agent"); 2.获得所有头的名称 Enumeration<Stri ...

  4. SZU2

    CF:Problem 425A 区间暴力,枚举区间.交换选定区间最小值和剩余区间最大值k次. 其实等同于将剩余区间最大k个加到选定区间里,然后排序 #include <iostream> ...

  5. Centos 7 系统安装(简单步骤)

    前面步骤忽略.进入安装步骤. 运行安装 到选择语言的时候最好选英文版,这里做模板,用的中文版 接着下一步到安装选项 在日期和时间里,选择上海时区 紧接着进行软件安装选择,如图安装就好 接着进行分区,也 ...

  6. mongoDB (mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

    MongoDB - 简介 官网:https://www.mongodb.com/ MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储 ...

  7. C语言实现整数数组的逆置算法

    读入100个整数到一个数组中,写出实现该数组进行逆置的算法. 方法一: 假设100个整数读入到数组a中,算法f1的思想是分别从数组两端依次将对应数进行交换,即a[i]与a[100 - i - 1]进行 ...

  8. Visual Studio Code使用Open In Browser打开的是记事本

    今天在家里学习前端开发,发现Visual Studio Code使用Open In Browser插件快速打开浏览器有问题,打开的是操作系统的记事本. 后来发现电脑的html文件默打开方式被改成了记事 ...

  9. vs生成的exe程序和相关dll打包

    原文:http://blog.csdn.net/yhhyhhyhhyhh/article/details/50782897   打包工具:Inno Setup 编译器  源文件 :vs生成的.exe和 ...

  10. 用opencv做的静态图片人脸识别

    这次给大家分享一个图像识别方面的小项目,主要功能是识别图像中的人脸并根据人脸在图片库找出同一个与它最相似的图片,也就是辨别不同的人. 环境:VS2013+opencv2.4.13 主要是算法:open ...