文件类型
常见的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 不会破坏已有文件 刷新时间
每个文件有三个时间戳:
- access time 访问时间,atime,读取文件内容
- modify time 修改时间,mtime,改变文件内容(数据)
- change time 改变时间,ctime,元数据发生改变(元数据 文件大小 权限 )
复制
cp(copy)备份
cp [选项]… 源文件 目标相当改名复制 文件夹 文件相当于 改名字另存为cp [选项]... 源文件... 文件夹多个源文件只能复制到文件夹
| 选项 | 说明 |
|---|---|
| -f | 覆盖目标同名文件或目录时不进行提醒,直接强制复制 |
| -i | 覆盖目标同名文件或目录时提醒用户确认 |
| -p | 复制时保持源文件的权限、属主及时间标记等属性不变 |
| -r | 复制目录时必须使用此选项,表示递归复制所有文件及子目录 |
| -a | 完整保留所有的信息 |
| -v | 可视化 |
| -u | 相当于增备,差异备份(只对文件夹起作用) |