• 【Linux】linux常用命令操作整理


    1.Linux如何查看端口

    使用lsof(list open files)命令,lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000。

    或者使用netstat命令

    netstat -tunlp | grep 端口号,用于查看指定的端口号的进程情况,如查看8000端口的情况,netstat -tunlp | grep 8000。

    还有更好的命令ss(Socket Statistics)

    ss命令可以用来获取socket统计信息, 默认不添加选项情况 ss输出所有建立的连接(不包含监听的端口),包括 tcp, udp, and unix socket 三种类型的连接,所以ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。

    2.查看系统内存使用量

     可以使用free命令 free -h  也可以使用 top -l 1 | head -n 10 | grep PhysMem 

     free命令可用于显示系统中可用的物理内存,交换区内存(Swap)以及内核使用的buffer

    3.删除文件中空行的方法

    songguojundeMBP:tmp songguojun$ cat data.txt 
    aaaa
    
    bbb
    
    cccc  ccc
    
    dd
    eeee
    songguojundeMBP:tmp songguojun$ grep . data.txt 
    aaaa
    bbb
    cccc  ccc
    dd
    eeee
    [songguojundeMBP:tmp songguojun$ sed -i "" '/^s*$/d' data.txt  unix系统中-i指令后面要多加一个“”空格 

     或者用tr命令

    [root@oa-dev tmp]# cat test.txt
    aaa
    
    bbb
    
    ccc  ccc
    [root@oa-dev tmp]# cat test.txt  | tr -s '
    '
    aaa
    bbb
    ccc  ccc

    4.显示文件中匹配关键字行及其行号

    
    
    songguojundeMBP:tmp songguojun$ sed -n "/dd/p" filename

    5.根据进程pid查看进程运行时间情况

    songguojundeMBP:tmp songguojun$ ps -p 39 -o pid,time,lstart,etime
      PID      TIME STARTED                       ELAPSED
       39   0:01.472/18 19:32:04 2019      06:21:44

     lstart是启动时间 etime是运行总时间

    6.显示用户用户登录主机的时间信息

    ac命令
    songguojundeMBP:/ songguojun$ ac -d 显示每天的总的连接时间 Jan 31 total -0.44 Feb 1 total 24.00 Feb 2 total 23.98 Feb 11 total 206.79 Feb 12 total 23.90 Feb 13 total 23.77 Feb 14 total 23.99 [songguojundeMBP:/ songguojun$ ac -p 显示每个用户的总的连接时间 root 0.01 songguojun 423.88 total 423.89

    7.使用Ctrl+R 快捷搜索历史命令

    8.显示随机几位数

    songguojundeMBP:~ songguojun$ echo $RANDOM |cksum |cut -c 1-8   随机显示8位数字
    17488784

    9.计算目录中的目录和文件数

    songguojundeMBP:tmp songguojun$  ls -l | wc -l 注意 wc -l 是按newline计算的 也就是
    字符

    10.显示文件类型

    songguojundeMBP:tmp songguojun$ file -b index.html 
    HTML document, UTF
    -8 Unicode text, with CRLF line terminators

     11.删除目录下的多个文件

    songguojundeMBP:tmp songguojun$ rm -I aa/bb/* 
    rm: remove 16 arguments? y 提示

    12.curl获取头部信息

    curl -I -v  https://www.baidu.com 

    13.查看IO调度算法

    Linux IO 调度算法主要有:1.Noop算法

                                               2.Deadline算法。一般运行有mysql系统的服务器建议采用该调度算法。

                     3.CFQ算法(Completely Fair Queuing)

                4.Anticipatory算法。

     
     14.查看系统时间

    [root@192.17.5.85:/tmp]$ date "+%Y-%m-%d %H:%M:%S"
    2019-07-03 00:02:39

    15.crontab定时任务

    crontab -l
    crontab -u :指定某个用户的cron服务
    crontab -l :列出某个用户的cron服务的详细内容
    crontab -r :删除某个用户的cron服务
    crontab -e :编辑某个用户的cron服务 

     另外一个常用crontab 命令参数是 crontab -e用来编辑配置 /etc/crontab文件,会检查我们配置的脚本语法,然后被写到 /var/spool/cron 目录下,生成一个和用户名一致的文件。

    [root@172.16.0.99:~]$ ls /var/spool/cron/
    httpd    root

    上面两个文件打开就是我们编辑的定时脚本。

    16.查看磁盘是SSD还是HDD

    [root@172.16.0.0:~]$ cat /sys/block/sr0/queue/rotational      # sr0是我的硬盘设备名称
    1

    返回值

      1:表示磁盘可旋转,就是HDD了。

      0:表示磁盘不可以旋转,就有可能是SSD。

     17.根据进程名称获取Pid,pgrep命令

    [root@172.16.0.55:~]$ ps aux | grep nginx
    root     10135  0.0  0.0  46768   728 ?        Ss    2018   0:00 nginx: master process /opt/app/nginx/sbin/nginx
    httpd    10172  0.0  0.0  47084  1944 ?        S    Jul01   0:05 nginx: worker process    
    httpd    10173  0.0  0.0  47084  2152 ?        S    Jul01   0:07 nginx: worker process    
    root     13696  0.0  0.0 103260   896 pts/8    S+   11:21   0:00 grep --color=auto nginx
    [root@172.16.0.55:~]$ pgrep -lo nginx
    10135 nginx

     pgrep命令参数:

      -l 列出程序名和进程ID。

      -o 进程起始的ID。

      -n 进程终止的ID。

     18.查看当前linux系统的字符集

    [root@172.16.0.55:~]$ locale    这个命令也可以设置,注意不要和locate命令弄混了,虽然很像
    LANG=zh_CN.UTF-8
    LC_CTYPE="zh_CN.UTF-8"
    LC_NUMERIC="zh_CN.UTF-8"
    LC_TIME="zh_CN.UTF-8"
    LC_COLLATE="zh_CN.UTF-8"
    LC_MONETARY="zh_CN.UTF-8"
    LC_MESSAGES="zh_CN.UTF-8"
    LC_ALL=

     查看下系统目前所支持的语言

    [root@oa-dev /]# locale -a
    C
    en_AG
    en_AG.utf8
    en_AU
    en_AU.iso88591
    en_AU.utf8
    en_BW
    en_BW.iso88591
    en_BW.utf8
    en_CA
    en_CA.iso88591
    en_CA.utf8
    en_DK
    en_DK.iso88591
    en_DK.utf8
    en_GB

    19.查看操作系统信息

    songguojundeMBP:~ songguojun$ uname -s    #显示操作系统名称
    Darwin
    songguojundeMBP:~ songguojun$ uname -m    #显示计算机类型(指令集)
    x86_64
    songguojundeMBP:~ songguojun$ uname -r    #显示操作系统的发行编号
    18.6.0
    songguojundeMBP:~ songguojun$ uname -a  #显示系统信息
    Darwin songguojundeMBP.lan 18.6.0 Darwin Kernel Version 18.6.0: Thu Apr 25 23:16:27 PDT 2019; root:xnu-4903.261.4~2/RELEASE_X86_64 x86_64

    20.查看文件元信息 

    songguojundeMBP:~ songguojun$ stat composer.json 
      File: `composer.json'
      Size: 1620          Blocks: 8          IO Block: 4096   regular file    #文件大小   占用block大小 块大小  文件类型 
    Device: fc05h/64517d    Inode: 3804444     Links: 1              #文件所在设备号,分别以十六进制和十进制显示 文件inode节点号 硬链接数 
    Access: (
    0644/-rw-r--r--) Uid: ( 2000/ httpd) Gid: ( 2000/ httpd)      #访问权限
    Access:
    2019-07-12 16:41:02.318000069 +0800                   #最后访问时间
    Modify:
    2019-07-11 14:30:47.928000066 +0800                   #最后修改时间
    Change:
    2019-07-12 17:29:02.705000069 +0800                   #最后状态改变时间

     使用 -f 参数显示的是该文件所在文件系统的信息

    songguojundeMBP:~ songguojun$ stat -f composer.json
      File: "composer.json"
        ID: 2de589c3222201b8 Namelen: 255     Type: ext2/ext3
    Block size: 4096       Fundamental block size: 4096
    Blocks: Total: 44451124   Free: 21790504   Available: 19532499
    Inodes: Total: 11296768   Free: 10505992

     21.删除文件中部分内容

    通过tail命令,将文件尾部的n行数据重定向到新的文件中
    tail -n 100 access.log > access.log.bak
    然后删除旧的文件,将新的文件修改为原名字
    rm access.log
    mv access.log.bak access.log

      22.查看apache加载了哪些模块

    [root@oa-dev apache2]# bin/apachectl -t -D DUMP_MODULES
    Loaded Modules:
     core_module (static)
     mpm_prefork_module (static)
     http_module (static)
     so_module (static)
     authz_host_module (shared)
     include_module (shared)
     deflate_module (shared)
     log_config_module (shared)
     logio_module (shared)
     expires_module (shared)
     headers_module (shared)
     setenvif_module (shared)
     mime_module (shared)
     status_module (shared)
     dir_module (shared)
     alias_module (shared)
     rewrite_module (shared)
     php5_module (shared)
     ssl_module (shared)
    Syntax OK

     23.查看系统时区

    [root@oa-dev /]# date -R
    Sun, 01 Dec 2019 06:17:34 +0800

     上面命令输出了国家的东八区(+0800), 而 -0800则表示为西八区,是美国旧金山所在的时区

     24.Linux系统时区相关

       Linux系统时间是硬件时间结合时区,硬件时间是 UTC 标准时间,本地时间需要结合时区计算出来。

      相关文件有两个

    /etc/localtime       #描述本机时间
    /etc/timezone     #描述本机所属的时区
    [root@oa-dev /]# file /etc/localtime
    /etc/localtime: symbolic link to `../usr/share/zoneinfo/Asia/Shanghai'   #这个是链接到这里的文件
    [root@oa-dev /]# cat ../usr/share/zoneinfo/Asia/Shanghai   #注意这个文件不能直接查看 有乱码
    TZif2                                 �Y^��      �p�ӽ ����|@ �;>�Ӌ{��B��^

    CST(China Shanghai Time,东八区时间)
    UTC(Coordinated Universal Time,标准时间)

     25.显示当前的各种用户进程限制

    songguojundeMacBook-Pro:~ songguojun$ ulimit -a
    core file size          (blocks, -c) 0
    data seg size           (kbytes, -d) unlimited
    file size               (blocks, -f) unlimited
    max locked memory       (kbytes, -l) unlimited
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 256
    pipe size            (512 bytes, -p) 1
    stack size              (kbytes, -s) 8192
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) 709
    virtual memory          (kbytes, -v) unlimited

      26.同时复制多个文件

    cp /home/usr/dir/{file1,file2,file3,file4} /home/usr/destination/

    27. sysctl命令

      sysctl命令用于运行时查看及配置内核参数,这些参数位于/proc/sys目录下。比如查看swap分区swappiness大小,sysctl -a | grep swappiness

       

  • 相关阅读:
    【转】Java并发编程:synchronized
    【转】Java并发编程:Thread类的使用
    【转】Java并发编程:如何创建线程?
    【计算机二级C语言】卷005
    【计算机二级C语言】卷004
    【计算机二级C语言】卷003
    【计算机二级C语言】卷002
    【计算机二级C语言】卷001
    汇编窥探Swift String的底层
    【KakaJSON手册】08_其他用法
  • 原文地址:https://www.cnblogs.com/songgj/p/10398287.html
Copyright © 2020-2023  润新知