Linux系列文章

第二章 Linux基础操作


文章目录

  • Linux系列文章
  • 1、终端
  • 2、目录
  • 3、常用工具
  • 4、VIM

1、终端

虚拟终端(仿真包)


切换无图形化桌面系统快捷键:ctrl + alt + f2~f6
返回:ctrl +alt+f1

2、目录

  1. /bin:Binary(二进制)的缩写,该目录存放着最经常使用的命令。
  2. /boot: 启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。(不要动)
  3. /dev : Device(设备)的缩写, 存放的是外部设备(访问设备的方式和访问文件的方式是相同的)。
  4. /etc: 用来存放所有的系统管理所需要的配置文件和子目录。
  5. /home:用户的主目录。每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  6. /lib:系统最基本的动态连接共享库。其作用类似于 Windows 里的 DLL 文件。(不要动)
  7. /lost+found:一般情况下是空的,当系统非法关机后,这里就存放了一些文件。(存放突然关机的一些文件)
  8. /media:系统会自动识别一些设备,例如U盘、光驱等等,当识别后,会把识别的设备挂载到这个目录下。
  9. /mnt:供用户临时挂载别的文件系统,我们可以将光驱挂载在该目录上,然后进入该目录就可以查看光驱里的内容了。(把一些本地的文件挂载在这个文件下)
  10. /opt:主机额外安装软件所摆放的目录。比如安装一个 Oracle数据库就可以放到这个目录下。默认是空的。
  11. /proc:虚拟的目录,它是系统内存的映射,可以通过直接访问这个目录来获取系统信息。(不用管)
  12. /root:系统管理员,也称作超级权限者的用户主目录。 /sbin:s 就是 super user 的意思,这里存放的是系统管理员使用的系统管理程序。
  13. /srv:服务启动之后需要提取的数据。
  14. /sys:这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs。
  15. /tmp:用来存放临时文件。
  16. /usr:用户的应用程序和文件都放在这个目录下,类似于 Windows 下的 program files 目录。
  17. /bin:系统用户使用的应用程序。 /sbin: 超级用户使用的比较高级的管理程序和系统守护程序。 /src: 内核源代码默认的放置目录。
  18. /var:存放着在不断扩充着的东西,一般将那些经常被修改的目录放在这个目录下。包括各种日志文件。
  19. /run:一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
  20. /www: 存放服务器网站相关的资源,环境,网站的项目

3、常用工具

清屏工具 clean
查看历史命令 history
退出 exit
关机 showdownv

关机之前必须做操作  sync 同步数据
sync # 将数据由内存同步到硬盘中。shutdown # 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:shutdown –h 10 # 这个命令告诉大家,计算机将在10分钟后关机shutdown –h now # 立马关机shutdown –h 20:25 # 系统会在今天20:25关机shutdown –h +10 # 十分钟后关机shutdown –r now # 系统立马重启shutdown –r +10 # 系统十分钟后重启reboot # 就是重启,等同于 shutdown –r nowhalt # 关闭系统,等同于shutdown –h now 和 poweroff

重启 reboot
同步数据 sync

列出目录 ls
-a:全部的文件,连同隐藏文件(开头为 . 的文件) 一起列出来(常用)。
-l:长数据串列出,包含文件的属性与权限等等数据(常用)。
-i:显示文件的 inode 节点信息。

切换目录 cd

cd 目录名 (绝对路径都是以 / 开头,相对路径,对于当前目录改如何寻找  ../../)[root@gh ~]# cd /     当前目录
[root@gh /]# cd ..    返回上一级目录`

显示当前目录 pwd

单纯显示出目前的工作目录
[root@sail ~]# pwd
/root
如果是链接,要显示真实地址,可以使用 -P 参数
[root@sail ~]# cd /bin
[root@sail bin]# pwd
/bin
[root@sail bin]# pwd -P
/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模式:v2.移动光标选择文本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 hjklctrl+w w
移动窗口ctrl+w HJKL
调整窗口尺寸ctrl+w +/-  调整窗口的高度ctrl+w </>  调整窗口的宽度ctrl+w = 所有的窗口设置相同的尺寸:resize n将当前窗口尺寸调整为N行
关闭窗口close: 关闭一个窗口qall: 退出所有窗口qall!: 放弃修改,退出所有窗口wqall: 保存并退出所有窗口wall: 保存所有窗口

附:vim键盘命令图

【Linux系列文章】基础与Vim相关推荐

  1. 【Linux系列文章】基本命令介绍

    Linux系列文章 第五章 基本命令 文章目录 Linux系列文章 1.常用快捷键 2.文件目录类 3.时间日期类 3.1显示时间 3.2 date 设置系统时间 3.3 查看日历 4.用户管理命令 ...

  2. Linux系列文章 —— vim的基本操作(误入vim退出请先按「ESC」再按:q不保存退出,相关操作请阅读本文)

    系列文章目录 vim-操作篇 进程概念篇 进程地址空间篇 文章目录 系列文章目录 前言 一.vim的基本概念 二.vim的基本操作 1.退出vim编辑器 2.进入vim编辑器 3.模式功能及切换 三. ...

  3. linux中vi基础知识,Vim入门基础知识集锦

    想学习Vim,但是Vim官网的手册又太大而全,而网上各方资料要么不全面,要么不够基础.在网上搜集各方资料,按照自己的框架整理一份Vim入门基础教程,分享出来.特点是偏向基础,但对入门者来说足够全面,而 ...

  4. python系列文章(基础,应用,后端,运维,自动化测试,爬虫,数据分析,可视化,机器学习,深度学习系列内容)

    python基础教程 python基础系列教程--Python的安装与测试:python解释器.PyDev编辑器.pycharm编译器 python基础系列教程--Python库的安装与卸载 pyth ...

  5. linux php 守护进程,PHP程序员玩转Linux系列 使用supervisor实现守护进程

    PHP程序员玩转Linux系列文章: 首先遇到的问题是,部署nodejs的博客程序时,我把执行nodejs的命令放到后台,使用加&和nohup命令 如:nodejs index.js & ...

  6. Linux后台开发系列 之「03.vim 基础教程」

    vim 版权声明:本文为 cdeveloper 原创文章,可以随意转载,但必须在明确位置注明出处! vim 简介 vim 被称为编辑器之神! 在 Linux 下我们经常使用 vim 来写程序,学会使用 ...

  7. Linux系列开坑记(二)-神的编辑器Vim

    今天是Linux系列命令第二篇,今天我们来简单聊聊Vim这个号称是「编辑器之神」的编辑器---Vim 是Vi Imporved,vi来源visual单词,目的是在做可移动光标的视频编辑文本. 写这篇文 ...

  8. 视频教程-Linux系列课程(基础篇)-Linux

    Linux系列课程(基础篇) 2年JavaEE开发 ,5年资深大数据开发大牛,曾就职于蓝点科技,擅长精准广告系统开发,精通Linux操作系统! 具备丰富的大数据研发和培训经验,熟练运用Hadoop和S ...

  9. ibm系列文章 -- Windows 到 Linux 之旅

    ibm系列文章 中文: Windows 到 Linux 之旅 英文: Windows-to-Linux roadmap 本文转自 h2appy  51CTO博客,原文链接:http://blog.51 ...

  10. 零基础 ABAP 学习教程系列文章的目录

    零基础 ABAP 学习教程系列文章的目录 ABAP 标准培训教程 BC400 学习笔记之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍 ABAP 标准培训教程 BC400 学习笔记之二 ...

最新文章

  1. WIN7添加loopback接口
  2. Enumeration接口
  3. PAT甲级1016 Phone Bills :[C++题解]字符串处理(复杂题)(C语言格式化读入、输出很便利!!!)
  4. OpenCV | OpenCv常用函数(代码类)
  5. 一、专栏作者润森闲谈数据分析
  6. hdoj 1285 确定比赛名次 【拓扑排序】
  7. 编程体系结构(07):JavaEE之Web开发
  8. 实验五 数独游戏界面设置
  9. oracle字符串使用函数,oracle函数大全-字符串处理函数
  10. [数据结构与算法] (顺序)线性表简单demo程序
  11. 数据库操作update,和insert为什么会有int的返回值
  12. 为archlinux选择国内镜像
  13. 亲爱的,别把上帝缩小了 ---- 读书笔记4
  14. 台电固态硬盘用什么测试软件,台电固态硬盘怎么样(台电固态硬盘测评结果出炉 )...
  15. Azure NSG(安全组)
  16. java中比例尺_android 比例尺 源码(二) MyMapView.java
  17. java java java java
  18. 一张图告诉你246个国家最新的无人机法律
  19. 架构师的软实力之平台开发
  20. 【微信易信公众平台开发】开启开发者模式

热门文章

  1. 山东理工ACM【1239】水仙花数
  2. 【RT-Thread 开源作品秀】时光空间立方
  3. 响应式布局对图片像素的解决
  4. 转载:BGA封装芯片手工焊接攻略
  5. springboot2.0启动报错The APR based Apache Tomcat Native library which allows optimal performance in ...
  6. 携程Java后台开发面经
  7. 【文末下载PPT】李中文:软件成分安全分析(SCA)能力的建设与演进
  8. 网线百兆与千兆的接法
  9. Hacking Vim: 插件管理器Pathogen(02)
  10. Matlab中将横纵坐标改为自定义标签(set(gca,xtick)set(gca,xticklabel))