六、java-操作系统-2

1.6 Linux查看内存的命令是什么?

参考回答

查看内存使用情况的指令free命令。“free -m”,命令查看内存使用情况。

查看进程运行状态、查看内存使用情况的指令均可使用top指令

答案解析

  1. free命令

    Linux free命令用于显示内存状态

    free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。

    参数如下:

    -b  以Byte为单位显示内存使用情况。
    -k  以KB为单位显示内存使用情况。
    -m  以MB为单位显示内存使用情况。
    -h  以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有:
            B = bytes
            K = kilos
            M = megas
            G = gigas
            T = teras
    -o  不显示缓冲区调节列。
    -s<间隔秒数>  持续观察内存使用状况。
    -t  显示内存总和列。
    -V  显示版本信息。

    实例:显示内存使用情况

    # free //显示内存使用信息
    total used free shared buffers cached
    Mem: 254772 184568 70204 0 5692 89892
    -/+ buffers/cache: 88984 165788
    Swap: 524280 65116 459164
  2. top命令

    top命令。显示当前系统正在执行的进程的相关信息,包括进程 ID、内存占用率、CPU 占用率等

    image-20201221105446608

    前五行是当前系统情况整体的统计信息区。

    1. 第一行,任务队列信息,同 uptime 命令的执行结果,具体参数说明情况如下:

      00:12:54 — 当前系统时间

      up ?days, 4:49 — 系统已经运行了?天4小时49分钟(在这期间系统没有重启过)

      21users — 当前有1个用户登录系统

      load average: 0.06, 0.02, 0.00 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

    2. 第二行,Tasks — 任务(进程),具体信息说明如下:

      系统现在共有256个进程,其中处于运行中的有1个,177个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

    3. 第三行,cpu状态信息,具体属性说明如下:

      0.2%us — 用户空间占用CPU的百分比。

      0.2% sy — 内核空间占用CPU的百分比。

      0.0% ni — 改变过优先级的进程占用CPU的百分比

      99.5% id — 空闲CPU百分比

      0.0% wa — IO等待占用CPU的百分比

      0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比

      0.0% si — 软中断(Software Interrupts)占用CPU的百分比

    4. 第四行,内存状态,具体信息如下:

      2017552 total — 物理内存总量

      720188 used — 使用中的内存总量

      197916 free — 空闲内存总量

      1099448 cached — 缓存的总量

    5. 第五行,swap交换分区信息,具体信息说明如下:

      998396 total — 交换区总量

      989936 free — 空闲交换区总量

      8460 used — 使用的交换区总量

      1044136 cached — 缓冲的交换区总量

1.7 free命令有哪些选项?

参考回答

Linux free命令用于显示内存状态

free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。

参数如下:

-b  以Byte为单位显示内存使用情况。
-k  以KB为单位显示内存使用情况。
-m  以MB为单位显示内存使用情况。
-h  以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有:
        B = bytes
        K = kilos
        M = megas
        G = gigas
        T = teras
-o  不显示缓冲区调节列。
-s<间隔秒数>  持续观察内存使用状况。
-t  显示内存总和列。
-V  显示版本信息。

答案解析

实例:显示内存使用情况

# free //显示内存使用信息
total used free shared buffers cached
Mem: 254772 184568 70204 0 5692 89892
-/+ buffers/cache: 88984 165788
Swap: 524280 65116 459164

1.8 Linux中压缩文件的命令是什么?

参考回答

Linux中压缩文件与解压文件的命令有:tar命令、gz命令、bz2命令、compress命令、zip命令、unzip命令

答案解析

  1. tar 命令详解

    Linux tar(英文全拼:tape archive )命令用于备份文件。

    tar 是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。

    //命令格式:
    tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ][-b <区块数目>][-C <目的目录>][-f <备份文件>][-F <Script文件>][-K <文件>][-L <媒体容量>][-N <日期时间>][-T <范本文件>][-V <卷册名称>][-X <范本文件>][-<设备编号><存储密度>][--after-date=<日期时间>][--atime-preserve][--backuup=<备份方式>][--checkpoint][--concatenate][--confirmation][--delete][--exclude=<范本样式>][--force-local][--group=<群组名称>][--help][--ignore-failed-read][--new-volume-script=<Script文件>][--newer-mtime][--no-recursion][--null][--numeric-owner][--owner=<用户名称>][--posix][--erve][--preserve-order][--preserve-permissions][--record-size=<区块数目>][--recursive-unlink][--remove-files][--rsh-command=<执行指令>][--same-owner][--suffix=<备份字尾字符串>][--totals][--use-compress-program=<执行指令>][--version][--volno-file=<编号文件>][文件或目录...]
    
    //常用参数:
    //必要参数有如下:
    -A 新增压缩文件到已存在的压缩
    -c 建立新的压缩文件
    -d 记录文件的差别
    -r 添加文件到已经压缩的文件
    -u 添加改变了和现有的文件到已经存在的压缩文件
    -x 从压缩的文件中提取文件
    -t 显示压缩文件的内容
    -z 支持gzip解压文件
    -j 支持bzip2解压文件
    -Z 支持compress解压文件
    -v 显示操作过程
    -l 文件系统边界设置
    -k 保留原有文件不覆盖
    -m 保留文件不被覆盖
    -W 确认压缩文件的正确性
    
    //实例
    //1.压缩
    tar -cf hhh.tar hhh       //打包 hhh 文件为 hhh.tar
    tar -jcf hhh.tar.bz2 hhh  //压缩打包 hhh 文件为 hhh.tar.bz2
    tar -czf hhh.tar.gz hhh   //压缩 hhh 文件为 hhh.tar.gz
    tar -tzvf test.tar.gz     //列出压缩文件内容
    
    //2.解压文件  
    tar -tzvf test.tar.gz 
  2. gz命令详解

    Linux gzip命令用于压缩文件。

    gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名。

    //命令格式:
    gzip [-acdfhlLnNqrtvV][-S &lt;压缩字尾字符串&gt;][-&lt;压缩效率&gt;][--best/fast][文件...] 或 gzip [-acdfhlLnNqrtvV][-S &lt;压缩字尾字符串&gt;][-&lt;压缩效率&gt;][--best/fast][目录]
    
    //常用参数:
    -a或--ascii  使用ASCII文字模式。
    -c或--stdout或--to-stdout  把压缩后的文件输出到标准输出设备,不去更动原始文件。
    -d或--decompress或----uncompress  解开压缩文件。
    -f或--force  强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。
    -h或--help  在线帮助。
    -l或--list  列出压缩文件的相关信息。
    -L或--license  显示版本与版权信息。
    -n或--no-name  压缩文件时,不保存原来的文件名称及时间戳记。
    -N或--name  压缩文件时,保存原来的文件名称及时间戳记。
    -q或--quiet  不显示警告信息。
    -r或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
    -S<压缩字尾字符串>或----suffix<压缩字尾字符串>  更改压缩字尾字符串。
    -t或--test  测试压缩文件是否正确无误。
    -v或--verbose  显示指令执行过程。
    -V或--version  显示版本信息。
    -<压缩效率>  压缩效率是一个介于1-9的数值,预设值为"6",指定愈大的数值,压缩效率就会愈高。
    --best  此参数的效果和指定"-9"参数相同。
    --fast  此参数的效果和指定"-1"参数相同。
    
    //实例
    //1.压缩
    gzip *            //压缩目录下的所有文件
    
    //2.解压文件  
    gzip -dv *        //解压文件,并列出详细信息   
  3. bz2命令详解

    bzip2(选项)(参数):用于创建和管理.bz2格式的压缩包。

    //命令格式:
    bzip2 源文件       //压缩不保留源文件
    bzip2 -k 源文件    //压缩保留源文件
    //注意 bzip2 命令不能解压目录
    
    //常用参数:
    -c 将压缩与解压缩的结果送到标准输出
    -d 执行解压缩
    -f 在压缩或解压缩时,若输出文件与现有文件名相同,预设不会覆盖现有文件;使用该选项,可覆盖文件
    -k 在压缩或解压缩后,会删除原是文件;若要保留原是文件,使用该选项
    -v 压缩或解压缩文件时,显示详细的信息
    -z 强制执行压缩
    
    //实例
    //1.压缩
    bzip2 源文件       //压缩不保留源文件
    bzip2 -k 源文件    //压缩保留源文件
    
    //2.解压文件  
    bzip2 -d 源文件   //解压缩 -k 保留压缩文件
    bunzip2  源文件   //解压缩 -k 保留压缩文件      
  4. compress命令详解

    Linux compress命令是一个相当古老的 unix 档案压缩指令,压缩后的档案会加上一个 .Z 延伸档名以区别未压缩的档案,压缩后的档案可以以 uncompress 解压。若要将数个档案压成一个压缩档,必须先将档案 tar 起来再压缩。由于 gzip 可以产生更理想的压缩比例,一般人多已改用 gzip 为档案压缩工具。

    //命令格式:
    compress [-dfvcV] [-b maxbits] [file ...]
    
    //常用参数:    
    -c 输出结果至标准输出设备(一般指荧幕)
    -f 强迫写入档案,若目的档已经存在,则会被覆盖 (force)
    -v 将程序执行的讯息印在荧幕上 (verbose)
    -b 设定共同字串数的上限,以位元计算,可以设定的值为 9 至 16 bits 。由于值越大,能使用的共同字串就 越多,压缩比例就越大,所以一般使用预设值 16 bits (bits)
    -d 将压缩档解压缩
    -V 列出版本讯息    
    
    //实例
    //1.压缩
    compress -f source.dat   //将 source.dat 压缩成 source.dat.Z ,若 source.dat.Z 已经存在,内容则会被压缩档覆盖。    
    
    //2.解压文件  
    compress -d source.dat   //将 source.dat.Z 解压成 source.dat ,若档案已经存在,使用者按 y 以确定覆盖档案,若使用 -df 程序则会自动覆盖档案。 
  5. zip 命令详解

    //命令格式:
    zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期时间>][-<压缩效率>][压缩文件][文件...][-i <范本样式>][-x <范本样式>]
    
    //常用参数:
    -m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
    -o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
    -q 不显示指令执行过程。
    -r 递归处理,将指定目录下的所有文件和子目录一并处理。
    -x<范本样式> 压缩时排除符合条件的文件。
    
    //实例:
    //将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip:
    zip -q -r html.zip /home/html
    
    //如果在我们在 /home/html 目录下,可以执行以下命令:
    zip -q -r html.zip *
    
    //从压缩文件 cp.zip 中删除文件 a.c
    zip -dv cp.zip a.c
  6. unzip 命令详解

    Linux unzip命令用于解压缩zip文件

    unzip为.zip压缩文件的解压缩程序。

    //命令格式:
    unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>][.zip文件][文件][-d <目录>][-x <文件>] 或 unzip [-Z]
    
    //常用参数:    
    -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
    -f 更新现有的文件。
    -l 显示压缩文件内所包含的文件。
    -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
    -t 检查压缩文件是否正确。
    -u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
    -v 执行是时显示详细的信息。
    -z 仅显示压缩文件的备注文字。
    -a 对文本文件进行必要的字符转换。
    -b 不要对文本文件进行字符转换。
    -C 压缩文件中的文件名称区分大小写。
    -j 不处理压缩文件中原有的目录路径。
    -L 将压缩文件中的全部文件名改为小写。
    -M 将输出结果送到more程序处理。
    -n 解压缩时不要覆盖原有的文件。
    -o 不必先询问用户,unzip执行后覆盖原有文件。
    -P<密码> 使用zip的密码选项。
    -q 执行时不显示任何信息。
    -s 将文件名中的空白字符转换为底线字符。
    -V 保留VMS的文件版本信息。
    -X 解压缩时同时回存文件原来的UID/GID。
    [.zip文件] 指定.zip压缩文件。
    [文件] 指定要处理.zip压缩文件中的哪些文件。
    -d<目录> 指定文件解压缩后所要存储的目录。
    -x<文件> 指定不要处理.zip压缩文件中的哪些文件。
    -Z unzip -Z等于执行zipinfo指令。
    
    //实例
    unzip text.zip   //将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。    
    unzip -n text.zip -d /tmp  //查看压缩文件目录,但不解压。

1.9 Linux查询连接数的命令是什么?

参考回答

  1. netstat

  2. //示例
    查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态:
    netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
    
    解释:
    返回结果示例: 
    LAST_ACK 5   (正在等待处理的请求数) 
    SYN_RECV 30 
    ESTABLISHED 1597 (正常数据传输状态) 
    FIN_WAIT1 51 
    FIN_WAIT2 504 
    TIME_WAIT 1057 (处理完毕,等待超时结束的请求数) 
    
    状态:描述 
    CLOSED:无连接是活动的或正在进行 
    LISTEN:服务器在等待进入呼叫 
    SYN_RECV:一个连接请求已经到达,等待确认 
    SYN_SENT:应用已经开始,打开一个连接 
    ESTABLISHED:正常数据传输状态 
    FIN_WAIT1:应用说它已经完成 
    FIN_WAIT2:另一边已同意释放 
    ITMED_WAIT:等待所有分组死掉 
    CLOSING:两边同时尝试关闭 
    TIME_WAIT:另一边已初始化一个释放 
    LAST_ACK:等待所有分组死掉

答案解析

无。

1.10 Linux中top命令有哪些参数?

参考回答

top命令。显示当前系统正在执行的进程的相关信息,包括进程 ID、内存占用率、CPU 占用率等

参数

-d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。 
-p 通过指定监控进程ID来仅仅监控某个进程的状态。 
-q 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。 
-S 指定累计模式 
-s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。 
-i 使top不显示任何闲置或者僵死进程。 
-c 显示整个命令行而不只是显示命令名 

答案解析

image-20201221105446608

前五行是当前系统情况整体的统计信息区。

  1. 第一行,任务队列信息,同 uptime 命令的执行结果,具体参数说明情况如下:

    00:12:54 — 当前系统时间

    up ?days, 4:49 — 系统已经运行了?天4小时49分钟(在这期间系统没有重启过)

    21users — 当前有1个用户登录系统

    load average: 0.06, 0.02, 0.00 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

  2. 第二行,Tasks — 任务(进程),具体信息说明如下:

    系统现在共有256个进程,其中处于运行中的有1个,177个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

  3. 第三行,cpu状态信息,具体属性说明如下:

    0.2%us — 用户空间占用CPU的百分比。

    0.2% sy — 内核空间占用CPU的百分比。

    0.0% ni — 改变过优先级的进程占用CPU的百分比

    99.5% id — 空闲CPU百分比

    0.0% wa — IO等待占用CPU的百分比

    0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比

    0.0% si — 软中断(Software Interrupts)占用CPU的百分比

  4. 第四行,内存状态,具体信息如下:

    2017552 total — 物理内存总量

    720188 used — 使用中的内存总量

    197916 free — 空闲内存总量

    1099448 cached — 缓存的总量

  5. 第五行,swap交换分区信息,具体信息说明如下:

    998396 total — 交换区总量

    989936 free — 空闲交换区总量

    8460 used — 使用的交换区总量

    1044136 cached — 缓冲的交换区总量

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务