一、拍摄快照
VMware下直接右键选择快照就可以生成快照了。
使用快照管理器可以看到当前位置和快照的情况。
三、Vi和Vim
Vi和Vim是Linux系统自带的编辑器,和Windows的txt有点像。
Vim包含三种模式:
- 正常模式:一般是用来查看的,当然也可以删除和复制粘贴;
- 插入模式:一般使用点击i,I,o,O,a,A,r,R就可以进入插入模式;
- 命令行模式:一般是用来完成读取、存盘、替换、离开vim、显示行号等操作的;
模式切换图:
- 拷贝当前行的指令:yy;需要输入p粘贴上
- 拷贝当前行向下5行的指令:5yy;
- 删除当前行的指令:dd;
- 删除当前行下5行的指令:5dd;
- 在文件中查找某个单词:在命令行模式下(/之下)输入需要查找的单词,使用n查找下一个匹配的单词,比如查找public,就输入:/public
- 文件显示行号:在命令行下使用冒号:set nu,不显示行号在命令行下使用冒号:set nonu
- 跳到文件的首部和尾部:在正常模式下使用G跳到文件尾,使用gg跳到文件头,可以通过编辑/etc/profile来测试
- 一个文件写入内容,如果想撤销,需要在正常模式下输入小写u
- 跳到指定行下,为了方便可以显示行号:set nu,然后在正常模式下输入想要跳转到的行号,再按shift + g
三、开机、重启,注销
- shutdown -h now:是立刻关机
- shutdown -h 1:1分钟以后关机
- shutdown -r now: 现在重启计算机
- halt:也是关机的意思
- reboot:重启计算机
- sync:把内存的数据同步到磁盘
四、用户管理
1、用户相关
- 添加用户:useradd 名称,这个时候会在/home目录下创建一个同名的文件夹
- 添加用户,并在指定位置创建同名文件夹:useradd -d 文件夹位置 用户名称
- 修改密码:passwd 用户名,回车后可以输入密码
- 删除用户:userdel 名称,这里的家目录是不会被删除的,一般建议不删除家目录,因为可能有一些文件需要保留,避免丢失
- 删除用户以及家目录: userdel -r 用户名
- 查询用户:id 用户名
[root@hspEdu01 jerry]# id tom uid=1000(tom) gid=1000(tom) 组=1000(tom),这里会显示用户id、组id和组的信息 - 切换用户:可以通过这个指令切换到更高、更低权限的用户,su - 切换的用户名
- 切换回来:使用logout/exit指令切换
- 查看当前用户是谁:whoami
2、组相关
- 新增组:groupadd 组名
- 删除组:groupdel 组名
- 添加用户时带上组:useradd -g 用户组 用户名,比如
groupadd nba,useradd -g nba Jordan - 修改用户的组:usermod -g 用户组 用户名
五、常用指令
1、七种运行级别
- 0:关机
- 1:单用户,用于找回丢失密码
- 2:多用户状态没有网络服务
- 3:多用户状态有网络服务【常用】
- 4:系统未使用保留给用户
- 5:图形界面【常用】
- 6:系统重启
使用init指令就可以指定相应的运行级别,比如init 0就是关机
CentOS 7之后可以通过指令设置默认允许级别:
- systemctl set-default
- systemctl get-default
比如常用的3级别是multi-user.target;5级别是graphical.target。
[root@hspEdu01 ~]# systemctl get-default
graphical.target
[root@hspEdu01 ~]# systemctl set-default graphical.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.
[root@hspEdu01 ~]# reboot
2、帮助指令
help 命令:可以获取帮助信息,对于某个指令提供详细的用法信息
3、文件目录类指令
-
pwd:查看当前工作目录的绝对路径,试试su指令跳转用户,再使用pwd查看工作目录
-
ls:ls 【选项】【目录或文件】
- -a:显示当前目录所有文件和目录,也包括隐藏的目录和文件
- -l:以列表的方式显示信息
-
cd:这里注意一个即可->cd ~:是回到家目录,root,就回到/root
-
mkdir:用于创建目录,语法是mkdir【选项】 要创建的目录
- -p:创建多级目录时使用,目录下套目录
-
rmdir:用于删除空目录,语法是rmdir【选项】 要删除的目录
- rmdir删除的是空目录,目录中有内容不能删,需要使用rm -rf 去删除相应的目录
-
touch:创建空文件
-
cp:拷贝文件到指定目录,语法是cp【选项】source dest
- -r:递归复制整个文件夹
- -p:强制覆盖不提示的方法
-
rm:移除文件或目录
- -r:一样是递归删除整个文件夹
- -f:强制删除不提示
-
mv:移动文件与目录或重命名
- mv oldNameFile newNameFile 在同一个目录下是重命名文件,这里需要指定好目录名
- mv moveFile targetFolder 把一个文件移动到另一个目录去
-
cat:查看文件内容,cat和vim的区别是,cat不能改变文件信息,vim可以改变
- cat【选项】要查看的文件,选项可以填写-n用于显示行号
-
more:这个指令基于vi编辑器,用于查看文件,相关操作,more 要查看的文件
-
less:用于分屏查看文件内容,less 要查看的文件
- echo:输出内容到控制台,语法echo【选项】【输出内容】,比如:
echo Hello World - head:用于显示文件的开头部分内容,默认显示文件前10行内容
- 语法:head 文件名 查看文件头10行内容
- 语法:head -n 5 文件名 查看文件头5行内容
- tail:用于输出文件尾部的内容,默认显示文件尾10行
- 语法:tail 文件名 查看文件后10行内容
- 语法:tail -n 5 文件名 查看文件后5行内容
- >表示重定向,>>表示追加
- ls -l > 文件名 表示列表的内容覆盖写入某个文件中
- ls -al >> 文件名 列表的内容追加到某个文件中,不覆盖
- cat 文件1 > 文件2 将文件1的内容覆盖到文件2
- echo "文本内容" >> 文件名 追加到文件中去
- ln:软连接,基本语法是ln -s【原文件或目录】【软连接名】,功能是给某个文件创建一个软连接
[root@hspEdu01 home]# vim Hello.txt
[root@hspEdu01 home]# ln -s Hello.txt /home/tom
- history:查看已经执行过的指令
- history:表示查看所有历史指令
- history 10:表示查看最近10条
- !5:执行编号为5的指令
4、时间日期类指令
- date:显示当前时间
- date "+%Y":显示当前年份
- date "+%m":显示当前月份
- date "+%d":显示当前是哪天
- date "+%Y-%m-%d%H:%M:%S:" 显示年月日时分秒
- date -s 字符串时间:date -s "2022-2-10 19:55:33"
- cal:查看日历,语法cal【选项】:cal 2022 >> Hello.txt
5、搜索查找类指令
- find:从指定目录向下递归遍历各个子目录,满足条件的文件显示在终端
- find【搜索范围】【选项】
- locate:快速定位文件路径,locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件
- locate 搜索的文件,第一次使用需要使用updatedb指令创建locate库,定期要更新
- grep |:过滤查找将一个命令的处理结果输出传递给后面的指令
- grep【选项】查找内容 源文件
6、压缩与解压类命令
- gzip:压缩文件
- gunzip:解压文件
- zip:压缩文件,可以设置-r递归压缩
- unzip:解压文件:可以设置-d 指定解压后的存放目录
- tar:打包指令,打包文件变为.tar.gz,语法:tar【选项】 XXX.tar.gz
六、组管理与权限管理
1、基本概念
所有者:谁创建的谁是所有者
所在组:就是文件所在的组
其他组:除文件的所在组和所有者的用户外,系统其他的用户都是文件的其他组
- ls -ahl 文件名:查看所有者
- chown 用户名 文件名:修改文件的所有者
操作一个组:
- groupadd 组名:创建一个组
- useradd -g 组名 用户名:创建用户放入到某个组中
- ls -ahl 文件名:查看文件所在组
-rw-r--r--. 1 root root 2.1K 2月 10 19:57 Hello.txt
-
chgrp 组名 文件名:修改文件目录所在组
-
改变用户的所在组:usermod指令
- usermod -g 新组名 用户名
- usermod -d 目录名 用户名:改变用户登录的初始目录,这里需要修改者有进入这个新目录的权限
2、权限管理介绍
[root@hspEdu01 ~]# ls -l
-rw-------. 1 root root 1883 2月 4 2021 anaconda-ks.cfg
-rw-r--r--. 1 root root 1931 2月 4 2021 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 4096 2月 4 2021 公共
drwxr-xr-x. 2 root root 4096 2月 4 2021 模板
drwxr-xr-x. 2 root root 4096 2月 4 2021 视频
drwxr-xr-x. 2 root root 4096 2月 4 2021 图片
drwxr-xr-x. 2 root root 4096 2月 4 2021 文档
drwxr-xr-x. 2 root root 4096 2月 4 2021 下载
drwxr-xr-x. 2 root root 4096 2月 4 2021 音乐
drwxr-xr-x. 2 root root 4096 2月 4 2021 桌面
最前面一列是权限介绍,一共10位,按0-9编号:
- 第0位:文件类型(d,-,l,c,b)
- l表示链接:相当于windows的快捷方式
- d表示目录,相当于windows的文件夹
- c表示字符设备文件,鼠标,键盘
- b是块设备,比如硬盘
- 第1-3位:所有者对于该文件的权限
- 第4-6位:所在组对于该文件的权限
- 第7-9位:其他用户对于该文件的权限
权限共分为rwx三种:
- r表示read,读的权限
- w表示write,写的权限,对于文件来说,可以修改,但不可以删除文件,删除一个文件的前提是对该文件所在目录有写的权限才行,也就是你只有能修改目录,才能对目录的内容(所属文件)进行修改,而对于目录来说,是可以创建、删除、重命名的权限
- x表示execute,对文件来说是执行的权限,对目录来说是进入该目录的权限
3、权限的设置和修改
- 修改文件的所有者:chown newowner 文件/目录
- 递归修改目录及其子文件或目录的所有者:chown -R newowner 文件/目录
- 修改文件/目录所有者和所在组:chown -R newowner:newgroup
- 修改文件或目录的权限:
- 第一种方式,直接使用+,-,=设置,u表示所有者,g表示所在组,o表示其他组,a表示所有人,也就是所有者+所在组+其他人
- 比如修改文件目录的权限:chmod u=rwx,g=rx,o=x 文件/目录 这样设置,注意要有
, - 添加或减少权限:比如chmod u-x;chmod o+r:
chmod -R u-w,u-x,g-w,g-x,o-w,o-x direct - 第二种方式,使用数字表示权限,r=4,w=2,x=1:
chmod -R 767 direct
七、定时调度任务
1、crontab任务调度
就是希望系统在某个特定的时间执行特定的指令。
基本语法如下:crontab【选项】
比如:*/1 * * * * ls–l/etc/>/tmp/to.txt
记住这个顺序分时天月星期,*表示任何时间,-表示连续时间,,表示某几个时间点,/表示每隔多久。
crontab -e
#在脚本文件中写入
*/1 * * * * ls -l /etc/ > /tmp/to.txt
2、定时任务
如果想让任务一次性定时的执行,可以使用at命令,at的守护进程atd会在后台模式运行,一般atd守护进程每隔60s检查作业队列依次,有作业的话就查看运行时间,如果时间和系统当前时间可以匹配就运行此作业。
可以使用ps -ef |grep atd来查看atd是否在运行中。
[root@hspEdu01 tmp]# ps -ef | grep atd
root 7568 1 0 09:38 ? 00:00:00 /usr/sbin/atd -f
- at指令:at【选项】【时间】 然后输入两次ctrl + D才行
at指定时间的方法:
- 接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。例如:04:00;
- 使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较模糊的词语来指定时间;
- 采用12小时计时制,即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午。例如:12pm;
- 指定命令执行的具体日期,指定格式为monthday(月日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年),指定的日期必须跟在指定时间的后面。例如:04:002021-03-1;
- 使用相对计时法。指定格式为:now+counttime-units,now就是当前时间,time-units是时间单位,这里能够是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count是时间的数量,几天,几小时。例如:now+5minutes;
- 直接使用today(今天)、tomorrow(明天)来指定完成命令的时间;
八、RPM包的管理
rpm用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是RedHatPackageManager(RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。
查看当前系统安装的rpm列表:rpm -qa | grep XXX。
[root@oliver001 ~]# rpm -qa | grep firefox
firefox-60.2.2-1.el7.centos.x86_64
firefox表示软件名,60.2.2-1表示版本号,el7.centos.x86_64表示适用的系统,64位操作系统。
rpm的其他查询指令:
- rpm -qa:查询所安装的所有rpm软件包
- rpm -qa | more
- rpm -qa | grep X[rpm -qa | grep firefox]
- rpm -q 软件包名:查询软件包是否安装,案例:rpm -q firefox
- rpm -qi 软件包名:查询软件包信息,案例:rpm -qi firefox
- rpm -ql 软件包名:查询软件包中的文件,比如:rpm -ql firefox
- rpm -qf:文件全路径名查询文件所属的软件包,rpm -qf /etc/passwd;rpm -qf /root/install.log
卸载rpm包基本语法:rpm -e RPM包的名称,比如:rpm -e firefox,但是这里会有一些问题,如果和其他软件包存在依赖关系,卸载时会报错,如果想强制删除可以使用rpm -e --nodeps RPM包名。
安装rpm包基本语法:rpm -ivh RPM包的全路径名称,i表示install,v表示verbose提示,h表示hash进度条。但是安装要找到对应软件的rpm包,可以到CentOS的packages目录中有没有,找到了使用这个全路径名称即可。
九、yum的使用
Yum是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的yum服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
yum的基本语法:
-
yum list | grep XX软件:查询yum服务器是否有需要安装的软件
-
yum install XXX:下载安装