1.帮助命令:
man: 查询后面命令的帮助文档。如:man ls
help: 有两种情况,内部命令用 help [命令] 如: help cd。 还有一种是外部命令: --help 格式为: [命令] --help
2. pwd : 显示当前工作的目录
3.vim: vim 文件路径 打开编辑文件。
“:q” : 退出。
“:wq” :保存修改并退出
h:向左。
j:向下
k:向上
l:向右
“:set nu” : 显示行号,仅对当前文件有效。修改/etc/vimrc 在最后一行插入 set nu
i: 对打开的文件插入字符。
I: 大写的i, 在当前行的首字符处开始插入字符。
a: 在当前光标的下一个字符处插入。
A:在当前光标所在的行的最后一个字符处。
o: 在当前光标所在行的后面新增加一行空行,并锚点在该新行的首字符处。
O:在当前光标所在行的前面新增加一行空行,并锚点在该新行的首字符处。
esc: 退出编辑模式。
yy:复制整行。 行数(数字 yy。如2 yy,复制2行,从光标开始向后数2行)
y$:复制从光标开始到行尾的字符。
p: 粘贴。
dd:剪切整行
d$:剪切从光标开始到行尾的字符。
u:撤销
Ctrl+r: 还原上次u撤销的操作。
x:删除字符。
shit+6: 移动到行首。
Shit+4:移动到行尾。
:w 文件名: 将编辑后的文件另存为。 如 :w /etc/test 保存到 /etc/test文件。
“:!”: 临时执行其它命令。如 :! man ls 等 执行完用“enter” 回到vim模式。
:/字符: 查找字符。如/3查找3字符。如果有多处相匹配的,可以在查找后输入n。
:/s/旧的字符/新的字符: 对当前行的“旧字符”替换“新的字符”。
:%s/旧的字符/新的字符:对全文进行找查并替换。但仅替换一个。
:%s/旧的字符/新的字符/g:对全文进行找查并替换,并替换所有的“旧字符”。
:3,5%s/旧的字符/新的字符/g:对第三到第五行进行修改。
4. tail: 查看文件内容。
tail /log/files 查看files的最后10行数据。
tail -n100 /files 查看files的最后100行的数据。 n可以省略。 等价于 tail -100 /files
tail -f /files: 循环查看files的最后10行数据(当查看日志时很有用)。
tail -f /files | grep 37132419850612731X :和管道符以及 grep命令一起,监控日志中是否出现了想要监控的字符串。
5. 用户命令:
useradd 新建用户。 如useradd user1 新增加用户user1.
userdel 删除用户。userdel user1删除用户 user1.这样仅删除用户,但是用户的home目录还会被保留。可以用 userdel -r user1,删除user1的同时删除其home及其它配置文件。
passwd 设置/修改用户密码 passwd 用户名。如 passwd user1: 为user1修改(设置)密码
usermod: usermod -g group1 user1 修改用户属组。usermod -d /test/home user1 修改用户user1的home路径为 /test/home
chage 修改用户属性
6.netstat 和 ss。 查看网络情况(yum install net-tools 安装)。
netstat -an 查看连接本机的IP
netstat -ntpl n 不解析ip到域名。 t: tcp协议。 p:进程。l: 监听应用(LISTEN状态的)。
ss -ntpl。同上。
ss -ntp: 查看ESTAB状态的队列
state:tcp三次握手的状态。
Recv-Q:接收到的队列。
Send-Q:发送队列。
如果想查看某个具体的服务,可以加上端口号。
ss -ntp | grep 9200
7.top
top - 08:15:01 :当前时间
up 10 days,13:21: 最近一次启动后,累计运行的时长。
1 user: 当前登录的用户。
load average:0.08,0.14,0.13: 1分钟,5分钟,15分钟 时间段内机器的平均负载均衡。
Tasks: 91 total: 总共多少进程。
2 running: 在运行的进程数。
89 sleeping: 等待进程。是因为资源等待或收到等待信息而进入等待的进程。基本不占用资源。
0 stopped: 挂起进程。因I/O资源等待被暂停的进程。
0 zombile: 僵尸进程。已结束未收到父进程的wait4()调度的进程。
%cpu(s): top命令默认显示cpu的平均值(如下)。如果有多个cpu时,使用top命令后,再按“1”,即可展开所有cpu信息。“1”也可以收起cpu,展示平均值。
1.0 us: 用户进程占用的cpu 百分比。这里是1%。
0.3 sy: 系统进程占用的cpu 百分比。这里是0.3%。
0.0 ni: 调整过优先级的进程占用cpu 百分比。这里是0%。
98.7 id: 空闲的CPU百分比。这里是 98.7%,说明CPU使用率不高。
0.0 wa: 因等待输入输出占用的CPU百分比。这里为0%.如果这个值比较高说明系统的读写有进程堵塞,性能分析时要做性能分析了。
0.0 hi: 硬中断,因外部设备发起的中断。
0.0 si: 软中断。因优先级调整或者进程运行中的其它中断信息,导致正在运行的进程暂时停止,让其它进程进行。等期他进程执行完成后,再回来继续执行。
0.0 st:cpu超分,一般是装虚拟机时分配的cpu大于了实际cpu数。
Mem: 主存(内存)。以kb为单位。
3735288 total: 总的内存大小。
237016 free: 未使用的内存大小。
2968028 used: 已使用的内存大小。
530244 buff/cache: 用于数据缓存的内存大小。
Swap: 虚拟内存。以kb为单位。
0 total: 总的内存大小。
0 free: 未使用的内存大小。
0 used: 已使用的内存大小。
514988 avail Mem: 指还有这么多内存可以使用。只有内存的需求量大于这个值,才会产生Swap。
PR: 优先级。
NI: nice值.负值表示高优先级,正值表示低优先级
VIRT:进程占用的虚拟内存
RES:进程使用的、未被换出的物理内存大小,单位kb,RES=CODE+DATA
SHR:进程占用了共享内存的大小。
S:进程状态: D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%cpu、%MEM: 占用的cpu和内存的百分比。
TIME+:进程使用的CPU时间总计,单位1/100秒
COMMAND:命令名/命令行
top -p pid: 只显示pid进程信息。
8。PS
ps -A: 显示所有进程信息
ps -ef: 显示所有进程信息,连同命令行
ps -elf:显示所有的线程(轻量级进程),连同命令行。
ps -l: 将目前属于您自己这次登入的 PID 与相关信息列示出来
ps aux: 列出目前所有的正在内存当中的程序
ps -aux |more: 与管道符连用,分页显示。
ps -elf | more:与管道符连用,分页显示。
ps -ef | more:与管道符连用,分页显示。
ps -ef | grep httpd | wc -I 查看httpd进程数。
ps -ef | grep nginx | wc -I 查看Nginx运行进程数。
netstat -n | awk '/^tcp/{++S[$NF]} END {for(a in S) print a, S[a]}' 查看Apache的并发请求数及其TCP连接状态。
9.nice ,修改进程的ni值。
nice -n 20 可执行文件。 如nice -n 20 ./test.sh 就是把test.sh程序的ni调整为20.
10. touch 修改文件属性。
touch file1: 修改file1的创建时间。 如果文件不存在,则创建文件。
11. ls 列出指定目录下的文件及文件夹。
ls /root: 列出root下的所有文件及文件夹。
ls: 列出当前文件夹下的所有文件及文件夹。
ls -l /root: 显示文件及文件夹的明细。
第一个“-”: -代表了为文件。如果是“d”代表了文件目录。
rw-: 当前文件所属用户对该文件的操作权限。r为读(4)、w为写(2)、x(7)为可执行。其中2、4、7为该权限对应的数字。见12,chmod
中间r--: 当前文件所属组对该文件的操作权限。 该组中的用户也有该权限。 如果用户和组的权限不同,以用户的权限为主。
最后r--:其它用户组对该文件的操作权限
第一个root: 该文件拥有者的用户名。
第二个root: 所属用户组。
0:文件大小。
时间: 文件创建的时间。
ls -l test: 其中test为目录,则显示test目录下的所有文件明细。
ls -ld test: 显示目录 test的明细。
注: root用户不受文件所示权限限制,可以对所有文件进行最大权限的操作。
12. chmod 修改文件的权限。
chmod 246 file1: 将文件file1的用户权限设置为写;将所有组的权限设置为读;将其它组设置为读写(2+4);
chmod 777 file1: 将文件file1的用户权限设置为可执行;将所有组的权限设置为可执行;将其它组设置为可执行
chmod -u+r file1: 将文件file1的属主、属组、其它组权限加上可读权限。同时会把属主的其他权限删除。
chmod u+r files: 将文件file1的用户权限加上读的权限。
13. chown、chgrd。
chown:修改文件或文件夹的属主、属组。 chown user1:grp1 file1,将 file1的所属用户改为 user1, 所属组修改为grp1.
chgrd:修改文件或文件夹的属组。
14. groupadd、groupdel。新建组和删除组。
groupadd grp1: 新建一个组grp1.
groupdel grp1:删除grp1.
15. id
id: 查看当前登录用户的属组、uid等信息。
id user1: 查看user1所属组及uid等信息
16. iftop, 网络带宽使用(首次需要yum install iftop来安装)
iftop -P:
TX:发送的数据占用的带宽。
RX:接收到的数据占用的带宽。
Total:占用的总带宽。
cum:从执行命令开始到现在的累积。
peak:在统计时间内峰值带宽。
rates:在过去1s、10s、40s内的占用情况。
17.sar (yum install sysstat安装)
1)sar -u: 查看cpu信息
具体的参数含意参考7.top命令。
2)sar -r: 内存信息
kbmemfree 空闲的物理内存大小
kbmemused 使用中的物理内存大小
%memused 物理内存使用率
kbbuffers 内核中作为缓冲区使用的物理内存大小,kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.
kbcached 缓存的文件大小
kbcommit 保证当前系统正常运行所需要的最小内存,即为了确保内存不溢出而需要的最少内存(物理内存+Swap分区)
commit 这个值是kbcommit与内存总量(物理内存+swap分区)的一个百分比的值
3)sar -b: IO的信息
tps 磁盘每秒钟的IO总数,等于iostat中的tps
rtps 每秒钟从磁盘读取的IO总数
wtps 每秒钟从写入到磁盘的IO总数
bread/s 每秒钟从磁盘读取的块总数
bwrtn/s 每秒钟此写入到磁盘的块总数
4)sar -d: 磁盘的读写情况
tps 每秒I/O的传输总数
rd_sec/s 每秒读取的扇区的总数
wr_sec/s 每秒写入的扇区的总数
avgrq-sz 平均每次次磁盘I/O操作的数据大小(扇区)
avgqu-sz 磁盘请求队列的平均长度
await 从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒,等于寻道时间+队列时间+服务时间
svctm I/O的服务处理时间,即不包括请求队列中的时间
%util I/O请求占用的CPU百分比,值越高,说明I/O越慢
5)sar -q: 查看进程信息。
runq-sz :运行队列的长度(等待运行的进程数,每核的CP不能超过3个)
plist-sz :进程列表中的进程(processes)和线程数(threads)的数量
ldavg-1:最后1分钟的CPU平均负载,即将多核CPU过去一分钟的负载相加再除以核心数得出的平均值,5分钟和15分钟以此类推
ldavg-5:最后5分钟的CPU平均负载
ldavg-15:最后15分钟的CPU平均负载
blocked :阻塞的进程数。
6)sar -u 1 10: 查看cpu信息,每1秒收集一次,共收集10次。