linux 文件属性相关

文章目录

      • 文件存储介绍
      • 文件颜色含义
      • 软链接和硬链接
    • 文件目录操作
      • 压缩解压 tar
      • 目录切换 cd
      • 创建目录 mkdir
      • 删除目录 rmdir rm
      • 复制文件或目录 cp
      • 移动文件或目录 mv
      • 查看指定目录下的内容 ls
      • 文本查看 cat more tail
      • 文本编辑 vim
    • 查找
      • 查找文件 find
      • 查找文本 grep
      • 查找文件 whereis

Linux文件扩展名不代表任何含义, 仅仅是为了运维人员便于识别

文件存储介绍

在Linux中,一个文件数据可分为两大类:数据和元数据

  • 数据:泛指普通文件中的实际数据
  • 元数据:用来描述一个文件的特征的系统数据

在Linux中,一个文件的存储也会被分为两部分:inode和block

  • inode:用来存储文件的元数据
  • block:用来存储文件的真实数据,一个block空间是4k

ext4 文件系统会把分区主要分为两大部分(暂时不提超级块):

  • 小部分用于保存文件的 inode (i 节点)信息;
  • 剩余的大部分用于保存 block 信息。

inode 的默认大小为 128 Byte,用来记录文件的权限(r、w、x)、文件的所有者和属组、文件的大小、文件的状态改变时间(ctime)、文件的最近一次读取时间(atime)、文件的最近一次修改时间(mtime)、文件的数据真正保存的 block 编号。每个文件需要占用一个 inode。inode 中是不记录文件名的,那是因为文件名记录在文件所在目录的 block 中。

block 的大小可以是 1KB、2KB、4KB,默认为 4KB。block 用于实际的数据存储,如果一个 block 放不下数据,则可以占用多个 block。例如,有一个 10KB 的文件需要存储,则会占用 3 个 block,虽然最后一个 block 不能占满,但也不能再放入其他文件的数据。这 3 个 block 有可能是连续的,也有可能是分散的。

  1. 每个文件都独自占用一个 inode,文件内容由 inode 的记录来指向;
  2. 如果想要读取文件内容,就必须借助目录中记录的文件名找到该文件的 inode,才能成功找到文件内容所在的 block 块;

文件颜色含义

Linux文件颜色与文件类型对应
linux 文件属性相关_第1张图片

软链接和硬链接

Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。
硬链接:多个文件名指向同一索引节点。文件真正删除的条件是与之相关的所有硬连接文件均被删除。
软链接:也叫符号连接。类似于Windows的快捷方式。文件实际上是一个文本文件,其中包含有另一文件的位置信息。

文件目录操作

压缩解压 tar

tar:打包、压缩、解包、解压缩

  • 后缀.tar表示完成了打包,并未压缩;后缀.tar.gz打包同时也压缩了

  • -c:创建打包文件
  • -x:解包
  • -v:verbose,显示命令执行过程
  • -z:gzip,需要解压或压缩时用
  • -f:指定包名

打包

tar -cvf  hello.tar ./*   # 将当前目录下所有文件打包到hello.tar
tar -zcvf  hello.tar.gz ./*   # 将当前目录下所有文件打包并压缩到hello.tar.gz

解包

tar -xvf hello.tar     # 将hello.tar解包到当前目录
tar -zxvf hello.tar.gz     # 将hello.tar解压到当前目录
tar -zxvf hello.tar.gz -C /usr/local    # 将hello.tar解压到/usr/local目录

目录切换 cd

  • ~表示用户的home目录
  • ..上级目录
  • .当前目录

切换到用户的home目录,root用户的home目录是root目录

cd ~  

创建目录 mkdir

mkdir [-p] 目录

--p不存在则创建目录。此选项可实现多层目录同时创建

删除目录 rmdir rm

rmdir

  • 删除空目录, rmdir [-p] 目录
  • -p`子目录删除后,若父目录为空,则一并删除

rm

  • 删除文件或目录rm [-rf] name
  • -r将目录中所有删除,包括子目录中的
  • -f无需确认直接删除

复制文件或目录 cp

  • cp [-r] source dest
  • -r 复制目录时需要,会复制子目录

dir目录和dir目录下所有文件复制到newdir目录下

cp -r dir/ ./newdir/

将dir目录下所有文件复制到newdir目录下

cp -r dir/* ./newdir/

移动文件或目录 mv

  • mv source dest
  • 同目录下,若是dest不存在,就是对source重命名了

查看指定目录下的内容 ls

语法:ls [-al] [dir]

  • -a显示所有文件和目录(.开头的隐藏文件也列出)
  • -l显示详细信息,文件类型(目录or文件)、权限、拥有者、大小等
  • ls -l的简写ll

文本查看 cat more tail

cat

  • cat [-n] 文件 -n表示显示行数

more

  • 以分页形式侠士文件内容 more 文件
  • 回车键:向下滚动一行
  • 空格键:向下滚动一屏
  • b 返回上一屏
  • q或ctrl C:退出more

tail

  • 查看文件末尾的内容 tail [-f] 文件
  • -f表示仅显示最后一行;不加, 默认是显示最后10行;-20则显示最后20行

文本编辑 vim

  • vim fileName:存在则打开,不存在则创建
  • 三种模式:命令模式、插入模式、底行模式

命令模式

  • vim打开后的默认模式,该模式下,可查看文件,不可编辑
  • 方向键移动光标,gg快速到底,G快速到底

插入模式

  • 命令模式下任一按键aio可进入插入模式;ESC退回命令模式
  • 插入模式下,下面会显示 insert 字样

底行模式

  • 底行模式可以查找内容、显示行号、保存、退出等
  • 在命令行模式下,任一按键:/可进入底行模式
  • 通过/进入底行模式,可对文件内容进行查找
  • 通过:进入底行模式,可输入wq(保存并退出),q!(不保存退出),set nu(显示行号)

查找

查找文件 find

find:指定路径下查找文件
语法:find 指定目录 -option 待查找文件名

find . -name "*.java"   # 查找当前目录及子目录下的所有java文件

查找文本 grep

grep:从指定文件中查找文本内容
语法:grep 内容 文件

查找文件 whereis

  • 全局查找
whereis 文件名

你可能感兴趣的:(Linux,linux)