前言
铁匠运维网 团队决定整理一套入门的运维常用命令,希望喜欢Linux的朋友们更快的熟悉并掌握Linux运维,这里没有太多理论,有的只是干货!以下是学习路线,文章会持续更新(欢迎收藏哟^_^),在学习的过程中遇到任何问题,可以加我们的QQ群:375650204!
这里我会把网上看到的、自己平时用到的、和感兴趣的都整理出来,大部分采纳与网络分享的案例。如需删除,请邮件联系。
(1)让程序在用户退出后仍然在运行
1 ctrl+z暂停程序
2 bg让程序在后台运行
3 退出用户登录即可
(2)用find命令查找指定的文件,并且执行rm操作
[root@tiejiang ~]# find ./ -name “*****” -exec rm -f {} /;
(3)递归搜索含有某个关键字的文件目录。
[root@tiejiang ~]# grep -iHR “****” ./*
-i 对要搜索的字符忽略大小写
-H 同时打印包括搜索字符串的文件名
-R 递归搜索,当指定的搜索路径是一个目录时,加了-R的搜索会执行递归搜索
(4)Linux 硬件时间查看hkclock –show
硬件时间修改:
[root@tiejiang ~]# hwclock –set –date=’10/11/2016 17:07:00′
系统时间与硬件时间同步:
[root@tiejiang ~]# hwclock –hctosys
(5)scp拷贝文件,key的方式
[root@tiejiang ~]# /usr/bin/ssh -x -oForwardAgent no -oPermitLocalCommand no -oClearAllForwardings yes -i/root/.ssh/iptvcp 10.0.51.198 scp -r -d -t /letv/…
(6)查看组播情况
[root@tiejiang ~]# netstat -ng
(7)smarttools可以获取硬盘重要参数
(8)grep 精确查找
[root@tiejiang ~]# grep -w ‘north’ install.log
(9)expr模式匹配
expr也有模式匹配功能。可以使用expr通过指定冒号选项计算字符串中字符数。.*意即任何字符重复0次或多次。expr $a : ‘[a-zA-Z]*’
(10)vim 行左对齐
:1,$ left
(11)倒序字符串,倒序下文件中字符串内容
[root@tiejiang ~]# rev +文件名
(12)sed将”/file/file1″替换为”//file//file1″
[root@tiejiang ~]# sed -e ‘s/////////g’
[root@tiejiang ~]# sed -E -e “s:///://////:g”(写入shell文件中)
(13)modprobe -v -r 模块名
移出模块
(14)modprobe -v 模块名
加载模块
(15)lsmod|grep 模块名
查看相关依赖关系的模块
(16)modinfo 查看模块的信息,及相关的配置参数
modinfo 模块名
(17)ssh登录较慢
去除dns反解析
[root@tiejiang ~]# UseDNS no
(18)ssh 连接开机详细输出
[root@tiejiang ~]# ssh -v
(19)pkill命令使用方法
pkill 加命令名称 可以杀死命令
(20)ntpdate 同步server地址
128.138.140.44
(21)date 命令设置时间
[root@tiejiang ~]# date -s 20161115
[root@tiejiang ~]# date -s 08:45:00
(22)linux ntpd配置
ntpstat 查看自身服务器与上一级服务器之间的连接状态
如果出现:synchronised to local net at stratum
则需要检查#server 127.127.1.0 # local clock
[root@tiejiang ~]# fudge 127.127.1.0 stratum 10 是否已经备注
(23)可用内存数
[root@tiejiang ~]# total-free-cache-buffer
(24)ps -auxww 按相关使用量排序
由于ps的输出是一PID号的顺序显示的,若要实现按照某一项使用量排序,需要把某项放入最前面。
[root@tiejiang ~]# ps -auxww|awk ‘{print $5,$1,$11}’|sort -r|more (按照内存使用量排序)
按内存的大到小排序
按虚拟内存从大到小排列进程:
[root@tiejiang ~]# ps -eo “%C%p%z%a”|sort -k3 -nr
按实际使用内存百分比排序
[root@tiejiang ~]# ps -eo user,pid,size,pmem,vsize,command|sort -k4 -nr|more
查看并发访问用户的前10位
[root@tiejiang ~]# netstat -anp|grep 80|grep ESTAB|awk ‘{print $5}’|awk -F ‘:’ ‘{print $1}’|sort |uniq -c|sort -rn|head -n 10
对cpu访问量高进程排序
[root@tiejiang ~]# ps -eo user,pid,size,pmem,vsize,command,%cpu|sort -k7 -nr|more
(25)1080p硬盘(2t容量)挂载在115.182.51.25(centos系统)上时会会报错,初步估计是由于linux系统对移动硬盘容量的限制引起的问题,而在挂载我自己的移动硬盘时没有出现此情况。
错误情况:“the partition table is corrupt (partition is smaller than NTFS)”
linux系统挂载ntfs
需要安装ntfs-3f fuse
(26)查看进程打开的文件:
[root@tiejiang ~]# lsof -p PID
(27)杀死某一进程,杀死Nginx进程(杀死某一进程)
[root@tiejiang ~]# ps -ef|grep -v grep |grep nginx|awk ‘{print $2}’ 或
[root@tiejiang ~]# for i in `ps aux | grep nginx | grep -v grep | awk {‘print $2’}` ; do kill $i; done
(28)清空linux buffer cache
[root@tiejiang ~]# sync && echo 3 > /proc/sys/vm/drop_caches
(29)linux测试硬盘读写速度
time有计时作用,dd用于复制,从if读出,写到of。if=/dev/zero不产生IO,因此可以用来测试纯写速度。同理of=/dev/null不产生IO,可以用来测试纯读速度。bs是每次读或写的大小,即一个块的大小,count是读写块的数量。
1.测/目录所在磁盘的纯写速度:
[root@tiejiang / ]# time dd if=/dev/zero bs=1024 count=1000000 of=/1Gb.file
2.测/目录所在磁盘的纯读速度:
dd if=/kvm/ftp/other/1Gb.file bs=64k |dd of=/dev/null
3.测读写速度(这是什么):
[root@tiejiang ~]# dd if=/vat/test of=/oradata/test1 bs=64k
理论上复制量越大测试越准确。
(30)crontab中用什么命令定义某个程序执行的优先级别
nice/renice:进程执行优先级
概念:
进程优先级:系统按进程优先级的不同分配CPU时间,优先级高的进程会得到更多的CPU使用时间,以提高速度,缩短总的执行时间。
进程优先级范围:-20至19
最高等级:-20
最低等级:19
系统管理员有权将进程优先级设置为-1至-20,而普通用户只能设置0至19。
进程运行的默认等级为0。
用nice执行的进程其默认等级为10(即nice <程序名>,不指定等级时)。
格式:
nice <程序名>
nice -<等级> <程序名>
如:(命令后加&表示以后台运行)
vi & 优先等级0,默认等级。
nice vi & 优先等级10,使用nice执行程序时的默认等级。
nice -50 vi & 优先等级19,-号表示选项,等级50超过最低等级19,因此系统以等级19执行。
nice -18 vi & 优先等级18。
nice –50 vi & 优先等级-20,选项值为-50,超过最高等级-20,因此系统以等级-20执行。
nice –18 vi & 优先等级-18。
通过ps -l可查看以上命令的执行情况(注意查看各vi进程NI值的不同)。
重新调整正在执行的进程的优先级:
调整指定PID进程的等级
renice <等级> <PID>
注意:<等级>是参数,不是选项,没有前缀-号。
调整指定用户的所有进程的等级
renice <等级> <用户名1> <用户名2> …
调整指定组的所有用户的所有进程的等级
renice <等级> -g <组名1>
(31)xargs是一条Unix和类Unix操作系统的常用命令。它的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题
[root@tiejiang ~]# find . -name “*.foo” -print0 | xargs -0 -i mv {} /tmp/trash
使用-i参数将{}中内容替换为列表中的内容
(32)为已经存在的目录添加系统用户
[root@tiejiang ~]# useradd -d /bak_important -s /sbin/nologin tiejiang -p tiejiang
(33)linux内存计算
一个公式:物理内存 + 占用的swap = 空闲物理内存 + Memory buffer + Disk Cache + 使用掉的驻留内存4G + 53MB = 17MB + 46MB + 3.2GB + ?
所以使用掉的驻留内存差不多有700-800MB 再累计你top出来那些进程的驻留内存数量,应该是八九不离十的。从你的操作系统的性能数据来看,物理内存还空闲的很,大部分物理内存被操作系统用做disk cache,可能你的系统IO还是稍微有点频繁的。swap也占用了一点,说明操作系统曾经出现过短暂的内存吃紧的状况,把一些闲置进程换到了swap上 去了,而这些闲置进程一直也没有再被使用到过,所以一直待在swap里面没有出来过。
(34)strace
跟踪程式执行时的系统调用和所接收的信号.通常的用法是strace执行一直到commande结束.并且将所调用的系统调用的名称、参数和返回值输出到标准输出或者输出到-o指定的文件.strace是一个功能强大的调试,分析诊断工具.你将发现他是一个极好的帮手在你要调试一个无法看到源码或者源码无法在编
[root@tiejiang ~]# man strace
(35)ldd + 进程名 查看命令进程所使用库
(36)watch 时时执行某个命令 -n 间隔时间差
[root@tiejiang ~]# watch -n1 “ps -auxww”
(37)vncserver xstartup gnome启动
[root@tiejiang ~]# vi ~/.vnc/xstartup
[root@tiejiang ~]# gnome-session &
(38)nmap -v -sP 192.168.0.0/24扫描网段存活机器。
(39)gpt可以挂载超过2T存储空间
(40)ext3最大文件系统限制8T,故可以使用ext4方式挂载。
突破文件系统的限制
ext4 的一个明显差别就是它支持更大的文件系统、文件和子目录。ext4 支持的最大文件系统为 1 EB(1000 PB)。虽然根据今天的标准这个文件系统已经非常巨大,但存储空间的消费会不断增长,因此 ext4 必须考虑到未来的发展。ext4 支持最大 16 TB 的文件(假设由 4KB 的块组成),这个容量是 ext3 的 8 倍。
最后,ext4 也扩展了子目录的容量,将其从 32KB 扩展到无穷大。这是极端情况,我们还需要考虑文件系统的层次结构,因为它的最大存储容量为 1 EB。此外,目录索引也优化为类似于散列 B 树结构,因此尽管限制更加多,但 ext4 支持更快的查找。
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/55609.html