zoukankan      html  css  js  c++  java
  • Linux命令学习整理。

    http://www.cnblogs.com/suliuer/p/5448747.html

    本文主要包括两部分,一是Linux基础命令的总结;二是总结一些常用的命令知识点。

    一、基础总结

    学习Linux的时候用思维导图做了归纳总结了基础部分的一些常用命令,用思维导图一以归档记忆,一以不断总结完善。

    主要包括文件处理、权限管理、文件搜索、帮助命令、用户管理、压缩解压、网络配置、关机重启。

     二、常用命令

    系统信息

    uname -m 显示机器的处理器架构
    uname -r 显示正在使用的内核版本
    cat /proc/cpuinfo 显示CPU info的信息
    cat /proc/meminfo 校验内存使用
    cat /proc/swaps 显示哪些swap被使用
    cat /proc/version 显示内核的版本
    cat /proc/net/dev 显示网络适配器及统计
    cat /proc/mounts 显示已加载的文件系统
    lspci -tv 罗列 PCI 设备
    lsusb -tv 显示 USB 设备
    date 显示系统日期
    cal 2016 显示2016年的日历表
    clock -w 将时间修改保存到 BIOS
     
     

    获取IP地址

    ifconfig eth0 | grep "inet addr" | awk '{print $2}' | cut -c 6-
    ifconfig | grep "inet addr:" | grep -v "127" | cut -d: -f2 | awk '{print $1}'
     

    检查当前登录的用户个数

    who | wc -l
     

    关机 (系统的关机、重启以及登出 )

    shutdown -h now 关闭系统(1)
    init 0 关闭系统(2)
    telinit 0 关闭系统(3)
    shutdown -h hours:minutes & 按预定时间关闭系统  
    shutdown -c 取消按预定时间关闭系统
    shutdown -r now 重启(1)
    reboot 重启(2)
    logout 注销 
     

    检查DNS Server工作是否正常,以61.139.2.69为例

    dig www.baidu.com @61.139.2.69
     

    查看内存的大小

    free -m |grep “Mem” | awk ‘{print $2}’
     

    查看文件大小和查看磁盘使用情况

    du:基于文件,统计文件大小相加——是面向文件的命令,它计算分配给指定文件或者目录的空间。
    df :基于磁盘,统计数据块使用情况——通过文件系统中未分配的空间来确定文件系统中已分配空间的大小。
    常用命令:
    df -hi 
    du -a 
     
     

    查看80端口的连接,并排序

    netstat -an -t | grep “:80″ | grep ESTABLISHED | awk ‘{printf “%s %s ”,$5,$6}’ | sort
     

    日志查看、搜索

    cat /var/log/rflogview/*errors
    grep -i error /var/log/messages
    grep -i fail /var/log/messages
    tail -f -n 2000 /var/log/messages
     

    读写字符

    read
    -n 读取n个字符
    -s 不回显
    -p 显示提示信息
    -t 特定时间
    -d 定界符
     

    使用cut命令选定字段

     cut -d : -f 1,5 /etc/passwd  
    #-d后面的冒号表示字段之间的分隔符。
    #-f表示取分割后取哪些字段。
     

    提取开头或结尾数行

    head -n 5 /etc/passwd
    #显示输入文件的前五行。
     tail -n 5 /etc/passwd             
    #显示输入文件的最后五行。
     

    重定向输出

    0:表示键盘输入(stdin)
    1:表示标准输出(stdout),系统默认是1
    2:表示错误输出(stderr)
    * 2>&1 就是将 stderr 并进 stdout 作输出
    * 1>&2 或 >&2 就是将 stdout 并进 stderr 作输出
    command >/dev/null 2>&1 &  == command 1>/dev/null 2>&1 &
    1)command:表示shell命令或者为一个可执行程序
    2)>:表示重定向到哪里
    3)/dev/null:表示Linux的空设备文件
    4)2:表示标准错误输出
    5)&1:&表示等同于的意思,2>&1,表示2的输出重定向等于于1
    6)&:表示后台执行,即这条指令执行在后台运行
    总而言之,这条命令的意思是:在后台执行这个程序,并将错误输出2重定向到标准输出1,然后将标准输出1全部放到/dev/null文件,也就是清空。
     
     

    参数传递

    $0脚本名字
    $1 - $9 位置参数 #1 - #9
    $#位置参数的个数
    "$@"所有的位置参数
    "$*"所有的位置参数
    $?返回前一个命令的返回值,在执行命令后可以用此参数检查执行结果。
    $$脚本的进程ID(PID)
     
     

    参数判断

    if  [ expr ];   then … fi
    -n str :字符串 str 是否不为空 
    -z str :字符串是否为空 
    str1  = str2 :str1是否与 str2 相同 
    str1 != str2 : str1是否与 str2 不同 
    int1 -eq int2 :等于 
    int1 -le  int2 :小于等于 
    int1 -ge int2 :大于等于 
    int1 -lt   int2 :小于 
    int1 -gt  int2 :大于 
    int1 -ne int2 :不等于
    -b :是否块文件 
    -p :文件是否为一个命名管道 
    -c :是否字符文件 
    -r :文件是否可读 
    -d :是否一个目录 *
    -s :文件的长度是否不为零
    -e:文件是否存在 *
    -S:是否为套接字文件
    -f:是否普通文件 *
    -x:文件是否可执行,则为真
    -g:是否设置了文件的 SGID 位
    -u:是否设置了文件的 SUID 位
    -G:文件是否存在且归该组所有 
    -w:文件是否可写,则为真
    -k:文件是否设置了的粘贴位
    -t fd:fd 是否是一个与终端相连的打开的文件描述符(fd 默认为 1)
    -O:文件是否存在且归该用户所有
     
     
    E_NOARGS=65
    if [ -z "$1" ] # -z 如果为0则为真 ,如果没有存在$1参数,则打印用法和错误参数
    then
        echo "Usage: `basename $0 [domain-name]`"
        exit $E_NOARGS
    fi
  • 相关阅读:
    合理的嵌入式开发学习路线
    Nginx
    RARP
    强弱电共地
    ACDC
    各电脑进Bios方法
    Java中Integer.parseInt
    全排列
    Java实现LRU缓存方案?
    缓存有关的几个问题
  • 原文地址:https://www.cnblogs.com/virusolf/p/5472707.html
Copyright © 2011-2022 走看看