• 开发者友好的Linux常见命令整理


    系统本身

    uname -a # 查看内核/操作系统/CPU信息

    cat /etc/redhat-release 查看服务器版本

    cat /proc/cpuinfo # 查看CPU信息

    hostname # 查看计算机名

    lspci -tv # 列出所有PCI设备

    lsusb -tv # 列出所有USB设备

    lsmod # 列出加载的内核模块

    env # 查看环境变量

    查看ip信息:ifconfig

    du -sh <目录名> # 查看指定目录的大小

    grep MemTotal /proc/meminfo # 查看内存总量

    grep MemFree /proc/meminfo # 查看空闲内存量

    uptime # 查看系统运行时间、用户数、负载

    cat /proc/loadavg # 查看系统负载

    磁盘和分区

    mount | column -t # 查看挂接的分区状态

    fdisk -l # 查看所有分区

    swapon -s # 查看所有交换分区

    hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)

    dmesg | grep IDE # 查看启动时IDE设备检测状况

    网络

    ifconfig # 查看所有网络接口的属性

    iptables -L # 查看防火墙设置

    route -n # 查看路由表

    netstat -lntp # 查看所有监听端口

    netstat -antp # 查看所有已经建立的连接

    netstat -ano 查看所有端口占用情况

    netstat -s # 查看网络统计信息

    进程

    ps -ef # 查看所有进程

    top # 实时显示进程状态

    ps -ef|grep pid 查看指定进程信息

    用户

    useradd -m 用户名 创建用户

    passwd 用户名 修改密码:回车后输入密码并确认

    w # 查看活动用户

    id <用户名> # 查看指定用户信息

    last # 查看用户登录日志

    cut -d: -f1 /etc/passwd # 查看系统所有用户

    cut -d: -f1 /etc/group # 查看系统所有组

    crontab -l # 查看当前用户的计划任务

    服务

    chkconfig --list # 列出所有系统服务

    chkconfig --list | grep on # 列出所有启动的系统服务

    权限管理

    chmod 777 test/ 给test文件夹授权所有

    chmod -R 777 test/给test文件夹以及子文件授权所有

    chmod 600 ××× (只有所有者有读和写的权限)

    chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)

    chmod 700 ××× (只有所有者有读和写以及执行的权限)

    chmod 666 ××× (每个人都有读和写的权限)

    chmod 777 ××× (每个人都有读和写以及执行的权限)

    chown 将指定文件的拥有者改为指定的用户或组,一般在管理员下

    chown [选项]… [所有者][:[组]] 文件…

    -R 处理指定目录以及其子目录下的所有文件

    示例:chown mail:mail log.log 此文件的所有者和组都变成了mail

    时间管理

    系统时间设置 date -s “20140225 20:16:00” #yyyymmdd hh:mm:ss

    设置硬件时间 hwclock --set --date=“07/07/06 10:19”

    硬件时间与系统同步 hwclock --hctosys(hc 代表硬件时间,sys 代表系统时间)

    系统与硬件时间同步 hwclock --systohc

    设置时区 tzselect

    Windows/Linux查看并杀死被占用的端口

    sudo apt-get install lsof   //安装lsof

    sudo lsof -i:端口号      //查找对应的进程号,不能反过来查

    sudo kill -9 进程号      //杀死对应的进程

    ps -ef|grep 项目 //服务运行情况,有pid

    netstat -nltp|grep pid/端口 //

    查询

    grep -C 10 ‘线程号’ getfollower.log |grep -C 10 ‘时间’ 查异常日志

    find /mnt/sdf/getinsta/logs/ -mtime +15 -name “*.zip” -exec rm -rf {} \ 批量删除文件

    find . -type f -size +100M 查找大小超过5M的文件

    find / -name qcj_source_code.sql 根据名称查找目录

    统计:wc 命令

    -c 统计字节数

    -l 统计行数

    -w 统计字数

    lsof列出当前系统打开文件

    lsof 【参数】 【文件】

    用于查看你进程开打的文件,打开文件的进程,进程打开的端口 (TCP、UDP)。找回/恢复删除的文件。是十分方便的系统监视工具,因为 lsof 需要访问核心内存和各种文件,所以需要 root 用户执行。

    lsof /bin/bash 查找某个文件相关的进程

    lsof -c mysql 列出某个程序进程打开的文件信息

    lsof -i 列出所有网络连接

    lsof -i udp:55 列出谁在使用某个特定的udp 或tcp 端口

    -a 列出打开文件存在的进程 -c<进程名> 列出指定进程所打开的文件 -g 列出 GID 号进程详情 -d<文件号> 列出占用该文件号的进程 +d<目录> 列出目录下被打开的文件 +D<目录> 递归列出目录下被打开的文件 -n<目录> 列出使用 NFS 的文件 -i<条件> 列出符合条件的进程。(4、6、协议、: 端口、 @ip ) -p<进程号> 列出指定进程号所打开的文件 -u 列出 UID 号进程详情 -h 显示帮助信息 -v 显示版本信息

    内存相关

    一般机器剩余内存小于总内存的20%,则判断系统物理内存不够

    free -m 或-h或-g

    ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -r | less 可查看各个程序进程内存使用的内存情况,如下图所示,第一列为进程占用的内存百分比,可以看到哪些应用程序占的内存比较多

    手动释放内存

    sync cat /proc/sys/vm/drop_caches echo 1 > /proc/sys/vm/drop_caches

    CPU

    df -h查看磁盘空间占用情况

    总核数 = 物理CPU个数 X 每颗物理CPU的核数

    总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

    查看物理CPU个数

    cat /proc/cpuinfo| grep “physical id”| sort| uniq| wc -l

    查看每个物理CPU中core的个数(即核数)

    cat /proc/cpuinfo| grep “cpu cores”| uniq

    查看逻辑CPU的个数

    cat /proc/cpuinfo| grep “processor”| wc -l

    rsync+inotify数据实时同步

    rsync:远程同步,linux下数据镜像备份工具,可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。已支持跨平台,可以在Windows与Linux间进行数据同步。 rsync监听端口:873 rsync运行模式:C/S

    优点

    1,可以镜像保存整个目录树和文件系统。

    2,可以做到保持原来文件的权限、时间、软硬链接等等。

    3,无须特殊权限即可安装。

    4,可以有排除指定文件或目录同步的功能,相当于打包命令tar的排除功能。

    5,可以使用rcp、ssh等方式来传输文件,rsync本身不对数据加密.

    6,支持匿名传输,可以实现方便安全的进行数据备份和镜像。

    7,可以实现增量同步,既只同步发生变化的数据,因此数据传输效率很高.

    8,可以通过socket(进程方式)传输文件和数据

    Inotify

    是一个 Linux特性,它监控文件系统操作,比如读取、写入和创建 实时同步

    top命令

    查看实时负载,包括进程,cpu负载,内存使用等等

    可以使用shift+m按内存使用情况排序

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    解释:

    • top - 09:44:56[当前系统时间],
    • 16 days[系统已经运行了16天],
    • 1 user[个用户当前登录],
    • load average: 9.59, 4.75, 1.92[系统负载,即任务队列的平均长度]
    • Tasks: 145 total[总进程数],
    • 2 running[正在运行的进程数],
    • 143 sleeping[睡眠的进程数],
    • 0 stopped[停止的进程数],
    • 0 zombie[冻结进程数],
    • Cpu(s): 99.8%us[用户空间占用CPU百分比],
    • 0.1%sy[内核空间占用CPU百分比],
    • 0.0%ni[用户进程空间内改变过优先级的进程占用CPU百分比],
    • 0.2%id[空闲CPU百分比], 0.0%wa[等待输入输出的CPU时间百分比],
    • 0.0%hi[],
    • 0.0%st[],
    • Mem: 4147888k total[物理内存总量],
    • 2493092k used[使用的物理内存总量],
    • 1654796k free[空闲内存总量],
    • 158188k buffers[用作内核缓存的内存量]
    • Swap: 5144568k total[交换区总量],
    • 56k used[使用的交换区总量],
    • 5144512k free[空闲交换区总量],
    • 2013180k cached[缓冲的交换区总量],

    curl

    发送post请求

    curl -H “Content-Type: application/json” -X POST -d ‘{“entAcctNo”: “123” }’ https://xxx:39008/zeus-scm/services/xxxa

  • 相关阅读:
    JavaScript异步编程——08-Promise的链式调用【万字长文,感谢支持】
    CoCube显示测试笔记
    想当设备管理师?满足这三个报考条件就可以
    wireshark数据结构
    Python数据处理Tips多层嵌套Json数据展平到DataFrame
    在Linux中网络性能审计,安全以及排错
    SaaS是什么?
    vue3.0 如何自定义指令
    谁能想到先打败程序员的不是35岁,而是.
    数据结构基础内容-----第三章 线性表
  • 原文地址:https://blog.csdn.net/Goligory/article/details/128104694