linux文件系统管理
目录结构
文件有两类数据
元数据:metadata (装备属性)文件大小 文件名 如人的身高
数据:data
linux 文件名不同颜色代表的含义:
蓝色:目录;绿色:可执行文件;红色:压缩文件;浅蓝色:链接文件;灰色:其他文件
文件系统结构回忆
/
/boot:引导文件存放目录,内核文件,引导加载器
/bin:供所有用户使用的基本命令
/sbin:管理类基本命令
/lib:启动时程序以来的基本共享文件及内核模块文件
/lib64:专用于x86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录
/home:普通用户家目录
/root:管理员家目录
/media:便携式移动设备挂载点
/mnt:临时文件系统挂载点
/dev:设备文件及特殊文件存储位置
/opt:第三方应用城区的安装位置
/srv:系统上运行的服务用到数据
/tmp:临时文件存储位置
/usr:操作系统软件资源存放位置
/var:经常变化的文件的存放位置
/proc:用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinux:selinux相关的安全策略嘻嘻的存储位置
linux 下的文件类型
-:普通文件
d:目录文件
b:块设备
c:字符设备
l:符号链接文件
p:管道文件pipe
s:套接字文件socket
命令加深印象
cd 命令
到上一级目录
cd ..
回到你的主目录
cd
到之前的工作目录
cd -
pwd:查看当前目录路径
OLDPWD:上次所在的目录路径
pwd -p 显示 物理路径
ls 命令
ls -a 包含隐藏文件
ls -l 显示额外的信息
ls -R 目录递归通过
ls -ld 目录和符号链接信息
ls -1 文件分行显示
ls -S 按从大到小排序
ls -u 配合-t选项,显示并按atime新新到旧排序
ls- U 不排序按目录存放顺序显示
文件通配符
* 匹配零个或多个字符
? 匹配任何单个字符
~ 当前用户家目录
~username 用户家目录
~+ 当前工作目录
~- 前一个工作目录
[0-9] 匹配一个数字范围
[a-z][A-Z]
[xhb] 匹配列表中的任何一个字符
[^xhb] 匹配列表中的所有字符以外的字符
[] 内包含的其他通配符
[:digit:] : 任意数字 相当于 [0-9]
[:lower:] : 任意小写字母
[:upper:] : 任意大写字母
[:alpha:] : 任意大小写字母
[:alnum:] : 任意数字或字母
[:space:] : 空格
[:punct:] : 标点符号
查看文件状态
stat
例如
三个时间戳
access time : 访问时间,atime,读取文件内容时间
modify time : 修改时间,mtime,改变文件内容时间(数据)
change time : 改变时间,ctime,元数据发生改变时间(metadata)
创建空文件和刷新时间
touch 命令
touch [OPTION] FILE
-a 仅改变 atime
-m 仅改变 mtime
-t 200808080808.08 改变amtime 时间戳
-c 如果文件不存在,则不创建
cp
一个文件复制 如果 目标文件存在 则 覆盖目标
如果 不存在 则 新建填充
如果 目标为目录 则 在其下新建与源文件同名的文件并填充
多个文件复制 如果 目标文件不存在 则 报错
如果 目标存在且是文件 则 报错
如果 目标存在且是目录 则 在目标下建立与源文件相同名字的文件并内容复制进新文件
复制目录 如果 目标不存在 则 建立目标并把源文件下文件复制到目标
如果 目标存在且是文件 则 报错
如果 目标存在且是目录 则 在目标下建立与源文件同名的目录并复制目录内内容
cp 常用选项
-i 交互式 (询问yes or no)
-r -R 递归复制目录及内部的所有内容
-a 归档(复制文件的元数据等不更改)
-d 不复制源文件,只复制链接名 此处如果单纯复制链接文件,会复制链接文件指向的源文件,如只想复制链接文件就要加 -d 选项
-p 保持源文件的属性信息
-f 强制覆盖
-v 显示过程
命令别名 alias
alias NAME=‘VALUE‘
在命令行中定义的别名,仅当前shell进程有效,如果想永久有效,要定义在配置文件中
仅对当前用户;~/.bashrc
对所有用户有效: /etc/bashrc
编辑配置给出的新配置不会立即生效!!!
需 bash 进程重新读取配置文件:
source /path/to/config_file
或
. /path/to/config_file
撤销别名
unalias
unalias name
如果别名同原命令同名,如果要执行原命令,可使用
\COMMAND
‘COMMAND‘
/PATH/COMMAND
mv移动和重命名文件
mv
-i 交互式(询问)
-f 强制
删除
rm
-i
-f
-r 递归(目录)
--no-preserve-root 删除 / 数据需要的参数,防止误操作
tree
tree 显示目录树
-d 只显示目录
-L 指定显示目录层级数目
tree -L 1 /root
/root
├── Desktop
├── Documents
├── Downloads
├── Music
├── myfirst.sh
├── Pictures
├── Public
├── Templates
├── Videos
└── xx.x
-P ????只显示由指定pattern匹配到的路径
mkdir 创建目录
-p 创建目录树
-v 显示创建详情过程信息
-m 指定权限
rmdir 删除空目录
-p 递归删除父 空目录
-v 显示过程
rm -r 递归删除目录树