一 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. sublime text 2编辑器中文问题

    Sublime Text 2是一个非常不错的源代码及文本编辑器,但是不支持GB2312和GBK编码在很多情况下会非常麻烦.不过Sublime Package Control所以供的插件可以让Subli ...

  2. smarty assign 赋值

    assign赋值 void assign (mixed var) void assign (string varname, mixed var) This is used to assign valu ...

  3. ES6,先知道这些必会的才行

    变量声明 const 和 let 不要用 var,而是用 const 和 let,分别表示常量和变量.不同于 var 的函数作用域,const 和 let 都是块级作用域. const DELAY = ...

  4. Java 8 读取文件

    以前的Java版本中读取文件非常繁琐,现在比较简单.使用Java8的Files以及Lambda,几句代码就可以搞定. public static String getXml() { StringBuf ...

  5. Maven打包时,不包含jar包

    在给Maven项目打war包时,如果不想把依赖中的jar包也包含进去,可以在plugins中加入 <span style="white-space:pre"> < ...

  6. Cocos2d-js 开发记录:基本图形绘制

    做着做着想要用基本绘图函数画个矩形,在cocos2d-js 3.0里可以使用DrawNode var dn = new cc.DrawNode(); var ltp = cc.p(0, 32); va ...

  7. laravel验证规则

    就拿laravel的登入验证来举例: 1.进入login控制器, use AuthenticatesUsers;从这里点进去找到验证规则 //验证protected function validate ...

  8. SPOJ QTREE7

    题意 一棵树,每个点初始有个点权和颜色 \(0 \ u\) :询问所有\(u,v\) 路径上的最大点权,要满足\(u,v\) 路径上所有点的颜色都相同 $1  u \(:反转\)u$ 的颜色 \(2 ...

  9. inline-block和float的区别,什么时候使用

    文章转载于新浪博客http://blog.sina.com.cn/s/blog_5f39af320101qckt.html 只用于学习交流 什么时候使用inline-block,什么时候使用float ...

  10. python anaconda 安装 环境变量 升级 以及特殊库安装

    Anaconda 是一个旗舰版的python安装包, 因为普通的python没有库, 如果需要安装一些重要的库, 要经常一个一个下载,会非常麻烦. 所以这个一个集成的, 可以手动批量升级的软件. 而且 ...