zoukankan      html  css  js  c++  java
  • Linux 常用命令大放送

    sbin 系统底层命令存放目录
    bin  一般用户常用命令目录


    文件用户管理
    ls -lh 显示权限
    cp   -r 复制文件 文件夹
    mkdir  test 创建文件夹
    rm    -rf  删除文件 文件夹
    mv  
    源目录 目标目录 移动文件或者文件夹
    touch   建立空文件
    ln -s  源文件路径 目标文件
    cp -rf  r代表递归目录 f代表不提示强制
    passwd user1 修改一个用户的口令 (只允许root执行)
    usermod -g
    组名 用户名 改变用户所在组
    usermod -d
    目录名 用户名 改变用户登入初始 所在目录
    useradd 添加用户
    useradd -g 组名 用户名
    userdel 删除用户 -r
    groupadd groupname 组添加
    groupdel groupname 组删除
    chmod 权限编号 用户名
    chgrp testgroup test3.txt 改变文件所属组
    chgrp -R testgroup testdir/ 改变目录所属组
    chown testuser test.txt 改变文件拥有者
    chmod a+x  改变文件权限 可执行
    chattr 改变文件的特殊属性
    chattr +a file1 只允许以追加方式读写文件
    lsattr file 显示文件的特殊属性!
    umask 改变预设的建立文件或目录时的属性
    cat  file 由第一行开始显示文件内容
    tac  file 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
    more file   一页一页的显示文件内容
    less file 与 more 类似,但是比 more 更好的是,他可以往前翻页!
    head file 只看头几行
    tail file 只看尾巴几行
    nl   file 显示的时候,顺道输出 行号!
    od   file 以二进制的方式读取文件内容!
    gzip   压缩  zaa.zip 文件名称     -r aa.zip 目录路径  代表压缩目录    -m代表删除源文件
    unzip  解压缩 -x abc 排除abc文件外 其他都解压
    rpm -qa | grep 软件包名称 查看是否安装该软件
    rpm -ivh 软件包名称 安装软件
    rpm -e 卸载软件
    make 多文件编译
    tar -zvxf filename.tar 打开压缩文件
    rpm -ql | grep mysql 查找mysql已安装的包
    rpm -e 包的名字 ,强制删除加参数 --nodeps
    rpm -qa 显示系统中所有已经安装的rpm包
    yum install 包名字 yum安装
    yum remove 包名字   yum删除
    yum list 列出当前系统中安装的所有包
    file 可以用来查看这个文件的类型
    diff 这个指令可以将『两个文件之间的差异性列出来』
    patch 来进行更新,将 expatch.old 更新到 expatch.new
    patch -p0 < expatch.patch
    ldd /usr/bin/passwd 判断某个可执行的 binary 文件含有什么动态函式库
    which   查看可执行文件的位置
    whereis 查看文件的位置
    locate  配合数据库查看文件位置
    vi   编辑文件内容 通用
    grep -n "关键字" 文件 查找文件内容
    find 查找文件

    find   -size   +1000000c   -print         #查长度大于1Mb的文件

    find /home -mmin    +60     # 在/home下查60分钟前改动过的文件

    find   /home   -size   +512k                 # 查大于512k的文件

    find    /   -mmin   -5          # 查找在系统中最后5分钟里修改过的文件
    ls a*  a开头所有
    ls a?  a开头只有两个字符的
    ls abc[1-6] 以开始abc后面1-6数字结尾的文件
    ls 》cmd  输出文件夹内容
    ls -ahl  查看文件所在组

    磁盘管理
    ls   查看目录
    cd   进入目录  ..代表上一级  cd直接进入工作目录  .代表当前目录
    pwd  显示当前目录
    df  /目录 查看目录在系统分区挂载点
    mount  /目录 挂载目录
    umount  /目录 卸载挂载点
    head -n 1 /etc/issue 查看操作系统版本
    cat /proc/cpuinfo 查看CPU信息
    hostname 查看计算机名
    lspci -tv 列出所有PCI设备  (centos6)需要安装 pciutils
    lsusb -tv 列出所有USB设备  (centos6)需要安装 usbutils
    lsmod 列出加载的内核模块
    env 查看环境变量
    echo $path 查看环境变量
    free -m 查看内存使用量和交换区使用量
    du -sh <目录名> 查看指定目录的大小
    grep MemTotal /proc/meminfo 查看内存总量
    grep MemFree /proc/meminfo 查看空闲内存量
    uptime 查看系统运行时间、用户数、负载
    cat /proc/loadavg 查看系统负载
    sar 来看系统的资源
    du 来知道目前磁盘的文件容量
    hdparm -i /dev/hda 查看磁盘参数(仅适用于IDE设备)
    dmesg | grep IDE 查看启动时IDE设备检测状况
    dump -0aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的完整备份
    dump -1aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的交互式备份
    restore -if /tmp/home0.bak 还原一个交互式备份

    网络通讯
    netstat -lntp  查看所有监听端口
    netstat -antp   查看所有已经建立的连接
    netstat  -s  查看网络统计信息
    traccroute  追踪路由
    route -n 查看路由表
    ping  查看网络是否畅通

    系统管理
    chkconfig --list 列出所有系统服务
    chkconfig --list | grep on 列出所有启动的系统服务
    cut -d: -f1 /etc/passwd 查看系统所有用户
    cut -d: -f1 /etc/group 查看系统所有组
    crontab -l 查看当前用户的计划任务
    crontab -e  例行性工作编辑
    ifconfig 查看ip配置
    kill  杀死进程    -9 强制杀死
    ps -aux   查看进程信息
    top    显示系统重要信息 包括内存 cpu 负载 登入用户
    setup 图形化界面配置系统信息
    runlevel 显示当前运行级别
    w 查看活动用户
    id <用户名> 查看指定用户信息
    last 查看用户登录日志
    who 问问自己是谁
    exit 退出当前用户
    uname -a 查看内核/操作系统/CPU信息
    fdisk -l 查看所有分区
    echo $0       查看系统当前用户转换后的shell
    echo $shell   查看系统默认使用shell
    /etc/shells  查看shell列表
    sh  转换sh
    bash 转换bash
    redhat系统   chsh -s 转换shell 需要注销才能转换不同的shell
    shutdown  关机相关 -h 关机 -r now  重启
    su - user 切换用户
    su 切换root
    reboot 系统重启
    mount | column -t 看挂接的分区状态
    swapon -s 查看所有交换分区
    iptables -L 查看防火墙设置
    mke2fs  建立Linux系统使用的ext2文件系统
    fsck 检查和维护不一致的文件系统。若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查修理磁盘
    mkfs.ext3  建立为ext2/ext3文件系统
    dumpe2fs 查看特定设备上现存的文件系统的超级块(super block)和块群(blocks group)的信息
    mkswap /dev/hda3 创建一个swap文件系统
    service 服务名称 restart stop start 服务重启等

    其他
    history  查看历史命令
    clear  清理屏幕
    su  切换超级管理用户
    sudo passwd root  超级管理用户密码
    bc  计算器
    cal  日期 
    date   时间  月 年

    wall   发送消息给所有登入用户
    write 发送消息给某个用户
    mesg  阻挡其他用户传递过来的消息
    mail  发送邮箱给用户
    pidof : 找出某支正在运行的程序的 PID
    fuser: 藉由文件(或文件系统)找出正在使用该文件的程序
    vmstat : 侦测系统资源变化
    dmesg : 分析核心产生的信息

    ------------------------------------------

    下面是比较重要的命令详解  经常用到
    top、ps、setup命令详解,vi使用

    1 top命令

         top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。


    top 显示结果如下所示:

    01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48
    Tasks: 29 total,  1 running, 28 sleeping,  0 stopped,  0 zombie
    Cpu(s): 0.3% user, 1.0% system, 0.0% nice, 98.7% idle, 0.0% wa, 0.0% hi, 0.0% si
    Mem:   191272k total,  173656k used,   17616k free,   22052k buffers
    Swap:  192772k total,       0k used,  192772k free,  123988k cached

      PID USER     PR NI VIRT RES SHR S %CPU %MEM   TIME+ COMMAND
     1379 root     16  0 7976 2456 1980 S 0.7 1.3  0:11.03 sshd
     14704 root     16  0 2128 980 796 R 0.7 0.5  0:02.72 top
        1 root     16  0 1992 632 544 S 0.0 0.3  0:00.90 init
        2 root     34 19    0   0   0 S 0.0 0.0  0:00.00 ksoftirqd/0
        3 root     RT  0    0   0   0 S 0.0 0.0  0:00.00 watchdog/0统计信息区


    前五行是系统整体的统计信息。

    第一行是任务队列信息 ,同uptime命令的执行结果。其内容如下:
    01:06:48  当前时间
    up 1:22   系统运行时间,格式为时:分
    1 user   当前登录用户数
    load average: 0.06, 0.60, 0.48系统负载,即任务队列的平均长度。
    三个数值分别为1分钟、5分钟、15分钟前到现在的平均值。
    第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:
    Tasks: 29 total   进程总数
    1 running         正在运行的进程数
    28 sleeping       睡眠的进程数
    0 stopped         停止的进程数
    0 zombie          僵尸进程数
    Cpu(s): 0.3% us   用户空间占用CPU百分比
    1.0% sy           内核空间占用CPU百分比
    0.0% ni           用户进程空间内改变过优先级的进程占用CPU百分比
    98.7% id          空闲CPU百分比
    0.0% wa           等待输入输出的CPU时间百分比
    0.0% hi 
    0.0% si 

    最后两行为内存信息。 内容如下:
    Mem: 191272k total物理内存总量
    173656k used      使用的物理内存总量
    17616k free       空闲内存总量
    22052k buffers    用作内核缓存的内存量
    Swap: 192772k total交换区总量
    0k used           使用的交换区总量
    192772k free      空闲交换区总量
    123988k cached    缓冲的交换区总量。
    内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,
    该数值即为这些内容已存在于内存中的交换区的大小。
    相应的内存再次被换出时可不必再对交换区写入。
    进程信息区

    统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。

    序号  列名  含义

    a    PID   进程id
    b     PPID  父进程id
    c     RUSER Real user name
    d     UID   进程所有者的用户id
    e     USER  进程所有者的用户名
    f     GROUP 进程所有者的组名
    g     TTY   启动进程的终端名。不是从终端启动的进程则显示为?
    h     PR    优先级
    i     NI    nice值。负值表示高优先级,正值表示低优先级
    j     P     最后使用的CPU,仅在多CPU环境下有意义
    k      %CPU  上次更新到现在的CPU时间占用百分比
    l     TIME  进程使用的CPU时间总计,单位秒
    m     TIME+ 进程使用的CPU时间总计,单位1/100秒
    n     %MEM  进程使用的物理内存百分比
    o     VIRT  进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    p     SWAP  进程使用的虚拟内存中,被换出的大小,单位kb。
    q     RES   进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
    r     CODE  可执行代码占用的物理内存大小,单位kb
    s     DATA  可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
    t     SHR   共享内存大小,单位kb
    u     nFLT  页面错误次数
    v     nDRT  最后一次写入到现在,被修改过的页面数。
    w     S     进程状态。
    D=不可中断的睡眠状态
    R=运行
    S=睡眠
    T=跟踪/停止
    Z=僵尸进程
    x     COMMAND命令名/命令行
    y     WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名
    z     Flags 任务标志,参考sched.h
     
    默认情况下仅显示比较重要的PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND列。可以通过下面的快捷键来更改显示内容。
    ------------------------------------------


    2 ps 命令说明
        ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的

    top 显示结果如下所示:


    USER      PID       %CPU    %MEM    VSZ    RSS    TTY    STAT    START    TIME    COMMAND
    root          3532    0.0    0.2    2428    452    ?    Ss    20:40    0:00    gpm -m /dev/input/mice -t imps2

        USER:说明该程序是属于哪一个人的;
        PID:该程序的代号;
        %CPU:代表该程序使用了多少 CPU 资源;
        %MEM:代表该程序使用了多少的 RAM ;
        VSZ, RSS:占去的 ram 的大小( bytes );
        TTY:是否为登入者执行的程序?若为 tty1-tty6 则为本机登入者,若为 pts/?? 则为远程登入者执行的程序
        STAT:该程序的状态,( R )为可执行的,( S )为该程序正在睡眠中,就是没有执行了,( T )正在侦测或者是停止了,( Z )僵尸程序,就是 zombie 死掉的程序啦!需要以 kill 除去啰!
        START:该程序开始的日期;
        TIME:该程序跑了多久的时间?
        COMMAND:该程序的内容啦!
    ------------------------------------------

    3 setup介绍
           setup是redhat系列(包括centos,fedora等)里很好用的一个工具,不过可惜的是其它发行版里并没有。

    为了系统的干净高效,安装系统时使用centos 6最小化安装(为了可以手工编译一些软件包,在安装时选择了马上定制,多选择了开发工具),装完了配置系统时,发现没有setup这个工 具,whereis setup ,结果是空的。yum install setup, 系统提示已经安装了setup包。上网查,原来这个包的名字不叫setup, 而是setuptool,

    yum install setuptool

    不过运行这时setup只有Authentication configuration可用

    防火墙的配置包叫system-config-firewall, yum安装,自动安装两个依赖包:system-config-firewall-tui, system-config-firewall-base.

    通过yum list system-config*查询有好几个相关的包,应该都是与setup功能有关的

    system-config-firewall.noarch
    system-config-firewall-base.noarch
    system-config-firewall-tui.noarch
    system-config-date.noarch
    system-config-date-docs.noarch
    system-config-kdump.noarch
    system-config-keyboard
    system-config-kickstart.noarch
    system-config-language.noarch
    system-config-lvm.noarch
    system-config-network-tui.noarch
    system-config-printer
    system-config-printer-libs
    system-config-printer-udev
    system-config-services.noarch
    system-config-services-docs
    system-config-users.noarch
    system-config-users-docs.noarch


    另外还有一个服务配置工具,它的名字比较特殊,跟上面所述包名字完全不一样,它叫ntsysv
    运行yum install ntsysv 安装setup的服务设置工具
    不过,系统配置方面,能手工做就手工做,借助图形化工具不是提高水平的途径。

    setup是一个设置公用程序,提供图形界面的操作方式。在setup中可设置7类的选项:
       1.登陆认证方式
       2.键盘组态设置  
       3.鼠标组态设置  
       4.开机时所要启动的系统服务  
       5.声卡组态设置  
       6.时区设置
       7.X Windows组态设置

    ------------------------------------------


    4 vi使用

          vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于 对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编 辑器,学会它后,您将在Linux的世界里畅行无阻。
        一般模式: 以 vi 处理一个文件的时后,一进入该文件就是一般模式了。在这个模式中,你可以使用『上下左右』按键来移动光标,您可以使用『删除字符』或『删除整行』来处理文件内容,也可以使用『复制、贴上』来处理您的文件数据。
        编辑模式: 在一般模式中可以处理删除、复制、贴上等等的动作,但是却无法编辑的!要等到您按下『i, I, o, O, a, A, r, R』等字母之后才会进入编辑模式。注意了!通常在 Linux 中,按下上述的字母时,在画面的左下方会出现『 INSERT 或 REPLACE 』的字样,才可以输入任何字来输入到您的文件中!而如果要回到一般模式时,则必须要按下『Esc』这个按键即可退出编辑模式。
        指令列命令模式: 在一般模式当中,输入『 : 或 / 』就可以将光标移动到最底下那一行,在这个模式当中,可以提供您『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号 等等的动作则是在此模式中达成的!

    一般模式:     移动光标
    h 或 向左方向键
        光标向左移动一个字符
    j 或 向下方向键
        光标向下移动一个字符
    k 或 向上方向键
        光标向上移动一个字符
    l 或 向右方向键
        光标向右移动一个字符
    [Ctrl] + [f]
        屏幕『向前』移动一页(常用)
    [Ctrl] + [b]
        屏幕『向后』移动一页(常用)
    [Ctrl] + [d]
        屏幕『向前』移动半页
    [Ctrl] + [u]
        屏幕『向后』移动半页
    +
        光标移动到非空格符的下一列
    -
        光标移动到非空格符的上一列
    n<space>
        按下数字后再按空格键,光标会向右移动这一行的 n 个字符。例如 20<space> 则光标会向后面移动 20 个字符距离。
    0
        这是数字『 0 』:移动到这一行的最前面字符处(常用)
    $
        移动到这一行的最后面字符处(常用)
    H
        光标移动到这个屏幕的最上方那一行
    M
        光标移动到这个屏幕的中央那一行
    L
        光标移动到这个屏幕的最下方那一行
    G
        移动到这个文件的最后一行(常用)
    nG
        移动到这个文件的第 n 行。例如 20G 则会移动到这个文件的 20 行(可配合 :set nu)
    n<Enter>
        光标向下移动 n 行(常用)
    一般模式:     搜寻与取代
    /word
        向光标之后寻找一个字符串名称为 word 的字符串。(常用)
    ?word
        向光标之前寻找一个字符串名称为 word 的字符串。
    :n1,n2s/word1/word2/g
        在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !(常用)
    :1,$s/word1/word2/g
        从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)
    :1,$s/word1/word2/gc
        从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给使用者确认(conform)是否需要取代!(常用)
    一般模式:     删除、复制与贴上
    x, X
        x 为向后删除一个字符, X 为向前删除一个字符(常用)
    nx
        向后删除 n 个字符
    dd
        删除游标所在的那一整列(常用)
    ndd
        删除光标所在的向下 n 列,例如 20dd 则是删除 20 列(常用)
    d1G
        删除游标所在到第一行的所有数据
    dG
        删除游标所在到最后一行的所有数据
    yy
        复制游标所在的那一行(常用)
    nyy
        复制光标所在的向下 n 列,例如 20yy 则是复制 20 列(常用)
    y1G
        复制游标所在列到第一列的所有数据
    yG
        复制游标所在列到最后一列的所有数据
    p, P
        p 为复制的数据在光标下一行贴上,P 则为贴在游标上一行!(常用)
    J
        将光标所在列与下一列的数据结合成同一列
    c
        重复删除多个数据,例如向下删除 10 行,[ 10cj ]
    u
        复原前一个动作。(常用)
    进入编辑模式      
    i, I
        插入:在目前的光标所在处插入输入之文字,已存在的文字会向后退;(常用)
    a, A
        增加:由目前光标所在的下一个字开始输入,已存在的文字会向后退:(常用)
    o, O
        插入新的一行:从光标所在的下一行枝行首开始输入文字;(常用)
    r, R
        取代:r 会取代光标所在的那一个字符;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)
    Esc
        退出编辑模式,回到一般模式中(常用)
    指令列命令模式      
    :w
        将编辑的数据写入硬盘文件中(常用)
    :w!
        若文件属性为『只读』时,强制写入该文件
    :q
        离开 vi (常用)
    :q!
        若曾修改过文件,又不想储存,使用 ! 为强制离开不储存文件。
    :wq
        储存后离开,若为 :wq! 则为强制储存后离开(常用)
    :e!
        将文件还原到最原始的状态!
    ZZ
        若文件没有更动,则不储存离开,若文件已经经过更动,则储存后离开!
    :w [filename]
        将编辑的数据储存成另一个文件(类似另存新档)
    :r [filename]
        在编辑的数据中,读入另一个文件的数据。亦即将 『filename』这个文件内容加到游标所在行后面
    :set nu
        显示行号,设定之后,会在每一行的前缀显示该行的行号
    :set nonu
        与 set nu 相反,为取消行号!
    n1,n2 w [filename]
        将 n1 到 n2 的内容储存成 filename 这个文件。
    :! command
        暂时离开 vi 到指令列模式下执行 command 的显示结果!例如[ :! ls /home ]

    ------------------------------------------

    命令查看帮助三种方式

    info command
    command --help
    man  command

    转载:http://www.iteye.com/topic/1125192

  • 相关阅读:
    Jmeter安装与环境部署
    BVT & BAT (版本验证测试和版本验收测试)
    测试计划(Test Plan)
    小米8se从miui12降级刷机手记
    网络传输---HttpURLConnection
    mybatis 中 foreach collection的三种用法
    XStream--java对象与xml形式文件相互转换
    idea问题总结记录
    ssh框架配置过程
    ssm框架配置过程
  • 原文地址:https://www.cnblogs.com/hubcarl/p/3334046.html
Copyright © 2011-2022 走看看