zoukankan      html  css  js  c++  java
  • Liunx信息显示与文件搜索

    . uname

      显示系统相关信息,如内核版本号,硬件架构

      -a  # 显示系统所有相关信息

      -m  # 显示计算机硬件架构

      -n  # 显示主机名称

      -r  # 显示内核发行版本号

      -s  # 显示内核名称

      -v  # 显示内核版本

      -p  # 显示主机处理器类型

      -o  # 显示操作系统名称

      -l  # 显示硬件平台

    [root@xiaolizi ~]# uname -a
    Linux xiaolizi 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
    [root@xiaolizi ~]# uname -m
    x86_64
    [root@xiaolizi ~]# uname -n
    xiaolizi
    [root@xiaolizi ~]# uname -r
    2.6.32-431.el6.x86_64
    [root@xiaolizi ~]# uname -s
    Linux
    [root@xiaolizi ~]# uname -v
    #1 SMP Sun Nov 10 22:19:54 EST 2013
    [root@xiaolizi ~]# uname -p
    x86_64
    [root@xiaolizi ~]# uname -o
    GNU/Linux
    [root@xiaolizi ~]# uname -i
    x86_64

    . hostname

      用于显示或这是系统的主机名,centos7以后,使用"hostnamectl set-hostname 主机名",来进行设置主机名,若是没有设置好,可能会导致网络服务不正常

      -a  # 如果设置了主机别名,则可以用a选项来显示主机的别名

      -i  # 显示主机IP地址,依赖DNS解析

      -I  # 显示主机的所有IP地址,不依赖DNS,速度较快

      -s  # 显示短格式主机名

    [root@xiaolizi ~]# hostname -a
    
    [root@xiaolizi ~]# hostname -i
    172.16.1.51
    [root@xiaolizi ~]# hostname -I
    172.16.1.51 
    [root@xiaolizi ~]# hostname -s
    xiaolizi

    # 修改主机名可以 vi /etc/sysconfig/network centos7 系统是vi /etc/hostname
    # 配置主机的hosts解析:vim /etc/hosts

    . dmesg

      显示内核环形缓冲区的内容。在进行系统引导时,内核会将硬件额模块儿初始化相关的额信息,写到这个缓冲区中。内核环形缓冲区中的消息对于诊断系统问题非常有用

      缓冲区的内容同时会保存到/var/log目录中,名称为dmesg的文件。

      -s bufsize  # 设置缓冲区大小

      -n level   # 显示消息等级

      -c      # 显示信息后,清除环形数据区中的内容

    . stat

      详细显示文件或文件系统的状态信息

    [root@mysql-141 log]# stat /etc/hosts
      File: `/etc/hosts'
      Size: 379             Blocks: 8          IO Block: 4096   regular fil
    e
    Device: 803h/2051d      Inode: 524317      Links: 2
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root
    )
    Access: 2019-04-18 09:30:01.513013568 +0800
    Modify: 2019-03-04 22:31:01.421152388 +0800
    Change: 2019-03-04 22:31:01.422152340 +0800

    [root@mysql-141 log]# stat -f /etc/hosts    # 查看文件系统属性
    File: "/etc/hosts"
    ID: 9a066e069b873705 Namelen: 255 Type: ext2/ext3
    Block size: 4096 Fundamental block size: 4096
    Blocks: Total: 12439993 Free: 11147539 Available: 10513952
    Inodes: Total: 3170304 Free: 3082870

    [root@mysql-141 log]# stat -c %a /etc/hosts  # 取出文件的权限信息
    644

    . type

      用于判断另外一个命令是否是内置命令,但是它实际上有更多的用法

    [root@NC-TEST ~]# type ls          # 别名
    ls is aliased to `ls --color=auto'
    [root@NC-TEST ~]# type mysql      # 外部命令
    mysql is /usr/bin/mysql
    [root@NC-TEST ~]# type alias   # 内置命令
    alias is a shell builtin
    [root@NC-TEST ~]# type if     # shell的内置命令
    if is a shell keyword

    . du

      统计磁盘空间的使用情况,主要用于找出磁盘占用较大的文件

      -a  # 显示所有文件大小

      -h  # 以K M G为单位查看文件

      -s  # 显示文件的总大小

      --exclude=目录文件  # 忽略指定的目录文件

      -X  # 从文件中读取需要忽略的的目录或者文件

      -max-depth=N  显示N级子目录的大小,当N=0时,该参数和-s参数的效果一样

    [root@mysql-141 ~]# du -a  # 显示当前目录下所有文件(包含隐藏文件)
    4       ./.pki/nssdb
    8       ./.pki
    4       ./.bash_profile
    4       ./backup_check.sh
    
    [root@mysql-141 ~]# du -s       # 当前目录的总大小
    164     .
    [root@mysql-141 ~]# du -h       # 换成容易理解的方式
    4.0K    ./.pki/nssdb
    8.0K    ./.pki
    4.0K    ./test
    164K    .
    [root@mysql-141 ~]# du -sh      # 此用法较多
    164K    .
    [root@mysql-141 ~]# du -sh /usr/local/
    132K    /usr/local/
    
    [root@mysql-141 ~]# du -h --max-depth=1 /usr/local/  # 只显示第一层目录的大小,不能与-s连用,会报错,冲突
    4.0K    /usr/local/etc
    4.0K    /usr/local/lib
    4.0K    /usr/local/include
    4.0K    /usr/local/bin
    4.0K    /usr/local/src
    
    [root@mysql-141 ~]# du -h --max-depth=1 /usr/local/ --exclude=/usr/local/share     # 排除指定目录
    4.0K    /usr/local/etc
    4.0K    /usr/local/lib
    4.0K    /usr/local/include

    . date

      用于显示当前的系统时间或设置系统时间,一般用于根据date命名备份文件

      -d  # 显示指定字符串所描述的时间,而非当前时间

      -f  # 从日期文件中按行读入时间描述

      -r  # 显示指定文件的最后修改时间

      -u  # 显示或设置UTC时间

      -s  # 设置时间

     

    [root@mysql-141 ~]# date        # 显示当前日期
    Thu Apr 18 10:29:19 CST 2019
    [root@mysql-141 ~]# date +%y    # 显示年,短格式 
    19
    [root@mysql-141 ~]# date +%Y    # 显示年,长格式
    2019
    [root@mysql-141 ~]# date +%m    # 显示月
    04
    [root@mysql-141 ~]# date +%d    # 显示日
    18
    [root@mysql-141 ~]# date +%H    # 显示小时
    10
    [root@mysql-141 ~]# date +%M    # 显示分钟
    30
    [root@mysql-141 ~]# date +%S    # 显示秒
    07
    [root@mysql-141 ~]# date +%F    # 显示特殊格式日期(年-月-日)
    2019-04-18
    [root@mysql-141 ~]# date +%T    # 显示特殊格式日期(时分秒)
    10:30:38
    [root@mysql-141 ~]# date +%F -d "-1day"  # 显示前一天的日期,day可以替换成year,month等
    2019-04-17
    [root@mysql-141 ~]# date +%F -d "+1day"
    2019-04-19
    [root@mysql-141 ~]# date    # 时间并没有变化
    Thu Apr 18 10:34:00 CST 2019
    [root@mysql-141 ~]# date -d "Thu Apr 18 10:34:00 CST 2019" "+%Y-%m-%d %
    H:%M:%S"      # 时间格式转化
    2019-04-18 10:34:00

    . echo

      将指定的文本先到在命令行上

      -n  # 不自动换行

      -E  # 默认参数,不接戏转义字符

      -e  # 当出现下列字符,需要进行特别处理,而不会当成一段文字输出

        a  # 发出警告声

          # 删除前一个字符

        c  # 最后不加上换行符号

           # 换行且光标移至行首

           # 光标移至行尾,但不换行

           # 插入空格

    [root@mysql-141 ~]# echo Hello world!
    Hello world!
    [root@mysql-141 ~]# echo 'Hello world!'
    Hello world!
    [root@mysql-141 ~]# echo "Hello world!"
    -bash: !": event not found
    [root@mysql-141 ~]# echo -e "Hello	world"
    Hello   world
    [root@mysql-141 ~]# echo "xiaolizi1";echo "xiaolizi2"
    xiaolizi1
    xiaolizi2
    [root@mysql-141 ~]# echo -n "xiaolizi1";echo "xiaolizi2"
    xiaolizi1xiaolizi2

      [root@mysql-141 ~]# echo $PATH
      /application/mysql/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/
      sbin:/usr/bin:/root/bin

     

    echo -e "33[40;37m 黑底白字 xiaolizi33[0m"
    echo -e "33[41;37m 红底白字 xiaolizi33[0m"
    echo -e "33[42;37m 绿底白字 xiaolizi33[0m"
    echo -e "33[43;37m 黄底白字 xiaolizi33[0m"
    echo -e "33[44;37m 蓝底白字 xiaolizi33[0m"
    echo -e "33[45;37m 紫底白字 xiaolizi33[0m"
    echo -e "33[46;37m 天蓝白字 xiaolizi33[0m"
    echo -e "33[47;30m 白底黑字 xiaolizi33[0m"

     

    . watch

      以全屏的方式动态显示命令或程序的执行情况

      -n  # 命令执行的时间间隔,默认为2s

      -d  # 高亮显示命令结果的变动之处

      -t  # 关闭watch命令在顶部显示的时间间隔,命令及当前时间的输出

    [root@mysql-141 ~]# watch -n 1 -d netstat -ant
    Every 1.0s: netstat -ant                       Thu Apr 18 11:16:36 2019
    
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address               Foreign Address
         State
    tcp        0      0 0.0.0.0:22                  0.0.0.0:*
         LISTEN
    tcp        0      0 10.0.0.141:22               10.0.0.1:64080
         ESTABLISHED
    tcp        0      0 :::3306                     :::*
         LISTEN
    tcp        0      0 :::22                       :::*
         LISTEN
    
    ctrl + c 退出
    

    . which

      显示命令的全路径

       -a  #  遍历所有PATH路径,尽心匹配命令路径,输出所有匹配项

    . whereis

      定位指定命令的可执行文件,源码文件及man帮助文件的路径

      -b  # 查找可执行文件

      -m  # 查找man帮助文件

      -s  # 查找源代码文件

    [root@mysql-141 ~]# whereis svn
    svn: /usr/bin/svn /usr/share/man/man1/svn.1.gz
    [root@mysql-141 ~]# whereis -b svn  
    svn: /usr/bin/svn
    [root@mysql-141 ~]# whereis -m svn
    svn: /usr/share/man/man1/svn.1.gz
    [root@mysql-141 ~]# whereis -s svn  # 没找到相应文件
    svn:  

    . locate

      快速定位文件路径。系统中包含一个mlocate.db的数据库文件,里面有文件系统的文件名及对应的路径信息

      此命令查找文件时不用遍历磁盘,而是直接查找数据库文件,可以快速给出结果。但是,如果是新添加的文

        件,name数据库就没有记录,因此可以先使用updatedb命令更新一下mlocate.db文件。

      -c    # 不显示匹配内容,只显示匹配到的行数

      -r    # 支持基本正则表达式

      -i    # 匹配时忽略大小写

      --regex  # 支持扩展正则表达式匹配

    [root@mysql-141 ~]# locate pwd |head
    /bin/pwd
    /etc/.pwd.lock
    /etc/latrace.d/pwd.conf
    /lib/modules/2.6.32-696.el6.x86_64/kernel/drivers/watchdog/hpwdt.ko
    /sbin/unix_chkpwd
    /server/tools/mysql-5.6.38/extra/yassl/taocrypt/include/pwdbased.hpp
    /server/tools/mysql-5.6.38/sql-bench/pwd.bat
    /usr/bin/pwdx
    
    [root@mysql-141 ~]# ll -h /var/lib/mlocate/mlocate.db 
    -rw-r----- 1 root slocate 2.1M Apr 18 09:36 /var/lib/mlocate/mlocate.db
  • 相关阅读:
    VS远程调试亲历
    IIS7.5 配置虚拟目录的经历
    IE 兼容一问题一小记
    寻找 IBatisNet 批量插入(批量复制) 的心路历程
    Linq 多连接及 left join 实例 记录
    easyui treegrid idField 所在属性中值有花括号(如Guid)当有鼠标事件时会报错,行记录一下
    HDU1754
    HDU1166
    线段树模板
    HDU1599(Floyd最小环)
  • 原文地址:https://www.cnblogs.com/flashfish/p/10728701.html
Copyright © 2011-2022 走看看