linux 目录结构及文件基本操作

1.FHS标准

  Linux 的目录结构说复杂很复杂,说简单也很简单。复杂在于,因为系统的正常运行是以目录结构为基础的,对于初学者来说里面大部分目录都不知道其作用,重要与否,特别对于哪些曾近的重度 Windows 用户,他们会纠结很长时间,关于我安装的软件在哪里这类问题。说它简单是因为,它其中大部分目录结构是规定好了(FHS 标准),是死的,当你掌握后,你在里面的一切操作都会变得井然有序。

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

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

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

FHS_2.3 标准文档

关于上面提到的 FHS,这里还有个很重要的内容你一定要明白,FHS 是根据以往无数 Linux 用户和开发者的经验总结出来的,并且会维持更新,FHS 依据文件系统使用的频繁与否以及是否允许用户随意改动(注意,不是不能,学习过程中,不要怕这些),将目录定义为四种交互作用的形态。

2.目录路径

  路径:进入某个具体的目录或者想获得某个目录文件(目录本身就是文件),那就需要路径来找到。

  使用cd命令可以进行切换目录,在Linux 中. 表示当前目录,..表示上一级目录(. 或者.. 及为隐藏文件,在Linux 中可以用 ls -a),-表示上一次所在目录,~表示当前用户的“home”目录。pwd命令可以获取当前命令。

  

cd .. //返回上一目录
pwd //获取当前目录
cd ~     //进入家目录 
cd -  //返回上一次目录

  绝对路径   已根'/'目录为起点的完整目录,以你所要到的目录为终点。   

cd /usr/local/bin

  相对路径 也就是说,相对于你当前的目录路径‘.’,以你所要到的目录为终点  

cd ../../usr/local/bin

2.Linux 文件的基本操作

  2.1 touch 创建空白文件。 

cd ~
touch test

  2.2 mkdir 新建目录 

mkdir mydir

  使用-p 参数,同时创建父目录,如果目录不存在。也可创建一个多级目录

mkdir -p father/son/grandson
cd father/son/grandson
pwd
     /home/test/father/son/grandson

  2.3cp (copy) 命令复制一个文件或目录到指定目录。

  复制文件  

cp test father/son/grandson

  复制目录

mkdir family
cp -r father family

 -r 或 -R 表示递归

  2.3 rm 删除一个文件或目录

  删除文件

rm test

  删除目录 

rm -r family

你如果想忽略这提示,直接删除文件,可以使用-f参数强制删除

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

  2.4 mv 移动文件与文件重命名

  mv 源目录文件 目的目录:

  移动文件  

touch file1
ls file1
    file1
mv file1 documents
cd documents
ls
    file1

  重命名文件

  mv 旧的文件名 新的文件名: 

mv file1 myfile

  2.5 cat,tac,nl 查看文件

    cat :正序显示 tac:倒序显示

cp /etc/passwd .
cat -n 1 passwd
    1 root:x:0:0:root:/root:/bin/bash

  nl命令,添加行号并打印,比cat -n 更专业的打印命令

  -b : 指定添加行号的方式,主要有两种:

    -b a:表示无论是否为空行,同样列出行号("cat -n"就是这种方式)

    -b t:只列出非空行的编号并列出(默认为这种方式)

  -n : 设置行号的样式,主要有三种:

     -n ln:在行号字段最左端显示

     -n rn:在行号字段最右边显示,且不加 0

     -n rz:在行号字段最右边显示,且加 0

   -w : 行号字段占用的位数(默认为 6 位)

nl -b a file
    1 root:x:0:0:root:/root:/bin/bash
    2
    3 root:x:0:0:root:/root:/bin/bash
nl -b t file
    1 root:x:0:0:root:/root:/bin/bash
    
    2 root:x:0:0:root:/root:/bin/bash

nl -n ln file
1     root:x:0:0:root:/root:/bin/bash    

2     root:x:0:0:root:/root:/bin/bash
nl -n rz file
000001 root:x:0:0:root:/root:/bin/bash

000002 root:x:0:0:root:/root:/bin/bash
nl -w 2 -n rz file
01     root:x:0:0:root:/root:/bin/bash

02     root:x:0:0:root:/root:/bin/bash

  2.6 more 和 less 命令分页查看文件

  more 和less 主要查看文件的内容

more passwd

  打开后默认只显示一屏内容,终端底部显示当前阅读的进度(百分比)。可以使用Enter键向下滚动一行,使用Space键向下滚动一屏,按下h显示帮助,q退出

  2.7 head和tail 查看文件这,两个命令那些性子比较急的人应该会比较喜欢,因为它们一个是只查看的头几行(默认为10行,不足10行则显示全部)和尾几行。 

tail /etc/passwd

甚至更直接的只看一行, 加上-n参数,后面紧跟行数

tail -n 1 /etc/passwd

  2.7 file 可查看文件类型 

file /bin/ls

 

  

posted @ 2015-10-13 17:36  Mihok  阅读(301)  评论(1编辑  收藏  举报