一、关机
shutdown -h
shutdown -h now
(关电源)
halt
(关闭内存)
init 0
二、VMware中的备份和克隆
备份
快照侧重点在于短期备份,需要频繁备份的时候用快照,开启关闭都可以
备份只能在__关闭__的时候使用
1、在“虚拟机”,“快照”,”拍摄快照“
克隆
右键当前系统找到管理->克隆。
一般选择完整克隆。
三、Linux的文件
bin
放二进制文件
dev
放外接设备,不能直接使用需要被挂载
etc
配置文件
Home
除了root用户的其他用户的家目录,类似于windows的user/用户目录
proc
表示进程,该目录存储是Linux运行时候的进程
root
该目录是root用户自己的项目
Sbin
全称super binary,可以执行的二进制文件,但是只能被超级管理员执行。
Tmp
临时文件
Usr
用户自己安装的文件
var
程序/系统的日志文件
mnt
当外接设备需要挂载的时候就需要__mnt__
四、Linux的命令
指在Linux终端输入的内容叫指令
一个__标准__格式:Linux通用的格式
#命令主体 [选项] [操作对象]
选项和操作对象可以多个
基础命令
1、ls命令
用法1:#ls
列出当前工作目录下的所有文件/文件夹的名称
用法2:#ls 路径
列出指定路径下的所有文件/文件夹的名称
关于路径(重要):
相对路径:要先有参照物——用到两个符号“./”当前目录下、“…/"上一级目录下
绝对路径:不需要参照物,从根“/‘开始
用法3:#ls 选项 路径
常见语法:
-
#ls -l 路径:用详细列表的形式
表现形式:
第一个字符表示文件类型:"-"表示文档类型为文件,"d"表示为文件夹。
Linux中隐藏文件都是用”."开头的。
-
#ls -la 路径:显示所有文件和文件夹,包括隐藏的文件和文件夹。
用法4:#ls -lh 路径
列出指定路径下的所有文件/文件夹的名称,以列表的形式并且在显示文档大小的时候以可读性较高的形式表示。
2、pwd命令
用法:#pwd (print working directory,打印当前工作目录)
3、cd 命令
切换路径
语法:#cd /路径
__~__表示当前用户的家目录。
4、mkdir命令
指令:mkdir(make directory:创建目录)
语法1:#mkdir 路径[文件夹名称或者包含名称的一个完整路径]
文件夹颜色:蓝色表示文件夹,黑色表示文件,绿色表示权限为拥有全部权限
语法2 : #mkdir -p 路径
当一次性想要创建多层不存在的目录的时候,可以用-p。
语法3:#mkdir 路径1 路径2 路径3…一次性创建多个目录
5、touch命令
指令:touch
作用:创建文件
语法:#touch 文件路径[路径可以直接是文件名或者是路径]
PS:可以创建多个文件
6、cp指令
指令:cp(copy,复制)
作用:复制文件/文件夹到指定位置
语法:#cp 被复制的文档路径 文档被复制到的
//复制过程中可以改名
//当使用cp命令进行文件夹复制操作的时候需要添加项目“-r"[-r]表示递归复制],否则目录将被忽略。
7、mv命令
指令:mv(move,移动,剪切)
作用:移动文档到新的位置
语法:#mv 需要移动的文档路径 需要保存的位置路径
确认:移动之后原始的文件还在不在同一个位置
8、rm命令
指令:rm(remove,移除,删除)
作用:移除删除一个文件或者多个
不想频繁的确认,则可以在指令中添加选项“-f".
删除一个目录的时候需要做递归删除,并且也不需要进行删除确认询问,所以移除目录的时候一般需要用-rf选项
删除多个文档:可以
用法 :rm -f linux*
*称之为通配符,意思表示任意的字符。
Linux*则表示只要文件以Linux开头,后续字符则不管。
9、vim命令
指令:vim(是一款文本编辑器)
语法:#vim 文件路径
作用:打开一个文件(可以存在,也可以不存在)
vim install.log
10、输出重定向
一般命令的输出都会显示在终端中,有些时候需要将一些命令的之星结构保存到文件中进行后续的分析/统计,则时候需要使用到输出重定向技术。
”>"
覆盖输出,会覆盖掉原先的文件内容
“>>"
追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
语法:#正常执行的指令>/>>文件的路径
文件可以不存在,不存在就创建一个。
11、cat指令
作用1:cat有直接打开一个文件的功能
语法:#cat 文件的路径
作用2:cat还可以对文件进行合并
语法2:#cat 待合并的文件路径1 待合并的文件路径2…文件路径n > />>合并之后的文件路径
进阶指令
1、df指令
作用:查看磁盘空间
语法:#df -h -h表示以可读性较高的形式展示大小
2、free指令
**作用:**查看内存使用情况
**语法:**free -g/-m
出来有三行要看第二行的内容,是真实剩下的内存。
swap:用于临时内存,当系统真实内存不够用的时候可以使用磁盘空间来表示。
3、head指令
作用:查看一个文件的前n行,如果不指定n,则默认前10行。
语法:#head -n 文件路径 [n表示数字]
语法2:#head
4、tail指令
作用1:查看一个文件的末n行,如果n不指定就显示后10行
语法:#tail-n 文件路径 [n表示数字]
**作用2:**可以用tail来查看一个文件的动态变化[变化的内容不能是用户主动添加的]
语法:#tail-f
该命令一般用于查看系统的日志比较多
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZNm4kcC5-1600704267902)(C:\Users\zjq\AppData\Roaming\Typora\typora-user-images\image-20200914081724267.png)]
5、less指令
**作用:**查看文件,以较少的内容进行输出,按下辅助功能键(数字+回车,空格键+上下方向键盘)查看更多
语法:#less 需要查看的文件路径
退出只需要按下q键即可。
6、wc指令
**作用:**统计文件内容信息(包括行数,单词数,字节数)
语法:#wc -lwc 需要统计的文件路径
-l:表示lines,行数//比较常用
-w:表示words,单词数
-c:表示bytes,字节数
7、date指令(重点)
作用:表示操作时间喝日期的(读取、设置)shell
语法1:#date 输出形式:2018年3月24日 星期六 15:53:20
语法2:#date +%F (等价于#date “+%Y-%m-%d”)输出形式:2018-03-24
//大小Y要注意
语法3:#date “+%F %T”
等价操作#date “+%Y-%m-%d %H:%M:%S”
输出的形式:2018-03-24 16:01:00
语法4:获得之前或者之后的某个时间(备份)
#date -d “-1 day” “+%Y-%m-%d %H:%M:%S”
"-“表示之前,”+"表示之后
%F:表示完整的年月日
%T:表示完整的时分秒
%Y:表示4位年份
%m:表示两位月份(带前导0)
%d:表示日期(带前导0)
%H:表示小时(带前导0)
%M:表示分钟(带前导0)
%S:表示秒数(带前导0)
8、cal指令
作用:用来操作日历
语法1:#cal 等价于 #cal -1 直接输出当前月份
语法2:#cal -3 表示输出上一个月,本月,下个月的日历
语法3:#cal -y 年份 表示输出某一年份的日历
9、clear/ctrl+L 指令
作用:清除终端中已经存在的命令和结果(信息)
语法:clear 或者快捷键,ctrl+L
需要注意对的是,该命令并不是真的清除,而是把之前信息隐藏到上面,可以通过滚动条继续查看。
10、管道(重要)
管通符:l
**作用:**管道一般可以用于"过滤",“特殊”,“扩展处理”
语法:管道不能单独使用,必须需要配合前面所讲的一些指令来配合,作用是辅助作用
#ls /lgrep Y
1、管道作为分界线,前面的命令有输出,前面的输出是后面的输入
2、grep指令:主要用于过滤
特殊用法:用管道实现less的等价用法(多此一举)
#cat 路径|less
扩展用法:统计某个目录下的文档个数
答:#ls/|wc -l
高级指令
1、hostname指令
作用:操作服务器的主机名称(读取、设置)
语法1:#hostname 含义:表示输出完整的主机名
语法2:#hostname -f 含义:表示输出当前主机名中的FQDN(全限定域名)
2、id指令
作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id)
不指定用户则默认当前用户。
语法1:#id 默认显示当前执行该命令的用户的基本信息。
语法2:#id 用户名 指定用户的信息
3、whoami 指令
作用:“我是谁?”显示当前登录名,一般用于shell脚本,获取当前用户名和操作记录
语法:#whoami
4、ps -ef指令(重点)
指令:ps
作用:主要是查看服务器的进程信息
选项含义
-e:等价于“-A",表示列出全部进程
-f:显示全部的列(显示全字段)
列的含义:
UID:该进程执行的用户id
PID:进程id
PPID:该进程的父级进程id(如果该程序的父级进程找不到,就叫做僵尸进程)
C:cpu的占用率,其形式是百分比
STIME:进行的启动时间。
TTY:终端设备,发起该进程的设备识别符号,如果是”?"则表示不是终端发起。
TIME:进程的执行时间。
CMD:该进程的名称或者对应的路径。
5、top指令
作用:查看服务器的进程占的资源。
语法:
进入命令:#top (动态显示)
退出命令:按下q键
输出结果
PID:进程id
USER:该进程对应的用户
PR:优先级
VIRT:虚拟内存
RES:常驻内存
SHR:共享内存
计算一个进程实际使用的内存 = 常驻内存(RES)-共享内存(SHR)
S:表示进程的状态(sleeping,其中S表示睡眠,R表示运行);
%CPU:表示CPU的占用比
%MEM:表示内存的占用比
TIME+:执行的时间
COMMAND:进程的名称或者路径
在运行top的时候,可以按下方便的快捷键
M:表示将结果按着内存(MEM)从高到低进行降序排序
P:表示将结果按着CPU从高到低进行降序排序
1:当服务器拥有多个cpu时候,可以用“1”快捷键切换是否展示各个cpu的详细信息。
6、du-sh指令
作用:查看目录的真实大小
选项含义
-s:summarles,只显示汇总的大小
-h:表示以高可读形式进行显示
7、find指令
作用:用于查找文件(其中参数有55个之多)
语法:#find 路径范围 选项 路径服务
选项:
-name:按照文档名称进行搜索(支持模糊搜索)
-type:按照文档的类型进行搜索
文档类型:"-"表示文件(在使用find的时候需要用f来代替),"d"表示文件夹
8、service指令
作用:用于控制一些软件的服务启动/停止/重启
语法:#service 服务名 start/stop/restart
例如:需要启动本机安装的Apache(网站服务软件)
9、kill指令
作用:表示杀死进程(当遇到僵尸进程或者处于某些原因需要关闭进程的时候)
语法:#kill 进程PID(语法需要配合ps一起使用)
与kill命令作用相似但是比kill更加号用的杀死进程的命令:killall
语法:#killall 进程名
10、ifconfig指令(重点)
作用:用于操作网卡相关的指令
简单语法:#ifconfig (获得网卡信息)
11、reboot指令
作用:重新启动计算机
语法1:#reboot
语法2:#reboot -w 模拟重启,不重启(只写开机关机的日志信息)
12、shutdown指令
作用:关机 (慎用)
语法1:shutdown -h now
语法2:#shutdown -h 15:25
语法3:#shutdown -c
对于centos7.x之前的版本用ctrl+c
对于centos7.x(包含)之后的版本用#shutdown -c
除了shutdown关机以外,还有以下几个关机命令:
#init 0
#halt
#poweroff
14、uptime指令
作用:输出计算机的持续在线时间(计算机从开机以来倒现在运行的时间)
语法:#uptime
14、uname指令
作用:获取计算机操作系统相关信息
语法1:#uname 获取操作系统的位置
语法2:#uname -a 获取全部的系统信息
(类型、全部主机名,内核版本、发布时间、开源计划)
15、netstat-tnlp指令
作用:查看网络的连接状态
语法:#netstat -tnlp
选项说明:
-t:表示只列出tcp协议的连接
-n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示
-l:表示过滤出“state(状态)”列中其值为listen(监听)的连接
-p:表示显示进程的pid和进程名称
16、man指令
作用:manual,手册(包含乐Linux中全部命令手册)
语法:#man命令 (退出按下q键)
五、vim编辑器
VIm的打开文件的方式(4种,要求掌握的就是前三种)
#vim 文件路径 作用:打开指定的文件
#vim +数字 文件的路径 作用:打开指定的文件,将光标移动到指定文件
#vim +/关键词 文件的路径 作用:打开指定的文件,并且高亮显示关键词
退出方式:按下:q退出就可以了
A、命令模式
该模式是进入vim的第一个模式
1、光标移动
①光标移动到行首
按键:shift+6或者^(T字母上面的6,不要按小键盘的6)
②光标移动到行尾
按键:shift+4(R字母左上角的4)
③光标移动到首行
按键:gg
④光标移动到末行
按键:G
⑤翻屏
向上:ctrl+b/PgUp
向下:ctrl+f/PgDn
2、复制操作
①复制光标所在行
按键:yy
粘贴:在想要粘贴的地方按下p键
②以光标所在行为准(包括当前行),向下复制指定的行数
按键:数组 yy
③可视化复制
按键:ctrl+v,然后按下然后按↑↓←→方向键选中需要复制的区域块,然后按下yy复制,再按下p键粘贴。
3、剪切/删除
①剪切/删除光标所在行
按键:dd (删除之后下一行上移)
注意:dd严格意义上是剪切命令,但是如果剪切乐不粘贴就是删除。
②剪切/删除光标所在行为准,向下删除/剪切指定的行
按键:数字 dd (删除之后下一行上移)
③剪切/删除光标所在的当前行,但是删除之后下一行不上移
按键:D (删除之后当前行会变空白行)
4、撤销/恢复
撤销:输入 :u 或者 u (undo)
恢复:ctrl+r 恢复(取消)之前的撤销操作
5、扩展1:光标的快速移动
①快速将光标移动到指定的行
按键:数字 G
②以当前光标为准向上/向下移动n行
按键:数字↑,数字↓
③以当前光标为准,向左/向右移动n字符
按键:数字←,数字→
④末行模式下的快速移动方式,移动到指定的行
按键:输入英文":",其后输入行数数字按下回车。
B、编辑模式
重点看前两个进入方式:i(insert)、a(after)
退出方式:按下esc键
C、末行模式
进入方式:由命令模式进入,按下:":"或者“/(表示查找)"就可以进入
退出方式:
a、按下esc
b、按下两下esc
c、删除末行全部输入字符
1、保存操作
输入:”:w" 保存文件
输入:":w 路径" 另存为
2、退出(quit)
输入:”:q" 退出文件
3、保存并退出
输入:":wq" 保存并且退出
4、强制(!)
输入:“:q!" 表示强制退出,刚才左的修改操作。
5、调用外部命令
输入:“:!外部命令”
6、搜索/查找
输入:“/关键词”
在搜索结果中切换上/下一个结果:N/n(next)
如果需要取消高亮:则需要输入:“:nohl"[no hightlight]
7、替换
😒/搜索的关键词/新的内容 替换光标所在行的第一处符合条件的内容。
😒/搜索的关键词/新的内容/g 替换光标所在行的全部内容。
:%s/搜索的关键词/新的内容 替换整个文档中每行第一个符合条件的内容。
:%s/搜索的关键词/新的内容/g 替换整个文档的符合条件的内容。
%表示整个文件
g表示全局
8、显示行号
输入:”set nu"[number]
如果想取消显示,则输入:":set nonu"
9、扩展2:使用同时打开多个文件,在末行模式下进行切换文件。
查看当前打开的文件名称:":files"
在%a的位置有两种显示可能
%a:a=active,表示当前正在打开的文件。
#:表示上一个打开的文件
切换文件的方式:
a.如果需要指定切换文件的名称,则可以输入:“:open group”
b.可以通过其他命令来切换上一个文件/下一个文件
输入:":bn"切换到下一个文件(back next)
输入:":bp"切换打到上一个文件(back prev)
七、实用功能
1、代码着色
显示:":syntax on"
关闭显示:":syntax off"
2、vim中计算器的使用
当在编辑文件的时候突然需要使用计算器,但是需要退出,vim自身集成了一个简易的计算器。
a、进入编辑模式
b、按下按键"ctrl+R"
八、扩展(3)
1、vim的配置(重点)
Vim是一款编辑器,编辑器也是有配置文件的。
Vim配置有三种情况:
a、在文件打开的时候在末行模式下输入的配置(临时)
b、个人配置文件(~/.vimrc)
c、全局配置文件(vim自带,/etc/vimrc)
两个配置都有同一个配置项就已个人为主。
2、异常退出
什么是异常退出:在编辑文件后并没有正常的去wq(保持退出),而是遇到突然关闭终端或者断电的情况,就会显示下面的效果,这个情况称作异常退出。
3、别名机制
作用:相当于创建一些属于自己的自定义命令
例如:在windows下有cls命令,在Linux下可能因为没有这个命令而不习惯。现在可以用别名机制来解决这个问题。
别名机制依靠一个别名映射文件:~/.bashrc
#vim ~/.bashrc
注意:如果想新创造的命令生效,必须要重新登录当前用户。
4、退出方式
回顾:之前vim中退出编辑的文件用":q"或者":wq"
除了上面的这个语法外,还支持另外一个保存方法":x"
说明:
①":x":文件没有修改的情况下,表示直接退出,在文件修改的情况下保存并退出;
②如果文件没有改,使用wq进行退出的话,则文件的修改时间会被更新;使用x就不会更新修改时间。会混淆用户对用户文件修改时间的认定。
因此建议以后使用":x"来进行对文件的保持退出。要用"x"而不是"X"
X表示对文件进行一个加密操作。
九、Linux的自有服务
自有服务,即不需要用户独立去安装的软件的服务,系统安装好之后就可以直接使用的服务(内置)。
在Linux存在一个进程:init(initialize,初始化),进程id是1。
该进程存在一个对应的配置文件:inittab(心痛运行级别配置文件,位置/etc/inittab)
文件中:
0-表示关机级别(不要将默认的运行级别设置为0)
1-单用户模式
2-多用户模式,不带NFS(Networdk File System)
3-多用户模式,完全的多用户模式(不带桌面的,纯命令模式)
4-没有被使用的模式(被保留的模式)
5-x11完整的图形化界面模式
6-表示重启级别(不要将默认的运行级别设置成这个值)
与该级别相关的几个命令
#init 0 表示关机
#init 3 表示切换到不带桌面的模式
#init 5 切换到图形界面
#init 6 重启电脑
这些命令都是调用的init进程,将数字(运行级别)传递给进程,进程去读配置文件夹对应的操作。
①切换到纯命令行
#init 3
②回到桌面模式
#init 5
③设置模式伟永久命令行模式
将/etc/inittab文件中的initdefault的值设置为3,然后重启操作。
十、用户与用户组管理(重点)
补充的:
命令行界面和图形界面
查看计算机系统启动后要进入的默认目标,graphical.targe表示图形化界面。
systemctl get-default
将multi-user.target目标设置为启动计算机系统后要进入的默认目标,multi-user.target表示字符串界面
systemctl set-default multi-user.target
恢复图形化界面
startx
或者systemctl set-default graphical.target