当前位置 博文首页 > 、唐城:清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Git

    、唐城:清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Git

    作者:[db:作者] 时间:2021-06-19 19:57

    今天整理了一些软件测试必备之Linux 知识,希望能对你有帮助!

    这里赠送一套软件测试相关资源:

    • 软件测试相关工具
    • 软件测试练习集
    • 深入自动化测试
    • Python学习手册
    • Python编码规范
    • 大厂面试题和简历模板

    关注我公众号:【程序员二黑】即可免费领取!
    交流群:642830685

    ?

    软件测试必备之Linux 知识

        • 1. Linux 概述
        • 2. linux入门须知
        • 3. 常用命令
        • 4. 磁盘管理
        • 5. 文件管理
        • 6. 系统设置
        • 7.系统管理
        • 8. 网络通信
        • 9. 文件搜索
        • 10. 文件权限管理
        • 11. 网络管理
        • 12. 进程管理
        • 13. 解压缩
        • 14. 管道命令
        • 15. vi编辑器的使用
        • 16. mysql 安装和配置
      • 面试题
      • 推荐阅读

    ?

    1. Linux 概述

    1.1 测试人员为什么学习linux

    对于软件测试人员来说,我们测试的任何产品都是基于操作系统。比如我们每天都在使用的QQ软件,它有windows、ios、Android、Mac OS等版本,需要把QQ安装在各个平台上,才能进行相应的测试。因此,熟练使用这些操作系统和掌握一系诶操作系统对的基本知识应该是每个测试工程师必须掌握的基本功。

    目前市面主流的操作系统有windows、unix、linux等,而linux作为很多软件应用的后台服务器部署所采用的操作系统,也是当下应用最多的服务器端操作系统。熟练使用linux 系统,这样的词汇经常出现在测试岗位的要求和求职人员的技能描述中。而在测试人员这个群体中,真正能熟练运用linux操作系统的、哪怕只是对常用命令比较熟悉,也是比较稀缺的!因此测试人员学习linux ,不仅可以提高测试深度,也可以增加自己的核心竞争力、拓宽自己的技能栈,让自己的测试能力有更深层次的提高。

    测试人员学习linux 可以做什么呢?作为初学者,搭建测试环境应该作为学习首要目的。

    1.2 什么是linux

    linux 是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多中性,大型甚至是巨型项目都在使用linux。
    linux 内核:redhat、红旗linux、ubuntu、suse、fedora,

    它们的内核都是一样的(linux其实是一个统称)
    linux 操作系统的优点很多:开源免费、支持多线程、支持多用户、安全性好、对内存和文件管理优越、适合小内核程序的嵌入系统等
    linux 的缺点是使用命令行操作,因此操作相对困难,但正是这种字符级命令行的操作,占用的系统资源会更少,也减少了被攻击、出错的可能性

    1.3 linux 和Windows的不同

    1.4 如何学习linux

    测试人员学习linux 不一定非常的系统性,因为精通linux那是运维人员的工作职责,作为测试人员,学习的首要目的应该是够熟练使用常用命令、熟练搭建测试环境。因此,不断的练习命令,每个常用命令都应该去多敲几遍,验证输入命令后的反馈,最后熟能生巧,慢慢地就能把常用命令记住了。

    所以,如何学习linux?一个字:练!

    2. linux入门须知

    2.1 文件、目录

    2.2linux文件
    linux 所有的内容都是以文件形式保存,包括硬件(一切内容皆文件),并且linux不靠扩展名区分文件类型。
    linux有多种基本类型,常见的有如下三种:
    在这里插入图片描述
    2.3 linux 目录
    linux 的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根目录“/” ,然后在此目录下再创建其他的目录。

    在linux 系统中,所有的文件与目录都是根目录 / 开始的,以 / 开头的目录成为绝对目录,不以根目录 / 开头的称为相对目录。

    linux 系统文件目录整理如下


    2.4 常用快捷键

    在这里插入图片描述

    3. 常用命令

    用户登录linux后,可以在linux 的命令提示符后面输入命令与系统进行交互。
    如下所示:
    [root@localhost~]#
    其中:
    root:当前登录用户
    localhost:主机名
    :当前所在目录,?表示家目录
    #:超级用户的提示符,如果是普通用户的提示符是$

    linux的命令格式: 命令 [选项] [参数]
    如:cp dir1 dir2 ,cp是拷贝命令,dir1 和dir2是参数,表示把dir1拷贝到dir2中

    注意:
    个别命令使用不遵守此格式
    当有多个命令时,可以写在一起
    简化选项与完整选项,如 -a 等于 -all
    linux 是严格区分大小写,一般命令没有特殊说明,都是小写
    linux命令和参数之间是有空格的,请不要像英文字母一样,全部挤在一块

    下面就linux 使用最频繁、最常用的命令进行详述。

    4. 磁盘管理

    4.1 cd
    cd ,切换目录(chang directory)
    cd 命令可以让登录用在不同的目录间切换
    语法 :cd [目标目录]
    下面是一些常用的目录切换

    在这里插入图片描述
    相对路径与绝对路径的区别
    cd 相对路径:只要开头不是 / 就是属于相对路径的写法,会参照当前所在目录,通过该相对路径进行查找
    cd 绝对路径:绝对路径是由根目录 / 开头的文件名或目录名称。如:/home/data/package,会从根目录(即顶级目录/)开始,一级一级的去进行递归查找,通过cd 命令采用绝对路径e方式,只要路径是正确的,可以在任何目录下进入指定的该目录。

    4.2 ls
    ls,列出目录内容
    语法:ls [目标目录]
    ls 指令可列出目录内容,包括文件和子目录的名称

    在这里插入图片描述
    工作中使用习惯一般是cd 命令切换到某个目录后,直接输入ls 查看当前目录的内容,类似于在windows系统上点开某个文件夹。

    另外一个比较常用的写法是ll ,ll 是 ls -l 的缩写,可以以列表格式列出目录内容,如:
    在这里插入图片描述
    下面package 各个属性的描述:


    在这里插入图片描述
    每行最前面10个字符可以确定该文件的类型以及不同用户针对该文件的权限
    第一个字符表示类型:文件(-)、目录(d),链接(l)
    其余字符每3个一组(rwx)、读(r)、写(w)、执行(x)
    第一组 rwx:文件所有者的权限是读、写和执行
    第二组 r-x:与文件所有者同一组的用户的权限是读和执行,没有写的权限
    第三组 r-x:不与文件所有者同组的其他用户的权限是读和执行,没有写的权限

    读、写、执行用数字表示分别为 r=4 ,w=2,x=1。
    rwx =4+2+1=7
    r-x=4+0+1=5
    r-x=4+0+1=5
    所以该文件针对不同用户的权限可以用数值755表示

    4.3 pwd
    pwd,显示工作目录(print working directory)
    执行pwd命令可以获得当前所在的工作目录的绝对路径。

    4.4 mkdir
    mkdir,建立目录(make directory)
    -p:递归创建目录,即如果建立目录的上层目录没有创建,会一并建立上层目录。

    4.5 rmdir
    删除空目录,这条命令实际操作中用得很少,我们一般用rm
    注意 rmdir 命令只能删除空目录,如果要删除目录下所有文件可用:rm -rf 路径

    4.6 df
    df,显示磁盘的相关信息,如文件系统的使用情况
    df [-ahikHTm] [目录或文件名]
    -a :列出所有的文件系统
    -k:以KB为单位显示各个文件系统
    -m:以MB为单位显示各个文件系统
    -h:以GB、MB、KB等格式显示
    -H:以M =1000K取代 M=1024K的计算方式
    -T:连同该分区的文件系统名(例如 ext3 )一起列出
    -i:不用硬盘容量,而以inode 的数量来显示

    df [路径],查看某个目录是在哪个分区,并显示其它信息
    注意df、du两个命令对于测试人员来说应用频率并不高。

    4.7 du
    du,显示目录或者文件的大小,du 命令显示指定的目录或文件占用的磁盘空间

    语法:du [-ahskm] [文件或目录名称]
    -a : 列出所有的文件与目录容量
    -h:以人们易读的容量格式(G/M)显示
    -s: 显示总计,不列出每个目录占用的容量
    -k: 以KB列出容量显示
    -m:以MB列出容量显示

    5. 文件管理

    5.1 touch
    touch,改变文件或者目录时间,也可以建立空文档

    touch [-acdmt] 文件名
    -a : 修改access time
    -c : 修改时间,而不建立文件
    -d: 后面可以接日期,也可以使用 --date=“日期或时间”
    -m:修改 mtime
    -t:后面可以接时间,格式为[YYMMDDhhmm]

    5.2 cp
    cp 复制命令
    cp 指令用于复制文件或者目录,参数必须指定两个或者两个以上的文件或目录,并且最后一个路径必须是已经存在的目录,可以把之前指定的文件或者目录复制到该目录中。
    常见参数:
    -a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录。
    -p 复制源文件的内容,并且会复制修改时间和访问权限到新文件中
    -r 若给出的源文件是一目录文件,此时cp 将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名
    如:cp -r dir1 dir2 dir3,递归复制,把dir1、dir2 复制到dir3目录中

    5.3 mv
    mv , 移动和重命名
    mv 命令可以移动文件或者目录,也可以更改文件或目录名称
    语法:
    mv [源文件或者目录] [目标文件或目录]
    如 mv dir1 dir2 :把dir1 移动到 dir2目录中
    mv /home/hello /home/world; 把/home 目录下的hello 文件重命名为world

    5.4 rm
    rm ,删除文件和目录
    rm 命令可以删除文件或目录,使用参数“-r” 可以删除目录,否则默认是删除文件
    rm -rf * ,删除所有内容,包含目录和文件
    其中 -r 表示递归,-f 表示强制

    5.5 cat
    cat ,显示文件内容,将文件内容打印到标准输出设备上
    语法 :cat fileName
    常用参数:
    -n : 对输出的行数进行编号

    5.6 head
    查看纯文本文档的前N行,写到标准输出

    head -n 20 查看文本文件前20行

    5.7 tail
    查看纯文本文档的后N行,写到标准输出
    tail -n 20 查看文本文档后20行
    tail -f error.log 不断刷新,实时查看文件内容改变

    5.8 more、less
    more ,显示文件内容带分页
    语法:more fileName
    more命令类似cat ,以一页一页形式显示,方便阅读,按空格键往后翻下一页,按b键(或 ctrl + pag up 上翻) 往前翻一页

    more + 10 fileName : 从第10 行显示fileName 内容

    less ,显示文件内容带分页
    less 与 more 类似,使用less 可以随意浏览文件

    5.9 echo
    echo:输出字符串
    语法:echo [-ne] [字符串] 或 echo [–help][–version]
    echo会将输入的字符串送往标准输出

    6. 系统设置

    6.1 alias
    alias:有些命令很长,或者名字显得别扭,可以给命令起一个别名
    命令: alias :显示系统当前定义的所有alias
    【案例】 alias cp = ‘cp -i’
    【案例】alias li = ‘ls -l -color=tty’
    用户可利用alias , 自定指令的别名。若仅输入alias ,则可列出目前所有的别名设置。alias的效力仅基于该次登入的操作。若要每次登入是即自动设置好别名,可在/etc/profile 或自己的 ~/.bashrc 中设定指令的别名。
    还有,如果你想给每一位用户都生效的别名,请把 alias la = ‘ls -al’ 一行加在/etc/bashrc最后面
    bashrc 是环境变量的配置文件 /etc/bashrc 和~/.bashrc 区别就在于一个是设置给全系统一个是设置给单用户使用,如果你想给每一位用户都生效的别名,请把alias la = ‘ls -al’ 一行加在 /etc/bashrc 最后面,bashrc是环境变量的配置文件 /etc/bashrc 和~/.bashrc 区别就在于一个是设置给全系统一个是设置给单用户使用

    命令的执行顺序:
    1: 执行用绝对路径和相对路径的命令
    2:执行别名
    3:执行Bash的内部命令
    4:执行按照¥PATH 环境变量定义的目录找到第一个命令

    6.2 alias
    unalias:删除别名
    语法:unalias 别名

    6.3 export
    export, 设置和显示环境变量
    export 命令可新增、修改和删除环境变量
    export -p :列出所有的shell 赋予程序的环境变量。

    6.4 man
    man [command] , 帮助,类似与dos中的help ;man实际为manual(操作说明),
    man的级别:
    1:查看命令的帮助
    2:查看可被内核调用的函数的帮助
    3:查看函数和函数库的帮助
    4:查看特殊文件得帮助,主要是 /dev 目录下的文件
    5:查看配置文件的帮助
    6:查看游戏的帮助
    7:查看其它杂项的帮助
    8:查看系统管理员可用命令的帮助
    9:查看和内核相关文件得帮助

    查看命令拥有那个级别的帮助:
    man -f 命令,相当于whats命令
    eg:man -5 passwd
    man -4 null
    man -8 ifconfig

    查看和命令相关的所有帮助
    man -k命令,相当于 apropos 命令

    7.系统管理

    7.1 shutdown
    shutdown ,系统关机命令
    -h:关机
    -r: 重启

    shutdown -h now 立即进行关机
    其它关机命令还有:halt 、poweroff 、init 0

    7.2 reboot
    reboot,重启命令
    执行reboot 指令会让系统停止运作并重新开机
    其它重启命令:
    shutdown -r now 现在重新启动计算机

    7.3 logout
    logout ,注销登录
    在linux 提示符下输入logout ,即可让用户注销登录,退出系统

    7.4 who
    who,显示当前登录系统的用户信息
    命令输出:
    登录名
    登录终端
    登录时间(登录来源的IP地址)

    7.5 whoaml
    显示自身用户名称

    7.6 su
    su :切换用户(switch user)
    语法:su userName
    su 命令用于切换其他用户 ,除了切换root 外,切换其他用户都需要输入密码

    7.7 w
    w 用户名:
    输出
    USER:登录的用户名
    TTY:登录终端
    FROM:哪个IP地址登录的
    LOGIN@:登录时间
    IDLE:用户闲置时间
    JCPU:指的是和该终端连接的所有进程占有的时间,这个时间里并不包括过去的后台作用时间,但却包括当前正在运行的后台作用所占用的时间
    PCPU:是指当前进程所占用的时间
    WHAT:当前正在运行的命令

    7.8 useradd
    useradd ,添加用户
    语法: useradd 用户名
    如添加一个名为happy的用户:useradd happy

    7.9 passwd
    passwd,为新用户设密码
    语法:passwd 用户名
    如修改happy 的密码:passwdhappy

    7.10 userdel
    userdel,删除用户
    语法:usedel 用户名
    如:userdel happy,删除用户但保存用户主目录
    如:userdel -r happy,删除用户以及用户主目录

    7.11 history
    history :历史命令
    -c:清空历史命令
    -w:把缓存中的历史命令写入到历史命令保存文件:~/.bash_history
    建议不用清空历史文件:1 方便,2 便于排错容灾

    历史命令的使用
    使用上、下箭头调用以前的历史命令
    使用“!n” 重复执行第n 条历史命令
    使用“!!” 重复执行上一条命令
    使用“! 字符串” 重复执行最后一条以该字符串开头的命令

    如 service network restart==!ser
    执行最后一条包含ser 字符串的命令,方便快捷

    命令补全:tab 键,一下和两下

    7.12 date
    date命令:显示或设置系统时间或日期
    可以在直接输入“date” 命令来查看系统的时间
    date + %y/%m/%d
    2017/06/15
    date “+%Y-%m-%d %H:%M:%S”
    2017-02-27 12:37:15

    利用date 命令来更改系统的时间
    date MMDDHHMMCCYY.SS:月 月 日 日 时 时 分 分 年 年.秒 秒
    date -s “2017-08-15 21:32:25”

    7.13 clear
    clear ,清除执行记录,清除屏幕

    8. 网络通信

    8.1 ifconfig
    查看本机当前网卡配置和网络状态信息

    9. 文件搜索

    9.1 which
    which 查找“执行文件”
    Which 指令会在系统环境变量 $PATH 设置的目录里去查找符合条件的文件
    -a 将所有可找到的命令均列出,否则列出第一个找到的命令名称
    Which 还可以查找别名 ,如 which ll

    9.2 whereis
    Whereis 寻找特定文件 whereis [-bmsu] 文件或目录
    常见参数:
    -b: 只找二进制文件(即可执行文件)
    -m:只找在帮助文件,manual 路径下的文件
    -s :只找源文件
    -u: 没有帮助文件的文件

    9.3 grep
    grep ,在文本中查询内容
    语法:grep 搜索字符串 fileName
    如一个文件 Hello.java 中含有Lemon 关键字,可以使用grep 命令进行查找:
    Grep -n Lemon Hello.java
    其中的-n 表示在第n行

    9.4 find
    find ,搜索文件及目录
    Linux 的文件系统由级别式的结构组成,所以在linux中找到特定的文件和目录并不是件容易的事。而“find” 命令可以解决上述问题
    语法:find [路径] [选项]
    查找时可以使用 linux 中通配符来匹配内容:
    *:匹配任意内容
    ?:匹配任意一个字符
    [] :匹配任意一个中括号的字符
    如:
    在这里插入图片描述
    find 还有很多个性化的操作,如按照所有者、时间、大小限制 进行搜索,作为测试人员用的频率并不高,因此这里不再详述,感兴趣自己去了解下。
    find 与 grep 命令的区别:
    find :在系统中搜索符合文件的文件名
    grep :在文件当中弄搜索符合条件的字符串

    10. 文件权限管理

    10.1 权限概述
    Ls -l 中显示的内容如下:
    -rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
    10个字符确定不同用户能对文件干什么
    第一个字符代表文件(-)、目录(d)、链接(l)
    其余字符每3个一组 (rwx),读(r)、写(w)、执行(x)

    第一组 rwx: 文件所有者的权限是读、写和执行
    第二组 rw- :与文件所有者同一组的用户的权限是读、写但不能执行
    第三组 r-- :不与文件所有者同组的其他用户的权限是读不能写和执行

    用数字表示为:r=4 ,w=2 ,x=1 因此 rwx =4+2+1 = 7
    1 表示连接的文件数
    root 表示用户
    root 表示用户所在的组
    1213 表示文件大小(字节)
    Feb 2 09:39 表示最后修改日期
    abc 表示文件名

    10.2 权限的作用

    10.2.1 权限对文件的作用
    r :读取文件的内容,cat more head tail
    w :编辑、新增、修改文件内容 vi echo
    (有写权限、但是不一定有权限删除,因为写指的是对下一级写权限,二能否删除,需要看上一级目录的权限)
    x : 可执行

    10.2.2. 权限对目录的作用
    r : 可以查询目录下的文件名
    w : 具有修改目录结构的权限,如新建文档和目录,删除该目录下的文件和目录,重命名该目录下的文件和目录,剪切(touch ,rm ,mv ,cp)
    x :可以进入目录(cd)

    10.3 文件权限命令

    10.4 chmod
    chmod 改变文件或目录的权限

    赋值方式:
    chmod 755 abc :赋予abc 权限 rwxr-xr-x

    指定方式:
    chmod u = rwx ,g= rx,o=rx abc :同上 u = 用户权限,g= 组权限,o=不同组其他用户权限

    增加、减去
    chmod u-x ,g+w abc : 给abc 去除 用户执行的权限,增加组写的权限
    chmod a+r abc :给所有用户添加读的权限

    10.5 chown
    改变所有者(chown)
    chown xiaoming abc :改变abc 的所有者为xiaoming
    chown root ./abc :改变abc 这个目录的所有者是root
    chown -r root ./abc :改变abc 这个目录及其下面所有的文件和目录的所有者是root

    10.6 chgrp
    改变用户组(chgrp)
    chgrp root abc: 改变abc 所属的组为root
    Chown root:root text.txt

    10.7 usermod
    改变用户所在组
    在天剑用户时,可以指定将用户添加到哪个组中,同样用root的管理权限可以改变某个用户所在的组
    usermod -g 组名 用户名
    你可以用
    usermod -d 目录名 用户名,改变该用户登录的初始目录

    10.8 注意点
    对文件来说:最高权限是 x ,隐藏对文件要慎用执行权限
    对目录来说:最高权限是 w:只有赋0、 5(rx)、 7(rwx), 因此对目录来讲要慎用写权限

    案例:新建用户 user1, 组为 user2
    通过root修改某文件权限,通过user1 来进行验证

    尽量赋予最小的权限,避免777 权限

    10.9 案例

    10.9.1 综合案例1
    【题1.1】 建立两个用户组group1 和group2, 以及三个用户dennis、daniel、abigale,并且将前2个用户分配在group1 用户组下,最后一个分配在group2用户组下

    在这里插入图片描述
    【题1.2】 以 dennis 用户登录,创建一个Hello.java文件
    【题1.3】以daniel 用户登录,观察是否可以访问 /home/dennis 目录以及读或写其创建的Hello.java文件
    【题1.4】以dennis 用户登录,修改目录/home/dennis 以及Hello.java文件的读写权限(更正:修改目录权限的时候,应该使用770,而不是760,否则权限不足)

    在这里插入图片描述
    【题1.6】改变abigale的用户组由group2 变为 group1

    在这里插入图片描述
    然后,可以使用cat /etc/passwd 查看并确定

    在这里插入图片描述
    【参考】
    groupadd 组名 ,在linux中添加组
    vi /etc/group ,查看linux中所有组信息,可以看可以编辑
    cat /etc/group ,查看linux中所有组信息,只可以看不可以编辑
    useradd -g 组名 用户名,创建用户的同时指定将该用户分配到哪个组下
    vi /etc/passwd , 查看 linux中所有用户信息,可以看可以编辑
    cat /etc/passwd ,查看linux 中所有用户信息,只可以看不可以编辑

    10.9.2 综合案例2
    实例:
    police、terrorists组
    创建组:
    groupadd police
    groupadd terrorists
    创建用户:
    useradd -g组名 用户名
    添加密码:
    passwd tommy
    给tommy 设置密码

    查看linux 中所有用户的信息
    vi /etc/passwd
    cat /etc/passwd

    改变用户的组:
    usermod -g

    11. 网络管理

    11.1 虚拟机配置固定ip
    1:查看宿主机的网络配置信息:打开windows的cmd 窗口,输入:ipconfig /all

    在这里插入图片描述
    记录下上面标记的几条信息:

    网关:192.168.0.100
    子网掩码:255.255.255.0

    DNS:
    222.246.129.80
    59.51.78.210

    2.打开宿主主机的网络与共享中心,禁用掉虚拟机网卡
    在这里插入图片描述
    3.虚拟机网络设置:选中虚拟机 -->右键 -->设置 -->网络适配器 -->选择桥接模式

    在这里插入图片描述
    4:进入虚拟机,修改网卡文件如下
    Vim /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    BOOTPROTO=static
    ONBOOT=yes
    TYPE=Ethernet
    IPADDR=192.168.0.188
    NETMASK=255.255.255.0
    GATEWAY=192.168.0.1
    DNS1=222.246.129.8
    DNS2=59.51.78.210

    设置说明:
    DEVICE=eth0 #网卡名称
    BOOTPROTO=static #网卡获得ip 地址的方式,static|dhcp|bootp,分别对应静态指定ip地址,通过dhcp 协仪获得的ip 地址,通过bootp 协议获得的ip 地址
    ONBOOT = yes #开机启动
    TYPE = Ethernet # 网络类型
    IPADDR = 192.168.0.188 #本机地址,设置一个局域网没有用到的ip地址
    NETMASK = 255.255.255.0 #子网掩码,保持和宿主机同
    GATEWAY = 192.168.0.1 默认网关,保持和宿主同
    DNS1 = 222.246.129.8 #主DNS ,保持和宿主机同
    DNS2 = 59.51.78.210 #备用DNS, 保持和宿主机同

    注:也可以修改成谷歌的公共DNS:

    DNS1 = 8.8.8.8
    DNS2 = 8.8.4.4

    5: 重启网络服务,让配置生效
    Service network restart
    6: 测试网络,ping 一下网关:ping 192.168.0.1
    7: 测试外网连接:ping www.baidu.com
    8: 测试SSH连接,使用xshell 进行远程连接

    11.2 网络相关命令
    11.2.1 netstat
    显示网络统计信息的命令 netstat
    此命令用来显示整个系统目前的网络情况。例如目前的连接、数据包传递数据、或是路由表内容,此命令直接输入即可使用
    netstat -app
    an,按一定顺序排列输出
    p,表示显示哪个进程在调用

    11.2.2 ping
    检测主机连接命令 ping
    是一种网络检测工具,它主要是用检测远程主机是否正常,或是两部主机间的介质是否为断、网线是否脱落或网卡故障
    Ping 对方 ip 地址

    11.2.3 tranceroute
    显示数据包经过历程命令 traceroute
    此命令可以直接输入使用,用来检测数据包在网络上传输的过程,从本机到远程的主机完整路径,帮助管理员解决问题

    11.2.4 route
    显示路径由表 route
    所谓路由是 指将数据由来源网络送往目的网络的操作。在大型网络中,路由是非常复杂的,因为数据包在抵目的地时,可能经过的节点有很多,路由表是存储在路由器或一些其他链接设置上的窗体。其中记录着了到指定目的的网络路径,以及这些路径的相关数值
    此命令可以直接输入使用,来查看本机路由的情况

    12. 进程管理

    12.1 进程概述
    在linux 中,每个执行的程序都称为一个进程,每一个进程都分配一个ID 号
    每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程,例如 www 服务器
    每个进程都可能以两种方式存在的,前台与后台。所谓前台进程就是用户目前的屏幕上可以进行操作的,后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行

    一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,知道关机才结束

    进程与线程
    进程:就是正在执行的程序
    线程
    轻量级的进程
    进程有独立的地址空间,线程没有
    线程不能独立存在,它是由进程创建
    相对讲,线程耗费的CPU 和内存要小于进程

    12.2 进程的管理
    12.2.1 ps —查看进程
    ps 命令是用来查看目录前系统中正在执行的进程以及进程的执行情况,可以不加任何参数,显示详细的进程信息
    常见参数:
    ps -a :显示当前终端的所有进程信息
    ps -u :以用户的格式显示进程信息
    ps -x :显示后台进程运行的参数
    ps 显示的信息选项:
    在这里插入图片描述
    12.2.2 kill —终止进程
    kill/killall, 终止进程
    如果某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程,使用kill 命令可以来终止某个进程

    语法:kill 进程号
    如:
    kill 19231:终止进程号为19231的进程
    kill -9 19231:因为有些进程会捕捉某些信号,直接kill 会被系统阻塞掉,此时可以用“-9”来强制杀出
    killall:杀死同名的所有进程

    12.2.3 top —动态监控进程
    top 命令与ps 命令很相似。它们都用来显示正在执行的进程。top 与 ps 最大的不同之处,在于top在执行一段时间可以更新正在运行的进程

    监视特定用户
    top: 输入此命令,按回车键,查看执行的进程
    u: 然后输入“u”灰尘,再输入用户名,即可终止指定的用户
    top: 输入此命令,按回车键,查看执行的进程
    k: 然后输入“k”回车,再输入要结束的进程ID号,指定系统状态更新的时间
    top -d 10 : 指定系统更新进程的时间为10秒
    top 显示选项解释

    在这里插入图片描述
    1:52 ,表示系统启动了多久
    1 user ,用户数
    load average : 0.00 0.00 0.00 ,当前系统负载情况,一般来说,参数越小,系统运行的越轻松,当平均数>0.6时,系统就很紧张了。
    38 processes,进程数
    0 zombie , 僵尸进程数,相当于这个进程没有用了,还占用资源,比如父进程来不及收回子进程
    CPU states:99.3% idle ,闲置的CPU
    Mem,内存
    Swap,类似于虚拟内存

    13. 解压缩

    13.1 .tar.gz 解压缩
    Linux 下常见的压缩格式:.tar.gz 、 .zip 、 .gz 、 .bz2 、.tar.bz2

    本篇主要讲解 .tar.gz 和 .zip 的压缩格式

    13.1.1 .tar.gz 压缩
    .tar.gz 格式是先打包为 .tar 格式,再压缩为.gz 格式

    语法:tar -zxvf 压缩包.tar.gz文件
    命令参数详解:
    -c :建立归档
    -z:压缩为.tar.gz格式
    -v: 显示所有过程
    -f: 使用档案名字,必须项,最后一个参数,后面空格接文件名
    如:将test 文件(目录)压缩成 test.tar.gz 压缩包
    tar -zcvf test.tar.gz test

    13.1.2 .tar.gz 解压缩
    将test.tar.gz 进行解压缩
    tar -zxvf 压缩包名,.tar.gz
    命令参数详解:
    -x: 解归档
    -z: gzip格式
    -v:显示所有过程
    -f : 使用档案名字,必须项,最后一个参数,后面空格接文件名
    如:将 test.tar.gz 进行解压缩:
    tar -zxvf test.tar.gz

    13.2. zip格式压缩、解压缩
    zip 、unzip 以zip 和 unzip处理 .zip文件

    13.2.1 zip压缩—zip
    Zip命令的基本使用方法
    语法:zip[-r] 压缩后文件名 .zip 需要压缩的文件

    如:
    zip 压缩文件名 源文件
    压缩目录:
    zip -r 压缩文件名 源目录

    如:将 test 文件压缩成test.zip,注意使用 -r 参数 ,否则会生成一个空目录
    Zip -r test.zip test

    13.2.2 zip 解压缩 —unzip
    以unzip命令进行.zip文件的解压缩
    格式 : unzip 压缩文件
    如:将test.zip进行解压
    unzip test.zip

    14. 管道命令

    管道使用“|” 符号,可以在命令间建立管道,将第一个命令的输出作为后面命令的输入