Linux基础学习记录 | 青训营笔记

28 阅读8分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 13 天

Linux基础学习记录(指令学习)

这是我自己学习Linux的过程中经常会遇到的指令,比较常见,做一个总结。

cd命令

切换进入指定目录

使用方式:cd [dirName] cd [相对路径或绝对路径]

.代表此层目录

..代表上层目录

-代表前一个目录

~代表“当前用户身份”所在主文件夹

cd [dirName]

touch命令

touch命令用来创建一个新文件

用法:touch fileName

touch fileName

mkdir命令

make directory,创建目录

方式1:mkdir (路径)文件夹 不写路径就是在当前目录创建文件夹

方式2:mkdir -p 路径 当一次性创建多层不存在的目录的时候,添加-p参数,否则会报错

方式3:mkdir 路径1 路径2 路径3……(多个路径以空格隔开) 表示一次性创建多个目录

rm命令

rm 命令可用于移除不需要的 (取消链接) 目录和文件,可移除一个目录中的一个或多个文件或目录,也可移除某个目录及其下的所有文件及子目录。

用法:rm ./filename

rm ./filename

注: 删库跑路命令 rm -rf /*

su命令

su命令是在用户间切换,可以是从普通用户切换到root用户,也可以是从root用户切换到普通用户,当由普通用户切换到root用户时,需要认证密码。

#切换root用户
su root 

apt命令

apt-cache和apt-get是apt包的管理工具,他们根据/etc/apt/sources.list里的软件源地址列表搜索目标软件、并通过维护本地软件包列表来安装和卸载软件。

#安装软件
sudo apt-get install  package_name
​
#更新软件包列表
sudo apt-get update

Linux常见环境配置安装

#vim文本编辑器安装
sudo apt-get install vim
​
#安装C/C++编译器及环境
sudo apt install build-essential
​
#安装Mysql(记得修改初始密码)
sudo apt-get install mysql-server
sudo apt install mysql-client
​
#指令安装VsCode(建议应用商店安装)
sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
sudo apt-get update
sudo apt-get install ubuntu-make
umake ide  visual-studio-code
​
#安装netstat网络工具
sudo apt-get install net-tools

clear命令

清除当前的Ubuntu终端,这只是将原先的输出向上移动

clear

reset命令

重启Ubuntu终端

reset

终端快捷键

在Ubuntu中打开终端的快捷键是 Ctrl+Alt+T

shutdown命令

关机命令(可以man shutdown命令了解详情)

#现在立即关机
shutdown now
shutdown -h now

#现在立即重启
shutdown -r now

Linux基础学习记录(vi/vim编辑器学习)

在Linux的系统中使用文本编辑器来编辑Linux参数配置文件,是一件非常重要的事情。

在Linux的世界中,绝大多数的配置文件都是以ASCII的纯文本文件形式存在,因此利用简单的文字编辑软件就能修改设置。

ubuntu 安装vim

Linux默认自带vi,一般使用升级版vim。第一次使用需要安装vim

sudo apt install vim

vi/vim的重要性

  • 所有的UNIX-like系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在
  • 很多软件的编辑接口都会主动调用vi
  • vim具有程序编辑的能力,可以主动地以字体颜色辨别语法的正确性,方便程序设计
  • 程序简单,编辑速度快

我们可以简单地将vim视作vi的高级版本,vim可以用颜色或下划线的方式来显示一些特殊的信息。例如,使用vim去编辑一个C语言程序的文件,或是shell脚本程序时,vim会根据文件的扩展名或是文件内的开头信息,判断该文件的内容而自动调用该程序的语法判断样式,再以颜色来显示程序代码与一般信息

简而言之,vim是个程序编辑器,甚至一些Linux基础配置文件内的语法,都能够用vim来检查,vim是一个程序开发工具而不是文本处理软件。

vi的使用

基本上vi共分为3种模式,分别是一般命令模式编辑模式命令行模式

一般命令模式(command mode)

以vi打开一个文件就直接进入一般模式了(这是默认的模式,也简称为一般模式)。

编辑模式(insert mode)

在一般命令模式中可以进行删除,复制,粘贴等的操作,但是却无法编辑文件的内容。只有等你按下【i,l,o,O,a,A,r,R】等任何一个字母之后才会进入编辑模式。 需要注意的是,在Linux中,按下这些按键时,在界面的左下方会出现【INSERT】或【REPLACE】的字样,此时才可以进行编辑,而如果要回到一般命令模式时,则必须要按下【Esc】这个按键即可退出编辑模式。

命令行模式(command-line mode)

在一般模式当中,输入【: / ?】三个中的任何一个按钮,就可以将光标移动到最下面那一行。 在这个模式当中,可以提供你【查询数据】的操作,而读取,保存,批量替换字符,退出vi,显示行号等的操作则是在此模式中完成。

3种模式的关系

一般命令模式可与编辑模式及命令行模式切换,但编辑模式与命令行模式之间不可互相切换。

vi 3种模式的相互关系.png

按键说明

vi的三种模式只有一般命令模式可以与编辑,命令行模式切换,编辑模式与命令行模式之间并不能切换。

第一部分:一般命令模式可用的功能按键说明,光标移动,复制粘贴,查找替换等

移动光标的方法:

按键说明
h或向左箭头键光标向左移动一个字符
j或向下箭头键光标向下移动一个字符
k或向上箭头键光标向上移动一个字符
l或向右箭头键光标向右移动一个字符
[Ctrl] + [f]屏幕【向下】移动一页,相当于[Page Down]按键(常用)
[Ctrl] + [b]屏幕【向上】移动一页,相当于[Page Up]按键(常用)
0或功能键[Home]这是数字【0】:移动到这一行的最前面字符处(常用)
$或功能键[End]移动到这一行的最后面字符(常用)
G移动到这个文件的最后一行(常用)
gg移动到这个文件的第一行,相当于1G(常用)
n< Enter >n为数字,光标向下移动n行

查找与替换:

按键说明
/word向光标之下寻找一个名称为word的字符串(常用)
:n1,n2s/word1/word2/gn1与n2为数字,在第n1与n2行之间寻找word1这个字符串,并将该字符串替换为word2(常用)
:1,$s/word1/word2/g从第一行到最后一行寻找word1字符串,并将该字符串替换为word2(常用)
:1,$s/word1/word2/gc从第一行到最后一行寻找word1字符串,并将该字符串替换为word2,并且在替换前显示 提示字符给用户确认(confirm)是否需要替换(常用)

删除,复制与粘贴:

按键说明
x与X在一行当中,x为向后删除一个字符(相当于[del]按键),X为向前删除一个字符(相当于 [Backspace]即退格键)(常用)
dd删除(剪切)光标所在的那一整行(常用)
nddn为数字,删除(剪切)光标所在的向下n行(常用)
yy复制光标所在的那一行(常用)
nyyn为数字,复制光标所在的向下n行(常用)
p与Pp为将已复制的数据在光标下一行粘贴,P则为贴在光标上一行(常用)
u恢复前一个操作(常用)
[Ctrl] + r重做上一个操作(常用)

第二部分:一般命令模式切换到编辑模式可用的按键说明

进入插入或替换的编辑模式:

按键说明
i与l进入插入模式(Insert mode): i为【从目前光标所在处插入】,I为【在目前所在行的第一个非空格符处开始插入】(常用)
a与A进入插入模式(Insert mode): a为【从目前光标所在的下一个字符处开始插入】,A为【从光标所在行的最后一个字符处开始插入】(常用)
o与O进入插入模式(Insert mode): o为【在目前光标所在的下一行插入新的一行】;O为【在目前光标所在处的上一行插入新的一行】(常用)
r与R进入替换模式(Replace mode): r只会替换光标所在的那一个字符一次;R会一直替换光标所在的文字,直到按下Esc为止(常用)
[Esc]退出编辑模式,回到一般命令模式中(常用)

第三部分:一般命令模式切换到命令行模式的可用按键说明

命令行模式的保存,退出等命令:

按键说明
:w将编辑的数据写入硬盘文件中(常用)
:w!若文件属性为【只读】时,强制写入该文件
:q退出vi(常用)
:q!若曾修改过文件,又不想保存,使用!为强制退出不保存
:wq保存后退出,若为:wq!则为强制保存后退出(常用)
ZZ若文件没有修改,则不保存退出,若文件已经被修改过,则保存后退出
:w [filename]将编辑的数据保存成另一个文件(类似另存新文件)
:r [filename]在编辑的数据中,读入另一个文件的数据,亦即将【filename】这个文件内容加到光标所在行后面
:n1,n2 w [filename]将n1到n2的内容保存为filename这个文件
:set nu显示行号,设置之后,会在每一行的前缀显示该行的行号
:set nonu与set nu相反,为取消行号