网络运维基础命令

1:线上查询及帮助命令:

man----------->查看命令帮助,命令的词典,更复杂的还有info,不常用

help------------>查看linux内置命令的帮助,

2:文件和目录操作命令(19个)

*ls------------>全拼list,作用是列出目录的内容,(用法:ls 回车

cd--------------> 作用是从当前工作目录切换到指定的工作目录。(用法:cd 目录名/绝对路径

cp------------->功能为复制文件或者目录。(用法:cp 目标名称 指定存放位置

scp----------->远程复制文件,(用法:scp 目标ip:绝对路径的目标文件名称 绝对路径的指定存放位置

*find------------>查找的意思,用于查找目录及目录下的文件 (用法:较多,一会在查。

mkdir---------->用于创建一个新的目录。(用法:mkdir 新的目录名称

touch---------->用于创建一个新的文件。(用法:touch 新的文件名称

mv---------->用于移动文件或者重命名文件。(用法:mv 目标文件名称 指定路径 *注意:在相对路径下移动同一个文件则可以实现改名

pwd------------>作用显示当前工作目录的绝对路径。(用法:pwd 回车

rename--------->作用是重命名文件,(用法:rename 目标文件名称 想要改的名称

rm------------>删除一个或多个文件或者目录。(用法:rm 目标文件名称/目录 *注意:rm -rf使用时确保无误,避免造成重大责任损失。

rmdir---------->作用 删除空额目录,(用法:rmdir 回车

tree---------->作用 以树形结构显示目录下的内容。 (用法:tree 回车

basename----------->显示文件名或目录名。(获取文件名,除去目录部分)(用法:basename 回车

dirname------------>显示文件或目录路径。(获取目录部分,除去文件名)(用法:dirname 目标文件名/目录名 回车

chattr--------------->改变文件的扩展属性。(用法:不会,稍后在查

lsattr------------>查看文件扩展属性,(用法:lsattr 文件名

file-------------->显示文件类型。(用法:file 文件名

md5sum-------------->计算和校验文件的MD5值

3:查看文件内容及处理命令 (21个)

cat----------->用于链接多个文件并且打印到屏幕输出或重定向到指定文件。(用法:cat 文件名

cat /proc/cpuinfo |grep vmx/smv--->查看inter/amd的cpu是不是支持虚拟化

cat /proc/cpuinfo------>查看cpu

tac------------>反向显示文件内容,(用法:tac 文件名

more---------->分页显示文件内容。(用法:more 文件名 *注意:使用指定键上下翻页。

less------------>分页显示文件内容,more命令的相反用法。(用法:less 文件名 *注意:使用指定键上下翻页。

head---------->显示文件内容的开头部分。(用法:head 文件名 *注意:head后面加上数字 可以显示指定数字的行数,如:head -10 显示文件开头十行

tail------------->显示文件尾部信息。(用法:tail 文件名 *注意:tail后面跟上数字可显示指定数字的相对的行数。如:tail -10 显示文件末尾十行。tail -f 日志文件名 可实现监控日志变化。

cut------------->将文件的每一行按指定分隔符分割并输出。(用法:待查

split---------->分割文件为不同的小片段。(用法:待查

paste---------->按行合并文件内容。(用法:待查

sort------------>对文件的文本内容进行排序。(用法:待查

uniq----------->去除重复行。(用法:待查

wc---------->统计文件的行数,单词数,字节数。(用法:wc 文件名

iconv------->转换文件的编码格式。(用法:待查

dos2unix----------->将DOS格式文件转化成UNIX格式。(用法:dos2unix 文件名

diff--------->比较文件的差异,常用于文本文件。(用法:待定

vimdiff------------>命令行可视化文件比较工具,常用于文本文件。(用法:待查

rev---------->反向输出文件内容。(用法:待查

grep/egrep-------->过滤字符串,三剑客之一。(用法:grep 目标字符串 目标文件/目录

join------------>按两个文件的相同字段合并。(用法:待查

tr---------->替换或删除字符。(用法:待查

tee---------------->输出结果的同时存入一个文件。

-a:追加

vi/vim--------->命令行文本编辑器。(用法:vi 文件名

lsmod----->查看模块

modprobe------>智能地向内核中加载模块或者从内核中移出(用法:modprobe ip_vs)

-a:载入全部模块

-c:显示所有模块的设置信息

-d:使用排错模式

-l:显示可用的模块

-t:指定模块类型

-V:显示版本信息

-v:执行时显示详细信息

4:文件压缩命令

tar--------->打包压缩。(用法:tar 太多待查

unzip-------->解压文件。(用法:unzip 文件名

gzip---------->压缩工具。(用法:太多,待查

zip-------->压缩工具。(用法:太多,待查

5:信息显示命令

uname---------->显示操作系统相关显示命令。(用法:uname 回车

-a:查看系统版本号及系统名称

hostname---------->显示或者设置当前系统主机名。(用法:hastname 主机名 *注意:此为临时设置,另:hostnamectl set-hostname 主机名:可实现永久修改主机名

dmesg---------->显示开机信息,用于诊断系统故障。(用法:dmesg 回车

uptime---------->显示系统运行时间及负载。(用法:uptime 回车

stat----------->显示文件或文件系统状态。(用法:stat 回车

netstat--------->查看网络链接状态。(用法:netstat anpt/anpu/r 回车

-a:显示当前系统中的所有链接

-n:禁用DNS反向解析(以数字的形式显示ip端口号等信息)

-p:显示相应的进程编号

-t:只显示tcp链接信息

-u:只显示udp信息

-r:显示路由表

du------------->计算磁盘空间使用情况。(用法:du 回车

df---------->报告文件系统磁盘空间的使用情况。(用法:df -hT 回车

top------------->实时显示系统资源使用情况 。(用法:top 回车/待查

free---------->查看系统内存情况。(用法:free 回车

date--------->显示与设置系统时间。(用法:date 回车 *注意:ntpdate ntp1.aliyun.com--->同步时间

cal----------->查看日历等时间信息。(用法:待查

route--------->查看路由表。(用法:route -n 回车

-n:禁用DNS反向解析

curl--------->访问网址,用于测试。(用法:curl www.name.com

-I:大i,之抓取头部信息

traceroute----------->追踪网络ip数据包。(用法:待查

nslookup---------->验证DNS解析。(用法:nslookup 指定IP 回车

dig-------->验证DNS解析

ifconfig------->查看系统中的网卡信息。(用法:ifconfig -a 回车

-a:列出所有网卡信息。

ifconfig 网卡名:子网卡名 子网卡IP/短格式子网掩码------>设置子网卡

showmount -e 本机IP------------>查看当前主机对外共享了什么目录

pgrep -t pts/0 -1---------->显示当前shell的pid

java -version-------------->查看当前java环境

cpuinfo------->查看当前服务器的cpu信息 (用法:cat /proc/cpuinfo

cat /proc/cpuinfo |grep "physicalid" | uniq | wc -l -------->查看机器一共几个cpu(物理机)

cat /proc/cpuinfo | grep "cpu cores" | uniq------>查看单个cpu的物理核数

cat /proc/cpuinfo | grep "processor" |wc -l------>查看逻辑核数

5:搜索文件命令

which------->查找二进制命令,按环境变量PATH路径查找。(用法:which 目标命令

find--------->从磁盘里查找文件或目录。(用法:待查

whereis------->查找二进制命令,按环境变量PATH路径查找。(用发:whereis 目标名称

locat--------->从数据库(/var/lib/mlocate/mlocate.db)查找命令,使用updatedb更新库。(用法:待查

6:用户管理的基本命令

userdel------->删除用户。(用法:userdel 用户名

useradd------->增加用户。(用法:useradd 用户名

选项待查

usermod-------->修改系统已经存在的用户属性。(用法:usermod 属主:属组 用户名

groupadd--------->添加用户组。(用法:groupadd 用户名 组名

passwd------>修改用户密码。(用法:passwd 用户名

chage------->修改用户密码有效期。(用法:待查

id----------->查看用户的uid gid 及归属的用户组,(用法:待查

su--------->切换用户身份。(用法:su 用户名

sudo----->以另一个用户的身份(默认root用户)执行是事先在sudoers文件允许的命令。(用法:sudo 用户名

visudo-------->编辑/etc/sudoers文件的专属命令。

基础网络操作命令

telnet--------->使用TELNET 协议远程登录。(用法:telent 目标IP 端口--->查看端口是否管用,注意:目标ip可以换成域名

ssh---------->使用SSH加密协议远程登录。(用法:ssh:待查

scp-------->用于不同主机之间复制文件。(用法:scp

wget--------->命令行下载文件。(用法:wget

ping--------->测试网络连通性。(用法:ping 指定ip 回车

-c:指定发送数据包的个数

-i:ping通后间隔多少秒发送下一个包

-s:指定ping包大小

-w:失败后隔多久退出当前ping命令

ifup------>启动网卡。(用法:ifup

ifdown--------->关闭网卡。(用法:ifdowm

netstat-------->查看网络状态。(用法:netstat -anpt

ss--------->查看网络状态。(用法:ss

深入网络操作命令

nmap-------->网络扫描命令。(用法:nmap 回车

nmap -Pn 目标网段.0/24 1-65535--->查看同网段其他机器开放了哪些端口

lsof------>列举系统中已经被打开的文件。(用法:lsof 回车

-i:指定端口号查看是否打开。

mail------>发送和接受邮件。

mutt------>邮件管理命令。

host------>查询DNS的命令。(用法:host

tcpdump------>命令行的抓包工具。(用法:tcpdump 回车

ss –lntpu------>查看本机开放的端口

nc -zv------>查看本机开放的端口

有关磁盘与文件系统的命令

mount-------->挂载文件系统。(用法:mount 目标名称 挂载点

-o:挂载一个文件到目录上。(用法:mount -o loop 镜像文件名 /目录

mount -o rw,remount /---->以读写模式重新挂载根目录

umount------->卸载文件系统。(用法:umount 目标名称

fsck------->检查并修复linux文件系统 (用法:fsck 回车

dd--------->转换或复制文件。(用法:dd if= of= 待查

dumpe2fs-------->导出ext2/ext3/ext4文件系统信息。(用法:dumpe2fs 待查

dump-------->ext2/3/4文件系统备份工具。(用法:dump 待查

fdisk-------->磁盘分区命令,适用于2TB以下磁盘分区。(用法:fdisk 待查

parted------->磁盘分区命令,没有磁盘大小限制。(用法:parted 待查

mkfs---------->格式化创建linux文件系统。(用法:mkfs 待查

partprobe--------->更新内核的硬盘分区表信息。(用法:partprobe 待查

e2fsck--------->检查ext2/ext3/ext4类型文件系统。(用法:e2fsck 待查

mkswap-------->创建linux交换分区。(用法:mkswap 待查

swapon------->启用交换分区。(用法:swapon 待查

swapoff------->关闭交换分区。(用法:swapoff 待查

sync----------->将内存缓冲区内的数据写入磁盘。(用法:sync 待查

resize2fs---------->调整ext2/ext3/ext4文件系统大小。

mdadm------>创建软raid的命令。(用法:待查。

mdadm –C 设备名 –l 级别 –n 磁盘数目被做的分区

6:系统权限及用户授权相关命令

chmod----------->改变文件或目录的权限。(用法:chmod 421 目标文件或目录

chown--------->改变文件或目录的属主属组。(用法:chown 属主:属组 目标文件或目录

chgrp--------->更改文件用户组。(用法:chgrp 待查

umask-------->显示或设置权限掩码。(用法:umask 待查

7:查看系统用户登录信息的命令

whoami----------->显示当前有效的用户名称,相当于执行id -un命令 (用法:whoami

who------------>显示目前登录系统的用户信息 (用法:who 回车

w-------->显示已经登录系统的用户列表,并显示用户正在执行的命令。(用法:w 回车

last------->显示登入系统的用户。(用法:last 回车

lastlog------>显示系统中所用用户最近一次的登录信息。(用法:lastlog 回车

users-------->显示当前登录系统的所有用户的用户列表。(用法:users 回车

finger---------->查找并显示用户信息。(用法:finger 待查

8:内置命令及其他

echo----->回显,或直接输出指定的字符串。 (用法:echo 指定字符串

printf--------->将结果格式化输出到标准输出,俗称打印 (用法:printf 待查

rpm-------->管理rpm包的专用命令。(用法:rpm 待查

yum------>自动简单话管理rpm包的命令。(用法:yum 待查

watch------>周期性执行给定的命令,并将命令的输出以全屏方式显示。(用法:watch 待查

alias--------->设置系统别名。(用法:alias 待查

unalias-------->取消系统别名。(用法:unalias 待查

date------>查看或设置系统时间。(用法:date 待查

clear------>清楚屏幕。简称清屏。(用法:clear 回车

history------>查看命令执行的历史记录 (用法:history 回车

eject---------->弹出光驱。(用法:eject 待查

time-------->计算命令执行时间。(用法:time 待查

nc--------->功能强大的网络工具。(用法:nc 待查

xargs------->将标准输入转换成命令行参数。(用法:xargs 待查

exec--------->调用并执行指令的命令。(用法:exec 待查

export--------->设置或显示环境变量。(用法:export 待查

unset--------->删除变量或函数。(用法:unset 待查

type--------->用于判断另外一个命令是否是内置命令。(用法:type 待查

bc--------->命令行科学计算器。(用法:bc 回车

9:系统管理与性能监视命令

chkconfig-------->管理linux系统开机启动项。( 用法:chkconfig 待查

vmstat---------->虚拟内存统计,(用法:vmstat 回车

mpstat------->显示各个可用cpu的状态统计。(用法:mpstat 回车

iostat--------->统计系统IO (用法:iostat 回车

sar------->全面地获取系统的CPU 运行队列 磁盘 I/O 分页(交换区) 内存 cpu中断和网络等性能数据。(用法:sar 回车

ipcs-------->用于报告linux 中进程间通信设施的状态 显示的信息包括消息列表 共享内存和信号量的信息。(用法:ipcs 回车

ipcrm---------->用来删除一个或更多的消息队列,信号量集或者共享内存标识。(用法:ipcrm 待查

strace---------->用于诊断 调试Linux用户空间跟踪器 我们用它来监控用户空间进程和内核的交互 比如系统条用 信号传递 进程状态变更等 (用法:strace:待查

ltrace--------->命令会跟踪进程的库函数调用,它会显示出哪个库函数被调用。(用法:ltrace 待查s

iptables -L----->查看防火墙

10:关机/重启/注销和查看系统信息的命令

shutdown-------关机 (用法:shutdown 回车

halt ------->关机 (用法:halt 回车

poweroff------->关闭电源 (用法:poweroff 回车

logout----------->推出当前登录的shell (用法:logout 回车

exit---------->退出当前登陆了的shell (用法:exit 回车

ctrl d------>退出当前登录的shell 的快捷键

11:进程管理命令

bg------>将一个后台暂停的命令,变成继续执行(在后台执行) (用法:bg 回车

fg--------->将后台中的命令调制前台继续运行 (用法:fg 回车

jobs---------->查看当前有多少后台运行的命令 (用法:jobs 回车

kill---------->终止进程 (用法:kill 进程编号 *详情:待查

killall----------->通过进程名称终止进程 (用法:kiall 进程名字

pkill-------------->通过进程名终止进程 (用法:pkill 进程名称

crontab-------->定时性任务 (用法 crontab 待查

ps----------->显示进程的快照 (用法:ps 待查

pstree--------->书形式显示进程 (用法:pstree 待查

nice/renice--------->调整程序运行的优先级 (用法:待查

nohup------->忽略挂起信号运行指定的命令 (用法:待查

pgrep-------->查找匹配条件的进程 (用法:待查

runlevel---------->查看系统当前运行级别 (用法:待查

init----------->切换运行级别 (用法:init 0/6

service--------->启动 停止 重新启动 和关闭服务系统 还可以显示所有系统服务当前状态 (用法:待查

systemctl-------->启动 停止 重新启动各种系统服务。(用法:待查

需要安装才能使用的命令

telent----->*待查

正则三剑客(grep sed awk)

grep--------->文本搜索工具,可以用于在文本文件中搜索指定格式(正则表达式)的字符串,并将匹配到的进行输出。

#用法:grep 选项 查找条件 目标文件

-i:忽略大小写

-n:显示行号

-c:仅显示匹配到的目标所在行。(-C n:显示n行的上下n行

-o:仅显示匹配到的字符串,不显示同行的其他内容。

-w:精确匹配单词。

-v:反向查找,查找不包含关键行的字。

-E:使用正则表达式(或者使用egrep)

-A:表示过滤出前几行

-B:表示过滤出后几行

正则表达式元字符的定义。

"^"和"$"---->用来位置锚定,(用法:grep -E "^abc" 文件名称--->在该文件内查找以abc开头的行。grep -E "abc,$" 文件名称--->在该文件内查找以abc,结尾的行。

"."---->表示匹配任意字符,(用法:grep "s..g" 文件名称------>在该文件内查找以s开头,g结尾的单词。

"[ ]"---->括号里面可以写想要匹配的字符,(用法:grep "^[Ss]" 文件名称--->在该文件匹配以S或s开头的行。

括号里还可以写[0-9]---->表示匹配0到9其中一个数字。[a-z]----->表示匹配单个小写字母。[A-Z]--->表示匹配一个大写的字母。[a-zA-Z]--->表示匹配任意一个字母,任意大小写。"[A-Z][a-z][a-z][a-z]"--->表示匹配首字母大写,其他小写的四个字母的单词

(用法:grep -E "[0-9]" 文件名称

“^"---->该字符写在中括号内的话,表示取反。(用法:grep -E "[^a-zA-Z]" 文件名称--->表示匹配所有除了字母外的所有的符号。

"?"-------->表示匹配0次或1次,(用法:grep -E "s?ng" 文件名称--->表示s被匹配到0次或者1次。所以sng或者ng都可以被匹配到。

"+"------->表示匹配至少1次。(用法:grep -E "s+ng" 文件名称--->表示s只至少要匹配一次,可以是sng或者ssng,但是单独的ng就匹配不到了。

"*"------>表示匹配到任意次,可以是0次也可以是1次,也可以是多次。(用法:grep -E "s*ng" 文件名称--->表示可以匹配到sng或者ssng,也可以单独的匹配到ng.

注意:"*"可以与"."搭配。(用法:".*"--->表示匹配任意数量的任意字符,比如:grep -E "s.*g" 文件名称--->表示匹配所有以s开头,以g结尾的单词

"{ }"---->用于表示明确的匹配次数。(用法:grep -E "so{2}g" 文件名称--->表示sog中间要匹配2个字母o,最后得到的结果是soog.

注意:"{ }"-->也可以指定一个匹配次数的范围,比如:"{2,3}"-->表示匹配2次到3次,"{2, }"--->表示匹配最少2次,最多不限。(用法:grep -E "go{2, }d" 文件名称

"( )"---->可以将括号内的所有字组合在一起作为一个整体处理。(用法:grep -E -i "(good){2}" 文件名称--->表示在该文件内不区分大小写的匹配good是否连续出现过2次。

sed:强大文本处理器,以文本行为单位,逐一处理,

sed 选项 '动作命令' 文件名称----->sed命令使用格式。

sed 选项 -f 脚本文件 文件名称------>sed的脚本格式。

选项:

-e:直接在命令模式上进行sed动作编辑,此为默认选项。

-f:将sed的动作写在一个文件内,用-f filename 执行文件内的sed动作。

-i:直接修改文件内容。

-n:只打印模式匹配的行。

-r:支持扩展表达式。

-h或--help:显示帮助。

-v或--version:显示版本信息。

sed常用命令

a \:即append追加字符串,可将其后的字符加在所选择内容的后面。

c \:取代/替换字符串,可将其后内容替换成所选内容,

i \:即insert插入字符串,可将其后内容插入所选内容前。

d:即delet删除,该命令会将当前选中的行删除

p:即print打印,该命令会打印当前选择的行到屏幕上。

s:替换,通常s命令的用法是这样的。s/old/new/g ,将old字符串换成new字符串。

命令实列:a命令:追加

sed '1a \qiyan' filename---->在filename中的第一行后追加字符qiyan. 数字1表示第一行,也可以写成2,或者写一个范围从1到4写成1,4。用$表示最后一行,比如2,$表示从第二行到最后一行所有行(包括第二行和最后一行)

sed '1,$a \qiyan' filename----->在filename中从第一行到最后一行所有行下面都加上qiyan。

sed '/song/a \qiyan filename----->表示在filename中的包含song所在行的下面追加qiyan

sed '/^ha.*day$/a \qiyan filename----->表示在filename中匹配到以ha开头day结尾的所在行下面追加qiyan

i命令:插入

注意:i命令的使用方法和a一样,只不过i是在匹配的行的前面插入字符串,所以直接将上面的a改成i即可。

c命令:替换

sed '$c \qiyan' filename---->将filename中的最后一行替换成qiyan. $也可是写成一个数字表示将第几行的内容替换。

sed '4,$c \qiyan' filename---->将filename中的第4行到最后一行内容替换成qiyan

sed '/^ha.*day$/c \qiyan' filename---->将filename中的以ha开头day结尾的行替换成qiyan

d命令:删除

sed '/^ha.*day$/d' filename----->将filename中以ha开头day结尾的行删除。

sed '4,$d' filename----->将filename中从第4行到最后一行中的内容删除。

sed '1,4p' filename---->打印从第一行到第四行的内容。

sed 's/old/new/g' filename----->全局替换,将old替换成new----------》不太对。需要转义可能,问老师

AWK:一种优良的文本处理工具,(本身也是一种编程语言),可以同时对一个或多个文件执行。

基本格式:

awk 选项 '{pattern action}'

awk 选项 'pattern {action}'------>其中pattern表示awk在数据中查找的内容,action是再找到匹配的内容时所执行的一系列命令。花括号{}不需要在程序中始终出现。但他们用于根据特定的模式对一系列指令进行分组。

选项:

-F:用来指定字段的分隔符,默认为空格,可以指定多个分隔符,例:-F '[ ,]'--->指定以空格或者,为分隔符。(用法:awk -F ':' '{print $1,$4,$5}' filename 还有可以用每列以TAB分割,将$1,$4,$5之间的逗号换成"t"

-v:赋值一个定义变量。(用法:awk -va=1 '{print $1,$1+a}' filename--->定义变量a=1 打印出第一列($1)同时第一列加上a(也就是$1+a)的结果也输出。可同时定义多个变量,例:awk -va=1 -vb=s '{print $1,$1+a,$1b} filename--->定a=1 b=s 输出第一列和第一列加上a和第一列后缀b的结果

-f:从脚本文件中读取awk命令。首先要编写好一个对应的awk脚本。(用法:awk -f awk脚本 filename

awk '/要匹配的字符/' filename---->在filename中匹配到相应的字符默认以空格我分隔符,没有动作命令,默认为输出匹配字符所在行的每行的内容。

awk -F '分隔符' '/要匹配的字符/' '{对匹配到的字符要执行的动作(命令)}' filename---->以指定的分隔符,匹配到相应的字符,对该字符执行对应的动作,

awk 'BGEIN {预定义变量} /匹配目标/{动作命令} END{动作命令}' filename--->模块式表达,一版应该用在脚本内,(不太清楚,待定)

awk内置变量:(预定义变量)

ARGC:命令行参数个数。

ARGV:命令行参数排列。

ENVIRON:支持队列中系统环境变量的使用。

FILENAME:awk当前正在处理的文件名。

FNR:浏览文件的记录数。

FS:设置字段的分隔符。等同于命令行-F选项。

NF:表示字段(域)的意思,俗称叫列。

NR:表示已读的记录数,也就是行数。

OFS:输出字段分隔符,

ORS:输出记录分隔符。

RS:控制记录分隔符。

$:该符号表示一行中的列。$数字,表示第几列。

$0:表示整行。

awk支持的正则表达的元字符。

^--->字符串开头。(用法:/^song--->匹配所有以song开头的行。

$---->字符串结尾。(用法:/song$--->匹配所有以song结尾的行。

.--->匹配任意单个字符包(包括回车符)。(用法:/s..g/--->匹配字母s,然后匹配任意两个字付,再以g结尾,比如song.

*--->重复0个或多个前一个字符。(用法:/s*ong/--->匹配0个或多个s后,紧跟着ong的行,比如,ong, sssong

+--->重复前一个字符一次或一次以上。(用法:/s+g/--->匹配一个或多个s加g的行,比如:sg , sssg.

?--->匹配0个或一个前导字符。(用法:/s?g/--->匹配g或sg的行。

[ ]--->匹配指定字符组内的任意一个字符,(用法:/^[sog]/--->匹配以字母s或o或g开头的行。

[^]--->匹配不在字符组内的任意一个字符,取反。(用法:/^[^sog]/--->匹配不以字母s或o或g开头的行。

( )--->子表达式组合,(用法:/(song)+/--->表示一个或(song)的组合,个人理解为将song看成一个整体。当需要匹配这个整体时就用小括号括起来。

|--->或者的意思。(用法:/(song)|L/--->匹配song或者字母L的行。

扩展元字符:

x{y}--->表示把字符x重复匹配y次,(用法1:/song{3}/--->表示匹配字符song并且把g匹配3次。用法2:/(song){2}/--->表示匹配字符song并且把song整体匹配2次

x{y,}--->表示把字符x至少重复匹配y次,(用法1:/song{3,}/--->同上,用法2:/(song){2,}/--->同上。

x{y,z}--->表示把字符x至少重复匹配y次,但不超过z次。注意:需要添加参数--posix. (用法1:/song{3,4}/--->表示匹配字符song并且匹配g最少3次,不超过4次。用法2:/(song){2,3}/--->表示匹配song并且匹配song最少2次,不超过3次

正则匹配操作符

~--->用于对行或列的表达式进行匹配。(用法:待查

!~---->用于表达与~相反的意思。(用法:待查。

awk支持的关系运算符:

==--->等于。(用法:x==y

!=--->不等于。(用法:x!=y

>=--->大于或等于。(用法:x>=y

>---》大于。(用法:x>y

mysql数据库基础命令。

mysql -u用户名 -p用户密码----->登录到本地数据库。

mysql -h主机地址 -u用户名 -p用户密码----->远程登录到该数据库。

exit--->退出数据库。

mysqladmin -u 用户名 -p 旧密码 password 新密码----->给mysql数据库修改密码。

show databases;----->显示当前数据库服务器中的数据库列表。

create database 库名;----->在数据库中建立一个库,

use 库名;----->切换库。

create table 表名 (字段名 varchar(20), 字段名 char(1));----->在当前库中建立一个表。(用法:create table 库名.表名 (字段1 数据类型 [是否为空] [默认值],字段2 数据类型 [是否为空] [默认值],....)

describe 库名.表明;----->查看表的结构。

drop database 库名;----->删除指定库名。

drop table 表名;----->删除指定表名。

delete from 表名;----->将表中记录清空。

alter table 库名.表名 add (字段1 数据类型(默认值),字段2 数据类型(默认值));----->在对应的表内添加一列,字段可多写。

alter table 库名.表名 drop 字段名;----->删除对应的一列。

alter table 库名.表名 change 字段名 新字段名 数据类型(默认值);----->更改一列。

insert into 库名.表名(字段1,字段2,字段3,) values(字段1的值,字段2的值,字段3的值,);----->对相应的字段写入数据(值)。字段可多写。值对应相应的字段。注意:插入数据时,值的部分除了数字以外,其他字母汉字等符号都需要用单引号括起来

insert into 库名.表名 values(字段1的值,字段2的值,字段3的值,);----->同样时插入数据,*但是注意输入的值,必须能够和全部的字段名称一一对应

select 字段1,字段2, from 库名,表名;----->根据字段信息查看对应的表。(注意:高危操作。!!!

select * from 库名,表名;----->查看表名中的所有数据。(注意:高危操作!!!

update 库名,表名 set 字段名=字段值 where 字段名=字段值;----->精准的修改表名中的数据。(翻译:where找到对应的行,set修改对应行下的一列,

例:

update kgc.yun210 set age=18 where name='王洪伟';

注释:

where用于找到对应行,找到name为王洪伟的这一行,set用于修改age这一列

delete from 库名,表名 where 字段名=字段值;----->删除对应表名中的对应的字段名所在的行。

select 字段名 from 库名.表名 where 条件表达式;----->按照条件查找对应的数据。

例:

select * from kgc.yun210 where id=3;

select 字段名 from 库名.表名 where 字段名 like '查询条件';----->按照查询条件在表名中查找对应的字段名。(like:像 大概的意思) 俗称:模糊查询

例:

select age from kgc.yun210 where name like '赵%';

select max(字段名) from 库名.表名;----->求出该字段名的最大值。

select min(字段名) from 库名.表名;----->求出该字段名的最小值。

select avg(字段名) from 库名.表名;----->求出该字段名的平均值。

select sum(字段名) from 库名.表名;----->求出该字段名的和。

select 字段名 from 库名.表名 where 字段名=(另外一个查询sql语句);----->嵌套查询

例:查询薪资最高的人的人名

select name from kgc.yun210 where 薪资=(select max(薪资) from kgc.yun210);

as a----->定义前面子语句查询结果为一个a ,俗称:起别名。通常用在一个sql语句的后面

例:

select id,name from (select id,name,age,sex,time from kgc.yun210) as a;

as a表示将前面子语句的查询结果定义一个别名为a--------->(不太懂有啥用。

select * from 库名.表名 order by 字段名 desc/asc;------->排序查询

例:

select name,薪资 from kgc.yun210 order by 薪资 desc;---->递减。

select name,薪资 from kgc.yun210 order by 薪资 asc;----->递增。

select * from 库名.表名 group by 字段名;------>分组查询。

例:

select avg(薪资),部门 from kgc.yun210 group by 部门;---->查寻该部门的平均工资

select * from 库名.表名 where 字段名 between 字段值1 and 字段值2;----->范围查询。(between:什么与什么之间

例:

select * from kgc.yun210 where time between '2020-07-09 22:31:00' and '2020-07-09 22:33:00';

select * from 库名1.表名1,库名2,表名2, where 表1.字段名=表2.字段名;----->多表联合查询,可以多写几个表按照where的条件一起查。

例:

select name,余额,部门 from kgc.yun210 as a,kgc.zhanghu as b where a.id=b.id;

//通过定义别名的方式进行多表联查

:插入数据是默认直接插入当前时间,及id号的自增

create table yun210(id int(10) auto_increment,time timestamp default current_timestamp,primary key(id) );

grant----->授权命令

用法:

grant {权限列表} on 库名.表名 to 用户名@'允许登录用户的主机IP' identified by '密码';

show grants----->查看权限

用法:

show grants;----->查询当前登录用户的权限

show grants for 用户@'允许登录的主机ip';----->查询特定用户的权限

revoke------>撤销权限

用法:

revoke {权限列表} on 库名.表名 from 用户名@'允许登录的主机ip';

flush privileges;----->权限刷新命令。通常在使用完grant或者 revoke后使用该命令。

注意:修改数据命令在某种情况下也可当做删除使用(就是可以将修改的内容改为空)。

kvm虚拟机常用命令:

virt-manager:开启图形配置界面

virt-install:命令行中新建虚拟机

qemu-img:定义新的虚拟机硬盘文件

virsh list --all:列出当前服务器中的所有虚拟机

virsh start :启动相应虚拟机

virsh shutdown :正常关闭相应虚拟机

virsh destroy :强制关闭相应虚拟机

virsh suspend :暂停相应虚拟机

virsh resume :从暂停状态中恢复

virsh reboot :重新启动相应虚拟机

virsh snapshot-create :建立快照

virsh snapshot-list :列出快照

virsh snapshot-revert :恢复快照

virsh snapshot-delete :删除快照

virt-clone -o -n -f

virsh undefine :删除虚拟机

docker的命令:

docker search----->用于在仓库中搜索镜像。(用法:docker search 目标镜像

docker pull 镜像名称-------->下载镜像

docker imager------>用于查看下载到本地的镜像

docker build----->通过dockerfile文件及现有镜像构建一个新的镜像

docker exec it 容器名称或id /bin/bash ----->进入一个容器,生成一个命令行,去掉it就是不进入容器就可以使用命令

docker cp 本地路径 容器id:容器中的路径 ----->用于将本地宿主机的文件拷贝到容器内,反过来用的话即可将容器内的文件复制到宿主机内

ctrl+p+q----->同时按,可以挪到后台

docker run------>通过镜像生成一个容器,并运行。(用法:docker run 选项 镜像名称或id

-i:允许与容器进行交互操作

-t:给容器一个终端(就有了命令行)

-d:将容器放在后台运行。(有的可以直接放后台(例如程序镜像,有的要使用交互(例如系统镜像

--name:指定镜像的名称,不指定的话,名称随机

-p:指定容器和宿主机之间的端口映射,(格式-p 宿主机端口号:容器中端口号。

-m:用于限制容器可以使用的内存大小。

--memory-swap:用于限制容器的交换分区大小(注意该选项设置的时物理内存+交换分区的总大小,所以该值的设置不能小于-m选项设置的值 (用法:--memory-swap=设置内存大小

-c:用于设置容器使用cpu时间的权重值,默认1024(如果没有指定容器的资源使用限制,容器将会可以使用宿主机的全部资源,但是如果资源占用过高cpu资源时,会优先关闭容器,来释放资源

--cpuset-cpus:用于设置容器可以使用哪些cpu核心。(用法:--cpuset-cpus=cpu核心号

--oom-kill-disable:启用该选项,可以禁止宿主机在出现资源不够用时,关闭容器的操作,(使用格式--oom-kill-disable=true

docker stats------>动态查看一个容器的而运行状态(用法:docker stats 目标id (不跟指定容器的话默认显示所有每隔一秒显示一次

--no-stream:只显示一次

docker create -------->创建一个容器,不运行

docker start 容器名称或id-------->启动一个容器

docker stop 容器名或者id------>停止一个正在运行的容器

docker pause 容器名称或者id----->暂停

docker unpause 容器名或id------>取消暂停

docker ps -a-------->查看容器(如果去掉-a只能查看当前正在运行的容器,

-q:至查看id号

docker attach------>用于进入一个后台运行的用于交互界面的容器(用法:docker attach 容器名称或编号

docker rm 容器名称或id----->删除一个已经停止的容器,如果容器在运行需要强制删除的话,加上-f选项

-f:强制删除,

docker rm -f $(docker ps -aq)---->一次性删除所有容器

docker rmi 镜像名称或id----->删除一个镜像(删除前确保没有正在运行的容器在依赖该镜像

docker rmi $(docker images -q)----->一次性删除所有镜像

docker commit 容器名或id 新镜像名称及tag标志 ---->动过现有的容器 转换成以恶搞新的镜像。

注意:虽然commit可以将容器转换成镜像,但是在制作新镜像的过程中很少使用这种方式,通常还是用

docker bulid配合dockersfile生成镜像,该命令不能在生成新景象时指定

新镜像启动的时默认运行的命令。

docker diff 容器名称或id---->用于比较当前同期和源镜像的差异

docker events----->监控容器本身的状态变化(开始,暂停,关闭)

docker export 容器名称或id > 自定义名字.tar---->将目标容器打包导出,

docker import 自定义名字.tar 新的镜像名称----->将本地有export 命令导出的文件加载会docker变成一个新镜像。

注意:经过导出导入操作后,原来的镜像设置的默认运行命令将会效,所以用镜像进行运行容器

时,需要额外手动指定容器要执行的命令 export/import都是针对容器的操作

docker save 镜像名称:标志 > 自定义文件名---->将一个镜像导出到本地,

注意:导出时尽量用指定镜像名导出,不然导回来时会没有名字

docker load < 自定义文件名------->用于将一个保存域本地镜像文件导入docker

docker tag 镜像名称:标志 新的镜像名称----->复制一个镜像,(复制结果可以改名

docker logs 容器id ---->显示容器中的进程回显的内容。

docker port 容器名称或id ----->查看容器进程端口映射关系

docker rename 容器id 新名字---->修改容器的名称。

docker restart 容器名或编号 ---->用于重启一个容器

docker top

docker histroy 镜像名称:标志----->查看镜像的修改情况

docker info ---->输出当前的docker属性。

docker inspoct 镜像名称:标志---->数以个镜像的星系

docker kill----->杀死容器(高危,慎用!

docker update------->用于给现有容器修改使用资源限制,选项和docker run一样

docker version and wait----->查看版本,捕捉docker的返回状态码。

docker volume create 卷名-----> 创建一个volume卷

docker volume prune------>删除所有没有运行的卷

docker run -dit --name=容器名 --mount src=容器卷名,dst=/usr/share/nginx/html

每一个卷的本地数据保存路径为/car/lib/docker/volumes/卷名/_data

docker run 选项 --mount type=bind,src=宿主机需要挂载额目录的绝对路径,dst=被挂载到的路径

docker run -dit -v 挂载目标:挂载到的路径

docker network create -d 网路类型 --subnet 自定义一个名字----->用桥接模式建立一个网络

网络类型:

1

docker network ls----->查看docker当前网络

docker run -dit --name=容器名称 --network=网络名称 -ip=目标ip 目标镜像---->创建容器到指定的网段

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

line.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值