linux文件类型和基础命令

162 阅读4分钟

文件类型

常见的Linux文件类型

1 ddirectory 目录文件

2 bblock 块设备文件,保存大块数据的设备,比如硬盘

3 c字符设备 character 这些文件通常隐藏在/dev/目录下

4 l连接文件link

5 p管道文件pipe

主要用于进程间通信单向传输一个 发一个管道文件

6 s 套接字文件 socket 套接字文件一般隐藏在/var/run/目录下,用于进程间的网络通信

7 -普通文件 普通文件,包括纯文本文件,二进制文件,各种压缩文件等

基础命令

ls

生产环境中慎重直接使用,文件量过大会直接死机(有的服务器上的文件是千万级别) 用法

ls [选项].. [文件或目录..]

-l 以长格式显示文件和目录列表 ll=ls -l -a 显示全部隐藏文件包括. 和..

-A 显示全部隐藏文件不包括.和..

-d 仅列出目录本身,而不是列出目录内的文件数据

-h 有好的显示文件大小(人性化显示)

-R 递归显示该目录及子目录的内容

-t 时间顺序显示

--color 显示颜色

-S 以文件内容大小排序 当 ls 命令不使用任何选项时,默认只会显示非隐藏文件的名称,并以文件名进行排序,同时会根据文件的具体类型给文件名配色

通配符

符号效果
匹配一个字符 f?.txt
*匹配所有非隐藏的字符无论多长多短,但不匹配 "." 开头的文件,即隐藏文件
{1..10}1到10
{a..z}a b c ...z
{A..Z}A B C .....Z
[123]([此处括号里值代表一个字符])取其中之一有就显示没有也无所谓
[a-z]单个小写字母范围需要注意
[0-9]单个数字匹配数字范围(0123456789)
\转义符,表示原来的意思
[[:lower:]]小写字母表示 a-z
[[:upper:]]大写字母表示 A-Z
[^zhou]匹配列表中的所有字符以外的字符
[[:digit:]]任意数字,相当于0-9
[[:alpha:]]任意字母

alias 临时修改

用法

alias

  • alias 命令别名=’命令‘
  • unalias 别名命令 删除别名
  • \加别名命令 (显示原始命令)

du(disk usage)

查看当前所在文件夹占用了磁盘的多少单元块。默认1单元块为4K, 不满4K 按4k算。

du [选项] [文件或目录… ]

选项说明
-a统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
-s(--summarize)只统计所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小
--max-depth=n (-d 1)最大显示到第n层
--exclude不计入统计

硬连接与软连接文件

硬连接 同一个文件取不同的名或者叫多个名字不支持文件夹,创建一个连接数加一,多路径访问。

软连接 类似于windows里快捷方式,软连接,符号连接,会指向原来的文件(应该使用什么路径? 1绝对?2 相对?). /opt /mnt

ln(link)

ln [-s] 源文件或目录… 链接文件或目标位置

加s是软连接 符号连接

对比项硬链接软链接
本质本质是同一个文件本质不是同一个文件
inode(身份证号)相同不同
连接数创建新的硬链接,链接数会增加,删除硬链接,链接数减少删除,新建都不会改变
文件夹不支持支持
删除源文件只是链接数减一,但链接文件的访问不受影响无法访问连接文件
文件类型和源文件相同链接文件,和源文件无关
文件大小和源文件相同(指向硬盘上的同一个文件)源文件的路径的长度

touch

  • touch 新文件…(可为空) 文件名 不存在就是新建空文件
  • touch 不会破坏已有文件 刷新时间

每个文件有三个时间戳:

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

复制

cp(copy)备份

  1. cp [选项]… 源文件 目标 相当改名复制 文件夹 文件相当于 改名字另存为
  2. cp [选项]... 源文件... 文件夹 多个源文件只能复制到文件夹
选项说明
-f覆盖目标同名文件或目录时不进行提醒,直接强制复制
-i覆盖目标同名文件或目录时提醒用户确认
-p复制时保持源文件的权限、属主及时间标记等属性不变
-r复制目录时必须使用此选项,表示递归复制所有文件及子目录
-a完整保留所有的信息
-v可视化
-u相当于增备,差异备份(只对文件夹起作用)