Linux-文件系统
1.文件系统
不同于windows把每个物理驱动第一分配一个字符,如C:,E:,Linux把所有驱动器(包括网络驱动器和可移动介质)都放在根目录下。
根目录用/表示,这个符号也用来分隔目录和文件名。
最常用的目录:
/home:用户主目录,每个拥护再/home下都有一个目录
/root:根拥护主目录,系统管理员账户成为根用户
/bin和/usr/bin:可执行文件(程序),普通用户的绝大多数命令都在这里
/sbin和/usr/sbin:系统管理员的可执行文件(程序),系统管理员的绝大多数命令都在这里
/media:可移动介质(也可以是/run/media),可以在这里找到关于可移动设备的文件
/tmp:临时文件,一般程序把文件保存在这里,而不是用户主目录中
命名须知
文件名和目录的命名规则相同
区分大小写
允许使用特殊字符,但应该避免使用空白字符和称为元字符的某些字符
允许使用扩展名
~表示当前用户主目录
.表示当前工作目录
..表示当前工作目录的上级目录
2. 浏览文件系统
绝对路径和相对路径
pwd显示当前目录
cd切换目录
3.管理文件系统
ls [目录地址]:
默认列出当前目录中的文件
-a 查看包括隐含文件在内的所有文件 ,如 ls -a ~可以看到隐藏文件以.开头
-l 显示文件的详细描述信息
mkdir
创建新目录
-p 如mkdir -p A/B ,如果A不存在,自动创建A
rmdir:删除空目录,如果要删除非空目录,包括其中所有文件和目录 可以使用 rm -r 目录名
rm:
删除文件
-ri:可以选择目录下的哪些文件可以删除
cp:
复制文件
-i:避免覆盖现有文件
mv :移动文件或者目录
touch:创建一个空文件或者更新现有文件的时间戳
4.通配符
通配符属于整个bash shell的一部分 ,在命令执行前bash shell 先解释通配符
*表示文件名0个或者更多字符
?表示单独一个字符 正则表达式的? 表示匹配可选的字符
[]匹配括号内的字符如[abc]和[a-c]意思都是匹配a或者b或者c
5.重定向
每个命令有三种数据流:
stdin:标准输入,它是发送到命令的数据,不是参数,可以从文件或者另一个过程重定向
stdout:标准输出,命令正常结束时发生出的数据,可以发送到一个文件或者另一个命令
stderr:命令出现错误时发送的数据,可以发送到一个文件或者另一个命令
重定向stdout ,可以使用>字符或者1>(创建新文件或者覆盖现有文件):date > mydate;如果使用>>字符,表示往现有文件追加内容
重定向stderr,使用2>符号,追加使用2>>
重定向stdout和stderr, 例子 cmd > file 2>&1
重定向stdin:例子 tr 'a-z' 'A-Z' < file
重定向到另一个命令,使用|字符 ,例子 ls | more ,|字符表示将左侧stdout重定向到右侧命令的stdin ,这个过程称为管道操作
6.file filename 查看指定文件的格式
7.文件内容查看
od filename:查看文件中的实际内容
od -b filename:以二进制形式查看文件的内容
od -c filename:以字符的形式查看文件的内容
od -N 372 -w32 -A d -t x1 -v wtmpx
8.pwd:查看当前工作目录的路径
9. touch path/file:在path指定目录中创建一个名为file的文本文件