【Linux学习】 文件操作

文件操作命令

文件的操作

分位普通文件和目录文件

操作 普通文件 目录文件 备注
创建 touch 【filename】 mkdir 【dirname】
删除 rm 【filename】 rmdir 【dirname】 只能删除空目录
rm -r 【dirname】 删除非空目录 -r采用的是递归方法删除
拷贝 cp 【path1+filename】 【path2】 cp -r 【path1+dirname】 【path2】 将路径1下的文件拷贝到路径2
剪切/移动 mv 【path1+fiielname】 【path2】 mv 【path1+dirname】 【path2】 剪切为什么不用-r?因为剪切只是改变了存储位置
重命名 mv 【path1+filiename】 【path1+new filename】 剪切和重命名可以同时进行
修改文件的属主 chown 【newuser】 【filename】 只限root操作
修改文件的组用户 chgrp 【newgroup】 【filename】

编辑普通文件

编辑普通文件:vim

获取vim:sudo apt-get install vim -y

检查是否安装成功:which vim

编辑文件:vim 【filename】

vim有三种模式:

  • 命令行模式
  • 插入模式(编辑模式)
  • 末行模式

【Linux学习】 文件操作

默认是命令行模式,a i o O变为编辑模式,: ? / 变为末行模式

【Linux学习】 文件操作

文本保存与退出编辑的命令:

  • :w 保存文件
  • :q 退出编辑 ->只能退出没有修改的操作
  • :wq 保存并退出
  • :q! 强制退出 -> 丢弃本次修改的内容
  • :w newfile 另存为

vi/vim常用命令

1. 命令行模式下的命令:

与光标相关的操作 操作
shift + g 移动到最后一行
gg 移动到第一行
num shift + g 移动到num行
shift + 6 移动当前行的第一列
shift + 4 移动到当前行的最后一列
ctrl + f 下一页
ctrl + b 上一页
shift + h 移动到当前屏幕的第一行
shift + m 移动到当前屏幕的中间一行
shift + l 移动到当前屏幕的最后一行
r + [字母] 替换光标所在的字母
shift + r 进入替换模式
shift + c 将当前光标到行尾的内容删除,并进入编辑模式
cc 将当前行删除掉,进入插入模式
其他操作 操作
dd 删除一行
num dd 删除num行
yy 拷贝一行
num yy 拷贝num行
p 粘贴
u 撤销上一次的操作
ctrl + r 删除上一次撤销操作

我们可以结合使用:

  • d num shift+g 删除当前光标到num行的内容
  • y num shift+g 拷贝当前光标到num行的内容

2. 末行模式下的命令

搜索命令 操作
:set nu 显示行号
:set nonu 不显示行号
?string 向上搜索string字符串 按n往上走
/string 向下搜索 按n往下走
:set hlsearch set high light search 高亮显示搜索
:set nohlsearch 取消高亮显示
替换命令 操作
:n,m s/oldstring/newstring/g 从n行到m行,全文替换oldstring到newstring
命令 操作
:Ve! 在右边同时打开一个编辑窗口
:He! 在上边同时打开一个编辑窗口

vi的配置:

文件位置:vim ~/.vimrc

其他简单命令

如何查看文件内容:

命令 操作
more filename 显示一部分
less filename 显示一部分 退出后不在终端上显示 类似于打开了一个编辑器
head -num filename 显示前几行文件 q退出
less -num filename 显示文件后几行
cat filename 显示所有信息
cat filename1 filename2 > fielname3 合并文件1 2 为文件3
cat > filename 创建新的文件并编辑 ctrl+c结束 对输出的重定向