前面讲述了Linux OS的file syste和working with directory,而这回开始working with files。
目录
1.1 create a text file and delete a file
一.Working with Files
1.1 create a text file and delete a file
cat > filename
在当前目录中创建一个文件名为filename的文件,这个filename是包括后缀名的。
Linux执行这个命令后,会允许输入内容。但是不怎么好用,因为不能使用回车键。按ctrl+D可以退出。
编辑还是留给vi。
rm filename
删除当前目录中的某个文件
1.2 显示文件内容
cat pathname
结点都可以使用pathname进行指定。一次显示文件全部内容
more pathname
一次显示文件中的一页。一次回车增加一行,直至EOF。ctrl+c用于退出。
head pathname
显示文件中的头几行
tail pathname
显示文件的末几行
1.3通过复制创建文件、重命名
cp filename1 filename2
在当前目录创建filename2,内容和filename1一致
mv filename1 filename2
这个和目录改名一样
1.4统计、查找
wc filename
统计指定文件的行数、单词数、字符数
grep string filename
在指定文件中查找含有string的行,打印该行(不显示行数),这个string应该加""。
grep -c string filename
显示满足条件的行数
grep ^string filename
打印指定文件中以string开头的行
1.5 I/O重定向
复杂,略。
二.使用vi编辑文件
vi是Linux OS中的文本编辑器。它能够让程序员不使用鼠标也能够编辑文件。
首先需要注意vi存在两种模式:1.命令模式(command mode);2.插入模式(insert mode)。
命令模式用于输入命令,实现某些功能(比如移动光标,复制粘贴等等);插入模式中,我们键入文本内容。
当你使用vi编辑文件时,会处于命令模式中。
2.1 两种模式的切换
命令 | 作用 |
vi filename | 用vi打开filename文件,没有的话会创建一个 |
i | 进入insert mode,且开始位置为光标前 |
a | 进入insert mode,且开始位置为光标后 |
A | 进入insert mode,且开始位置为行末 |
R | 进入覆写模式,光标所在的字符会被覆写,覆写模式的回车键不会删除字符 |
o | 在光标所在行的下方另起一行,开始位置为新行行头 |
O | 在光标所在行的上方另起一行,开始位置为新Esc |
Esc | 退出insert mode,进入command mode |
2.2保存并退出
命令 | 作用 |
: w (注意空格!) | 保存当前修改 |
: q | 退出(没有保存不能退出) |
: wq | 保存并退出 |
ZZ | 保存退出 |
: q! | 退出但不保存 |
2.3 光标移动命令
上面的要在command mode下。但是在两种模式下使用方向键都可以。
其他的光标移动命令记忆的意义不大,因为上面的就够用了。
2.4滚屏命令
f = forwards, b = backwards, d = downwards, up = upwards
2.5 删除内容
在insert mode下可以使用回车键。所以就不记忆那些命令了,省的麻烦
命令 | 作用 |
dd | 删除一行 |
dw | 删除光标所处的单词 |
x | 删除光标所在的字符 |
X | 回车(删除光标左侧的字符) |
2.6 复制粘贴
命令 | 作用 |
yy | 复制当前行 |
ye | 复制当前单词 |
p | 在光标右侧进行复制 |
P | 在光标左侧进行复制 |
2.7 查找和替换
很少用,略
2.8 恢复和撤销
ctrl + r 恢复上一个被撤销的命令
u 取消上一个命令