技术交流QQ群:1027579432,欢迎你的加入!

一、Linux目录结构

  • 1.FHS(File System Hierarchy Standrad,文件系统层次结构标准)
    • FHS定义了两层规范,第一层是/下面的各个目录应该要放什么文件数据,例如/etc应该要放置设置文件,/bin与/sbin则应该要放置可执行文件等等。第二层则是针对/usr和/var这两个目录的子目录来定义的。例如/var/log放置系统登录文件、/usr/share放置共享数据等等。附件列出了/下目录存放的数据类型。
    • FHS是根据以往无数Linux用户和开发者的经验总结出来的,并且会维持更新,FHS根据文件系统使用的频繁与否以及是否允许用户随意改动,将目录定义为四种交互作用的形态,如下表所示:


      四种交互作用形态.png

      附件1.png

      附件2.png

      附件3.png
  • 2.Linux目录路径
    • 如果想进入某个具体的目录或想获得某个目录的文件,那就需要路径来找到。使用cd命令可以切换目录,在Linux系统中,.表示当前目录,..表示上一级目录(以.开头的文件都是隐藏文件,所以这两个目录必然也是隐藏的,可以使用ls -a命令查看隐藏文件),-表示上一次所在的目录,~表示当前用户的"home"目录。使用pwd命令可以获取当前所在路径(绝对路径)
    • 绝对路径:简单地来说就是以/目录为起点的完整路径,以你所要到的目录为终点,表现形式为:/usr/local/bin,表示根目录下的usr目录中的local目录中的bin目录
    • 相对路径:相对与你当前的目录的路径,相对路径是以当前目录.为起点,以你所要到的目录为终点。表现形式为:usr/local/bin(这里假设你当前的目录是根目录)。表示相对路径实际并没有加上表示当前目录的那个.,而是直接以目录名开头,因为这个usr目录是/目录下的子目录,.是可以省略的。如果当前目录的上一级目录,则需要使用..,而../../表示上一级目录的上一级目录。假设当前在/usr/local/bin目录,进入上一级的local目录可以使用命令cd ..或cd /usr/local;如果进入的是usr目录,cd /usr或cd ../..

二、Linux文件的基本操作

  • 1.新建
    • 新建空白文件,使用touch命令创建空白文件,关于touch命令,其主要是用来更改已有文件的时间戳(比如,最近访问的时间,最近修改的时间等),但其在不加任何参数的情况下,只指定一个文件名,则可以创建一个为指定文件名的空白文件(不会覆盖已有同名的文件)在当前目录。如,在当主目录下创建test空白文件,cd ~ touch test
    • 新建目录,使用mkdir(make directories)命令可以创建一个空白目录,也可以同时指定创建目录的权限属性。使用-p参数,同时创建父目录(如果不存在该父目录),这在有时候安装软件,配置安装路径时非常有用,mkdir -p father/son/grandson
  • 2.复制
    • 复制文件,使用cp命令复制一个文件或目录到指定目录。将之前创建的test文件复制到"/home/cdl/father/son/grandson"目录下,cp test father/son/grandson
    • 复制目录,要成功复制目录需要加上-r或-R参数,表示递归复制,如mkdir family cp -r father family
  • 3.删除
    • 删除文件,使用rm(remove files or directories)命令,删除一个文件或目录,遇到想要删除一些为只读权限的文件,直接使用rm删除会显示一个提示,如果想忽略这个提示,直接删除文件,可以使用-f参数强制删除,如 rm -f test
    • 删除目录,和复制目录一样,要删除一个目录,也需要加上一个-r或-R参数,如rm -r family
  • 4.移动文件与文件重命名
    • 使用mv(move or rename files)命令,移动文件(剪切)。如将文件file1移动到documents目录下,格式为 mv 源目录文件 目标目录,如mkdir documents mv file1 documents
    • 重命名文件,将文件file1重命名为myfile,mv 旧文件名 新文件名,如mv file1 myfile
  • 5.查看文件
    • 使用cat、tac、nl命令查看文件,这三个命令都是用来打印文件内容到标准输出,其中cat为正序显示,tac表示倒序显示。如,查看passwd文件cat passwd,可以加上-n参数显示行号cat -n passwd,nl命令,添加行号并打印,这是比cat -n更专业的行号打印命令。使用这几个命令,默认的终端窗口大小,一屏显示不完文本的内容,需要使用鼠标拖动滚动条才能继续向下阅读。如果可以直接使用键盘操作翻页,就需要more和less命令进行分页查看。
    • more命令比较简单,只能向一个方向滚动,而less为基于more和vim开发的,功能更加强大,less的使用方法和more基本一致。使用more工具打开passwd文件,如more passwd,打开后默认只显示一屏内容,终端底部显示当前阅读的进度。可以使用enter或空格进进行翻页,按下h键表示帮助,q键表示退出。
    • 使用head和tail命令查看文件,它们是只查看文件的头几行(默认是前10行,不足10行的显示全部)和尾几行,改变查看的行数加上查看的行数,加上-n参数,后面紧跟行数,如tail -n 11 /etc/passwd
  • 6.查看文件类型
    • 在Linux下面文件的类型不是根据文件后缀来判断的,通常使用file命令可以查看文件的类型:file /bin/ls
  • 7.编辑文件
    • 在Linux下编辑文件通常会直接使用专门的命令行编辑器,如(emacs vim nano),vim编辑器通常用三种模式:(1)普通模式:用的编辑器命令,比如移动光标,删除文本等,这是vim启动后的默认模式。(2)插入模式:在这个模式中,大多数按键都会向文本缓冲中插入文本。(3)命令行模式:可以输入会被解释成并执行的文本。
    • 三种模式的切换:vim启动后进入普通模式,处于插入模式或命令行模式时只需要按下Esc进入普通模式;在普通模式中按i键都可以进行插入模式;普通模式中按:进入命令行模式。命令行模式中输入wq回车后保存并退出vim,后面加!强制保存退出。