文件和目录的创建
创建文件
-
touch
命令:创建一个新的空文件。shtouch filename.txt
-
echo
命令:创建一个文件并写入内容。shecho "Hello, World!" > filename.txt
-
cat
命令:将内容写入文件。shcat > filename.txt
然后输入内容,按
Ctrl+D
结束。
创建目录
-
mkdir
命令:创建一个新的目录。shmkdir mydir
-
mkdir -p
命令:递归创建目录。shmkdir -p parentdir/childdir
文件和目录的查看
-
ls
命令:列出目录内容。shls
-
ls -l
命令:详细列出目录内容。shls -l
-
ls -a
命令:显示所有文件,包括隐藏文件。shls -a
-
cat
命令:显示文件内容。shcat filename.txt
-
more
和less
命令:分页查看文件内容。shmore filename.txt less filename.txt
-
head
命令:查看文件开头部分。shhead filename.txt
-
tail
命令:查看文件结尾部分。shtail filename.txt
文件和目录的复制
-
cp
命令:复制文件。shcp sourcefile.txt destinationfile.txt
-
cp -r
命令:递归复制目录。shcp -r sourcedir destinationdir
文件和目录的移动和重命名
-
mv
命令:移动或重命名文件。shmv oldname.txt newname.txt mv filename.txt /newpath/
文件和目录的删除
-
rm
命令:删除文件。shrm filename.txt
-
rm -r
命令:递归删除目录。shrm -r mydir
-
rm -f
命令:强制删除文件。shrm -f filename.txt
文件和目录的权限管理
-
chmod
命令:更改文件权限。shchmod 755 filename.txt
-
chown
命令:更改文件所有者。shchown user:group filename.txt
文件搜索
-
find
命令:在目录中搜索文件。shfind /path -name filename.txt
-
grep
命令:在文件内容中搜索特定字符串。shgrep "search term" filename.txt
文件和目录的压缩与解压
-
tar
命令:打包和解包文件。shtar -cvf archive.tar directory/ tar -xvf archive.tar
-
gzip
和gunzip
命令:压缩和解压文件。shgzip filename.txt gunzip filename.txt.gz
-
zip
和unzip
命令:压缩和解压文件。shzip archive.zip file1 file2 unzip archive.zip
磁盘空间查看
-
df
命令:查看文件系统磁盘空间使用情况。shdf -h
-
du
命令:查看文件和目录磁盘使用情况。shdu -sh filename.txt du -sh directory/
文件编辑vi
启动和退出 Vi
-
启动 Vi
shvi filename
如果
filename
存在,Vi 会打开该文件;如果不存在,Vi 会创建一个新文件。 -
退出 Vi
-
保存并退出:
sh:wq
-
仅保存:
sh:w
-
退出不保存:
sh:q!
-
模式
Vi 有三种主要模式:
- 命令模式:这是 Vi 的默认模式,在该模式下可以执行各种命令。
- 插入模式:在该模式下可以插入和编辑文本。
- 底线命令模式 :在该模式下可以输入以冒号
:
开头的命令。
切换模式
-
进入插入模式
- 在光标前插入:按
i
- 在光标后插入:按
a
- 在行首插入:按
I
- 在行尾插入:按
A
- 在当前行下面插入新行:按
o
- 在当前行上面插入新行:按
O
- 在光标前插入:按
-
回到命令模式
- 在插入模式下按
Esc
- 在插入模式下按
-
进入底线命令模式
- 在命令模式下按
:
- 在命令模式下按
基本命令
-
光标移动
- 向上移动:按
k
- 向下移动:按
j
- 向左移动:按
h
- 向右移动:按
l
- 移动到行首:按
0
- 移动到行尾:按
$
- 移动到文件头:按
gg
- 移动到文件尾:按
G
- 移动到指定行:按
:n
,例如:10
移动到第10行 - 移动到当前行的第 n 个字符:按
n|
,例如5|
移动到当前行的第 5 个字符 - 移动到下一个单词开头:按
w
- 移动到下一个单词结尾:按
e
- 移动到上一个单词开头:按
b
- 向上移动:按
-
删除文本
- 删除当前字符:按
x
- 删除前一个字符:按
X
- 删除当前行:按
dd
- 删除光标到行尾的内容:按
D
- 删除光标到行首的内容:按
d0
- 删除指定数量的字符:按
ndd
,例如3dd
删除3行
- 删除当前字符:按
-
复制和粘贴
- 复制当前行:按
yy
- 复制选定区域:按
y
后跟移动命令(如yw
复制一个单词) - 粘贴复制的内容:按
p
(在光标后粘贴)或P
(在光标前粘贴) - 复制多行:按
nyy
,例如3yy
复制当前行及以下两行
- 复制当前行:按
-
替换
- 替换当前字符:按
r
后跟新字符 - 替换当前行:按
R
进入替换模式,按Esc
退出
- 替换当前字符:按
-
查找和替换
- 查找字符串:按
/
后跟字符串,按n
查找下一个 - 向上查找字符串:按
?
后跟字符串 - 替换当前行的字符串:按
:s/旧字符串/新字符串/
- 替换整个文件的字符串:按
:%s/旧字符串/新字符串/g
- 替换当前行中第一个匹配的字符串:按
:s/旧字符串/新字符串/1
- 替换当前行中所有匹配的字符串:按
:s/旧字符串/新字符串/g
- 查找字符串:按
高级操作
-
显示行号
sh:set number
-
取消显示行号
sh:set nonumber
-
撤销和重做
- 撤销:按
u
- 重做:按
Ctrl+r
- 撤销:按
-
宏录制
- 开始录制:按
q
后跟寄存器(如qa
开始录制到寄存器a
) - 停止录制:按
q
- 播放宏:按
@
后跟寄存器(如@a
播放寄存器a
中的宏)
- 开始录制:按
-
可视模式
- 进入可视模式:按
v
- 进入行可视模式:按
V
- 进入块可视模式:按
Ctrl+v
- 在可视模式中选择文本后,可以使用
d
删除,y
复制,~
切换大小写
底线命令
-
保存文件
sh:w
-
退出 Vi
sh:q
-
保存并退出
sh:wq
-
强制退出
sh:q!
-
读取另一个文件的内容
sh:r filename
-
保存到另一个文件
sh:w newfilename
-
打开另一个文件
sh:e anotherfile
-
查看当前文件名和状态
sh:f
设置选项
-
设置自动缩进
sh:set autoindent
-
设置制表符宽度
sh:set tabstop=4
-
设置扩展名自动补全
sh:set wildmenu
-
高亮搜索结果
sh:set hlsearch
-
取消高亮搜索结果
sh:set nohlsearch
-
显示匹配的括号
sh:set showmatch
-
忽略大小写搜索
sh:set ignorecase
-
大小写敏感搜索
sh:set noignorecase
文件分割与多窗口
-
水平分割窗口
sh:split filename
快捷键:按
Ctrl-w
后按s
-
垂直分割窗口
sh:vsplit filename
快捷键:按
Ctrl-w
后按v
-
切换窗口
快捷键:按
Ctrl-w
后按w
-
关闭当前窗口
sh:close
快捷键:按
Ctrl-w
后按c
-
调整窗口大小
快捷键:按
Ctrl-w
后按+
或-
进行垂直调整,按>
或<
进行水平调整
标签页管理
-
新建标签页
sh:tabnew filename
-
切换到下一个标签页
快捷键:按
gt
-
切换到上一个标签页
快捷键:按
gT
-
关闭当前标签页
sh:tabclose
-
列出所有标签页
sh:tabs
其他有用的命令
-
删除多行
快捷键:按
:<start>,<end>d
,例如:1,10d
删除第 1 到第 10 行 -
缩进多行
快捷键:按
:<start>,<end>><count>
或:<start>,<end><count>
,例如:1,10>>
向右缩进第 1 到第 10 行 -
撤销缩进
快捷键:按
:<start>,<end><<count>
或:<start>,<end><count>
,例如:1,10<<
向左缩进第 1 到第 10 行 -
转换大小写
快捷键:按
~
切换选中文本的大小写 -
插入当前日期和时间
在插入模式下按
Ctrl-r =strftime("%Y-%m-%d %H:%M:%S")