Linux基础知识(二):文件管理

Linux系统文件和目录的命名规则

  1. 区分大小写。
  2. 名称的长度不能超过255个字节。
  3. 文件的绝对路径最大长度为4095字节。
  4. 可使用除了斜杠和NUL之外的任何字符做为合法的名称,实际运用中应该尽可能避免使用特殊字符和空格命名目录和文件。
  5. 以点号开头的文件是隐藏文件,须要使用ls -a命令才能查看相关信息。
  6. 文件的扩展名仅用于区分文件类型,没有特殊的含义。

Linux系统目录的用途

1. bin:存放Linux系统的引导文件,包括内核文件、GRUB引导加载器
2. boot:存放全部用户可使用的Linux命令
3. dev:存放各类设备文件和特殊的文件
4. etc:存放Linux系统和各类软件的配置文件
5. home:普通用户的家目录,存放普通用户相关的文件
6. lib:存放各类程序运行时须要使用的库文件和内核模块文件
7. lib64:存放64位程序运行时须要使用的库文件
8. media:挂载U盘、移动硬盘等移动存储设备
9. mnt:挂载文件系统,如NFS、ISO文件
10. opt:存放用户安装的第三方软件
11. proc:存放内核与进程
12. root:root用户的目录,存放root用户相关的文件
13. run:存放系Linux统启动之后的信息
14. sbin:存放拥有管理员权限的用户才可使用的Linux命令
15. srv:存放各类服务相关的文件
16. sys:保存硬件设备的相关信息
17. tmp:保存临时文件
18. usr:保存用户安装的软件、共享库文件
19. var:保存系统和应用程序的日志文件

Linxu系统文件的元数据

在Linux系统中,文件的元数据是指文件属性信息,使用ls -l命令能够查看,主要包括如下几点:node

1. 文件类型
2. 权限
3. inode数
4. 全部者
5. 所属组
6. 大小
7. 建立时间
8. 文件名

修改文件的时间戳信息

Linux系统中的文件有三个时间戳:vim

1. access time 访问时间,atime,读取文件内容后改变
2. modify time 修改时间,mtime,改变文件内容(数据)后改变
3. change time 改变时间,ctime,元数据发生改变后改变

由三个时间戳的定义可知,使用cat命令查看文件会修改atime,使用vim修改文件内容后会修改3个时间戳。
除此以外,使用touch命令能够自定义文件的atime和mtime。ide

# 自定义文件的atime
touch -a -d "2019-10-10 20:00" anaconda-ks.cfg

# 自定义文件的mtime
touch -m -d "2019-10-20 20:00" anaconda-ks.cfg

# 自定义文件的atime和mtime
touch -d "2019-10-30 20:00" anaconda-ks.cfg

软连接和硬连接的区别

对比 硬连接 软连接
同一文件
支持跨分区
支持连接目录
inode 相同 不一样
建立连接文件后原文件的连接数 增长 不变
原文件的相对路径 相对于当前工做目录 相对于软连接文件的相对路径
删除原文件 连接数减一,能够访问硬连接文件 没法访问软连接文件
文件类型 和原文件相同 连接文件

实际的演示以下图:
Linux基础知识(二):文件管理日志

Linux文件管理类命名总结

(1)ls命令能够查看当前目录或者指定目录的内容code

# 查看当前目录下的全部文件
ls -a
# 查看/boot目录下文件的详细信息
ls -l /boot

(2)stat命令能够查看文件状态信息blog

# 查看anaconda-ks.cfg文件的状态信息
stat anaconda-ks.cfg

(3.)file命令用于查看指定文件的文件类型进程

# 查看/dev/sda的文件类型
file /dev/sda

(4.)touch命令用于建立空文件和修改文件的时间戳it

# 建立空文件
touch file1

# 修改文件的时间戳
touch anaconda-ks.cfg
touch -d "2019-10-30 20:00" anaconda-ks.cfg

(5)cp命令用于复制文件table

# 复制anaconda-ks.cfg到/tmp目录
cp anaconda-ks.cfg /tmp

# 复制/etc目录到/tmp目录
cp -r /etc/ /tmp

(6)命令用于移动文件或者重命名文件class

# 将anaconda-ks.cfg重命名为test.txt
mv anaconda-ks.cfg test.txt

# 将test.txt移动到/tmp目录
mv test.txt /tmp

(8)rm命令用于删除文件

# 删除anaconda-ks.cfg文件
rm anaconda-ks.cfg

# 删除/opt目录
rm -rf /opt

删除文本行首的空白字符

要求:复制/etc/profile到/tmp/目录,用查找替换命令删除/tmp/profile文件中行首的空白字符

  1. 复制profile文件,而后用vim打开

    cp /etc/profile /tmp/
    vim /tmp/profile
  2. 输入“/^[[:blank:]]+”后按回车键能够查看到文件行首的空白字符
    Linux基础知识(二):文件管理
  3. 输入“:%s#^[[:blank:]]+##g”后按回车键能够删除全部行首的空白字符
    Linux基础知识(二):文件管理
    Linux基础知识(二):文件管理

设置vim的tab缩进为4个字符

临时生效:扩展命令模式下输入set tabstop=4,而后按回车键

对当前用户永久生效:echo 'set tabstop=4' >> $HOME/.vimrc

对全部用户永久生效:echo 'set tabstop=4' >> /etc/vimrc

相关文章
相关标签/搜索