Linus - 2 文件目录结构

Posted jackshi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linus - 2 文件目录结构相关的知识,希望对你有一定的参考价值。

1. 文件系统从根开始,“/”

2. 文件名称区分大小写

3. 隐藏文件以“.”开头

4. 路径分隔符为“/”

5. 文件命名规范

1. 文件字符最长为255个字符
2. 包括路径在内文件名称最长为4095个字符
3. 颜色表示
    1. 蓝色:文件夹
    2. 绿色:可执行文件
    3. 红色:压缩文件
    4. 蓝绿色:链接文件
    5. 灰色:其他文件
    6. 白色:文件
4. 除了除了斜杠和NULL,其他字符都可以使用
5. 对大小写敏感

6. 文件系统结构

1. /boot 引导文件的存放位置,内核文件,引导加载器都在此目录
2. /bin  所有的用户都可以使用的命令
3. /sbin   管理类的命令
4. /lib  启动时程序使用的基本库文件  .so结尾
5. /lib64 专门存放x86_64系统上的辅助库文件
6. /etc  存放配置文件
7. /home/username  普通用户的家目录
8. /root  管理员的家目录
9. /media   便携式移动设备的挂载点
10. /mnt  临时文件的挂载点
11. /dev  设备文件和特殊文件的存放位置  
12. /opt   第三方的应用的安装位置
13. /tmp  临时文件的存放位置
14. /usr  存放安装程序
15. /var  存放经常变化的文件,如日志
16. /proc  存放内核启动和进程相关的虚拟文件 
17. /sys  输出当前系统上的硬件相关的文件
18. /srv  系统上允许的应用到的数据

7. linux应用程序的组成

1. 二进制文件
    /bin
    /sbin
    /usr/bin
    /usr/sbin
    /usr/local/bin
    /ust/local/sbin
2. 库文件
    /lib
    /lib64
    /usr/lib
    /usr/lib64
    /usr/local/lib
    /usr/local/lib64
3. 配置文件
    /etc
    /etc/name
    /usr/local/etc
4. 帮助文件
    /usr/share/man
    /usr/share/doc
    /usr/local/share/man
    /usr/local/share/doc

8. 绝对路径和相对路径

绝对路径
    以根开始,完整的文件的存放位置,可以读到任何一个文件
相对路径
    相对于当前位置来决定,可以简短的表示一个文件
    . 代表当前目录
    .. 代表父目录


补充
basename   # 当前文件夹名或文件名
dirname  # 当前文件所在的文件夹名

9. 切换目录

cd : change directory
1. cd 切换到家目录
2. cd -切换到上一次目录
3. pwd   显示当前的工作目录  print working directory
4. cd lib
  pwd -p 查看链接的真正目录

10. 列出文件或目录

ls   list

1. ls -a     # 显示所有的文件
2. ls -l      # 以长格式显示文件列表
3. ls -R     # 递归显示目录
4. ls -d     # 显示目录本身
5. ls -1     # 文件分行显示,数字1
6. ls -S     # 按照文件大小排序
7. ls -r      # 倒序显示
8. ls -t      # 按照时间排序
9. ls -lh     # 显示人类易读的方式
10. ls -d */   # 显示当前文件夹下的文件夹
11. l.         # 只显示隐藏文件

11. linux下的文件类型

1. -   # 表示文件
2. d   # 表示目录
3. b   # 块设备
4. c   # 字符设备
5. |   # 符号链接文件
6. s   # socket套接字

12. 查看文件的状态

[root@localhost jack]# stat a.txt
  文件:"a.txt"
  大小:0             块:0          IO 块:4096   普通空文件
设备:fd00h/64768d    Inode:33697315    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:user_home_t:s0
最近访问:2020-05-29 17:14:00.741424250 +0800   # Access
最近更改:2020-05-29 17:14:00.741424250 +0800  # Modify
最近改动:2020-05-29 17:14:00.741424250 +0800  # Change
创建时间:-

13. touch

创建空文件和刷新时间:如果不存在则创建空文件,如果文件不存在则刷新文件时间
-a  只修改atime和ctime
-m 只修改mtime和ctime

14. 文件通配符

1. *     # 所有
2. ?    # 任意的单个字符,与正则不同
3. ~     # 用户家目录
4. [123]  # 其中一个
5. [0-9]   # 其中一个
6. file[a-z]  # 除Z以外的所有字母
7. file[A-Z]  # 除a以外的所有字符
8. file[a-zA-Z] # 所有字母
9.[:lower:]    # 小写字母
10. [:upper:]  # 大写字母
11. [:alpha:]  # 所有字母
12. [:alnum:]  # 数字和字母
13. [:digit:]  # 数字

15. 创建目录

mkdir  = make directory
1. mkdir -p   # 递归创建目录
2. mkdir -pv  # 显示创建的详细过程,v

16. 显示目录树

安装:yum install -y tree
1. tree  目录  # 显示目录树
2. tree -d  目录  # 只显示文件夹
3. tree -L#  目录   # 只显示#层

17. 删除目录

rmdir 目录名  # 只能删除非空目录
1. rmdir -p 目录名  # 递归删除,只能删除空父目录
2. rmdir -pv  目录名   # 显示删除过程,v
3. rm -rf  删除费控目录

18. 复制文件和文件夹

cp  = copy

用法:cp [选项]... [-T] 源文件 目标文件
 或:cp [选项]... 源文件... 目录
 或:cp [选项]... -t 目录 源文件...

1. -i    # 显示提示信息

2. -n    # 不覆盖

3. -f    # 覆盖

4. -r/-R    # 递归复制

5. -s    # 复制快捷方式

6. -d    # 只复制连接文件,不复制源文件

7. -a    # 归档

8. -b    # 备份原来的文件

9. --backup=number    # 备份文件加上数字

10. -p    # 保留原来的属性

 

如果源文件是文件的话:

  1. 目标是文件:

    目标文件如果不存在的话,新建目标文件

    目标文件存在的话,默认是直接覆盖,可以用 -i 来提示用户是否覆盖

  2. 目标是文件夹

    在文件夹中新建一个同名文件,并把文件内容写到新文件中

如果源文件是多个文件的话

  目标必须是文件夹,文件夹必须存在,其他情况会报错

如果源文件是文件夹的话

  目标文件必须是文件夹,必须使用-r选项

  如果目标文件不存在:则直接创建目标文件夹,并把源文件的数据都复制到目标文件夹

  如果目标文件存在:

    如果是文件的话,会报错

    如果是文件夹:则在目标文件夹创建同名文件夹,并把需哦有数据都复制到新文件夹

19. 移动,重命名

mv   move

用法:mv [选项]... [-T] 源文件 目标文件
 或:mv [选项]... 源文件... 目录
 或:mv [选项]... -t 目录 源文件...

1. -i    # 提示信息

2. -f    # 强制

3. -b    # 备份

4. --back=number    # 备份后面加数字

5. -v    # 显示过程

20. 删除

rm   remove 

1. -i    # 提示
2. -r/-R # 递归删除
3. -f # 强制删除

4. rm -rf 慎用

21. 链接

软链接
    相当于快捷方式
  ln -s 源文件 目标文件
  可以跨分区
  源文件发生改变,目标文件也会改变
  源文件删除,目标软链接不能访问
硬链接
  ln 源文件 目标文件
  不能对目录做硬链接
  不能跨分区
  源文件发生改变,目标文件也会改变
  源文件删除,目标硬链接仍可访问
 

22. 查看文件类型

file

 

看到p481

 

https://www.bilibili.com/video/BV1w7411e7mB?p=482

以上是关于Linus - 2 文件目录结构的主要内容,如果未能解决你的问题,请参考以下文章

向Linus学习,让代码具有good taste

14.VisualVM使用详解15.VisualVM堆查看器使用的内存不足19.class文件--文件结构--魔数20.文件结构--常量池21.文件结构访问标志(2个字节)22.类加载机制概(代码片段

VSCode自定义代码片段5——HTML元素结构

VSCode自定义代码片段5——HTML元素结构

VSCode自定义代码片段5——HTML元素结构

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途