开发者友好的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常见命令整理的主要内容,如果未能解决你的问题,请参考以下文章