1. Linux文件类型:

    1. 线性设备:也称为字符设备,如键盘等。按照顺序来访问。

    2. 块设备:随机访问设备,如硬盘。读取磁盘不按照顺序读取,无先后顺序之分。

    3. 命名管道文件:负责将一个进程的信息传递给另一个进程,从而使该进程的输出称为另一个进程的输入的内存部分

    4. 套接字文件:用于实现进程间通信,通过网络的方式将进程间的通信使用数据写入读出的方式实现,操作对象称为套接字文件

  2. 文件判断:

    1. -,f:普通文件

    2. d:目录文件

    3. l:链接文件

    4. c:字符设备文件

    5. b:块设备文件

    6. p:命名管道文件

    7. s:套接字文件

  3. Linux文件时间戳

    1. atime:访问时间,最近一次被访问的时间。如果文件每次被访问,都需要修改该时间,将产生大量IO降低计算机性能。因此atime可能默认关闭,或延迟写入磁盘。

    2. mtime:修改时间,修改原有数据时间

    3. ctime:改变时间,元数据发生改变的时间(权限等)

  4. touch:【TIME_format=YYYYMMDDhhmm.ss】

    1. -c:如果文件存在,则修改全部时间戳为当下时间。否则不创建文件

    2. -t:修改时间戳,不加选项则修改atime和mtime为指定时间戳。而ctime自动变化为当下时间戳

    3. -a -t TIME:仅仅修改atime,而ctime依旧自动变化为当下时间

    4. -m -t TIME:仅仅修改mtime,而ctime依旧自动变化为当下时间

  5. echo输入带颜色的字符:echo -e "\033[31mHello\033[0m"

    1. 第一个#如果是3,则为前景色;4,则为背景色

    2. 第二个#:颜色,取值为1-7

    1. \033[##m

  6. 通配符:

    1. *:任意长度的任意字符

    2. ?:匹配任意单个字符,该字符必须存在

    3. ?*:必须满足一个字符开头,其后任意字符

    4. []:匹配指定字符范围内的任意单个字符

    5. [[:upper:]]:任意单个大写字母,相当于[A-Z]

    6. [[:lower:]]:任意单个小写字母,相当于[a-z]

    7. [0-9a-zA-Z]:任意单个数字或字母

    8. [[:alpha:]]:任意单个大小写字母

    9. [[:digit:]]:任意单个数字

    10. [[:alnum:]]:所有字母和数字

    11. [[:space:]]:空格

    12. [[:punct:]]:标点符号

    13. [^]:指定范围之外的任意单个字符