liunx 运维知识一部分
一 克隆虚拟机
大家都需要做的克隆虚拟机,在克隆虚拟机之前,需要把网卡源的 UUID 和 Mac 地址全部删除掉。不然相同会冲突使用不了。
删除 UUID 跟 Mac 的操作步骤如下:
cd /etc/sysconfig/network-scripts/ 进入到这个目录
修改网卡,光标移动在 UUID 那里小写 dd
然后 esc 退出,:wq 永久保存,再修改另外的。
删除好之后直接关机 shutdown -h now
就可以做克隆了。以后这个机器就可以不用再把它开起来了,直接把他当做模板机,以后就不要去创建虚拟机,重新去安装系统了。
关机后的样子如下图:
克隆虚拟机步骤:
先拍个快照(做了操作之后如果还想继续使用做了操作的修改)-----> 随便给快照定义个名字,描述比如修改了网卡命名规则,可以作为克隆。
然后点中这个虚拟机 ----> 管理 -----> 克隆
然后为虚拟机起个名称,然后保存一个虚拟机路径
一点击完成就会出来一个
克隆出来之后,改一下内存,改成 1G 就可以了
内存修改了其他的不需要动。
然后点击开启此虚拟机:
克隆之后用户名、密码、包括 ip 地址都是一模一样的。
ip 地址不能相同必须改了:用 Xshell 连接必须关闭一个虚拟机。
修改 ip 地址:
cd /etc/sysconfig/network-scripts/
pwd
vim ifcfg-eth0
光标移到 IPADDR 这一行,修改一下 ip 地址 (做集群的话 web1,ip 地址都是 7,8,9 这样定义的。改成其他的只要跟 100 不冲突都可以,这个没有强制要求)
改完之后其他的不需要修改,esc 退出,:wq 保存。然后继续改 eth1
vim ifcfg-eth1
跟 eth0 改成一样,便于记忆
然后 esc 退出,:wq 保存。修改完之后必须要重启网卡才能生效 重启命令 systemctl restart network
如果卡住了的操作:
点击属性修改 --- 名字,主机,其他的不要改
然后点击连接。--- 接受保存。
修改主机名方法:hostnamectl set-hostname web01(这是新的主机名)
断开重新连接或者输入 bash
二 命令结构与命令行快捷方式
怎么样去执行命令?---Linux 命令行组成结构
命令 (空格)参数或者条件 (空格)要操作的目标对象文件或者目录
root 用户命令行提示符: #
普通用户命令行提示符: $
linux 命令行常用基本的快捷操作:
光标快速到命令行首 ----> ctrl+A
光标快速到命令行尾 ---->ctrl+E
取消当前的操作 cancel ----> ctrl+C
退出当前窗口 ---->ctrl+D
清空当前屏幕的内容 ----> ctrl+L
复制这一行代码 ----> ctrl+U
查找(历史命令) ----> Ctrl + r
粘贴 ----> ctrl+Y
在行首复制 ----> ctrl+K
向左移动一个单词 -----> ctrl+方向键左键
向右移动一个单词 -----> ctrl+方向键右键
快速删除一个单词 -----> ctrl+w
从左往右一个个删除 ----> delete
锁屏 ----> ctrl+S
解锁 ---- > ctrl+Q
三 查看命令帮助信息
man 帮助 cp 命令 怎么样查看 cp 命令怎么使用
看内核内置命令:help
看 info 命令:
从互联网搜索获取命令帮助信息:
四 关机重启和注销命令
shutdown -h now 立刻关机 或者 shutdown -h 0
shutdown -h 10 10 分钟后关机
shutdown -c 取消当前的关机操作
shutdown -r 10 10 分钟后重启
poweroff 关机
init 0 运行级别 0 到 6 0 关机操作,6 重启
reboot 重启
注销 logout 注销当前用户
exit 注销
或者快捷键 Ctrl+D
五 显示 ip 信息的命令
ip a
只看 eth0 的信息 ------ > ip a s eth0 全写:ip address show eth0
ifconfig eth0 也可以
查看命令所在路径 which
hostname 也可以获取到 ip 地址,不推荐使用
whoami 显示当前所登录用户
查看当前第三方 centOS 版本是几点几 ----- > cat /etc/redhat-release
查看其它信息 ---- uname -a
显示内核信息 ----> uname -r
显示主机名 ----> uname -n
看外网地址: curl cip.cc
六 基础文件目录管理命令
pwd 显示当前所在路径
切到其它目录查看
进入多级目录
cd 切换目录命令:
tree 命令:就是以树形结构显示当前目录的列表
创建目录 : mkdir
不加任何路径会在当前所在的创建
在根下创建目录
不管你创没创建都给你创建 mkdir liunx/test -p 还有个功能多级目录,如果没有 Linux 这个目录是创建不了的,加 -p 就可以创建多级目录
mkdir test -v 提示信息
创建很多目录 花括号 { } 是个通配符
删除:
创建文件:
创建多个文件:
ls 命令 --- 显示列表
d 开始是个目录,- 开头是个文件
显示当前目录的属性:
以人类可读的信息去显示:
以时间信息显示,也就是创建时间:正序的方式,倒序
复制文件或目录:
把 etc 下面的 hosts 这个文件复制到 root 目录下面
绝对路径:
复制目录的命令:
移动命令: mv
把 test 目录移到 tmp 下面
修改文件名和目录名:
删除文件或者目录命令:rm
删除文件:
删除当前目录 hosts 文件:强制删除不提示 -f
删除 opt 这个目录:
练习题:
七 vim 命令详解
vi 是 Linux 和 Unix 自带的文件编辑器的命令。vim 是 vi 的升级版。多级撤销,高亮显示,快捷方式可视化操作。。。
命令方式:
命令模式:
编辑模式:
复制 /etc/services 这个文件到目录文件 cp /etc/services ./
以这个文件进行了解 vim
进去这个文件:
在命令模式:
进入到最后一行:vim G
回到第一行: vim gg
显示文件所有行号: :set 空格 nu
到达第 10 行:vim 10gg
删除一行内容:dd
撤销:u
删除多行:3dd 连续的往下删
复制一行内容:yy
粘贴:p
复制多行:4yy
粘贴多此:5p
删除当前光标所在行以及以下到文件的结尾内容:dG
强制退出 :q!
在当前行行首位置怎么快速到当前行最后的位置:shift+$(4)
到当前行第一个字符: shift+6
把当前光标所在的位置的后面内容全部删除了:D
删一行内容,删了之后新的内容再去改东西:C
替换单个内容:r
从前往后去删:x 或者 delete 键
从后往前删:
进入编辑模式:按 i 在当前字符的前面开始插入字符。l 在字符后面插入东西。I 在当前行的行首进行插入内容。L 在当前行结尾插入东西。
在当前行下另起一行进行并进入编辑模式:o
进入当前行的上一行进行输入:O
删掉单词:de
底行模式:
显示行号 :set nu
取消行号 :set nonu
查看空格跟 table 键 :set list
取消 :set nolist
搜索一个内容 /echo 会高亮显示加颜色 如果找到的第一个不是要修改的可以按 n 键,下一个的意思。
向上查找 N
怎么取消颜色 :noh 取消光亮。
在文件里替换一行或一个字符或一个单词只需要 :%s# 要修改的单词 #替换成的单词#g
退出 按 esc 键
保存退出 :wq w 是保存,q 是保存加退出。
强制退出 :q!
强制保存退出 :wq!
退出保存命令 :ZZ
保存退出 :x
批量操作:
Ctrl+V 进入可视块的操作,然后方向键选中,按 d 删除。
Ctrl+V 进入可视块的操作,然后方向键选中,shift+i 然后加个 #输入要输入的内容号,然后按 esc 退出
Ctrl+V 进入可视块的操作,然后方向键选中
八 显示文件内容命令
echo 把命令行内容输出到屏幕上面 主要是追加内容到文件里面
先清空再追加
追加到文件的结尾
查看文件中的内容 cat 命令 把文件中所有内容显示出来到命令行中,如果查看的文件特别大最好别用 cat
给显示出来的内容加上行号, 缺点是不统计空行 cat -b
给显示出来的内容加上行号,空行也会显示出来 cat -n
给所看的文件的结尾加个标签 主要看密码文件是不是输入正确,后面有没有空格 cat -A
cat 也可以追加内容到文件里面
cat 还可以追加多行内容,cat 加上一个文件路径,用单个大于号(这个文件是空的或者有内容需要清空,才把你要输入的内容输入进去)或者追加(两个大于号),然后输入 EOF
输入多行:
看小文件的话 cat 用的比较多,看大文件的话一般用 more 这个是一页一页的进行显示内容,想看下一行是空格或者 f,看多行是 %,上一行按 b, 不想看的话按 q 退出。
less 查看下一行,没有百分比显示。less -N 可以显示行号。
显示文件的前多少行,默认是前 10 行。
看文件后 10 行:
自定义看的行数:
简化写:
tail 最大的功能是查看文件实时的更新:
过滤文件内容 grep
过滤一下 root 的 passwd 所有行带有 root 的内容都会显示出来,把当前行内容也会显示出来
他会给过滤出来的内容加上颜色(sentos7)。
如果不想显示所有内容:
就只显示过滤出来的字符。
排除 排除这个有 root 的行:
然后显示出来的内容是没有 root 的
给过滤出来的内容价格行号:
所以这个就是查找精确字符的功能。
过滤端口号命令:
netstat -lntup|grep sshd 加管道的意思是前面命令执行完交给后面的命令执行
统计多少行:
替换命令 单对单的只可以替换一个字符
只是替换没有又该文件内容:对应替换