Linux基础篇
欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神!
系统文件相关命令_01:写入_查看_输入输出追加
系统命令:写入_echo
echo “66666” >abcd 写入并且创造文件写入内容
>abcd 清空了abcd文件的内容
ls >abcd 将ls输出结果写入abcd文件中
echo “88888” > /ABCD/abcd 覆盖代替文件中内容
echo “99999” > /ABCD/abcd 追加到文件最后一行
系统命令:查看cat
cat abcd.txt 查看文件内容
cat -n abcd.txt 查看文件内容并附带行号
cat -b abcd.txt 查看文件内容并忽略空白行的行号
cat -v abcd.txt 显示内容非打印字符
cat abcd.txt 1234.txt ABCD.txt 同时查看三个文件内容
cat > newabcd.txt 创建一个新文件并且写入内容(Ctrl+D保存退出)
cat >> new1234.txt 追加内容到文件中
系统命令:输入输出追加>_>>_<<
> 输出重定向
>> 追加输出重定向
< 输入重定向
<< 追加输入重定向
> abcd.txt 清空文件
系统命令:|grep -v "^#"|grep -v "^$"
cat /etc/profile |grep -v "^#"|grep -v "^$"
| 管道符
grep 匹配搜索查找指定模式的行
grep -v 反向匹配搜索查找指定模式的行
^ 正规表达式中表示行的开始
# 普通字符“井号”
$ 正规表达式中表示行的结束
系统命令:more_less_head -n_tail -n
more 分页显示,不能回翻(空格:显示下翻、Enter:逐行显示、q:退出命令)
less 分页显示,支持回翻(空格:下翻、b:上翻、j:下移动一行、k:上移动一行)
head 显示文件开头内容,默认显示前10行
head -n 可以指定查看行数
tail 显示文件结尾内容,默认显示后10行
tail -n 可以指定查看行数
tail -f 监控文件,文件增添内容会显示在终端
系统文件相关命令_02:vi_vim编辑器
工作模式:命令模式、插入模式、末行模式
可以打开文件进行测试vim /root/anaconda-ks.cfg
01命令模式:移动
光标移动:
h或小键盘左 左移动
j或小键盘下 下移动
k或小键盘上 上移动
l或小键盘右 右移动
单词移动:
w 移动到下一个单词开头
e 移动到当前单词或下一个单词末尾
b 移动到当前单词或上一个单词开头
行内移动
^ 移动到当前行首端(非空白字符处)
- 移动到当前行首端
$ 移动到当前行尾端
屏幕移动
Ctrl + f 向下滚动一页
Ctrl + b 向上滚动一页
Ctrl + d 向下滚动半页
Ctrl + u 向上滚动半页
行号移
nG 移动n行,6G移动到第6行
gg 移动到文件开头
G 移动到文件末尾
删除命令:
x 删除光标所在位置字符
X 删除光标前一个字符
dd 删除当前行
ndd 删除从当前到第n行
dw 删除光标所在单词
d$ 删除光标所在行单词后所有内容
粘贴命令:
p 在光标之后粘贴,粘贴在当前行下方
p 在光标之前粘贴,粘贴在当前行上方
修改命令:
r 替换光标所在位置当个字符
R 进入替换模式,可连续替换多个字符
cw 删除光标所在位置到单词末尾内容并进入插入模式
u 撤销上一步操作
Ctrl + r 恢复撤销的操作
v 进入字符可视化模式
V 进入行可视化模式
. 重复上一次执行的命令
02插入模式:
i 在光标当前位置前插入文本
a 在光标当前位置后追加文本
o 在当前行下方创建一行
O 在当前行上方创建一行
s 删除光标所在字符
S 删除当前整行
gi 回到上次插入模式结束光标位置
A 光标移动到当前行末尾
I 光标移动到当前行首行非空白字符前
03末行模式:
文件操作:
:w 将当前编辑内容进行保存
:w 将当前编辑内容进行强制保存
:q 如果文件没有进行修改可以直接退出vim:
:q! 强制退出vim,不进行保存数据
:wq 保存并退出vim
:x 功能与wq类似,在文件修改时回进行保存
搜索与替换
:/System 从光标位置开始向下搜索System
:?System 从光标位置开始向上搜索System
:s/System/new 将光标所在行第一个System替换为new
:s/System/new/g 将光标所在行的所有System替换为new
:1,10 s/System/new/g 将从第1行到第10行的所以System替换为new
:%s/System/new/g 将整个文件的所有System替换为new
行操作
:set number 或 :set nu 文本左侧显示行号
:set nonumber 或 :set nonu 取消显示行号
:n 将光标移动到第n行
:n,m d 删除第n行到第m行内容
:n,m co [l] 将从第n行到第m行内容复制到第l行
:n.m m [l] 将从第n行到第m行内容移动到第l行
设置选项:
:syntax on 开启语法高亮显示
:syntax off 关闭语法高亮显示
:set autoindent 或 :set ai 启动自动缩进,新行的缩进同上行
:set noautoindent 或 :set noai 禁用自动缩进
:set smartindent 或 :set si 启动智能缩进
:set nosmartindent 或 :set nosi 禁用智能缩进
:set tabstop=n 设置一个制表符Tab的宽度为n个空格,默认通常是8个空格
:set expandtab 或 :set et 将制表符Tab转换为空格,输入Tab插入的实际是空格
:set noexpandtab 或 :set noet 取消将制表符Tab转换为空格,恢复使用制表符
其他指令
:r /root/abcd 将指定文件abcd内容插入到当前光标位置之后
:!ls 在vim中执行外部命令ls
:e /root/abcd 编辑另一个文件abcd,当前文件会是修改状态被保存
:bn 切换下一个打开文件
:bp 切换上一个打开文件
:files 列出之前打开的所以文件及其标号