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