3.4 虚拟机快照技术

  • 什么是快照

3.5 虚拟机克隆技术

  • 什么是克隆

4.Bash Shell快速入门

4.1 什么是Bash Shell

bash shell是一个命令解释器,主要负责用户程序与内核进行交互操作的一种接口,将用户输入的命令翻译给内核,由内核驱动硬件,最终将处理后的结果输出至bash shell屏幕终端

我们如何打开 Bash Shell 呢?

当我们使用远程连接工具连接 linux 服务,系统则会给打开一个默认的 shell ,我们可在这个界面执行命令、比如:获取系统当前时间,创建一个用户等等

4.2 Bash shell 能干什么

  • 使用shell实现对linux系统的大部分管理 eg:

    • 1.文件管理
    • 2.权限管理
    • 3.用户管理
    • 4.磁盘管理
    • 5.网络管理
    • 6.服务管理
    • 7.服务管理
    • 8.等等

4.3 如何使用bash shell

  • 单条命令-->效率低-->适合少量的工作
  • shell脚本-->效率高-->适合重复性工作
  • 例如:创建100个用户,单纯输入命令需要执行100次,而用shell脚本则轻松解决
  1. [root@web ~]# cat useradd.sh
  2. #!/usr/bin/bash
  3. # 批量创建脚本
  4. for i in {1..100}
  5. do
  6. useradd alice-$i
  7. echo "alice-$i" is create ok..
  8. done

4.4 bash shell 提示符

当我们打开或者登陆到一个终端的时候都会显示一长串提示符[root@web ~]#

提示符一般包含当前登陆的用户名,主机名,以及当前工作的路径等

4.5 bash shell 基础语法

bash shell命令行,为用户提供命令输入,然后将执行结果返回给用户;

命令示例如下:

  1. [root@web ~]# ls       # 命令
  2. [root@web ~]# ls -a     # 命令+选项
  3. [root@web ~]# ls -a /home/  # 命令+选项+参数
  • 命令:整条shell命令的主体功能
  • 选项:用于调节命令的具体功能
    • 以 - 引导短格式选项(单个字符),例如 -a
    • 以 -- 引导长格式选项(多个字符), 例如 --all
    • 多个短格式选项可以写在一起,eg: -al
  • 参数:命令操作的对象,如文件,目录名等
  • 注意:命令必须开头,选项和参数位置可以发生变换

4.6 bash shell 的基本特性

4.6.1 补全功能tabs

  • 1.命令补全:当忘记命令时,可以使用tabs进行补全;

  • 2.目录补全:当需要查找文件目录层级比较多时,可以使用tabs快速补全,减少出错;

    1. #查看ip时忘记具体了命令
    2. [root@web ~]# ifcon
    3. #按下tab键会自动补全
    4. [root@web ~]# ifconfig
    5. #按一下tab键没有反应, 按两下tab键列出所有if开头的命令
    6. [root@web ~]# if
    7. if     ifconfig  ifenslave ifrename
    8. ifcfg   ifdown   ifnames  ifup
    9. #linux目录较深,经常使用tab键进行补全, 如果路径出错是没有办法
    10. 补全
    11. [root@web ~]# ls /etc/sysconfig/network-scripts/

4.6.2 常用快捷键ctrl

  • 命令快捷键,可以帮助我们大大提升效率

    • ctrl + a :光标跳转至正在输入的命令行的首部
    • ctrl + e :光标跳转至正在输入的命令行的尾部
    • ctrl + c :终止前台运行的程序
    • ctrl + d :在shell中,表示退出当前shell
    • ctrl + z :将任务暂停,挂至后台
    • ctrl + l :清屏,和clear命令等效
    • ctrl + k :删除光标到行末的所有字符
    • ctrl + u :删除光标到行首的所有字符
    • ctrl + r :搜索历史命令,利用关键字

4.6.3 历史记录 history

历史记录可用于追述系统之前执行过什么命令,造成的故障;之前发生过什么情况

1.使用双 !! 可执行上一条执行过的命令

  1. [root@web ~]# ls
  2. file.txt
  3. [root@web ~]# !!
  4. ls
  5. file.txt
  1. 输入 !6 ,执行history命令历史中第6行命令

  2. 使用 !cat ,调用history 命令历史最近一次执行过的cat命令

    1. [root@web ~]# cat /etc/sysconfig/network-
    2. scripts/ifcfg-eth0
    3. [root@web ~]# !cat
    4. cat /etc/sysconfig/network-scripts/ifcfg-eth0

4.6.4 命令别名 alias

命令别名将用户经常使用的复杂命令简单化,可以用alias 别名 名称='命令'创建属于自己的命令别名,若要取消一个命令别名,则是用unalias别名名称;

1.定义临时别名,wk 为查看 eth0 网卡别名

  1. [root@web ~]# alias wk='ifconfig'
  2. [root@web ~]# wk

2.如果定义命令本身,会执行什么?

  1. [root@web ~]# alias ifconfig='ifconfig eth0'
  2.  
  3. #绝对路径执行, 调用命令本身
  4. [root@web ~]# /sbin/ifconfig
  5. #通过\转义字符, 调用命令本身
  6. [root@Web ~]# \ifconfig

3.取消别名

  1. [root@web ~]# unalias ifconfig

4.永久生效,/etc/bashrc

  1. [root@web ~]# echo "alias ifconfig='ifconfig eth0'"
  2. >> /etc/bashrc

4.6.5 帮助手册help

1.命令 --help 帮助

  1. [root@web ~]# ls --help
  2. 用法: ls [选项]...[文件]...

2.命令 man 手册

  1. # man ls  #查看ls命令的手册

3.linux 命令大全 url 传送门

http://linux.51yip.com/

https://www.linuxcool.com/

https://www.runoob.com/linux/linux-command-manual.html

02.Linux文件管理

1. 文件管理概述

谈到Linux文件管理,首先我们需要了解的就是,我们要对文件做些什么事情?

其实无非就是对一个文件进行,创建,辅助,移动,查看,编辑,压缩,查找,删除,等等

如:当我们想修改系统的主机名称,是否应该知道文件在哪,才能去做对应的修改?

1.1 系统目录结构

几乎所有的计算机操作系统都是使用目录结构组织文件.具体来说就是在一个目录中存放子目录和文件,而在子目录中又会进一步存放子目录和文件,以此类推形成一个树状的文件结构,由于其结构很像一棵树的分支,所以该结构又称为"目录树"

windows:以多根的方式组织文件 C:\ D:

Linux : 以单根的方式组织文件 /

1.1.1 命令相关的目录 /bin

  • 存放命令相关的目录

    • /bin 普通用户使用的命令 /bin/ls /bin/date
    • /sbin 管理员使用的命令 /sbin/service

1.1.2 用户家相关目录/home

  • 存放用户相关数据的家目录,比如 windows 不同的用户登录系统显示的桌面背景不一样

    • /home 普通用户家目录,默认/home/username
    • /root 超级管理员root的家目录,普通用户无权操作

1.1.3 系统文件目录/usr

  • 存放系统相关文件的目录

    • /usr 相当于 C:\windows
    • /usr/local 软件安装的目录,相当于C:\Program
    • /usr/bin/ 普通用户使用的应用程序(重要)
    • /usr/sbin/ 管理员使用的应用程序(重要)
    • /usr/lib 库文件 Glibc 32bit
    • /usr/lib64 库文件Glibc 64bit

1.1.4 系统启动目录/boot

  • 存放系统启动时内核与grub引导菜单

    • /boot 存放的系统启动相关的文件.如:kernel , grub(引导装载程序)

1.1.5 配置文件目录/etc

  • /etc 存放系统配置文件目录,后续所有服务的配置都在这个目录中

    • /etc/sysconfig/network-script/ifcfg- ,网络配置文件
    • /etc/hostname 系统主机名配置文件

1.1.6 设备相关目录 /dev

  • /dev存放设备文件的目录,比如硬盘,硬盘分区,光驱,等等

    • /dev/null 黑洞设备,只进不出.类似于垃圾回收站
    • /dev/random 生成随机数的设备
    • /dev/zero 能源源不断的产生数据,类似于提款机,

1.1.7 可变的目录 /var

  • /var 存放一些变化的文件.比如/var/log/ 下的日志文件
  • /var/tmp 进程产生的临时文件
  • /tmp 系统临时目录(类似于公共厕所)

1.1.8 虚拟系统目录/proc

  • 虚拟的文件系统(如对应的进程停止则/proc下对应目录则会被删除)
  • /proc 反映当前系统正在运行进程的实时状态,类似于汽车在运行中的仪表盘,能够看到汽车的油耗,时速,转向灯,故障等等

1.2 文件路径定位

在我们开始操作文件之前,首先需要对文件的路径进行定位

1.2.1 为什么要进行定位

  • 你要在哪个目录下创建文件?
  • 你要将文件复制到什么地方?
  • 你要删除的文件在什么地方?

1.2.2 如何对文件进行定位

比如: /etc/hostname 整个文件中包含文件名称以及文件所

在的位置,我们将这个叫做路径,也就是说我们是通过路径

对文件进行定位。例:下图所示的 message 所在的路径是?

FQ1: /home/boy/file 和 /home/oldgirl/file 是否是同

一个文件?

FQ2: /abc/test 和 abc/test 是一样的吗?

  • 不一定:取决于你当前所在的位置;

1.2.3 绝对路劲与相对路劲

  • 绝对路径: 只要从/开始的路径,比如 /home/alice/file
  • 相对路径: 相对于当前目录来说,比如 a.txt ./a.txt

    ../bob/a.mp3
  • . 和 .. 的是什么意思
    • 一个点代表当的是当前目录;
    • 两个点代表的是当前目录的上层目录;
  • 小结:所谓的(.)和(..)目录实际上属于相对路径的一种表示

    形式;

1.2.4 路径切换命令 cd

例子:

  1. # cd 绝对路径 cd /etc/hostname
  2. # cd 相对路径 cd test/abc cd . cd ..
  3. -------------------------------------
  4. # cd   #切换目录,例: cd /etc
  5. # cd -  #切换回上一次所在的目录
  6. # cd ~  #切换回当前用户的家目录,注意:root和普通用户
  7. 是否有所不同吗?
  8. # cd .  #代表当前目录,一般在拷贝、移动等情况下使用
  9. cp /etc/hostname ./
  10. # cd ..  #切换回当前目录的上级目录

2.文件管理命令

2.1 文件操作命令

2.1.1 touch 文件创建

  1. # touch file          #无则创建,有则修改
  2. 时间
  3. # touch file2 file3
  4. # touch /home/od/file4 file5
  5. # touch file{a,b,c}       #{}集合,等价
  6. touch a b c
  7. # touch file{1..10}
  8. # touch file{a..z}

2.1.2 mkdir 目录创建

  1. # 选项:-v 显示详细信息 -p 递归创建目录
  2. # mkdir dir1
  3. # mkdir /home/ob/dir1 /home/ob/dir2
  4. # mkdir -v /home/ob/{dir3,dir4}
  5. # mkdir -pv /home/ob/dir5/dir6
  6. # mkdir -pv /home/{ob/{diu,but},boy}

2.1.3 tree显示目录结构

  1. # 选项: -L: 显示目录树的层级
  2. # tree /home/ob/  #显示当前目录下的结构
  3. /home/ob/
  4. ├── but
  5. ├── dir1
  6. ├── dir2
  7. ├── dir3
  8. ├── dir4
  9. ├── dir5
  10.  └── dir6
  11. └── diu

2.1.4 cp 文件或目录复制

  1. #选项: -v:详细显示命令执行的操作 -r: 递归处理目录与子
  2. 目录 -p: 保留源文件或目录的属性
  3. # cp file /tmp/file_copy
  4. # cp name /tmp/name     #不修改名称
  5. # cp file /tmp/       #不修改名称
  6. # cp -p file /tmp/file_p  #-p保持原文件或目录的属

  7. # cp -r /etc/ /tmp/    #复制目录需要使用-r参
  8. 数, 递归复制
  9. # cp -rv /etc/hosts /etc/hostname /tmp #拷贝多个
  10. 文件至一个目录
  11. # cp -rv /etc/{hosts,hosts.bak}
  12. # cp -rv /etc/hosts{,-org}

2.1.5 mv 文件移动命令

  1. # mv file file1       #原地移动算改名
  2. # mv file1 /tmp/      #移动文件至tmp目录
  3. # mv /tmp/file1 ./     #移动tmp目录的文件至当
  4. 前目录
  5. # mv dir/ /tmp/       #移动目录至/tmp目录下
  6. # touch file{1..3}
  7. # mv file1 file2 file3 /opt/  #移动多个文件或至
  8. 同一个目录
  9. # mkdir dir{1..3}
  10. # mv dir1/ dir2/ dir3/ /opt   #移动多个目录至同
  11. 一个目录

2.1.6 rm 文件或目录删除

  1. #选项:-r: 递归 -f: 强制删除 -v: 详细过程
  2. # rm file.txt   #删除文件, 默认rm存在alias别
  3. 名,rm -i所以会提醒是否删除文件
  4. # rm -f file.txt  #删除文件, 不提醒
  5. --------------------------------
  6. # rm -r dir/    #递归删除目录,会提示
  7. # rm -rf dir/    #强制删除目录,不提醒(慎用)
  8. --------------------------------
  9. #1.rm删除示例
  10. # mkdir /home/dir10
  11. # touch /home/dir10/{file2,file3,.file4}
  12. # rm -f /home/dir10/* //不包括隐藏文件
  13. # ls /home/dir10/ -a
  14. . .. .file4
  15. --------------------------------
  16. #2.rm删除示例2
  17. # touch file{1..10}
  18. # touch {1..10}.pdf
  19. # rm -rf file*
  20. # rm -rf *.pdf

2.2 文件查看类命令

2.2.1 cat命令

  1. #------cat
  2. # cp /etc/passwd ./pass
  3. # cat pass   #正常查看文件方式
  4. # cat -n pass  #-n显示文件有多少行
  5. # cat -A pass  #查看文件的特殊符号,比如文件中存在tab

  6. # tac pass   #倒序查看文件

2.2.2 less / more 命令

  1. #------less、more
  2. # less /etc/services #使用光标上下翻动,空格进行
  3. 翻页,q退出
  4. # more /etc/services #使用回车上下翻动,空格进行
  5. 翻页,q退出

Linux基础 -02的更多相关文章

  1. 《前端运维》一、Linux基础--02用户与权限

    其实说真的,这些基础挺枯燥的,内容呢绝大多数都是些静态的. 上一篇文章我们学习了基本的指令和vim编辑器的操作方法.这篇文章我们主要来学习下Linux中用户的概念和权限相关的知识. 一.用户与用户组 ...

  2. Linux基础02

    ** Linux基本操作常用命令(二) ** 用户名与主机名 当你进入Linux终端时,你会看到如下样式的图片:     其中[z@z01]方括号内的z表示当前系统登录操作的用户名,@后的z01表示当 ...

  3. Linux基础(02)MakeFile的创建和使用

    makefile是生成文件的脚本 , 把当前文件下的.c文件生成.o文件和可执行程序 SRC = $(wildcard *.c) OBJS = $(patsubst %.c,%.o,$(SRC)) C ...

  4. Linux基础命令-02

    Linux基础命令-02:

  5. 还是不想改报告,伊阿忆啊哟-Linux基础继续

    hi 虽然今天是最最美好的周六(前不着工作日后不着工作日),但老子还要来改报告,但额就是不想改,你拿我有啥办法啊... 争取完结Linux基础 一.Linux常用命令(三) 4.帮助命令 4.1 帮助 ...

  6. 运维之Linux基础(二)

    运维之Linux基础(二) 1. file 命令基期用法 2. 文件系统 Linux的文件系统结构是树状结构,所有的文件都在/root跟目录下 /boot:系统启动相关的文件, 如:内核.initrd ...

  7. 大数据学习之Linux基础01

    大数据学习之Linux基础 01:Linux简介 linux是一种自由和开放源代码的类UNIX操作系统.该操作系统的内核由林纳斯·托瓦兹 在1991年10月5日首次发布.,在加上用户空间的应用程序之后 ...

  8. Linux基础知识第八讲,系统相关操作命令

    目录 Linux基础知识第八讲,系统相关操作命令 一丶简介命令 2.磁盘信息查看. 3.系统进程 Linux基础知识第八讲,系统相关操作命令 一丶简介命令 时间和日期 date cal 磁盘和目录空间 ...

  9. Linux基础知识第七讲,用户权限以及用户操作命令

    目录 Linux基础知识第七讲,用户权限以及用户操作命令 一丶简介linux用户,用户权限,组的概念. 1.1 基本概念 1.2 组 1.3 ls命令查看权限. 二丶用户权限修改命令 1.chmod ...

随机推荐

  1. Ansible命令行方式执行

    Ansible ad-hoc 什么是ad-hoc? 临时命令,执行完不会保存,类似于批量执行命令. ansible的选项 -i # 指定主机清单 ansible rsync -m ping -i 1. ...

  2. python基础之python牛逼的设计模式

    七大设计原则: 1.单一职责原则[SINGLE RESPONSIBILITY PRINCIPLE]:一个类负责一项职责. 2.里氏替换原则[LISKOV SUBSTITUTION PRINCIPLE] ...

  3. KMP算法中我对获取next数组的理解

    之前在学KMP算法时一直理解不了获取next数组的函数是如何实现的,现在大概知道怎么一回事了,记录一下我对获取next数组的理解. KMP算法实现的原理就不再赘述了,先上KMP代码: 1 void g ...

  4. Jmeter- 笔记6 - 负载测试

    普通场景介绍 1.线程数:并发用户数 2.Ramp-Up时间:启动时间(线程数的准备时间),在这个时间点结束时,所有用户都已运行起来 3.循环次数:每个线程数都要运行的次数.永远 和 调度器一起使用, ...

  5. Eclipse修改方法内容不用重启Jetty服务器

    我Eclipse以前DEBUG模式时,修改方法里的内容是不用重启的, 现在修改方法里是一行代码都要重启服务器了,很麻烦,速度慢了,找了百度,那些方法对我不合适,可能遇到的问题不一样. 也许会合适遇到和 ...

  6. 数据、人工智能和传感器按COVID-19新冠流感排列

    数据.人工智能和传感器按COVID-19新冠流感排列 Data, AI and sensors arrayed against COVID-19 各国政府.卫生保健专业人士和工业界争先恐后地应对Cov ...

  7. python+selenium基础篇,弹窗处理

    1.弹窗如下图所示 2.处理方法 from selenium.webdriver.common.action_chains import ActionChains#导入鼠标操作包 from selen ...

  8. ubuntu 如何更改 grub 界面主题

    ubuntu 如何更改 grub 界面主题 安装 Liunx 系统的人都知道,系统引导是通过 grub 去引导的,但是 grub 这个界面就很单调,大概是这样子的 这肯定不符合我们潮流青年的审美的~ ...

  9. 11张流程图搞定 Spring Bean 生命周期

    在网上已经有跟多Bean的生命周期的博客,但是很多都是基于比较老的版本了,最近把整个流程化成了一个流程图.待会儿使用流程图,说明以及代码的形式来说明整个声明周期的流程.注意因为代码比较多,这里的流程图 ...

  10. HAOI2008 木棍分割 数据结构优化dp+二分答案

    很久之前打的题,现在补篇博客 打滚动数组 #E. 木棍分割 Accepted 100 1712 ms 1512 KiB   2019-05-07 17:01:23 Short 不打滚动数组 #419. ...