zoukankan      html  css  js  c++  java
  • Linux常用命令(三)

    1、top

    说明:即时显示 process 的动态

    语法格式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
    基本参数:
    d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
    q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
    c : 切换显示模式, 共有两种模式, 一是只显示执行档的名称, 另一种是显示完整的路径与名称 S : 累积模
    式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来
    s : 安全模式,将交谈式指令取消, 避免潜在的危机
    i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程
    n : 更新的次数,完成后将会退出 top
    b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内
    范例:
    显示更新十次后退出 ;
    top -n 10
    使用者将不能利用交谈式指令来对行程下命令 :
    top -s
    将更新显示二次的结果输入到名称为 top.log 的档案里 :
    top -n 2 -b < top.log

    2、skill

    送个讯号给正在执行的程序,预设的讯息为 TERM (中断) , 较常使用的讯息为 HUP , INT , KILL , STOP ,
    CONT ,和 0
    讯息有三种写法:分别为 -9 , -SIGKILL , -KILL , 可以使用 -l 或 -L 已列出可使用的讯息。
    使用方式: skill [signal to send] [options] 选择程序的规则
    基本参数:
    -f 快速模式/尚未完成
    -i 互动模式/ 每个动作将要被确认
    -v 详细输出/ 列出所选择程序的资讯
    -w 智能警告讯息/ 尚未完成
    -n 没有动作/ 显示程序代号
    参数:选择程序的规则可以是, 终端机代号,使用者名称,程序代号,命令名称。
    -t 终端机代号 ( tty 或 pty )
    -u 使用者名称
    -p 程序代号 ( pid )
    -c 命令名称 可使用的讯号:
    以下列出已知的讯号名称,讯号代号,功能。
    名称 (代号) 功能/ 描述
    ALRM 14 离开
    HUP 1 离开
    INT 2 离开
    KILL 9 离开/ 强迫关闭
    PIPE 13 离开
    POLL 离开
    PROF 离开
    TERM 15 离开
    USR1 离开
    USR2 离开
    VTALRM 离开
    STKFLT 离开/ 只适用于 i386, m68k, arm 和 ppc 硬体
    UNUSED 离开/ 只适用于 i386, m68k, arm 和 ppc 硬体
    TSTP 停止 /产生与内容相关的行为
    TTIN 停止 /产生与内容相关的行为
    TTOU 停止 /产生与内容相关的行为
    STOP 停止 /强迫关闭
    CONT 从新启动 /如果在停止状态则从新启动,否则忽略
    PWR 忽略 /在某些系统中会离开
    WINCH 忽略
    CHLD 忽略
    ABRT 6 核心
    FPE 8 核心
    ILL 4 核心
    QUIT 3 核心
    SEGV 11 核心
    TRAP 5 核心
    SYS 核心 /或许尚未实作
    EMT 核心 /或许尚未实作
    BUS 核心 /核心失败
    XCPU 核心 /核心失败
    XFSZ 核心 /核心失败
    范例:
    停止所有在 PTY 装置上的程序
    skill -KILL -v pts/*
    停止三个使用者 user1 , user2 , user3
    skill -STOP user1 user2 user3

    3、expr

    ### 字串长度
    shell>> expr length "this is a test"
    14
    ### 数字商数
    shell>> expr 14 % 9
    5
    ### 从位置处抓取字串
    shell>> expr substr "this is a test" 3 5
    is is
    ### 数字串 only the first character
    shell>> expr index "testforthegame" e
    2
    ### 字串真实重现
    shell>> expr quote thisisatestformela
    thisisatestformela

    4、mformat

    语法格式:

    mformat [-t cylinders] [-h heads] [-s sectors] [-l volume_label] [-F] [-I fsVer-sion] [-S sizecode] [-2
    sectors_on_track_0] [-M software_sector_size] [-a] [-X] [-C] [-H hidden_sectors] [-r root_sectors] [-B
    boot_sector] [-0 rate_on_track_0] [-A rate_on_other_tracks] [-1] [-k] drive:
    在已经做过低阶格式化的磁片上建立 DOS 档案系统。如果在编译 mtools 的时候把 USE_2M 的参数打
    开,部分与 2M 格式相关的参数就会发生作用。否则这些参数(像是 S,2,1,M)不会发生作用。
    参数:
    -t 磁柱(synlider)数
    -h 磁头(head)数
    -s 每一磁轨的磁区数
    -l 标签
    -F 将磁碟格式化为 FAT32 格式,不过这个参数还在实验中。
    -I 设定 FAT32 中的版本号。这当然也还在实验中。
    -S 磁区大小代码,计算方式为 sector = 2^(大小代码+7)
    -c 磁丛(cluster)的磁区数。如果所给定的数字会导致磁丛数超过 FAT 表的限制,mformat 会自动放大
    磁区数。
    -s
    -M 软体磁区大小。这个数字就是系统回报的磁区大小。通常是和实际的大小相同。
    -a 如果加上这个参数,mformat 会产生一组 Atari 系统的序号给这块软碟。
    -X 将软碟格式化成 XDF 格式。使用前必须先用 xdfcopy 指令对软碟作低阶格式化的动作。
    -C 产生一个可以安装 MS-DOS 档案系统的磁碟影像档(disk image) 。当然对一个实体磁碟机下这个参数
    是没有意义的。
    -H 隐藏磁区的数目。 这通常适用在格式化硬碟的分割区时, 因为通常一个分割区的前面还有分割表。 这个
    参数未经测试,能不用就不用。
    -n 磁碟序号
    -r 根目录的大小,单位是磁区数。这个参数只对 FAT12 和 FAT16 有效。
    -B 使用所指定的档案或是设备的开机磁区做为这片磁片或分割区的开机磁区。 当然当中的硬体参数会随之
    更动。
    -k 尽量保持原有的开机磁区。
    -0 第 0 轨的资料传输率
    -A 第 0 轨以外的资料传输率
    -2 使用 2m 格式
    -1 不使用 2m 格式
    范例:
    mformat a:
    这样会用预设值把 a: (就是 /dev/fd0)里的磁碟片格式化。

    5、mkdosfs: 

    建立 DOS 档案系统。 device 指你想要建立 DOS 档案系统的装置代号。像是 /dev/hda1 等等。
    block_count 则是你希望配置的区块数。如果 block_count 没有指定则系统会自动替你计算符合该装置大
    小的区块数。

    语法格式:

    mkdosfs [ -c | -l filename ]
    [ -f number_of_FATs ]
    [ -F FAT_size ]
    [ -i volume_id ]
    [ -m message_file ]
    [ -n volume_name ]
    [ -r root_dir_entry ]
    [ -s sector_per_cluster ]
    [ -v ]
    device
    [ block_count ]

    参数:
    -c 建立档案系统之前先检查是否有坏轨。
    -l 从得定的档案中读取坏轨记录。
    -f 指定档案配置表(FAT , File Allocation Table)的数量。预设值为 2 。目前 Linux 的 FAT 档案系统不
    支援超过 2 个 FAT 表。通常这个不需要改。
    -F 指定 FAT 表的大小,通常是 12 或是 16 个位元组。12 位元组通常用于磁碟片,16 位元组用于一般
    硬碟的分割区, 也就是所谓的 FAT16 格式。 这个值通常系统会自己选定适当的值。 在磁碟片上用 FAT16 通
    常不会发生作用,反之在硬碟上用 FAT12 亦然。
    -i 指定 Volume ID。一般是一个 4 个位元组的数字,像是 2e203a47 。如果不给系统会自己产生。
    -m 当使用者试图用这片磁片或是分割区开机,而上面没有作业系统时,系统会给使用者一段警告讯息。
    这个参数就是用来变更这个讯息的。你可以先用档案编辑好,然后用这个参数指定,或是用
    -m -这样系统会要求你直接输入这段文字。 要特别注意的是, 档案里的字串长度不要超过 418 个字, 包括展开
    的跳栏符号(TAB)和换行符号(换行符号在 DOS 底下算两个字元! )
    -n 指定 Volume Name,就是磁碟标签。如同在 DOS 底下的 format 指令一样,给不给都可以。没有预
    设值。
    -r 指定根目录底下的最大档案数。这里所谓的档案数包括目录。预设值是在软碟上是 112 或是 224 , 在
    硬碟上是 512。没事不要改这个数字。
    -s 每一个磁丛(cluster)的磁区数。必须是 2 的次方数。不过除非你知道你在作什么,这个值不要乱给。
    -v 提供额外的讯息
    范例:
    mkdosfs -n Tester /dev/fd0 将 A 槽里的磁碟片格式化为 DOS 格式,并将标签设为 Tester

     

    6、chsh

    说明:更改使用者 shell 设定

    用法:shell>> chsh

    范例:
    shell>> chsh
    Changing fihanging shell for user1
    Password: [del]
    New shell [/bin/tcsh]: ### [是目前使用的 shell]
    [del]
    shell>> chsh -l ### 展示 /etc/shells 档案内容
    /bin/bash
    /bin/sh
    /bin/ash
    /bin/bsh
    /bin/tcsh
    /bin/csh

    7、lsof命令

    lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件。是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需要root用户执行。 在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。

    语法结构

    lsof(参数)

    参数:

    -a:列出打开文件存在的进程;

    -c<进程名>:列出指定进程所打开的文件;

    -g:列出GID号进程详情;

    -d<文件号>:列出占用该文件号的进程;

    +d<目录>:列出目录下被打开的文件;

    +D<目录>:递归列出目录下被打开的文件;

    -n<目录>:列出使用NFS的文件;

    -i<条件>:列出符合条件的进程。(4、6、协议、:端口、 @ip )

    -p<进程号>:列出指定进程号所打开的文件;

    -u:列出UID号进程详情;

    -h:显示帮助信息;

    -v:显示版本信息。

    8. stat

    stat命令文件权限属性设置 stat命令用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。

    语法 stat(选项)(参数)

    选项

    -L:支持符号连接;

    -f:显示文件系统状态而非文件状态;

    -t:以简洁方式输出信息;

    --help:显示指令的帮助信息;

    --version:显示指令的版本信息。

    参数

    文件:指定要显示信息的普通文件或者文件系统对应的设备文件名。

     9、压缩工具整理

    zip unzip gzip gunzip zcat bzip2 bunzip2 bzcat xz unxz xzcat

    zip: 解压缩 #可以压缩目录 不会归档链接文件
    windows直接就指出
    zip filename.zip srcfilename

    unzip filename.zip #保留原文件

    zip dir.zip dir
    zip dir.zip dir/* 解压的话会自动创建目录

    gzip:压缩 gunzip:=gzid -d 解压 #不能压缩目录 #所有先归档打包成一个文件再压缩
    zcat:查看压缩包文件,会放到临时目录,关闭就删了
    gzip:
    -c :输出流改变,默认送往标准输出即屏幕,可以使用重定向将其保存为压缩文件 可以保留源
    gzip -c file > file.gz

    bzip2:压缩 bunzip2:=bzip -d 解压 #不能压缩目录 #所有先归档打包成一个文件再压缩
    bzcat : 查看压缩包文件,会放到临时目录,关闭就删了
    格式:bz2
    -k :保留原文件

    xz:压缩 unzx:=xz -d 解压 #压缩性能更好 查看压缩包文件,会放到临时目录,关闭就删了
    xz #不能压缩目录 #所有先归档打包成一个文件再压缩

    格式 .xz

    共有参数
    -num:指定压缩比 1-9 如果不指 ,默认是6 越大压缩比越大月消耗cpu性能


    bzip 跟gzip 不同的压缩算法,bzip比gzip压缩大文件更小,但是可能压缩小文件更大

    10、tar

    归档工具

    归档工具: #即多个文件规程一个文件 即打包
    tar #f必须在最后 不要随意调换次序,f 后必须是归档压缩文件名
    tar [ options ] -f file.tar FLIE1,FILE2,FILE3...,
    -c: 创建归档
    -x:展开归档
    -t :查看归档tar文件的内容如果是目录则看到文件列表 不展开而直接查看被归档的文件
    压缩参数:
    -z:调用用gzip
    tar -zcf dir.tar.gz dir
    tar -zxf dir.tar.gz
    -j:调用bzip
    tar -zcf dir.tar.bz2 dir
    -J :调用 xz
    tar -Jcf dir.tar.xz dir

    归档: tar -fc dir.tar dir
    此时合一压缩
    xz dir.tar #比例特别高
    unxz dir.tar.xz #解压为dir.tar
    还原归档:-x
    不管是什么压缩的归档文件,我们直接 tar xf 即可
    tar xf dir.tar.{gz|bz2|xz}

  • 相关阅读:
    Java18(泛型,反射,内省)
    Java17(线程池、Runnable和Callable、Lock、信号量、任务调度、Timer)
    Javaday16(守护线程,线程同步,线程通讯)
    面试题错题集04(异常)
    面试题错题集03(数组)
    面试题错题集02(面向对象)
    Javaday15(Queue,Collections工具类,多线程)
    Java中的内部接口
    ISO14229:2013 之 通过标志读数据ReadDataByIdentifier (0x22)
    Oracle数据库迁移至PostgreSQL数据库问题及解决
  • 原文地址:https://www.cnblogs.com/tina-python/p/5429051.html
Copyright © 2011-2022 走看看