欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Liunx信息显示与文件搜索

程序员文章站 2022-03-30 11:48:01
. uname 显示系统相关信息,如内核版本号,硬件架构 -a # 显示系统所有相关信息 -m # 显示计算机硬件架构 -n # 显示主机名称 -r # 显示内核发行版本号 -s # 显示内核名称 -v # 显示内核版本 -p # 显示主机处理器类型 -o # 显示操作系统名称 -l # 显示硬件平 ......

. 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  # 发出警告声

    \b  # 删除前一个字符

    \c  # 最后不加上换行符号

    \n  # 换行且光标移至行首

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

    \t  # 插入空格

[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\tworld"
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 "\033[40;37m 黑底白字 xiaolizi\033[0m"
echo -e "\033[41;37m 红底白字 xiaolizi\033[0m"
echo -e "\033[42;37m 绿底白字 xiaolizi\033[0m"
echo -e "\033[43;37m 黄底白字 xiaolizi\033[0m"
echo -e "\033[44;37m 蓝底白字 xiaolizi\033[0m"
echo -e "\033[45;37m 紫底白字 xiaolizi\033[0m"
echo -e "\033[46;37m 天蓝白字 xiaolizi\033[0m"
echo -e "\033[47;30m 白底黑字 xiaolizi\033[0m"

 

Liunx信息显示与文件搜索

 

. 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