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
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐