您的位置:首页 > 运维架构 > Linux

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

2015-10-13 17:36 633 查看
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


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: