# 查看服务器的磁盘空间:
df -lh
# 查看内存使用情况:
free -h
查看文件夹大小
du -sh 查看当前目录总大小。
du -sh * 查看当前目录所有子目录大小。
du -ach * 查看当前目录和所有子目录大小,最后一行会显示当前目录的总大小,不包括隐藏文件。
# 查找文件:
find / -name XXX 或 find / -name *.xml
# 查找日志关键字:
grep "keyword" xxx.log
grep -C 10 'keyword' xxx.log 前后10行
grep -B 10 'keyword' xxx.log 前10行
grep -A 10 'keyword' xxx.log 后10行
# 显示当前目录位置:
pwd
# 解压.gz并保留压缩文件。
第一种方法:gunzip -k filename.gz
压缩保留源文件的方法:
gzip –c filename > filename.gz
Linux解压缩保留源文件的方法:
gunzip –c filename.gz > filename
第二种方法:tar -xzvf filename.tar.gz
# 查看系统位数
getconf LONG_BIT
# 查看端口占用情况:
方式一:lsof -i:80
方式二:ps -ef |grep 80
# 通过PID号查找对应的进程名及所在目录方法:
方式一:
cd /proc/PID号
ls -ail
方式二:
pwdx pid
# 磁盘分区:
fdisk -l 列出素所有分区表
# 查看内存使用情况:
方式一: free -h
方式二: top
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况
内容解释:
第一行(top):
16:34:36 系统当前时刻
60 days 系统启动后到现在的运作时间
10 users 当前登录到系统的用户,更确切的说是登录到用户的终端数 -- 同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统,这里的用户数也将表现为终端的数目
load average 当前系统负载的平均值,后面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数,一般的可以认为这个数值超过 CPU 数目时,CPU 将比较吃力的负载当前系统所包含的进程
第二行(Tasks):
202 total 当前系统进程总数
1 running 当前运行中的进程数
201 sleeping 当前处于等待状态中的进程数
0 stoped 被停止的系统进程数
0 zombie 僵尸进程数
第三行(Cpus):
3.4% us 用户空间占用CPU百分比
11.1% sy 内核空间占用CPU百分比
0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
85.1% id 空闲CPU百分比
0.2% wa 等待输入输出的CPU时间百分比
0.0% hi
0.0% si
0.0% st
第四行(Mem):
15872 total 物理内存总量
29.3 free 空闲内存总量
9119 used 使用的物理内存总量
6459 buffers 用作内核缓存的内存量
第五行(Swap):
表示类别同第四行(Mem),但此处反映着交换分区(Swap)的使用情况。通常,交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的。
0 total 交换区总量
0 used 使用的交换区总量
0 free 空闲交换区总量
最下部分的进程列表栏:
以PID区分的进程列表将根据所设定的画面更新时间定期的更新。通过top内部命令可以控制此处的显示方式:
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称
top 运行中可以通过 top 的内部命令对进程的显示方式进行控制。内部命令如下表:
s- 改变画面更新频率
l - 关闭或开启第一部分第一行 top 信息的表示
t - 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示
m - 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示
N - 以 PID 的大小的顺序排列表示进程列表(第三部分后述)
P - 以 CPU 占用率大小的顺序排列进程列表 (第三部分后述)
M - 以内存占用率大小的顺序排列进程列表 (第三部分后述)
h - 显示帮助
n - 设置在进程列表所显示进程的数量
q - 退出 top
s -改变画面更新周期
#查看更详细的内存信息:
cat /proc/meminfo |grep -E "Buffer|Cache|Swap|Mem|Shmem|Slab|SReclaimable|SUnreclaim"
内容解释:
MemFree:空闲的物理内存
MemAvailable:可用的物理内存,MemFree+Buffers+Cached
Buffers:(Buffer Cache)对磁盘块设备数据的缓存
Cached:(Page Cache)对文件系统上文件数据的缓存,MemFree+SReclaimable
SwapTotal:虚拟内存,利用磁盘空间虚拟出的一块逻辑内存
Slab:Linux内存管理机制
SReclaimable:Slab可回收部分
SUnreclaim:Slab不可回收部分
Shmem:进程间共同使用的共享内存
#手动回收Buffer&Cache
echo 1 > /proc/sys/vm/drop_caches:清除pagecache
echo 2 > /proc/sys/vm/drop_caches:清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache
echo 3 > /proc/sys/vm/drop_caches:清除pagecache和slab分配器中的缓存对象:
#nginx:
重启:nginx -s reload
#vim命令:
:q 按【:q】 离开vi/vim
:q! 按【:q!】 不保存强制离开vi
/ 查找关键字
n 查找下一个关键字
N 查找上一个关
u 退出编辑模式,小写u,返回上一步,撤销
dd 退出编辑模式,删除一行
[num] dd 退出编辑模式,可以删除指定数字行数,向下删除
Esc+gg+dG 删除全部文件内容
yy+p 复制一行+粘贴到下一行
:set nu 显示行号(退出编辑模式下输入)
删除所有行的第一个字符
第一步: :%s/^.//g
第二步: :nohl (即可删除高亮部分)
#用户相关命令:
查看所有用户:
cat /etc/passwd
通用方法:直接查看/etc/passwd 文件后面第二个冒号的值大于1000时,这个就是一个用户
cat /etc/passwd |cut -d: -f 1-3
只筛选出了有用的信息,方便查看,【推荐使用这个命令】
删除用户:
userdel -r haha
默认情况下创建一个用户账号,会创建一个家目录和一个用户邮箱(在/var/spool/mail目录以用户名命名),用已上命令会删除 “haha”这个账号关联的所有信息,包括家目录
#查看IP地址
ip addr