文件管理:
(1): 文件系统
文件系统从根目录下开始, 用 "/" 表示
文件名是区分大小写的
以. 开头的文件为隐藏文件
文件有两类数据
元数据: metadata
数据: data
(2): 文件名规则
文件名最长 225 个字节
蓝色 ---- 目录
绿色 ---- 可执行文件
红色 ---- 压缩文件
浅蓝色 ---- 链接文件
灰色 ------ 其他文件
(3): 文件系统结构
/boot: 引导文件存放目录
/bin: 供所有用户使用的基本命令
/sbin : 管理类基本命令
/etc : 配置文件目录
/home : 普通用户家目录
/root : 管理员夹目录
media : 便携带移动设备挂载点
/mnt : 临时文件系统挂载点
/dev : 设备文件与特殊文件储存位置
/opt : 第三方应用程序安装位置
/tmp : 临时文件储存位置
(4): 文件类型
- : 普通文件
d : 目录文件
b : 块设备
c : 字符设备
l : 符号连接
p : 管道文件
s : 套结文件
(5): 显示当前工作目录
pwd
-p 显示真是路径
-l 显示链接文件[默认]
绝对和相对路径
绝对路径
以正斜杠开始完整的文件的位置路径
相对路径
不以斜杠开始指定相对于当前工作目录或某一个目录位置
ls 参数和用法 [查看]
用法: ls [options] [file_or_dirs]
参数:
ls -a : 包含隐藏文件
ls -l : 显示额外的信息
ls -ld : 目录和符号链接信息
ls -1 : 文件分行显示
ls -S : 按从打到小排序
ls-t : 按 mtime 排序
ls -U : 按目录存放顺序显示
ls -X : 按文件后续排序
例: ls -a /root[显示 root 下所有文件包括隐藏文件]
cp 常见选项[拷贝 **]
参数:
-i : 覆盖前提示
-r: 递归复制目录及内部所有内容
-a : 归档
-f : 强制
-u 只复制原比目标更新文件
例:
(1):cp /root/dang.txt /data[拷贝 root 下的 dang.txt 文件到 / data 下]
mv 常用选项[移动和重命名]
参数:
-i : 交互式
-f 强制
例:
(1):mv /root/dang.txt /data[移动 root 下的 dang.txt 文件到 / data]
(2):mv /root/dang dang.txt [把 root 下 dang 文件改名为 dang.txt]
(3):mv /root/dang.txt /data/dang [把 root 下 dang.txt 改名为 dang 并移动到 / data 下]
rm 常用选项[删除]
参数:
-i : 交互式
-f : 强制删除
-r : 递归
例:
(1):rm -rf / [危险命令 禁止使用]
mkdir [创建目录]
-p : 可自动创建所需要的个目录 [递归创建]
-v : 显示详细信息
-m : 创建目录时直接制定权限
例:
(1):mkdir -p data/dri1/dri2[创建 data / 下 dri1 / 下 dri2 文件]
rmdir [删除空目录]
例:
(1):rmdir data [删除 data 这个目录, 只能删除空目录]
硬链接与软连接区别:
1. 原理上:
硬链接 (hard link):A 是 B 的硬链接(A 和 B 都是文件名), 则 A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号相同, 即一个 inode 节点对应两个不同的文件名, 两个文件名指向同一个文件, A 和 B 对文件系统来说是完全平等的. 如果删除了其中一个, 对另外一个没有影响. 每增加一个文件名, inode 节点上的链接数增加一, 每删除一个对应的文件名, inode 节点上的链接数减一, 直到为 0,inode 节点和对应的数据块被回收. 注: 文件和文件名是不同的东西, rm A 删除的只是 A 这个文件名, 而 A 对应的数据块(文件) 只有在 inode 节点链接数减少为 0 的时候才会被系统回收.
软链接(soft link):A 是 B 的软链接(A 和 B 都是文件名),A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号不相同, A 和 B 指向的是两个不同的 inode, 继而指向两块不同的数据块. 但是 A 的数据块中存放的只是 B 的路径名(可以根据这个找到 B 的目录项).A 和 B 之间是 "主从" 关系, 如果 B 被删除了, A 仍然存在(因为两个是不同的文件), 但指向的是一个无效的链接.
2. 使用限制上:
硬链接:
a. 不能对目录创建硬链接, 原因有几种, 最重要的是: 文件系统不能存在链接环(目录创建时的 ".." 除外, 这个系统可以识别出来), 存在环的后果会导致例如文件遍历等操作的混乱(du,pwd 等命令的运作原理就是基于文件硬链接, 顺便一提, ls -l 结果的第二列也是文件的硬链接数, 即 inode 节点的链接数)
b: 不能对不同的文件系统创建硬链接, 即两个文件名要在相同的文件系统下.
c: 不能对不存在的文件创建硬链接, 由原理即可知原因.
软链接:
a. 可以对目录创建软链接, 遍历操作会忽略目录的软链接.
b: 可以跨文件系统
c: 可以对不存在的文件创建软链接, 因为放的只是一个字符串, 至于这个字符串是不是对于一个实际的文件, 就是另外一回事了
3. 命令
硬链接: ln 源文件 链接名
软链接: ln -s 源文件 链接名
标准 I/O
(1): 标准输入和输出
程序: 指令 + 数据
读入数据 :input
输出数据 : output
(2):linux 给程序提供三种 I/O 设备
1: 标准输入 -0 默认接受来自键盘的输入
2: 标准输出 -1 默认输出到在终端窗口
3: 标准错误 -2 默认输出到终端窗口
把标准输出重定向到文件 [>文件将会被覆盖]
2> 把标准错误重定向到文件 [原有基础内容上, 追加内容]
&>把所有输出重定向到文件 [标准输出和标准错误]
&> 覆盖重定向
&> 追加重定向
set -C 禁止将内容覆盖以有文件, 但可追加
set +c 允许覆盖
| file 强制覆盖
例: 标准输出和错误输出各自定向至不同位置
命令> /data/data.txt 2> /data/data.txt [表示: 命令的标准输出重定向到 / data/data.txt 这个文件, 命令的标准错误重定向到 / data/data.txt 这个文件]
命令> /data/data.txt 2>&1 [表示: 命令的标准输出和标准错误全部重定向到 / data/data.txt 这个文件]
*** 注释: 以上内容仅供参考 ***
来源: http://www.bubuko.com/infodetail-2704310.html