Linux系列文章
第二章 Linux基础操作
1、终端
虚拟终端(仿真包)
切换无图形化桌面系统快捷键:ctrl + alt + f2~f6 返回:ctrl +alt+f1
2、目录
- /bin:Binary(二进制)的缩写,该目录存放着最经常使用的命令。
- /boot: 启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。(不要动)
- /dev : Device(设备)的缩写, 存放的是外部设备(访问设备的方式和访问文件的方式是相同的)。
- /etc: 用来存放所有的系统管理所需要的配置文件和子目录。
- /home:用户的主目录。每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
- /lib:系统最基本的动态连接共享库。其作用类似于 Windows 里的 DLL 文件。(不要动)
- /lost+found:一般情况下是空的,当系统非法关机后,这里就存放了一些文件。(存放突然关机的一些文件)
- /media:系统会自动识别一些设备,例如U盘、光驱等等,当识别后,会把识别的设备挂载到这个目录下。
- /mnt:供用户临时挂载别的文件系统,我们可以将光驱挂载在该目录上,然后进入该目录就可以查看光驱里的内容了。(把一些本地的文件挂载在这个文件下)
- /opt:主机额外安装软件所摆放的目录。比如安装一个 Oracle数据库就可以放到这个目录下。默认是空的。
- /proc:虚拟的目录,它是系统内存的映射,可以通过直接访问这个目录来获取系统信息。(不用管)
- /root:系统管理员,也称作超级权限者的用户主目录。 /sbin:s 就是 super user 的意思,这里存放的是系统管理员使用的系统管理程序。
- /srv:服务启动之后需要提取的数据。
- /sys:这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs。
- /tmp:用来存放临时文件。
- /usr:用户的应用程序和文件都放在这个目录下,类似于 Windows 下的 program files 目录。
- /bin:系统用户使用的应用程序。 /sbin: 超级用户使用的比较高级的管理程序和系统守护程序。 /src: 内核源代码默认的放置目录。
- /var:存放着在不断扩充着的东西,一般将那些经常被修改的目录放在这个目录下。包括各种日志文件。
- /run:一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
- /www: 存放服务器网站相关的资源,环境,网站的项目
3、常用工具
清屏工具 clean 查看历史命令 history 退出 exit 关机 showdownv
关机之前必须做操作 sync 同步数据
sync
shutdown
shutdown –h 10
shutdown –h now
shutdown –h 20:25
shutdown –h +10
shutdown –r now
shutdown –r +10
reboot
halt
重启 reboot 同步数据 sync
列出目录 ls
-a:全部的文件,连同隐藏文件(开头为 . 的文件) 一起列出来(常用)。
-l:长数据串列出,包含文件的属性与权限等等数据(常用)。
-i:显示文件的 inode 节点信息。
切换目录 cd
cd 目录名 (绝对路径都是以 / 开头,相对路径,对于当前目录改如何寻找 ../../)
[root@gh ~]
[root@gh /]
显示当前目录 pwd
单纯显示出目前的工作目录
[root@sail ~]
/root
如果是链接,要显示真实地址,可以使用 -P 参数
[root@sail ~]
[root@sail bin]
/bin
[root@sail bin]
/usr/bin
4、VIM
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。这三种模式的作用分别是:
默认为命令模式
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底一行输入命令。如果是便捷模式,需要退出便捷模式ESC
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式
————————————————
版权声明:本文为CSDN博主「gh-xiaohe」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gh_xiaohe/article/details/123109709
底线命令模式
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
q 退出程序
w 保存文件
按ESC键可随时退出底线命令模式。
光标移动命令
单个字符移动:
h: 向左移动
l: 向右移动
j: 向下移动
k: 向上移动
xh: 向左移动x个字符距离
单词移动:
w: 将光标移动到下一个单词的开头
b: 将光标移动到前一个单词的开头
e: 将光标移动到下一个单词的词末
E: 移动到单词的结尾(忽略标点符号)
ge: 将光标移动到上一个单词的词末
2w: 指定移动的次数
行移动:
$: 将光标移动到当前行的行尾
0: 将光标移动到当前行的行首
^: 将光标移动到当前行的第一个非空字符(行首和当前行非空字符不是一个位置)
2|: 移到当前行的第2列
fx: 将光标移动到当前行的第一个字符x上
3fx: 将光标移动到航前行的第3个字符x上
tx: 将光标移动到目标字符x的前一个字符上
fx和tx可以通过;和,进行重复移动,一个是正向重复,一个是反向重复
%: 用于符号间的移动,它会在一对()、[]、{}之间跳跃
文本块移动:
(: 移到当前句子的开头
): 移到下一个句子的开头
{: 移到当前一段的开头
}: 移到下一段的开头
[[: 移到当前这一节的开头
]]: 移到下一节的开头
在屏幕中移动
xG: 跳转到指定的第x行,G移动到文件按末尾,``(2次单引号)返回到跳转前的位置
gg: 移动到文件开头
x%: 移动到文件中间,就使用50%
H: 移动到home
M: 移动到屏幕中间
L: 移动到一屏末尾
ctrl+G: 查看当前的位置状态
滚屏与跳转
半屏滚动: ctrl+u/ctrl+d
全屏滚动: ctrl+f/ctrl+b
定位光标的位置
zz: 将光标置于屏幕的中间
zt: 将光标移动到屏幕的顶部
zb: 将光标移动到屏幕的底部
设置跳转标记
mx,my,mz设置三个位置
`x,`y,`z跳转到设置
文本插入操作
i: 在当前光标的前面插入字符
a: 在当前光标的后面追加字符
o: 在当前光标的下一行行首插入字符
I: 在一行的开头添加文本
A: 在一行的结尾处添加文本
O: 在光标当前行的上一行插入文本
s: 删除当前光标处的字符并进入到插入模式
S: 删除光标所在处的行,并进入到插入模式
u: 撤销修改
文本删除操作
字符删除
x: 删除当前光标所在处的字符
X: 删除当前光标左边的字符
单词删除
dw: 删除一个单词(从光标处到空格)
daw: 无论光标在什么位置,删除光标所在的整个单词(包括空白字符)
diw: 删除整个单词文本,但是保留空格字符不删除
d2w: 删除从当前光标开始处的2个单词
d$: 删除从光标到一行末尾的整个文本
d0: 删除从光标到一行开头的所有单词
dl: 删除当前光标处的字符=x
dh: 删除当前光标左边的字符=X
行删除
dd: 删除当前光标处的一整行=D
5dd: 删除从光标开始处的5行代码
dgg: 删除从光标到文本开头
dG: 删除从光标到文本结尾
行合并
J: 删除一个分行符,将当前行与下一行合并
文本复制、剪切与粘贴
y: 复制,p:粘贴
yw: 复制一个单词
y2w: 复制2个单词
y$: 复制从当前光标到行结尾的所有单词
y0: 复制从当前光标到行首的所有单词
yy: 复制一整行
2yy: 复制从当前光标所在行开始的2行
复制文本块
1.首先进入visual模式:v
2.移动光标选择文本
3.复制与粘贴的操作
文本的修改与替换
cw: 删除从光标处到单词结尾的文本并进入到插入模式
cb: 删除从光标处到单词开头的文本并进入到插入模式
cc: 删除一整行并进入到插入模式
~: 修改光标下字符的大小写
r: 替换当前光标下的字符
R: 进入到替换模式
xp: 交换光标和下一个字符
文本的查找与替换
/string 正向查找
?string 反向查找
设置高亮显示
:set hls
*按键将当前光标处的单词高亮显示,使用n浏览下一个查找高亮的结果
:s/old/new 将当前行的第一个字符串old替换为new
:s/old/new/g 将当前行的所有字符串old替换为new
:90s/old/new/g 将指定行的所有字符串old替换为new
:90,93s/old/new/g 将指定范围的行的所有字符串old替换为new
:%s/old/new/g 将文本中所有的字符串old替换为new
:%s/old/new/gc 依次替换每个字符串关键字
:%s/^struct/int/g 将所有以struct开头的字符串替换为int
撤销修改、重做与保存
u: 撤销上一步的操作。
Ctrl+r: 将原来的插销重做一遍
:U 恢复一整行原来的面貌(文件打开时的文本状态)
:q 若文件没有修改,直接退出
:q! 文件已经被修改,放弃修改退出
:wq 文件已经被修改,保存修改并退出
:e! 放弃修改,重新回到文件打开时的状态
编辑多个文件
文件和缓冲区的区别
文件是保存在磁盘上的,而打开的文件的文件是在内存中,在内存中有一个缓冲区,用来存放打开的文件。vim每次打开文件时都会创建一个缓冲区,vim支持打开多个文件
:buffers 查看缓冲区列表==ls
:buffer N 根据缓冲区列表的编号跳转到指定缓冲区
:bnext/bprev 遍历缓冲区列表
:bfirst/blast 分别调到缓冲区列表的开头和结尾
:write 将缓冲区的修改保存到磁盘上
:edit! e! 放弃缓冲区的修改,恢复到文件打开时的状态
:edit file 编辑另一个文件
:wnext 保存当前缓冲区的修改并跳转到缓冲区列表中的下一个文件
:set autowrite
标签页与折叠栏
标签页的新建:tabedit file/tab split
标签页的切换: tabn/tabp
按键:gt/gT
标签页的关闭
tabclose
关闭当前的标签页: tabonly
创建一个折叠
zf200G:将光标和200行之间的代码折叠起来
折叠的打开与关闭
za: 打开和关闭折叠
zr/zm: 一层一层地打开和关闭折叠
zR/zM: 分别打开和关闭所有的折叠
折叠键的光标移动
zj: 跳转到下一个折叠处
zk: 跳转到上一个折叠处
删除折叠
zd: 删除光标下的折叠
zD: 删除光标下的折叠以及嵌套的折叠
zE: 删除所有的折叠标签
创建的折叠当退出vim之后就失效了。
多窗口操作
分割窗口
split/vsplit filename
窗口间跳转
ctrl+w hjkl
ctrl+w w
移动窗口
ctrl+w HJKL
调整窗口尺寸
ctrl+w +/- 调整窗口的高度
ctrl+w </> 调整窗口的宽度
ctrl+w = 所有的窗口设置相同的尺寸
:resize n将当前窗口尺寸调整为N行
关闭窗口
close: 关闭一个窗口
qall: 退出所有窗口
qall!: 放弃修改,退出所有窗口
wqall: 保存并退出所有窗口
wall: 保存所有窗口
附:vim键盘命令图
|