文件和目录的创建
创建文件
-
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")