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

Posted 村长

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开发者友好的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

以上是关于开发者友好的Linux常见命令整理的主要内容,如果未能解决你的问题,请参考以下文章

Git 以及 Vim 常见命令整理

常见的Linux命令整理

Linux入门常见命令整理

Linux入门常见命令整理

Linux常见命令整理

Linux-du命令