文件系统结构体系
dev设备类型
b:block块形设备 sda
c:char字符型设备 zero
null 黑洞设备 相当于垃圾箱无法恢复
random 生成随机数
etc类似于win的注册表
home存放用户数据
run运行中生成的数据
sbin系统管理员常用工具
bin用户
tmp临时户数据
usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
var 缓存数据 /log 日志
proc特殊目录 进程 记录正在运行的内存信息
sys 硬件相关内容
添加硬盘
文件数据类型
文件属性:元数据metadata
文件内容:数据data
文件名字255字符
文件类型
pwd打印当前工作目录
-L默认
-P显示真实路径
…/xxx 父目录
basename 基名 当前文件夹/文件
dirname 目录名 基名前的路径
cd 打开
-P 切换到实际路径
~user 回到用户家目录
- 返回前工作目录 $OLDPWD
ls
-R 列出子目录所有文件
-ld 显示目录自身的属性
-l 显示目录内文件的属性
-S 文件大小
-r 倒序
mtime 修改时间
atime 被读取时间
ctime 元数据属性更改时间
l. 只显示隐藏
文件通配符
[a-c]:aAbBc
1. ls -d l*[[:digital:]]*[[:lower:]]
2. ls /etc/[0-9]*[\^0-9] -d
3. ls /etc/[[^:alpha:]][[:alpha:]]* -d
4. ls /etc/rc[0-6]* -d
5. ls -d /etc/*.d
6. ls -d /etc/ [mnrp]*.conf
7. ls -d /root/.* 或l.
8. ls -daI /etc/*/
每天生成日期的日志
touch `date +%F`.log
2018-07-18.log
stat fliename 查看详细信息
cp
-i 提醒是否覆盖目标文件
-f 强制覆盖
-b --backup=numbered 如存在,加备份,格式为加数字
-r 复制目录,必须加,如目标目录不存在,则创建
-a 归档,保留保留连接原有属性,例如所有者
-d
-P 时间戳 所有者 保留
-u 只复制或覆盖比较新的文件
1. alias baketc= 'cp -av /etc/ /adta/back`data +%F`'
2. mkdir /app/rootdir/
cp -rp /root / data/rootdir
移动或者改名
删除文件,空间未释放,是因为程序还在被使用
查看未释放的文件 lsof |grep delated
先释放在删除 释放的操作 > flaename
> flianame 创建文件,如存在空白覆盖
touch 创建如果存在则刷新时间戳
>> 创建如果存在不会刷新时间戳
备份文件
cp file{,.bak}相当于 cp file file.bak
对多个文件改名
rename
rename conf conf.bak *.conf
如删除目录内容不能,则删除路径
tree dir 查看路径下目录结构
1. mkdir -p /teatdir/dir/{x,y}/{a,b}
2. mkdir -p /teatdir/dir2/{x/{a,b},y}
3. mkdir -p /teatdir/dir{3,4,5/dir{6,7}}
文件
- 文件内容
- 文件元数据
- 索引节点
ls -id 查看当前路径的索引节点
节点编号:文件唯一标识
inode 节点:可含12个直接指针,
存储分区:
→节点表:指针指向空间存放对应节点文件的存储数据块空间
→数据空间:目录中存放是文件名+节点
df -i 查看每个分区最多存放多少个节点编号
df -h查看存取情况
硬链接
针对一个文件起多个名称
创建 : ln source taget 路径相对于当前目录
占取空间只是一份空间
链接数:同一文件有几多名称,没主次之分
文件需要在同一存储分区,不能跨设备
不允许针对目录创建
每个目录的链接数都至少为2
inode number相同
软链接
ln -s source target
不增长链接数
如源文件被删除,再创建同名文件,软链接指向新文件
源文件路径是相对于目标文件
inode number 不相同
支持目录
确定文件内容
file filename
输入输出重定向
在proc,查询程序的进程 ps aux | grep <name>
是指 换个输出设备
ls > /dev/pts/ <id>
0 stdin输入
1 stdout 输出
2 stderr 错误
command > target 覆盖
command >> target 追加
cat > file
输入回车单行重定向
cat > file << xxx(EOF) 设置结束符,多行重定向
>xx
>xx
>xxx结束
管道
cmd1 | cmd2 |…
|tee 前后命令都显示
把输入转为大写 tr ‘a-z’ ‘A-Z’
tr 变换或删除
-d 删除文件内特定的字符
-c取反
3. mail -s help root << EOF
>xxxxx`whoami`
7. tr -dc '[0-9 ]'
查找文件
locate keyword
基于数据库搜索,
如touch文件后,需要updatedb,在mlocate.db
**find **
实时查找,权限是用户有读取