美文网首页我用 Linux
Linux日常命令整理

Linux日常命令整理

作者: jerrik | 来源:发表于2018-10-14 00:52 被阅读18次
    一、查看磁盘使用情况
    [root@jerrik gc]# df -h
    文件系统        容量  已用  可用 已用% 挂载点
    /dev/vda1        40G  3.9G   34G   11% /
    devtmpfs        1.9G     0  1.9G    0% /dev
    tmpfs           1.9G  716K  1.9G    1% /dev/shm
    tmpfs           1.9G  280K  1.9G    1% /run
    tmpfs           1.9G     0  1.9G    0% /sys/fs/cgroup
    tmpfs           380M     0  380M    0% /run/user/0
    
    二、查看根目录文件夹占用磁盘情况
    [root@jerrik /]# du -sh *
    0       bin
    154M    boot
    716K    dev
    32M     etc
    19M     home
    0       lib
    0       lib64
    16K     lost+found
    2.9G    usr
    495M    var
    ...
    
    三、删除指定目录下的文件
    find /usr/local/software/gc -name "*.log" -exec rm{} \;
    find . -name "*.log"|xargs rm -rf {};
    
    四、查看、创建定时任务(crontab)

    创建定时任务:

    crontab -e
    进入vim
    然后键入: 
    * * * * * check.sh
    :wq保存即可
    

    如果要查看定时任务是否执行,可以查看/var/log/cron中的执行日志.
    查看定时任务:

    [root@jerrik software]# crontab -l
    * * * * * echo "hello world"
    
    * * * * * /usr/local/software/demo.sh
    [root@jerrik software]# 
    
    五、按照更新时间来查找文件
    #查看最近2分钟之内没有更新的文件
    find . -cmin +2
    #查找文件更新时间在距现在二天以内的文件
    find ./ -mtime -2
    #查找文件更新时间距现在二天以上的文件
    find ./ -mtime +2
    
    六、后台执行命令
    nohup [command] >/dev/null 2>&1 &
    

     备注:
    【/dev/null】: 是要把输出重定向到空设备上
    【2>&1】: 把标准错误2重定向到标准输出中1中
    【最后一个&】: 即后台运行

    七、top查看系统负载
    [root@jerrik software]# top
    top - 23:27:35 up 130 days,  1:04,  1 user,  load average: 0.00, 0.01, 0.05
    Tasks:  70 total,   1 running,  69 sleeping,   0 stopped,   0 zombie
    %Cpu(s):   0.0/0.0     0[                                                                                                    ]
    KiB Mem :  3881920 total,  2087416 free,   350412 used,  1444092 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.  3237956 avail Mem 
    

    【大写P】:按CPU从高到低排序
    【大写M】:按Memory从高到低排序
    【数字1】:显示所有CPU

    八、查看CPU型号
    [root@jerrik software]# lscpu
    Architecture:          x86_64
    CPU op-mode(s):        32-bit, 64-bit
    Byte Order:            Little Endian
    CPU(s):                2
    On-line CPU(s) list:   0,1
    Thread(s) per core:    2
    Core(s) per socket:    1
    座:                 1
    NUMA 节点:         1
    厂商 ID:           GenuineIntel
    CPU 系列:          6
    型号:              85
    型号名称:        Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz
    步进:              4
    CPU MHz:             2499.996
    BogoMIPS:            4999.99
    超管理器厂商:  KVM
    虚拟化类型:     完全
    L1d 缓存:          32K
    L1i 缓存:          32K
    L2 缓存:           1024K
    L3 缓存:           33792K
    NUMA 节点0 CPU:    0,1
    
    九、查看物理CPU、逻辑CPU、CPU线程
    #物理CPU
    #说明只有一核
    cat /proc/cpuinfo | grep "physical id"|sort|uniq
    physical id     : 0
    
    #逻辑CPU
    #说明单个CPU的逻辑核心数量是1个
    cat /proc/cpuinfo | fgrep "cores"|uniq
    cpu cores       : 1
    
    #查看CPU线程数
    #系统CPU线程数为2
    cat /proc/cpuinfo | grep "processor" | wc -l
    2
    

    备注:该CPU只有一个物理CPU,且该CPU只有一个逻辑核心,但是对应了2个CPU线程,所以该CPU启用了【超线程】技术。

    十、dstat命令
    dstat [-afv] [options..] [delay [count]]
    
    -c:显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息。
    -C:当有多个CPU时候,此参数可按需分别显示cpu状态,例:-C 0,1 是显示cpu0和cpu1的信息。
    -d:显示磁盘读写数据大小。
    -D hda,total:include hda and total。
    -n:显示网络状态。
    -N eth1,total:有多块网卡时,指定要显示的网卡。
    -l:显示系统负载情况。
    -m:显示内存使用情况。
    -g:显示页面使用情况。
    -p:显示进程状态。
    -s:显示交换分区使用情况。
    -S:类似D/N。
    -r:I/O请求情况。
    -y:系统状态。
    --ipc:显示ipc消息队列,信号等信息。
    --socket:用来显示tcp udp端口状态。
    -a:此为默认选项,等同于-cdngy。
    -v:等同于 -pmgdsc -D total。
    --output 文件:此选项也比较有用,可以把状态信息以csv的格式重定向到指定的文件中,以便日后查看.
    
    #3秒钟监控一次,总共100次
    dstat 3 100
    [root@jerrik software]# dstat 3 1000
    You did not select any stats, using -cdngy by default.
    ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
    usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw 
      0   0  99   0   0   0|  46B 3975B|   0     0 |   0     0 | 582  1149 
      0   0  99   0   0   0|   0   819B|  24B   40B|   0     0 | 224   448 
    ...
    
    #监控swap,process,sockets,filesystem并显示监控的时间
    [root@iZ23uulau1tZ ~]# dstat -tsp --socket --fs
    ----system---- ----swap--- ---procs--- ------sockets------ --filesystem-
      date/time   | used  free|run blk new|tot tcp udp raw frg|files  inodes
    26-07 09:23:48|   0     0 |  0   0 0.0|104   8   5   0   0|  704   6488
    26-07 09:23:49|   0     0 |  0   0   0|104   8   5   0   0|  704   6488
    26-07 09:23:50|   0     0 |  0   0   0|104   8   5   0   0|  704   6489
    26-07 09:23:51|   0     0 |  0   0   0|104   8   5   0   0|  704   6489
    26-07 09:23:52|   0     0 |  0   0   0|104   8   5   0   0|  704   6489
    26-07 09:23:53|   0     0 |  0   0   0|104   8   5   0   0|  704   6489
    
    十一、查看进程启动时间
    ps -p [pid] -o lstart
    
    十一、tcpdump抓包
    #抓取所有经过 eth0,目的或源地址是 192.168.29.162 的网络数据
    命令:tcpdump -n -i eth0 host 192.168.29.162
    
    # 源地址
    命令:tcpdump -i eth1 src host 192.168.29.162
    
    # 目的地址
    命令:tcpdump -i eth1 dst host 192.168.29.162
    
    #抓取当前服务器eth0网卡端口8080的网络数据
    命令:tcpdump -n -i eth0 port 8080
    
    #抓取目标地址192.168.29.162端口8080的数据
    命令:tcpdump -n -i eth0 dst host 192.168.29.162 and  port 8080
    
    #抓取mysql执行的sql语句
    命令:tcpdump -i eth1 -s 0 -l -w - dst port 3306 | strings
    
    #抓取mysql通讯的网络包(cap用wireshark打开)
    命令tcpdump -n -nn -tttt -i eth0 -s 65535 'port 3306' -w 20181005mysql.cap
    
    #抓取SMTP 数据
    命令:tcpdump -i eth1 'tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack != 0'
    
    #抓取HTTP GET数据,"GET "的十六进制是 47455420
    命令:tcpdump -i eth1 'tcp[(tcp[12]>>2):4] = 0x47455420'
    
    #抓取SSH返回,"SSH-"的十六进制是 0x5353482D
    命令:tcpdump -i eth1 'tcp[(tcp[12]>>2):4] = 0x5353482D'
    
    #实时抓取端口号8080的GET包,然后写入GET.log
    命令:tcpdump -i eth0 '((port 8080) and (tcp[(tcp[12]>>2):4]=0x47455420))' -nnAl -w /tmp/GET.log
    
    #抓取指定SYN个数,-c 参数指定抓多少个包。
    命令:time tcpdump -nn -i eth0 'tcp[tcpflags] = tcp-syn' -c 10
    
    总结

    对一些常用的操作简单的总结了一下,由于时间的关系,今天就先到这里。以后会陆续进行补充,加深记忆。

    相关文章

      网友评论

        本文标题:Linux日常命令整理

        本文链接:https://www.haomeiwen.com/subject/odmaaftx.html