【文件系统】目录结构及文件基本操作

一、Linux目录结构

Linux目录结构和Windows目录结构从实现机制来看是完全不同的:一种不同体现在目录与存储介质(磁盘,内存,DVD等)的关系上,Windows一直是以存储介质为主的,主要以盘符(C盘,D盘...)及分区来实现文件管理,然后下一层才是目录,所以目录就显得不是那么重要了,除系统文件意外的用户文件放在任何地方任何目录都是没有多大关系的。UNIX/Linux恰好相反,UNIX是以目录为主的,Linux也继承了这一优良特性。Linux是以树形目录结构的形式来构建整个系统的,可以理解为一个用户可操作系统的骨架。无论是目录结构还是操作系统内核都是存储在磁盘上的,但从逻辑上来说Linux的磁盘是“挂在”目录上的,每一个目录不仅能使用本地磁盘分区的文件系统,也可以使用网络上的文件系统,比如利用网络文件系统(NFS)载入某个特定目录等。

1.FHS标准

Linux的目录结构虽然复杂,但是它其中大部分目录结构是规定好了的,是符合FHS标准的,当你掌握好后,你的一切操作都会变得尽然有序。

FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数Linux版本采用这种文件组织形式。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。

FHS定义了两层规范:

  • 第一层是规范了“/”下面的各个目录应该要放什么文件数据。例如/etc放置设置文件,/bin与/sbin则应该要放置可执行文件等等。

  • 第二层是针对/usr及/var两个目录的子目录来定义。例如/var/log放置系统登录文件,/usr/share放置共享数据等等。

FHS详细规范可参考:FHS_2.3 标准文档

符合FHS规范的目录层级

最直观的查看系统目录机构的方法是通过tree命令:

tree命令查看目录结构

FHS是根据以往无数Linux用户和开发者的经验总结出来的,并且会持续更新,FHS依据文件系统使用的平凡与否以及是否允许用户随意改动(注意,不是不能,是能否随意),将目录定义为四种交互作用的形态,如下表所示:

可分享的(shareable) 不可分享的(unshareable)
不可变的(static) /usr(软件文件) /etc(配置文件)
/opt(第三方软件文件) /boot(开机及内核文件)
可变动的(variable) /var/mail(用户邮件) /var/run(程序相关)
/var/news(新闻组) /var/lock(文件锁相关)

2.目录路径

使用cd命令可以切换目录,在Linux里面使用.表示当前目录,..表示上一级目录(以.开头的文件都是隐藏文件,所以这两个目录都是隐藏的,可以通过ls -a命令查看隐藏文件),-表示上一次所在目录,~通常表示当前用户的“home”目录,使用pwd可以获取当前所在绝对路径。

  • 绝对路径:以根“/”目录为起点的完整路径;

  • 相对路径:以当前目录“.”为起点,以要到的目录为终点,如:usr/local/bin

相对路径实际山并没有加上当前目录的那个“.”,而是直接以目录名开头,因为usr目录是当前目录的子目录,;如果是当前目录的上一级目录,则需要使用“..”。

提示:在进行目录切换过程中,请多次使用Tab键自动补全,可避免输入错误,连续按两次Tab可以显示出全部候选结果

二、Linux文件的基本操作

1.新建

  • 新建文件:
    touch,touch命令主要是来更改已有文件的时间戳的,但在不加任何参数的情况下,可以创建一个指定文件名的空白文件(不会覆盖已有同名文件):

    新建文件

  • 新建目录
    mkdir,mkdir命令可以创建一个空目录,也可同时指定创建目录的权限属性:

    新建目录

2.复制

  • 复制文件
    cp,cp命令复制一个文件或目录到指定目录。

  • 复制目录
    cp -r,直接使用cp命令复制一个目录会报错,要成功复制需要加上-r-R

    复制目录

3.删除

  • 删除文件
    rm,rm命令删除一个文件或目录。删除只读文件需要使用-f参数进行强制删除:

    删除文件

  • 删除目录
    rm -r,跟复制目录一样,如果要删除一个目录,也需要加上-r-R参数:

    删除目录

4.移动和重命名

  • 移动文件
    mv,mv命令用来移动文件,用法mv <filename> <dest-dir>

    移动文件

  • 重命名文件
    mv,mv命令也可以用来重命名文件,用法mv <filename> <new-filename>

    重命名文件

  • 批量重命名
    rename,rename命令可以用来实现批量重命名。

    批量重命名

rename是先使用第二个参数的通配符匹配所有后缀为.txt的文件,然后使用第一个参数提供的正则表达式将匹配的这些文件的.txt后缀替换成.c,这一点可以参考sed命令。

5.查看

标准输入输出:当我们执行一个shell命令行时通常会自动打开三个标准文件:标准输入文件(stdin),默认对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应被重定向到终端的屏幕。进程从标准输入文件中得到的输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。

  • 使用cattacnl命令查看文件

    • cat:正序打印文件内容到标准输出,cat -n可以显示行号。

    • tac:倒序打印文件内容到标准输出。

    • nl:添加行号并打印,这是比cat -n更专业的行号打印命令。

      nl命令帮助1

      nl命令帮助2

  • 使用moreless命令分页查看文件

    • more:默认只打开一屏内容,终端底部显示当前阅读的进度,使用Enter向下滚动一行,使用Space键向下滚动一屏,按下h显示帮助,q退出。

    • less:集成了vi和more的功能。

  • 使用headcat命令查看文件

    • head:查看文件头几行(默认10行,不足10行显示全部),结合-n参数设置查看的行数。

    • tail:查看文件尾几行,结合-n参数设置查看的行数,-f参数实现不停地读取某个文件尾部的内容并显示。

  • 使用file查看文件类型

    file查看文件类型

6.编辑

在Linux下编辑文件通常会直接使用专门的命令行编辑器(比如:emacs,vim,nano)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容