Linux学习笔记3(进阶指令,高级指令, 进程,CentOS Docker 安装,Docker容器使用)

2021/11/25 7:10:55

本文主要是介绍Linux学习笔记3(进阶指令,高级指令, 进程,CentOS Docker 安装,Docker容器使用),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

进阶指令

cat

作用1:cat有直接打开一个文件的功能。

语法1:#cat 文件的路径

作用2:cat还可以对文件进行合并

语法2:#cat 待合并的文件路径1 待合并的文件路径2 …. 文件路径n > 合并之后的文件路径

df

作用:查看磁盘的空间

语法:#df -h         -h表示以可读性较高的形式展示大小

free

作用:查看内存使用情况

语法:#free -m   -m表示以mb为单位查看

head

作用:查看一个文件的前n行,如果不指定n,则默认显示前10行。

语法:#head -n 文件路径   【n表示数字】

tail

作用1:查看一个文件的未n行,如果n不指定默认显示后10行

语法:#tail -n 文件的路径    n同样表示数字

作用2:可以通过tail指令来查看一个文件的动态变化内容【变化的内容不能是用户手动增加的】

语法:#tail -f 文件路径

该命令一般用于查看系统的日志比较多

less

作用:查看文件,以较少的内容进行输出,按下辅助功能键(数字+回车、空格键+上下方向键)查看更多

语法:#less 需要查看的文件路径

wc

作用:统计文件内容信息(包含行数、单词数、字节数)

语法:#wc -lwc 需要统计的文件路径

       -l:表示lines,行数

       -w:表示words,单词数   依照空格来判断单词数量

       -c:表示bytes,字节数

date

作用:表示操作时间日期(读取、设置)

语法1:#date                     输出的形式:2018年 3月 24日 星期六 15:54:28

语法2:#date  +%F    (等价于#date  “+%Y-%m-%d” )    输出形式:2018-03-24

语法3:#date  “+%F %T”    引号表示让“年月日与时分秒”成为一个不可分割的整体

       等价操作#date  “+%Y-%m-%d %H:%M:%S”

输出的形式:2018-03-24 16:01:00

cal

作用:用来操作日历的

语法1:#cal    等价于 #cal  -1        直接输出当前月份的日历

语法2:#cal  -3                 表示输出上一个月+本月+下个月的日历

语法3:#cal  -y 年份              表示输出某一个年份的日历

clear/ctrl + L

作用:清除终端中已经存在的命令和结果(信息)。

语法:clear          或者快捷键:ctrl + L

|    (管道符)

作用:管道一般可以用于“过滤”,“特殊”,“扩展处理”。

语法:管道不能单独使用,必须需要配合前面所讲的一些指令来一起使用,其作用主要是辅助作用。

高级指令

hostname

作用:操作服务器的主机名(读取、设置)

语法1:#hostname                    含义:表示输出完整的主机名

语法2:#hostname  -f                     含义:表示输出当前主机名中的FQDN(全限定域名)03

id

作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id…),该指令如果不指定用户则默认当前用户。

语法1:#id          默认显示当前执行该命令的用户的基本信息

语法2:#id  用户名          显示指定用户的基本信息

whoami

作用:“我是谁?”显示当前登录的用户名,一般用于shell脚本,用于获取当前操作的用户名方便记录日志。

语法:#whoami

ps

作用:主要是查看服务器的进程信息

选项含义:

       -e:等价于“-A”,表示列出全部的进程

       -f:显示全部的列(显示全字段)

top

作用:查看服务器的进程占的资源(100%使用)

语法:

       进入命令:#top                  (动态显示)

       退出命令:按下q键

du -sh

作用:查看目录的真实大小

语法:#du -sh 目录路径

选项含义:

       -s:summaries,只显示汇总的大小

       -h:表示以高可读性的形式进行显示

find

作用:用于查找文件(其参数有55个之多)

语法:#find 路径范围 选项 选项的值

选项:

       -name:按照文档名称进行搜索(支持模糊搜索)

       -type:按照文档的类型进行搜索

              文档类型:“-”表示文件(在使用find的时候需要用f来替换),“d”表示文件夹

service

作用:用于控制一些软件的服务启动/停止/重启

语法:#service 服务名 start/stop/restart

kill

作用:表示杀死进程          (当遇到僵尸进程或者出于某些原因需要关闭进程的时候)

语法:#kill  进程PID         (语法需要配合ps一起使用)

reboot

作用:重新启动计算机             

语法1:#reboot          重启

语法2:#reboot  -w   模拟重启,但是不重启(只写关机与开机的日志信息)

shutdown

作用:关机                 (慎用)

语法1:#shutdown -h now  “关机提示”  或者  #shutdown  -h 15:25  “关机提示”

uptime

作用:输出计算机的持续在线时间(计算机从开机到现在运行的时间)

语法:#uptime

uname

作用:获取计算机操作系统相关信息

语法1:#uname                 获取操作系统的类型

语法2:#uname  -a           all,表示获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划)

netstat -tnlp

作用:查看网络连接状态

语法:#netstat -tnlp

选项说明:

       -t:表示只列出tcp协议的连接;

       -n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示;

       -l:表示过滤出“state(状态)”列中其值为LISTEN(监听)的连接;

       -p:表示显示发起连接的进程pid和进程名称;

man

作用:manual,手册(包含了Linux中全部命令手册,英文)

语法:#man 命令               (退出按下q键)

ps 指令补充

ps -ef

列的含义:

UID:该进程执行的用户id;

PID:进程id;

PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程(parent process ID);

C:Cpu的占用率,其形式是百分数;

STIME:进行的启动时间;

TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起;

TIME:进程的执行时间;

CMD:该进程的名称或者对应的路径

top指令补充

 

表头含义:

PID:进程id;

USER:该进程对应的用户;

PR:优先级;

VIRT:虚拟内存;

RES:常驻内存;

SHR:共享内存;

       计算一个进程实际使用的内存 = 常驻内存(RES)- 共享内存(SHR)

S:表示进程的状态status(sleeping,其中S表示睡眠,R表示运行);

%CPU:表示CPU的占用百分比;

%MEM:表示内存的占用百分比;

TIME+:执行的时间;

COMMAND:进程的名称或者路径;

在运行top的时候,可以按下方便的快捷键:

M:表示将结果按照内存(MEM)从高到低进行降序排列;

P:表示将结果按照CPU使用率从高到低进行降序排列;

1:当服务器拥有多个cpu的时候可以使用“1”快捷键来切换是否展示显示各个cpu的详细信息;

 进程

理解进程

一个进程是一条命令运行的实例,如一个vi的命令,同时被15个不同的用户打开,那么就会创建15个进程


进程通过ID进行识别,进程ID对当前系统来说是唯一的


进程会与一个特定的用户账号和组关联,账号信息可以帮助进程获取指定的系统资源权限

Linux的进程在/proc目录下,存在于以进程ID命名的文件夹中

如下图,蓝色部分表示进程ID

 服务管理

Linux服务管理有两个命令service命令和systemctl命令


service命令本质是执行/etc/init.d目录下的脚本


systemctl命令是linux系统最新的初始化系统,同时systemctl也兼容了services命令,也会查找/etc/init.d目录


我们重点学习systemctl命令

systemctl常用方法如下

systemctl start/stop/restart service

          #启动|停止|重启服务

systemctl enable|disable service

         #开机启动|开机不启动服务

systemctl status service

#查看服务的状态

systemctl is-activeservice

#查看服务是否启动

systemctl is-enables service

#查看服务是否开机启动

CentOS Docker 安装

Docker 支持以下的 64 位 CentOS 版本:

  • CentOS 7
  • CentOS 8
  • 更高版本...

使用官方安装脚本自动安装

安装命令如下:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

也可以使用国内 daocloud 一键安装命令:

curl -sSL https://get.daocloud.io/docker | sh

启动 Docker。

sudo systemctl start docker

通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community 。

sudo docker run hello-world

卸载 docker

删除安装包:

yum remove docker-ce

删除镜像、容器、配置文件等内容:

rm -rf /var/lib/docker

查看是否开启docker

systemctl status docker

 Docker容器使用

获取镜像

如果我们本地没有 ubuntu 镜像,我们可以使用 docker pull 命令来载入 ubuntu 镜像:

docker pull ubuntu

启动容器

以下命令使用 ubuntu 镜像启动一个容器,参数为以命令行模式进入该容器:

docker run -it ubuntu /bin/bash

参数说明:

  • -i: 交互式操作。
  • -t: 终端。
  • ubuntu: ubuntu 镜像。
  • /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

要退出终端,直接输入 exit:

root@ed09e4490c57:/# exit

启动已停止运行的容器

查看所有的容器命令如下:

docker ps -a

使用 docker start 启动一个已停止的容器:

docker start 910407acee04 

后台运行

在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。

docker run -itd --name ubuntu-test ubuntu /bin/bash

 注:加了 -d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec(下面会介绍到)。

停止一个容器

停止容器的命令如下:

docker stop <容器 ID>

停止的容器可以通过 docker restart 重启:

 docker restart <容器 ID>

 

 

 

 



这篇关于Linux学习笔记3(进阶指令,高级指令, 进程,CentOS Docker 安装,Docker容器使用)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程