LiangGaRy_学习笔记_Day03
1、Docker相关命令介绍
1.1、关闭与启动Docker
- systemctl start docker:启动docker
- systemctl stop docker:停止docker
- systemctl enable docker:设置docker开机自启
- systemctl restart docker:重启docker
- systemctl status docker:查看docker状态
#启动docker
[root@Test1 ~]# systemctl start docker#重启docker
[root@Test1 ~]# systemctl restart docker#停止docker
[root@Test1 ~]# systemctl stop docker#设置开机自启动docker
[root@Test1 ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.#查看docker服务状态
[root@Test1 ~]# systemctl status docker
1.2、docker命令
- docker pull:拉镜像
- docker ps:查看docker容器进程
- docker rmi:删除容器
- docker rm -f:强制删除容器
#docker 拉nginx镜像
[root@Test1 ~]# docker pull nginx#查看是否成功-->0为成功;非0为不成功
[root@Test1 ~]# echo $?
0#docker启动一个nginx容器
[root@Test1 ~]# docker run -itd nginx
7c2d41ed5e778c059da134cf3a3834ad7996eb87a775c4e5298ab2b973cdc2fb#查看docker进程
[root@Test1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7c2d41ed5e77 nginx "/docker-entrypoint.…" 12 seconds ago Up 10 seconds 80/tcp compassionate_mayer#查看docker的镜像
[root@Test1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 605c77e624dd 15 months ago 141MB
centos centos7 eeb6ee3f44bd 19 months ago 204MB
2、本地yum源于网络yum源
2.1、配置本地yum源
- 注意编写的路径:
- linux中的repo源都存放在/etc/yum.repo.d/这个目录下
- 注意一定是以repo结尾的
#编写本地yum源的repo文件#进入到这个目录中编写
[root@Test1 ~]# cd /etc/yum.repos.d/#这里就注意一定要用.repo结尾
[root@Test1 yum.repos.d]# vim local.repo
[local_repo] #这个是名称,可以随便改
name=local_repo #这个也是名称,可以理解为描述
baseurl=file:///mnt/cdrom #这个非常重要-->这个是路径,找包的路径;#file://-->这个表示代表本地路径查找#http://-->这个代表是网络提供的路径#ftp://-->这个就是ftp服务器提供的路径
enabled=1 #这里代表是否启用-->0为不启动,1为启用
gpgcheck=0 #这里是代表是否校验包的精确性
–>编写好文件之后–>需要注意一下虚拟机中
- 虚拟机–>点击–>右键–>然后点击设置–>点击到CD/DVD–>完成
然后再回到虚拟机进行挂载
- 挂载目录–>注意设备文件都存放于/dev/的路径下
- 配置文件中的/mnt/cdrom没有这个目录就需要创建
#创建目录
[root@Test1 ~]# mkdir /mnt/cdrom/#把光盘挂载到指定的目录中
[root@Test1 ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/
mount: /dev/sr0 写保护,将以只读方式挂载#清除所有的yum源记录
[root@Test1 ~]# yum clean all#然后-->检测是否可以出现包#看到有包代表光盘源配置成功--
Loading mirror speeds from cached hostfile
源标识 源名称 状态
local_repo local_repo 启用: 4,021
repolist: 4,021
[root@Test1 ~]#
2.2、配置网络yum源
网络yum源配置网址
- 阿里云的网络yum源地址:
- 这个是最常用的
- https://mirrors.aliyun.com/centos/?spm=a2c6h.13651104.mirror-free-trial.2.2a3f320cMroOcO
- 清华大学的yum源
- 地址:https://mirrors.tuna.tsinghua.edu.cn/
#配置阿里云的网络yum源#备份原来的源
[root@Test1 ~]# mv /etc/yum.repos.d/* /tmp#然后直接下载官方提供的repo文件
[root@Test1 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo#最后校验:
[root@Test1 ~]# yum repolist all
..........#看到有包代表配置成功
3、shell终端
3.1、Linux的终端
Linux桌面:
- KDE图形化界面
- GNOME图形化界面
虚拟机操作
- ctrl+shift+t:打开终端(合并终端)
- ctrl+shift+N:开启终端
- shift+ctrl+加号:终端字体放大
- shift+ctrl+减号:终端字体缩小
tty:linux终端
#查看linux的终端
[root@Test1 ~]# tty
/dev/pts/0
3.2、Linux关机命令
shutdown命令
- 作用:关闭服务器
- 语法:shutdown + 选项
- 常见用法:
- shutdown +10 :十分钟后关闭计算机
- shutdown -c :取消关机的操作
#系统立马关机
[root@Test1 ~]# shutdown -h now#系统十分钟后关机
[root@Test1 ~]# shutdown +10#取消关机操作
[root@Test1 ~]# shutdown -c
wall命令
- 作用:Linux中通知其他已经在线的终端
- 广播作用–>凡是在线的都是广播
- 语法:wall + 通知信息
#首先登陆两个终端-->一个是root-->一个liangjiawei用户#root用户
[root@Test1 ~]# #liangjiawei用户
[liangjiawei@Test1 ~]$ #root用户广播在线用户
[root@Test1 ~]# wall "System will shotdown in 10 mimutes "
[root@Test1 ~]#
Broadcast message from root@Test1 (pts/0) (Wed Apr 12 14:24:07 2023):System will shotdown in 10 mimutes #到普通用户查看也能收到
[liangjiawei@Test1 ~]$
Broadcast message from root@Test1 (pts/0) (Wed Apr 12 14:24:07 2023):System will shotdown in 10 mimutes
3.3、认识shell终端
shell:用户与内核进行交互操作的一种接口
- 接收用户的命令–>交给Linux内核去执行;
shell管理范围:
- 对文件可以管理
- 对用户可以管理
- 对权限可以管理
- 对磁盘可以管理
- 对软件可以管理
- 对网络可以管理
命令的分类:
- 内部命令:在系统启动是就调入内存,常驻内存命令;执行非常快
- 外部命令:是系统软件的功能,用户需要时才从硬盘中读入内存
type命令
- 作用:查看命令是否是外部命令还是内部命令
- 语法:type
#内部命令
[root@Test1 ~]# type cd
cd 是 shell 内嵌#外部命令
[root@Test1 ~]# type cat
cat 是 /usr/bin/cat
3.4、认识快捷键
ctrl+c:终止命令操作
ctrl+d:退出登陆
ctrl+l:清屏
ctrl+r:搜索命令
ctrl+a:光标更换至行首
ctrl+e:光标切换至行尾
ctrl+左右键:按照单词来左右切换
4、用户相关的命令
4.1、用户的分类
Linux的用户分类
系统中Linux用户是按照UID来分类的;
- 超级管理员:一般系统默认的就是root
- UID为0的用户就是超级用户
- 普通用户:UID的范围就是1000~65535
- 通常用$来表示
- 系统用户:UID为1-1000以内的用户
- 系统用户:httpd 、mysql、ftp等等
4.2、whoami命令
作用:查看当前用户是谁
语法:whoami
#查看当前用户是谁-->当前用户就是root
[root@Test1 ~]# whoami
root#查看当前用户-->当前用户就是liangjiawei
[liangjiawei@Test1 ~]$ whoami
liangjiawei
4.3、useradd命令
作用:添加用户
语法:useradd + 选项 + 用户名
选项:
- c:加上备注文字,备注文字保存在passwd的备注栏中。
- d:指定用户登入时的启始目录。
- D:变更预设值。
- e:指定账号的有效期限,缺省表示永久有效。
- f:指定在密码过期后多少天即关闭该账号。
- g:指定用户所属的群组。
- G:指定用户所属的附加群组。
- m:自动建立用户的登入目录。
- M:不要自动建立用户的登入目录。
- n:取消建立以用户名称为名的群组。
- r:建立系统账号。
- s:指定用户登入后所使用的shell。
- u:指定用户ID号。
#创建用户-->创建普通用户
[root@Test1 ~]# useradd zhangsan#创建系统用户
[root@Test1 ~]# useradd -r mysql#切换普通用户
[root@Test1 ~]# su - zhangsan
[zhangsan@Test1 ~]$ whoami
zhangsan
普通用户直接修改UID号,可以成为超级用户
- 需要root用户操作;
- 这里需要修改一个文件/etc/passwd文件
- 这个文件普通用户是没法打开
- 这里需要修改一个文件/etc/passwd文件
- 更变后,普通用户的权限非常大
#修改zhangsan用户的UID为0
[root@Test1 ~]# vim /etc/passwd
..........#找到zhangsan的那一行-->把1002:1002的UID和GID改为0
zhangsan:x:1002:1002::/home/zhangsan:/bin/bash#改为如下-->就改成了0-->然后保存退出
zhangsan:x:0:0::/home/zhangsan:/bin/bash#切换一下zhangsan用户#明显发现zhangsan已经是#开头-->成为了超级用户
[root@Test1 ~]# su - zhangsan
上一次登录:三 4月 12 14:21:33 CST 2023从 192.168.75.1pts/1 上
[root@Test1 ~]#
4.4、su命令
作用:切换用户
语法:su
说明:
- su :直接切换–>这里是bash的环境变量没有变化
- 用户的家目录还是保留原来的
- su -:这里就是环境变量也跟着改变
- 用户的家目录更变
#直接切换
[root@Test1 ~]# pwd
/root
#切换用户后-->家目录路径没变化
[root@Test1 ~]# su zhangsan
[zhangsan@Test1 root]$ pwd
/root#切换加上-
[root@Test1 ~]# su - zhangsan
上一次登录:三 4月 12 15:19:46 CST 2023pts/0 上#这里发现家用户直接发生了变化
[zhangsan@Test1 ~]$ pwd
/home/zhangsan
4.5、id命令
作用:查看当前用户的信息
语法:id + 用户名
#查看当前用户
[root@Test1 ~]# id zhangsan
uid=0(root) gid=0(root) 组=0(root)
5、基础命令
5.1、pwd命令
作用:查看当前路径
语法:pwd
#查看当前路径
[root@Test1 ~]# cd /usr/local/
[root@Test1 local]# pwd
/usr/loca
5.2、cd命令
作用:切换路径
语法:cd
常见用法
#切换路径到/etc/
[root@Test1 local]# cd /etc/#切换到家目录
[root@Test1 etc]# cd
[root@Test1 /]# cd ~
[root@Test1 ~]# #切换到上次所在目录
[root@Test1 ~]# cd -
/etc
[root@Test1 etc]# #切换上一层目录
[root@Test1 etc]# cd ..
[root@Test1 /]#
5.3、echo命令
作用:在linux命令行上输出内容
- 或者通过定向符号写入指定的文件中
语法:echo + 选项+“内容”
选项:
- -n:不会自动换行
- -E:不解释转义字符
- -e:让转义字符显示自己的特性
- \\a:发出警告声
- \\c:最后不加换行符
- \\n:换行
- \\t:相当于tab键
- \\r:光标移至行首,但不换行
背景颜色范围
echo -e "\\e[40;37m黑底白字 \\e[0m"
黑底白字
echo -e "\\e[41;37m深红白字 \\e[0m"
深红白字
echo -e "\\e[42;37m绿底白字 \\e[0m"
绿底白字
echo -e "\\e[43;37m黄底白字 \\e[0m"
黄底白字
echo -e "\\e[44;37m蓝底白字 \\e[0m"
蓝底白字
echo -e "\\e[45;37m紫底白字 \\e[0m"
紫底白字
echo -e "\\e[46;37m深绿白字 \\e[0m"
深绿白字
echo -e "\\e[47;30m白底黑字 \\e[0m"
白底黑字
字体颜色范围:
echo -e "\\e[1;30m黑色字体 \\e[0m"
黑色字体
echo -e "\\e[1;31m红色字体 \\e[0m"
红色字体
echo -e "\\e[1;32m绿色字体 \\e[0m"
绿色字体
echo -e "\\e[1;33m黄色字体 \\e[0m"
黄色字体
echo -e "\\e[1;34m蓝色字体 \\e[0m"
蓝色字体
echo -e "\\e[1;35m紫色字体 \\e[0m"
紫色字体
echo -e "\\e[1;36m深绿字体 \\e[0m"
深绿字体
echo -e "\\e[1;37m白色字体 \\e[0m"
白色字体
演示echo命令
#Linux输出内容
[root@Test1 ~]# echo "this is liangjiawei"
this is liangjiawei#加入-e;tab
[root@Test1 ~]# echo -e "this is \\tliangjiawei"
this is liangjiawei#换行
[root@Test1 ~]# echo -e "this is \\nliangjiawei"
this is
liangjiawei
echo结合重定向
#向一个文件追加内容#如果没有这个文件则会自动创建这个文件
[root@Test1 ~]# echo "this is liangjiawei" >>/root/liangjiawei.txt#查看内容
[root@Test1 ~]# ls liangjiawei.txt
liangjiawei.txt
echo打印变量
#设置一个变量
[root@Test1 ~]# LJW=liangjiawei
#echo输出变量-->注意需要添加一个$符号
[root@Test1 ~]# echo $LJW
liangjiawei
5.4、cat命令
作用:查看文件内容的命令
语法:cat+选项+文件名
选项:
- -n:显示行号
- -A:显示换行符
#查看文件内容
[root@Test1 ~]# cat -n liangjiawei.txt 1 this is liangjiawei
[root@Test1 ~]# cat -A liangjiawei.txt
this is liangjiawei$
5.5、ls命令
作用:查看文件、目录的信息
语法:ls+选项
选项:
- -l:列出文件的详细信息
- -a.:显示目录下所有文件,包括.和…开头的隐藏文件
- -d:只查看目录本身而不查看目录下的文件
- -S:以文件的大小进行排序
- -h:以人类能够识别的方式显示
ls命令参数演示:
- -l:详细显示文件信息
#长格式显示文件信息
[root@Test1 ~]# ls -l liangjiawei.txt
-rw-r--r-- 1 root root 20 4月 12 15:45 liangjiawei.txt
[root@Test1 ~]# ls -l列出的内容有
#第一列内容:文件权限归属 -rw-r--r--
#第二列:硬链接数量
#第三列:文件所有者
#第四列:文件所属组
#第五~第七:文件的时间属性
#第八列:文件名
字符文件的类型
- -:表示文件
- d:表示目录
- b:表示块设备
- c:表示字符设备
- p:管道文件
- l:连接文件
通过颜色来判断文件的类型
- 蓝色:目录
- 黑色:文件
- 浅蓝色:链接文件
- 绿色:可执行文件
- 黑底黄字:设备文件
ls命令参数演示:
- -a:显示包括.和…开头的隐藏文件
#普通查看只会显示当前目录下的文件
[root@Test1 ~]# cd /
[root@Test1 /]# ls
bin dev home lib64 mnt proc run srv tmp usr
boot etc lib media opt root sbin sys tomcat var#查看包括.和..开头的隐藏文件#.表示当前目录#..表示当前目录的上一级目录
[root@Test1 /]# ls -a
. bin dev home lib64 mnt proc run srv tmp usr
.. boot etc lib media opt root sbin sys tomcat var
ls命令参数演示:
- -d:只查看目录本身而不查看目录下的文件
#当ls命令查看目录的时候,只会查看目录下的内容
[root@Test1 /]# ls /
bin dev home lib64 mnt proc run srv tmp usr
boot etc lib media opt root sbin sys tomcat var#如果加上-d:只显示目录本身信息
[root@Test1 /]# ls -d /
/
ls命令参数演示:
- -S:以文件的大小进行排序
#普通排序
[root@Test1 /]# ll /
总用量 16
lrwxrwxrwx. 1 root root 7 3月 2 06:37 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 3月 2 06:42 boot
drwxr-xr-x 20 root root 3240 3月 26 08:25 dev
drwxr-xr-x. 75 root root 8192 4月 12 15:26 etc
drwxr-xr-x. 5 root root 58 4月 12 15:16 home
......#以文件的大小排序-->瞬间整齐排序
[root@Test1 /]# ll -S /
总用量 16
drwxr-xr-x. 75 root root 8192 4月 12 15:26 etc
dr-xr-xr-x. 5 root root 4096 3月 2 06:42 boot
drwxr-xr-x 20 root root 3240 3月 26 08:25 dev
drwxr-xr-x 24 root root 660 4月 12 14:16 run
..........
ls命令参数演示:
- -h:以人类能够识别的方式显示
#查看/下的文件
[root@Test1 /]# ls -lSh /
总用量 16K
drwxr-xr-x. 75 root root 8.0K 4月 12 15:26 etc
dr-xr-xr-x. 5 root root 4.0K 3月 2 06:42 boot
...........
5.6、alias命令
作用:设置别名
语法:alias+别名=命令
#查看系统
[root@Test1 ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core) #设置一个别名
[root@Test1 ~]# alias xitong='cat /etc/redhat-release '
[root@Test1 ~]# xitong
CentOS Linux release 7.6.1810 (Core)
永久设置别名
- 针对于当前用户生效
- 每个用户在家目录下都有一个.bashrc的文件,
#查看一下当前家路径的位置
[liangjiawei@Test1 ~]$ pwd
/home/liangjiawei#查看一下吟唱文件[liangjiawei@Test1 ~]$ ls -a
. .. .bash_history .bash_logout .bash_profile .bashrc#把别名写进.bashrc的文件
[liangjiawei@Test1 ~]$ vim .bashrc
..........#在最后添加
alias xitong='cat /etc/redhat-release'#重新读取一下文件
[liangjiawei@Test1 ~]$ source .bashrc#尝试一下直接使用
[liangjiawei@Test1 ~]$ xitong
CentOS Linux release 7.6.1810 (Core)
- 针对全局用户生效
- 需要写入一个/etc/bashrc这个文件
#写入配置文件当中,就可以直接使用
[root@Test1 ~]# vim /etc/bashrc #在末行添加即可
alias xitong='cat /etc/redhat-release'#重载文件
[root@Test1 ~]# source /etc/bashrc #尝试调用命令
[root@Test1 ~]# xitong
CentOS Linux release 7.6.1810 (Core)
5.7、unalias命令
作用:取消别名
语法:unalias
#取消别名
[root@Test1 ~]# unalias xitong
[root@Test1 ~]# xitong
-bash: xitong: 未找到命令