磁盘与文件

磁盘上的数据以文件的形式组织

文件是操作系统对io设备的一个抽象,进程/线程是对执行过程的抽象

文件

  • 普通文件:文本、脚本、程序等
  • 目录文件,目录以树的形式组织文件,其本身是一个文件
  • 特殊文件,io设备等

Unix系统重要的目录

/ 根目录

/usr 用户目录

  • /usr/include 各种库头文件位置
  • /usr/bin 用户可执行文件
  • /usr/local 自行编译安装目录

/root 管理员目录

/boot 自举目录

/bin 可执行程序

/dev 设备文件

/sbin 管理程序目录

/etc 配置文件目录

/home 用户目录

/var 经常变动的文件,例如数据库、日志等

几个重要的目录概念

HOME目录

工作目录

.当前目录

…父目录

路径名

访问一个文件,使用路径

Unix的路径使用/将目录与文件名隔开,与dos路径不同

绝对路径,以/开头的目录

相对路径,反之则为相对路径

文件命名规范

避免使用:<>,(),[],{},*,?,“,‘,-,$,^

这些符号是正则表达式使用的

大小写敏感

使用扩展名提升可读性

目录操作

pwd打印当前工作目录

cd改变当前工作目录

  • cd
  • cd 路径

mkdir创建目录

  • mkdir 路径
  • mkdir -p 路径

rmdir删除空目录:非空目录无法删除文件操作

ls打印当前目录下的子目录及文件

短选项 长选项 功能
-a –all 列出所有文件,包括隐藏文件
-C –format=vertical --format=horizontal 用多列方式列出文件,按列排列
-F –classify 将子目录与普通文件类型分开,子目录加/,可执行文件加*
-l –format=single-column 详细列出文件的属性,每行一个文件
-m –format=commas 按页宽列出文件,用逗号隔开
-p 在目录文件名后加
-r –reverse 以反字母顺序列出文件
-R –recursive 递归列出子目录的内容
-s –size 以block为单位列出文件大小
-x –format=horizontal --format=across 以多列方式列出文件,按行排列
–help 显示帮助信息
文件类型
  • - 表示普通文件
  • d 表示目录
  • c 表示字符设备
  • b 表示块设备
  • l 表示符号连接
rwx
  • r 表示读权限
  • w 表示写权限
  • x 表示执行权限,对目录是访问权限

3个rwx表示:拥有者自己的权限、组权限、其它人的权限

隐藏文件
  • 以.点开头的文件或目录是缺省不被显示
  • .表示当前目录
  • …表示父目录

文件操作

cat查看文件内容

touch创建一个空文件

rm删除文件

  • rm –fr递归删除文件及目录
  • rm –i确认删除
  • 特别注意:rm -fr不会让你确认删除