二、linux下的文件管理
2.1文件建立及删除
2.1.1文件的建立
touch+文件名
[kiosk@foundation0 Desktop]$ touch file #建立一个名为file的文件
touch+文件名1 文件名2 文件名3 ...
[kiosk@foundation0 Desktop]$ touch file1 file2 file3 #建立三个文件,分别命名为file1 file2 file3
touch命令还可以修改命令时间戳
2.1.2文件的删除
rm -f +文件名
kiosk@foundation0 Desktop]$ rm -f file #删除一个名为file的文件
rm -f +文件名1 文件名2 文件名3 ...
[kiosk@foundation0 Desktop]$ rm -f file1 file2 file3 #删除三个文件,分别为file1 file2 file3
2.1.3目录的建立
mkdir+目录名
[kiosk@foundation0 Desktop]$ mkdir dir #建立一个名为dir的目录
mkdir+目录名1 目录名2 目录名3 ...
[kiosk@foundation0 Desktop]$ mkdir dir1 dir2 dir3 #建立三个目录,分别命名为dir1 dir2 dir3
mkdir -p dir1/dir2/dir3
[kiosk@foundation0 Desktop]$ mkdir -p dir1/dir2/dir3 #-p为建立递归目录
2.1.2目录的删除
rm -fr +目录名
[kiosk@foundation0 Desktop]$ rm -fr dir#删除一个名为dir的目录
rm -fr +目录名1 目录名2 目录名3 ...
[kiosk@foundation0 Desktop]$ rm -fr dir1 dir2 dir3 #删除三个目录,分别为dir1 dir2 dir3
2.2 文件编辑
2.2.1图形的文本编辑—gedit
gedit+文件名 [直接打开文件编辑器,编辑文件]
[kiosk@foundation0 Desktop]$ gedit file
- 只有在图形开始时可用
2.2.2常用文本编辑工具—vim
2.2.2.1 vim 的三种工作模式
命令模式/插入模式/退出模式
2.2.2.2 vim的基本用法
- vim+文件名
[kiosk@foundation0 Desktop]$ vim file #打开文件file
- 按 i进入插入模式
- 按Esc退出插入模式
- 按:wq保存退出
2.2.2.3 vim 调整工作参数
-
在命令模式下
按:set +参数信息 :set nu表示显示行参数此设定为临时设定,vim 关闭后设定就消失了
-
vim下永久设定
[kiosk@foundation0 Desktop]$ vim /etc/vimrc
打开此文件后加上想要的参数信息
2.2.2.4 vim字符搜索
/关键字 | 高亮显示关键字 |
---|---|
:noh | 撤销高亮 |
n | 向下匹配 |
N | 向上匹配 |
2.2.2.5 vim字符管理
yl | 复制一个字符 |
---|---|
yw | 复制一个单词 |
yy | 复制一行 |
dl | 删除一个字符 |
dw | 删除一个单词 |
dd | 删除一整行 |
cl | 剪切一个字符 |
cw | 剪切一个单词 |
cc | 剪切一行 |
p | 粘贴 |
u | 撤销 |
ctrl+R | 恢复 |
- 以上操作均在命令模式进行
- 注意剪切操作会进入插入模式
2.2.2.6 vim可视化模式
在vim 可视化模式中处理字符区域
- 在命令模式下ctrl+v进入可视化模式
- 键盘上下左右可以移动选择区域
在可视化模式下批量添加字符
- ctrl+v 选择要加入字符的列
- 按I并加入字符
- 按esc
2.2.2.7 vim字符替换
-
%s表示全文所有的行
-
g表示全文所出现原字符的列
例
:%s/@/!/g #替换所有的@为!
2.2.2.8 vim 分屏功能
ctrl+w+s | 上下分屏 |
---|---|
ctrl+w+v | 左右分屏 |
ctrl+w+c | 关闭光标所在屏幕 |
ctrl+w+上下左右 | 光标移动到指定屏幕 |
:sp file2 | 同时编辑当前文件和file2 |
2.2.2.9 vim命令模式下光标移动
gg | 光标移动到文件第一行 |
---|---|
G | 文件移动到最后 |
:数字 | 光标移动到指定行 |
2.2.2.10 vim 编写模式的进入
i | 光标所在位置插入 |
---|---|
I | 光标所在行行首插入 |
o | 光标所在行下一行插入 |
O | 光标所在行下一行插入 |
a | 光标所在字符下一个字符插入 |
A | 光标所在行行尾插入 |
s | 光标所在字符删除并插入 |
S | 光标所在行删除并插入 |
2.2.2.11 vim退出与异常退出
:q | 退出,在文件内容没有被改变时使用 |
---|---|
:wq | 退出保存 |
:q! | 强制退出不保存,在改变文件后不想保存时使用 |
:wq! | 强制退出保存 在对只读文件编写时使用,注意,所编辑的只读文件必须时 |
- 异常退出
当vim 还没有保存编写内容时被强制性关闭,在再一次打开时会出现以下情况
- [O]pen Read-Only 只读打开 (E)dit anyway 继续编辑 (R)ecover 恢复数据 (D)elete it 删除(Q)uit 退出(A)bort 恢复后退出
2.3 文件的查看
2.3.1 显示文件所有内容—cat
cat file | 显示文件的所有内容 |
---|---|
cat -b file | 显示文件的内容并显示行号,但不统计空行 |
cat -n file | 显示文件的内容并显示行号,统计空行 |
显示的行号不会被保存在文件中
2.3.2 分页浏览—less
[kiosk@foundation0 Desktop]$ less file #进入分页浏览
↑/↓ | 逐行移动 |
---|---|
pageup/pagedown | 逐页移动 |
/+关键字 | 高亮显示关键字, n向下匹配, N向上匹配 |
v | 进入vim模式 在vim模式中按:wq 退回到less模式 |
q | 退出 |
2.3.3 head&tail
head file | 默认显示文件前10行 |
---|---|
head –n 3 file | 显示文件前3行 |
tail file | 默认显示文件后10行 |
tail –n 3 file | 显示文件后3行 |
tail –f file | 监控文件后10行变化,通常用于监 控系统日志 |
2.4 文件的复制和移动
2.4.1文件复制
cp +源文件+目的地文件
[kiosk@foundation0 Desktop]$ cp file file1 #将文件file复制到file1
- 当目的地文件存在时会有询问
cp + -r +源目录+目的地目录
[kiosk@foundation0 Desktop]$ cp -r dir dir1 #将目录dir复制到dir1
cp +源文件1 源文件2+目的地目录
[kiosk@foundation0 Desktop]$ cp file1 file2 dir #将文件file1 file2 复制到dir
- 目的地目录必须存在
cp + -r +源目录1 源目录2+目的地目录
[kiosk@foundation0 Desktop]$ cp -r dir2 dir1 dir #将目录dir1/2复制到dir
- 目的地目录必须存在
2.4.2文件移动
mv+源文件+目的地文件
[kiosk@foundation0 Desktop]$ mv file file1 #重命名
mv+源目录+目的地目录
[kiosk@foundation0 Desktop]$ mv dir dir1 #将目录dir移动到dir1
2.5 文件统计
wc | 用于统计文件的字数,字符数,行数 |
---|---|
wc –l file | 文件的行数 |
wc –w file | 文件字数 |
wc –m file | 文件字符数 |
wc –c file | 文件字节数 |
2.6 文件寻址相关指令
2.6.1 显示并切换路径
pwd | 显示路径 |
---|---|
cd 目录名称 | 进入到指定目录 |
cd - | 切换上一级目录 |
cd ·· | 进入上级目录 |
2.6.2 文件信息查看
ls -l file | 文件属性 |
---|---|
ls dir | 目录中保函的内容 |
ls -d dir | 目录本身 |
ls -a dir | 所有文件包含隐藏的 |
s -S dir | 查看并且按照大小排序 |
ls -s file/dir | 查看文件大小 |
2.7 文件批处理
2.7.1系统中的通用配置符号
? | 匹配单个字符 |
---|---|
[[:alpha:]] | 单个字母 |
[[:lower:]] | 单个小写字母 |
[[:upper:]] | 单个大写字母 |
[[:digit:]] | 单个数字 |
[[:punct:]] | 单个符号 |
[[:space:]] | 单个空格 |
[[:alnum:]] | 单个数字或字母 |
[[:punct:][:upper:]] | 单个个符号或但个大写字母 |
[kiosk@foundation20 Desktop]$ rm -f ?? #删除两个字符的文件
[kiosk@foundation20 Desktop]$ rm -f *[[:digit:]]* #删除带有数字的文件
[kiosk@foundation20 Desktop]$ rm -f *[[:digit:][:punct:]]* #删除带有数字和字符的文件
2.7.2 字符集合
精确匹配
- {} ==========用于精确匹配内容
- {1…3}======== 3个,1 2 3
- {1,4,7} ==========3个1,4,7这三个数
例如增加file1/2/3/4 四个文件夹
模糊匹配
[ ] | 用于模糊匹配内容 |
---|---|
[1-9] | 1位,这位是1-9的任意数字 |
[!3-5] | 1位,不是3-5的数字 |
[^3-5] | 1位,不是3-5的数字 |
[a-z] | 1位,a-z的任意字母 |
例如删除file后带有1-8之间数字的文件
2.7.3 "~"应用汇总
~ | 当前用户家目录 |
---|---|
~username | 指定用户的家目录 |
~+ | 当前目录. |
~ - | 进入当前目录之前所在目录(olddir)cd - 中的"-" |