一 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. 关于asp.net假分页的删除操作的随笔

    作为一个新人,上周负责优化一个后台管理系统,遇到一个问题:点击删除按钮之后,页面又回到了第一页. 而我需要达到的效果是:点击了删除按钮之后,原来是那一页,删除后还是在那一页. 由于项目是已经验收了的, ...

  2. Windows Server: 将虚拟机迁移到 Azure (以阿里云为例)

    Azure 虚拟机能很容易地导出 vhd 并迁移到各种环境中,包含本地及云端环境,或者迁移至其他区域.这为开发.测试.扩展带来了极大的便利.本文以阿里云为例,阐述如何将Windows Server 的 ...

  3. Java温故而知新(1)集合类

    Java中的集合类有以下所属关系:Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└Wea ...

  4. java实现mysql的备份还原

    此文章是基于 1. 搭建Jquery+SpringMVC+Spring+Hibernate+MySQL平台 2. jquery+springMVC实现文件上传 一. 简介 备份和导入是一个互逆的过程. ...

  5. Spring_Spring的特点

    一.非侵入式编程 Spring框架的API不会再业务逻辑上出现,即业务逻辑是POJO(Plain Ordinary Java Object).由于业务逻辑中没有Spring的API,所以业务逻辑可以从 ...

  6. IntelliJ IDEA16 热部署,解决每次修改java文件就得重启tomcat的问题

    这样就可以了....

  7. 表格 滚动条 (tbody部分滚动)

    本文是从简书复制的, markdown语法可能有些出入, 想看"正版"和更多内容请关注 简书: 小贤笔记 html <table> <thead> < ...

  8. stylish——一键为网页换肤,改变字体大小,去除广告

    今天给大家介绍的是一款非常好用的插件stylishstylish是一款可以为网站自定义主题的插件 可以在chrome的应用商店找到也可以通过网址访问https://userstyles.org/ 应用 ...

  9. Keras 时序模型

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Thinking_boy1992/article/details/53207177 本文翻译自 时序模 ...

  10. Javascript之全局变量和局部变量部分讲解

    以此文作为自己学习的一个总结. 关于全局变量和局部变量的一句简单的定义:在函数外声明的变量都为全局变量,在函数内声明的为局部变量. 一.局部变量和全局变量重名会覆盖全局变量 var a = 1; fu ...