目录
......
二、linux下的文件管理
1、文件管理命令
-
1)、 创建文件/文件夹:touch / mkdir
# 创建多级目录: mkdir -p dir/dir1/dir2
# 删除文件/目录:rm -rf file rm -rf dir (-f表示强制删除不提示 ,-r 表示递归)
# 同步文件时间 touch file
# 更改文件为指定时间 touch -t 202106260215 file
# 图形模式下创建编辑文件1 文件2 gedit file1 file2
-
2)、vim file 创建文件并进入浏览界面
按<i>开始编写,在vim中鼠标不能控制光标用上下左右移动光标
<Esc > 退出插入模式 :wq 保存更改 :q! 不保存更改 :q 未作操作可以直接退出
vim异常退出: 当vim编写文件时在未保存更改内容被强制关闭会导致出现异常
输入 [O] 只读打开文件
(E) 继续编辑
(R) 恢复未保存内容编辑
(D) 删除.swp文件进入编辑(通常只有D有效解决问题)
(Q) 退出当前文件编辑
(A) 退出vim程序
vim (-o) -p 文件1 文件2 (上下)左右打开两个文件
-
3)、cat file 显示文件的全部内容
cat -b file ##显示文件内容并显示行号,不显示空行的行号
cat -n file ##显示文件内容并显示行号
-
4)、head / tail 显示文件的前 /后 多少行
head westos # 默认显示文件前10行
head -n westos # n 代表数字 显示文件的前n行
-
5)、less 分页浏览
less westos 进入到less模式查看westos
less模式中 <上><下> 逐行查看文件内容 <pgup><pgdn> 逐页查看文件内容
/+关键字 搜索关键字 n 向下匹配 N 向上匹配
<v> 由less模式进入到vim 编辑完成:wq退出返回less 在less中<q> 退出
-
6)、cp 复制文件 (copy)
cp file1 file2 #复制文件1到文件2
cp file1 file2 /dir1 #复制文件1和2到目录1
cp -r /dir1 /dir2 #复制目录1到目录2 -r表示递归
复制原理: 按照源文件建立新文件(抄作业)
-
7)、mv 移动文件 (move)
mv file0 file1 dir2 #移动文件0和1到目录2
mv dir0 dir1 dir2 #移动目录0和1到目录2
mv file0 不存在file1 #移动文件0到一个不存在的文件1 相当于重命名
移动原理: 相同设备分区中的文件移动是重命名过程,不同分区的文件移动是建立删除过程
ls -i file 查看文件节点号(相当与文件身份证号)
-
8)、wc 文件容量统计
wc -l 行数
wc -m 字符数
wc -w 单词数
wc -c 字节数
2、linux中文件的寻址
-
1)、linux系统结构
FHS (Filesystem Hierarchy Standard) Linux层级结构标准
LINUX中一切都是文件
/ Linux顶级目录
-
2)、系统二级目录
/bin | #系统常规命令 |
/sbin | #系统管理命令 |
/dev | #设备文件 |
/home | #普通用户家目录集合,此目录中的子目录为普通用户家目录 |
/root | #超级用户家目录 |
/lib64 | #64位函数库 |
/lib | #系统函数库 |
/proc | #进程信息,系统识别的硬件 |
/run | #当前运行的硬件和系统模块 |
/srv | #系统数据(常量) |
/var | #系统数据(变化) |
/tmp | #系统的临时文件存放目录 |
/mnt | #临时设备挂载点 |
/medie | #cdrom临时挂载点 |
/ect | #系统大多数程序的配置目录 |
/opt | #第三方软件安装位置 |
/boot | #系统启动分区,系统启动是读取的文件都在此目录 |
/sys | #关于内核的设定目录 |
/usr | #unix system resource 仅次于 / 重要 多数系统资源都在此目录中 |
相对路径:
绝对路径的简写,省略了用户当前所在的系统位置,此名称只有在管理当前所在系统目录中子文件时才能使用,系统中不以 / 开头的文件名称都为相对路径,在程序操作时会自动识别当前路径的信息并关联操作目标绝对路径:
文件在系统中的真实位置,在任何场景下都可以使用,通常以 / 开头,不考虑当前系统位置
-
3)、关于文件寻址的命令
pwd | 显示当前的工作目录 |
cd | 切换当前的工作目录 |
ls | 显示当前目录中文件的名称 |
ls file | 显示指定文件名称 |
ls dir | 显示指定目录中内容的名称 |
ls -d dir | 显示目录本身的名称 |
ls -l file | 显示文件属性 |
ls -l dir | 显示目录中内容的属性 |
ls -ld dir | 显示目录本身属性 |
ls -a dir | 显示目录中所有文件名称包括隐藏文件案 |
ls -s | 显示文件大小 |
ls -R dir | 第归显示目录中的内容 |
-
4)、文件批量处理
* | #匹配0~任意字符 |
? | #匹配单个字符 |
[[:alpha:]] | #匹配单个字母 |
[[:lower:]] | #匹配单个小写字母 |
[[:upper:]] | #匹配单个大写字母 |
[[:digit:]] | #匹配单个数字 |
[[:alnum:]] | #匹配单个数字或字母 |
[[:punct:]] | #匹配单个符号 |
[[:space:]] | #匹配单个空格 |
[ ] #条件是或者关系是模糊匹配,对象和几个匹配就操作
#[1-10] 1到10 [!b-f]|[^b-f] 除了b-f以外{ } #点名机制,精确指定集合中的每一个元素
#{1..10} 1到10 {a..c} a到c {2,3,5} 2和3和5
~ #默认代表当前用户家目录
~username #指定用户家目录
"~+" = "." #当前目录
~- #当前目录之前所在目录
.. #当前目录的上级目录
......