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

时间:2021-10-03 11:19:30

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