前言
本文介绍了基础命令,cp,mv,rm和vim
一、基础命令
复制、删除、移动
在Linux中复制、删除、移动是三个分开的不同的命令
cp复制
cp 命令是 Linux 和 Unix 系统中用于复制文件或目录的基本命令。通过 cp 命令,你可以将一个或多个文件从一个位置复制到另一个位置,或者将目录及其内容复制到新位置。
常用参数:
-i:在覆盖目标文件之前提示用户确认。通过上一篇别名那部分可以得到,Linux默认设置了cp='cp -i’的别名
-r 或 -R:递归复制目录及其内容。
-v:显示详细的复制过程信息。
-f:强制复制文件或目录,不提示用户确认。
-p:连同文件的属性一起复制,常用于备份。
-a:归档复制,等同于 -dR --preserve=all,用于复制目录及其内容,并保留所有文件属性。
基本语法 :
cp [选项] 源文件 目标文件
cp [选项] 源文件… 目标目录
这里第一次复制没有没有报错是因为test2是一个目录,如果存在会将test1放在test2目录里,第二次就会报错,如果是文件的话就会直接报错。且如果你没有去注释掉cp -i 的话,那么他就会提示是否覆盖.
删除rm
rm 是 Linux 和 Unix 系统中的一个常用命令,用于删除一个或多个文件或目录。这个命令非常强大,但使用时也需要非常小心,因为一旦删除的文件或目录被 rm 命令处理,它们就无法恢复了(除非有备份或使用了某些文件系统恢复工具)。
语法:
rm [选项] [文件或目录名]…
选项通常为-r 或-f
-r : -r表示递归,rm -r 表示递归删除,就是顺着目录一层一层从底层往上删
-f : -f表示强制, 加上-f选项删除的时候就不会在让你进行一次确认,所以删除前要多次确认有没有删除错文件。
移动mv
在Linux中,mv命令是一个非常常用的命令,用于移动或重命名文件和目录。虽然mv的基本用途是移动文件或目录,但如果你将文件或目录移动到同一目录下,并为其指定一个新的名称,那么它就相当于在重命名那个文件或目录。
基本语法:
mv [选项] 源文件或目录 目标文件或目录
-i(或–interactive):在覆盖文件之前提示用户确认。
-f(或–force):即使目标文件已存在,也不会询问而直接覆盖。
-n(或–no-clobber):不要覆盖任何已存在的文件。
-v(或–verbose):详细模式,显示被移动的文件或目录。
-u(或–update):仅当源文件比目标文件新,或者目标文件不存在时,才移动文件。
vim和vi文本编辑器
vim和vi都是Linux系统中的文本编辑器,但它们之间存在一些显著的差异。以下是vim和vi的主要区别:
- 版本与兼容性
vi:是Linux系统内置的文本编辑命令,较为基础。
vim:是vi的加强版本,不仅兼容vi的所有指令,还添加了许多新的特性和功能。在某些情况下,vim可以被视为vi的高级替代品。 - 功能特性
撤销与重做:
vi:只支持单级撤销(即只能撤销上一次操作)。
vim:支持多级撤销和重做。在vim中,可以通过按u撤销上一次操作,通过按Ctrl-r重做被撤销的操作。
多平台支持:
vi:通常只能在Unix(包括Linux)系统上运行。
vim:具有更好的跨平台性,可以在Unix、Windows、Mac OS等多个操作系统上运行。
语法高亮:
vi:不支持语法高亮。
vim:支持多种语言的语法高亮,可以通过:syntax on命令开启。
代码折叠:
vi:不支持代码折叠功能。
vim:支持代码折叠,可以使用zf命令折叠代码块,使用zo命令打开折叠。
插件支持:
vi:不支持插件。
vim:拥有丰富的插件支持,可以通过插件管理器(如vim-plug)安装各种插件,以扩展编辑器的功能。
自动补全:
vi:不支持自动补全功能。
vim:提供自动补全功能,可以通过Ctrl-n和Ctrl-p等快捷键补全单词。
可视模式:
vi:不支持可视模式。
vim:支持字符、行和块可视模式,可以使用v、V和Ctrl-v等命令进入不同的可视模式。
录制宏:
vi:不支持录制宏。
vim:支持录制宏,可以使用q命令开始录制宏,使用@命令播放宏。
命令行历史:
vi:不支持命令行历史。
vim:支持命令行历史,可以在命令行模式下通过方向键上下查看历史命令。 - 启动与配置
启动时间:
vi:由于功能较少,通常启动时间较快。
vim:由于功能更多,启动时间可能稍慢,但可以通过配置优化启动时间。
配置选项:
vi:配置选项较少。
vim:配置选项丰富,可以通过~/.vimrc文件定制大量选项,以满足个性化需求。 - 使用场景
vi:由于其简单、轻量、快速启动的特点,适用于资源受限的环境和简单的文本编辑任务。
vim:由于其功能强大、可扩展性高,更适合复杂的编辑任务和需要高级功能的用户。
vim
一、基本模式
VIM有三种主要模式:命令模式(Normal Mode)、插入模式(Insert Mode)和底行模式(Ex Command Mode,也称为命令行模式)。
命令模式(Normal Mode):
这是VIM的默认模式,用于执行大多数命令,如移动光标、复制粘贴、删除文本等。
可以通过按Esc键从其他模式返回到命令模式。
插入模式(Insert Mode):
在此模式下,可以输入文本。
可以通过在命令模式下按i(在当前光标前插入)、a(在当前光标后插入)、o(在当前行下方新开一行并进入插入模式)等命令进入插入模式。
底行模式(Ex Command Mode):
在此模式下,可以输入命令来保存文件、退出VIM、查找替换文本等。
可以通过在命令模式下按:(冒号)进入底行模式。
二、基础命令
- 光标移动
h:左移一个字符
j:下移一行
k:上移一行
l:右移一个字符
w:移动到下一个单词的开头
e:移动到当前单词或下一个单词的末尾
b:移动到当前单词或上一个单词的开头
0(数字零):移动到当前行的开头
^:移动到当前行的第一个非空白字符
$:移动到当前行的末尾
G:移动到文件的末尾
{行数}G:移动到指定行(例如10G移动到第10行) - 插入文本
i:在当前光标前插入文本
I:在当前行的开头插入文本
a:在当前光标后插入文本
A:在当前行的末尾插入文本
o:在当前行下方新开一行并进入插入模式
O:在当前行上方新开一行并进入插入模式 - 删除文本
x:删除当前光标所在字符
dd:删除当前行(并进入命令模式)
dw:删除从光标开始到下一个单词开头的文本
d$:删除从光标开始到当前行末尾的文本 - 复制和粘贴文本
yy:复制当前行
p:将复制或删除的文本粘贴到光标后
P:将复制或删除的文本粘贴到光标前
v:进入可视模式,可以选择文本块
y:在可视模式下复制选择的文本块
d:在可视模式下剪切选择的文本块 - 查找和替换文本
/pattern:向前查找pattern
?pattern:向后查找pattern
n:查找下一个匹配项
N:查找上一个匹配项
:%s/old/new/g:在整个文件中替换old为new - 撤销和重做
u:撤销上一个操作
Ctrl + r:重做上一个被撤销的操作 - 保存和退出
:w:保存文件
:q:退出VIM(如果未修改文件)
:wq或ZZ:保存并退出
:q!:不保存并强制退出 - 其他常用命令
:set number或:set nu:显示行号
:set nonumber或:set nonu:隐藏行号
:w [新文件名]:将当前文件另存为新文件
:!<系统命令>:执行一个系统命令并显示结果