Linux虚拟机
VMware(virtual Machine ware)威睿
网络连接方式:
- 桥接模式
- NAT转换模式(网络地址转换模式)
- Host-only模式
- 无网络连接模式
磁盘类型
SCSI(Small computer System Interface)小型计算机系统接口
文件系统控制
- open: 打开文件
- creat : 创建新的文件
- mkdir: 创建目录
系统控制器
uname 获取当前UNIX系统的名称, 版本和主机信息
Linux ldy 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
通信系统
kill
控制台
- 空格台 : ctrl+alt+T
- 重启 : ctrl+alt+delete, reboot
- 关机: shutdown
软件源
sudo vim /etc/apt/sources.list
sudo apt-get update
执行发型版本升级
sudo update-manager -d
Ubuntu目录结构
- / 根目录
- /bin 存放系统中最常用的二进制可执行文件
- /boot 存放linux内核和系统启动文件
- /dev 存放所有设备文件
- /etc 存放系统所有配置文件
- /home 用户目录默认设置
- /initrd
- /lib 存放共享的库文件
- /media 存储设备挂载点
- /mnt 作为被挂载文件的挂载点
- /opt 可选文件和程序的存放目录
- proc 进程
- /root 超级用户根目录
- /sbin 系统管理命令
- /srv 系统提供的服务数据
- /sys 临时文件
- /tmp 临时文件目录
- /usr
- /usr/bin 用户管理员标准命令
- /usr/include c/c++ include文件
- /usr/lib 应用程序以及程序报的链接库
- /usr/local 系统管理员安装的应用程序
- /usr/local/share 系统管理员安装的共享文件
- /usr/share/man 系统使用手册
- /var/cache 应用程序缓存
- /var/crash 系统错误
- /var/games游戏数据
- /var/lib 各种状态数据
目录操作基本命令
ls
- a 全部文件
- l 长列表, 详细信息
- s,每个文件大小
- S按照文件大小排序
- 黑色是普通
- 绿色是可执行
- 红色是tar包
- 蓝色是目录
cd
pwd
mkdir
- m 权限
- p 递归多级
mkdir -m 771 diretest/sss -p
rmdir
- 只能删除空目录
touch 创建文件
cat 合并显示
- a 显示所有字符
- n 显示行号
cat -n profile
cp [选项] <源文件> <目标>
- i 安全询问
rm 删除指定文件或者目录
- i 询问
- r 递归
- f 强制
- v 过程
mv <文件名> <路径名>
chmod (change modify) 修改文件属性 chmod [mode] 文件名
和文件权限
- r 读 4
- w 写 2
- x 执行 1
chmod 771 aaa.txt
grep 实现在指定文件中查找某个字符
head / tail [数字选项] 文件名
head 是开头, tail 是结尾, 数字是行数
wc 对文件的行数, 单词数, 字符数统计
- l 行数
- w 单词数
- m 字符数
sort排序
find 递归查找当前目录下文件或者目录
which 按照路径查找, 显示PATH命令中的绝对路径
lidengyin@ldy:~$ which java
/home/lidengyin/Downloads/software/jdk-9.0.4_linux-x64_bin/jdk-9.0.4/bin/java
locate 同名查询
压缩备份基本命令
unzip解压zip文件
- d 指定目录
- v 查看文件列表不解压
- n 不覆盖
- o 覆盖
tar 对文件或者目录进行备份打包或者解包
tar [-选项] [备份文件名] [要打包或者解包目录文件]
- c 创建新的打包文件
- x 抽取tar文件中的内容
- z 打包后直接用gzip命令压缩后解压
- j 打包后直接用bzip2命令压缩后解压
- t 查看
- f 使用文件设备名
- v 详细显示
磁盘命令
du 命令 查看当前目录下所有文件以及目录
- a 列出所有文件以及目录的大小
- h 以MB或者 GB显示
- b 以字节为单位
- s 只列出各文件大小的总和
关机重启命令
shutdown 关机
- h 停止服务后关机
- k 警告
- r 重启
- t 延时
reboot重启
其他常用命令
echo 显示命令行中的字符串
more/less 查询结果分页显示
- space 下一页
- b 上一页
Vim
- 命令模式(ESC)
- 插入模式(i)
- 转义模式(
命令模式下/编辑文件
- dd 剪切, ndd行剪切, n是行数
- yy 复制, nyy 行复制
- p 粘贴
- x 删除, nx向后删除一个字符
- s 修改
- G最后一行, nG第n行
- u 撤销操作
-
- hjkl顺序 向左, 向下, 向上, 向右
- ctrl+f向下翻页
- ctrl+b向上翻页
- /关键词向下,查找字符串, ?关键词向上查找字符串
转义模式下
替换字符串范围
: 1, $ s/titile/tip/g
- :转义模式
- 1, 第1行或^
- $, 最后一行
- s 替换命令
- / 转义字符
- title 要修改的
- tip 修改后
- g 全部匹配
- 列出行号 :set nu
- 跳到某一行: 输入数字,然后输入回车键
- 替换字符串, 输入"范围s/字符串1/字符串2/g"
多窗口
- vim aaa.txt
- 转义模式下 sp bbbb.txt
- 下转上 ESC->Ctrl+w->k
- 上转下 ESC->ctrl+w->j
- 退出一致
多文件操作
转义模式下:
- 将一个文件内容复制到另一个文件中当前光标处 r filename
- 同时打开多个文件: vim 多个文件名, 转义模式下可以执行命令:next和:previous在文件之间切换
编辑文件
-
- hjkl顺序 向左, 向下, 向上, 向右
- ctrl+f向下翻页
- ctrl+b向上翻页
Linux命令行界面
使用文本模式
Linxu允许用户同时打开6个虚拟控制台(tty1-6)
使用组合键
ctrl+alt+F(n)
其中F(n)是F1到F6,分别代表1-6号控制台
一般是2号控制台, 返回的时候不断尝试就可以
SHELL
echo $SHELL
默认bash
正则表达式
通配符
- *:表示任意字符串
- ?:表示任意单个字符
- []:表示字符序列中任意一个字符,也可以使用-来表示连续的字符
- !:在[]中使用,表示排除
- ^幂符号:只在一行的开头匹配字符串
- $:只在行尾匹配字符串
模式表达式
模式表达式是那些能够包括一个或者多个通配符的字符串
各个模式之间用竖线|隔开
- :匹配多个模式,例如file(.c|.o)
- +匹配一个或多个模式, 例如file+(.c|.o)
- ?匹配模式表中任意一种模式
- @,匹配模式表中一个给定模式
- !除去模式表中给定的模式外,可以匹配其他任意字符串
Shell中的特殊字符
引号
- ''单引号括起来的字符只能是普通字符串
- ""双引号保留转义字符
- ``反引号解释为命令行,执行命令行输出的结果
Linux命令行基本用法
- 编辑修改字符串,只要动鼠标就可以
- 调用历史命令 history
- 执行历史命令 !编号
- 自动补齐命令 tab
- 一行多条命令: ls -al ; pwd
- 命令行续行: ls -al \
- 强制中断命令执行: ctrl+C
常用的命令
docker部署查杀 docker ps -a | grep none | awk ‘{FS=" "}{print $1}’ | xargs -n 1 docker rm $1
- grep 在指定文件中查找指定字符所在行
- awk行匹配语句,格式化输出
- FS是输入文件分隔符,此处表示使用空格分割
- ‘{print $1}’ 表输出分割中的第一行快
- xargs 将输出或输入内容转换为命令行参数
- n表示执行的时候一次使用arg的次数,比如- n 1则使用 kill -9 args1, -n 2则表示kill -9 args1, args2
Jenkins自动部署.sh
docker images | grep none | awk '{FS=" "} {print $3}' | xargs -n 1 kill $1
docker pull 47.112.132.177:5000/micro-admin:0.0.1-SNAPSHOT
docker ps -a | grep micro-admin | awk '{FS=" "} {print $1}' | xargs -n 1 docker stop $1
docker ps -a | grep micro-admin | awk '{FS=" "} {print $1}' | xargs -n 1 docker rm $1
docker-compose up -d
echo "end process"
exit 0