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

时间:2022-10-16 12:23:02

1. linux的文件组织目录结构

linux的目录与window的区别

win以存储介质为主,主要以盘符及分区实现文件 管理,再下面才是目录。
linux以树形目录结构的形式来构造整个系统,每一个目录不仅能使用本地磁盘分区的文件系统,也能使用网络的文件系统。

1.1 FHS标准(Filesystem Hierarchy Standard)文件系统层次结构标准

  • linux其中大部分目录结构是已规定好的

  • 第一层规范

    / 下面的各个目录应该要放什么文件数据,例如 /etc 应该要放置设置文件,/bin 与 /sbin 则应该要放置可执行文件等等。

  • 第二层规范

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

    sudo apt-get install tree
    sudo tree /

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

  • FHS 依据文件系统使用的频繁与否以及是否允许用户随意改动(注意,不是不能,学习过程中,不要怕这些),将目录定义为四种交互作用的形态,如下表所示:
    linux的目录结构及文件基本操作

1.2 目录路径

  • 路径

    顾名思义,路径就是你要去哪的路线
    cd path 进入到目录 cd . 进入到当前目录(.开头都是隐藏文件) cd .. 进入到上层目录 ls -a 查看隐藏文件 cd ~ 进入到home目录
  • 绝对路径

    以根"/"目录为起点的完整路径,以你所要到的目录为终点
    cd /usr/local/bin
  • tab键可以自动补全,连按两次可以显示全部候选结果

2. linux文件的基本操作

2.1新建

  • 新建空白文件

    touch test 不会覆盖同名文件 
  • 新建目录

    mkdir mydir
    mkdir -p father/son/grandson 

2.2复制

  • 复制文件

    cp test father/son 复制到目录
    cp test testcopy 复制到另一文件
  • 复制目录

    cp -r father family 递归复制

2.3删除

  • 删除文件

    rm test 
    rm -r test 不提示直接删除
  • 删除目录

    rm -r father/son 不提示直接删除

2.4移动文件与文件重命名

  • 移动文件

    mv test Documents 移动 源目录文件 目的目录
  • 重命名文件

    mv file1 myfile 旧的文件名 新的文件名
  • 批量重命名

    要用 perl 正则表达式来作为参数
    # 使用通配符批量创建 5 个文件
    $ touch file{1..5}.txt
    # 批量将这 5 个后缀为 .txt 的文本文件重命名为 以 .c 为后缀的文件
    $ rename 's/\.txt/\.c/' *.txt
    # 批量将这 5 个文件,文件名改为大写
    $ rename 'y/a-z/A-Z/' *.c

2.5查看文件

  • 使用cat,tac和nl命令查看文件

    cat test 正序显示
    cat -n test 显示行号
    cat -nl test 添加行号并打印
  • 使用more和less命令分页查看文件

    more test 
    Enter键向下滚动一行
    Space键向下滚动一 屏
    按下h显示帮助,q退出。
  • 使用head和tail命令查看文件

    # 只查看头几行(默认为10行,不足10行则显示全部)和尾几行。
    tail test
    tail -n 1 test 只看1行
  • 查看文件类型

    file /bin/ls 
  • 编辑文件

    # vi或nano