- 在Linux中有一个重要特性:everything is file
- 在Linux中对系统管理归根到底就是对文件进行管理:对文件实施增删查改
1.文件建立:touch filename
touch通常在系统中用于新建文件但是命令本身也可以修改文件的时间戳==
时间戳主要分为:
acesstime | 文件内容被访问的时间标识 |
---|---|
modifytime | 文件内容被修改的时间标识 |
changetime | 文件属性或文件内容被修改的时间标识 |
文件的时间戳可以用stat filename 来查看
“watch -n 1 stat filename” 对文件状态间隔1秒进行查看
在file1文件中输出"kkxl"内容,会发现mtime和ctime时间都发生了改变(文件内容改变引起的时间戳改变)
"touch -t 12221020 file1"改变文件的建立时间,发现atime和mtime都成为设定的时间,文件建立时间改变属于文件属性改变,所以ctime所显示的时间是你当前时间
2.目录建立:mkdir directory (目录名)
mkdir -p dir/{dir1,dir2,dir3}
"-p"表示建立递归目录时,当上层目录不存在时自动建立
3.文件/目录删除
rm -f filename
"-f"表示强制删除不提示
rm -rf directory
"-r"表示递归删除,删除目录本身和里面的所有内容
说明:
目录相当于一个容器,不可以删除目录而不删除里面的文件,就像不能只拿走水杯而不带走水杯里面的水。
"*“表示0到任意字符(所有的)” rm -rf * " 删除当前路径的所有文件以及目录
4.文件编辑
gedit 图形的文本编辑,只有在图形界面时可用,直接编辑文件,与Windows中的txt记事本操作类似
vim Linux中常用文本编辑器,是全球著名的两大文本编辑器之一,另外一个是emacs
vim建立:vim filename——>按 i 进入插入模式,书写内容——>按ESC退出插入模式——> :wq 退出保存
vim 三种工作模式:
- 命令模式:浏览文件,临时更改vim的工作方式
- 插入模式:对文件内容进行编辑
- 退出模式:退出vim程序
说明:若直接输入vim file,file不存在,则退出保存后file文件会自动建立;vim不能编辑目录
命令模式下: " :set nu " 在每一行前显示行号
命令模式下: " :set nonu " 取消行号显示
说明:在命令模式下" : set 参数信息 " (如 :set nu ##显示行号,但这是临时设定,vim关闭后打开新的vim,不会出现行号)是临时设定,要想vim下永久设定,可以编辑vim的配置文件(vim/etc/vimrc)set 参数信息
vim /etc/vimrc 编辑vim配置文件
设置参数信息 set nu (显示行号) ;set ts=2 (tab键占两个字符位);set ai (缩进) 退出保存!
vim配置文件设置后,vim file ;vim /etc/vimrc
vim file ,执行并显示出所设置的参数信息功能
vim /etc/vimrc ,同样显示出设置的参数信息功能
- vim中的字符搜索
/关键字 高亮显示关键字 :noh 撤销高亮
检索关键字 n-向下匹配 N-向上匹配
- vim中的字符管理
yl | 复制一个字符 |
---|---|
yw | 复制一个单词 |
yy | 复制一行 |
p | 粘贴 |
dl | 删除一个字符 |
---|---|
dw | 删除一个单词 |
dd | 删除一行 |
u | 撤销 |
cl | 剪切一个字符 |
---|---|
cw | 剪切一个单词 |
cc | 剪切一行 |
ctrl+R | 恢复 |
注意:剪切操作会进入插入模式
- vim可视化模式
在命令模式下按ctrl+v进入可视化模式(键盘上下左右键可选择区域)
在可视化模式下批量添加字符
ctrl+v 选中要加入字符所在的列,按大写的" I “,加入字符” ! ",按ESC
- vim中字符的替换
:%s/原字符/替换后字符/g
%s 表示全文所有的行,g表示全文所出现原字符的列
替换示例
:%s/i/@/g ——替换全文的 i 为 @
:/kkxl/,/adm/s/i/@/g——替换kkxl到adm之间的 i 为 @
:3,5s/i/@/g——替换3到5行的 i 为 @
- vim的分屏功能
“ctrl+w s” 上下分屏
“ctrl+w c” 关闭光标所在屏幕
“ctrl+w 上下左右” 光标移动到指定屏幕
“ctrl+w v” 左右分屏
:sp file0 同时编辑当前文件和file0
- 在命令模式下光标的移动
gg | 光标移动到文件的第一行 |
---|---|
G | 光标移动到文件的最后 |
:数字 | 光标移动到指定的行 |
- vim的编写模式进入
i | 光标所在位置插入 |
---|---|
I | 光标所在行的行首插入 |
a | 光标所在字符的下一个字符插入 |
A | 光标所在行的行尾插入 |
o | 光标所在行的下一行插入 |
O | 光标所在行的上一行插入 |
s | 光标所在字符删除并插入 |
S | 光标所在行删除并插入 |
- vim异常退出
==注意:==当vim还没保存所编写内容而被强制关闭时,会生成" .file.swap "文件;再次vim该文件时会出现如下现象,只有按下 “D”,swp文件才会被删除,vim才会正常工作。
5.文件查看
cat file显示文件所有内容
" cat -b file "显示内容并显示行号,但不统计空行
" cat -n file "显示文件的内容并显示行号,统计空行
注意:显示的行号不会被保存在文件中
-
当文件内容比较长时,使用less分页浏览
less命令常用操作如下
上/下 | 逐行移动 |
---|---|
pageup/pagedown | 逐页移动 |
/关键字 | 高亮显示关键字,n向下匹配,N向上匹配 |
v | 进入vim模式,在vim模式中按:wq退回到less模式 |
q | 退出 |
- head&tail
"head"显示文件前多少行;"tail"显示文件后多少行
head file 默认显示文件前十行
head -n 3 file 显示文件前三行
tail file 默认显示文件后十行
tail -n 3 file 显示文件后三行
6.文件复制及移动
cp 源文件 目的地文件 复制文件,当目的地文件存在会有询问
cp -r 源目录1 源目录2 目的地目录复制多个目录或文件到一个目录中,目的地目录必须存在
注意:复制是按照模板新建的过程
mv 源文件 目的地文件 重命名,当目的地文件存在会被覆盖
mv 源目录 目的地目录 不需要加任何参数,直接移动即可
注意:相同分区(磁盘)的移动是重命名的过程,不同分区(磁盘)的移动是复制删除功能
7.文件统计
file 文件的名称不能代表文件的类型,例如" file.mp3 "不能从文件名称后缀来确定文件类型
file 可以查看文件的真实类型是什么
- wc 用于统计文件的行数、字数、字符数
-l | 文件的行数 |
---|---|
-w | 文件的字数 |
-m | 文件字符数 |
-c | 文件字节数 |
注意:一空格一字数;一汉字代表一字符三字节;换行代表一字符一字节
8.文件信息查看
ls -l file | 文件属性 |
---|---|
ls dir | 目录中包含的内容 |
ls -d dir | 目录本身 |
ls -a dir | 所有文件包含隐藏的 |
ls -S dir | 查看并且按照大小排序 |
ls -s file/dir | 查看文件大小 |