您的位置:首页 > 运维架构 > Shell

总结下常用的linux shell命令

2016-10-27 10:24 387 查看
总结下常用的linux shell命令,以备查阅。

1.查看文件内容
#cat test.log					显示文件内容
#cat > test.txt					从键盘输入创建一个新文件,按ctrl+d结束文件
#nl test.log					显示文件内容并增加行号
#more -5 test.log				按页显示文件,每页显示5行,空格下一页,b返回上一页,q退出显示
#tail -f test.log				监视文件的尾部内容并刷新显示
#tail -n 20 test.log				显示文件最后20行

2.查询IO使用情况
#iostat -xz 2 3					每两秒显示一次io使用情况,共显示3次

3.统计行数和字节数
#wc -l filename					统计文件行数
#wc -c filename					统计文件字节数

4.显示和日期
#date						显示系统当前时间
#date -s “2016-10-24 10:22:13”			设置系统当前时间
#date -s “20161024 10:22:13”			设置系统当前时间
#cal -3	-m					显示前后三个月的日历,周日作为一周的最后一天

5.查找
#find /home/ -type d -name 'mysql'		查询名称为mysql的目录
#find ./ -size 0 -exec rm {} \;			查询大小为0的文件并删除

6.过滤显示
#grep -r -i -n 'test' * 			在当前目录及子目录下查询所有包含字符串test的文件和目录,不区分大小写,显示行号
#pe -ef | grep -c 'nginx'			统计nginx进程数

7.建立软连接
#ln -s ./libmysqlclient.so.16  libmysqlclient.so  为当前文件libmysqlclient.so.16建立软连接为libmysqlclient.so

8.显示系统登录用户
#last -20						显示20条历史登录的用户信息
#who							显示系统当前登录用户

9.压缩解压
#tar -zxvf package.tar.gz				解压gz文件包
#tar -zcvf package.tar.gz   package			打包压缩gz文件
#tar -jxvf package.tar.bz2				解压bz2文件包
#tar -jcvf package.tar.bz2  package			打包压缩bz2文件

10.后台运行命令
#./test.sh &						在后台运行test.sh
#nohup ./test.sh &					在后台运行test.sh,断开终端执行也不会被终止

#jobs							查看后台运行的任务及ID
#fg	%1						将后台的任务ID为1的任务调到前台
ctrl + z						将前台运行的任务放到后台并暂停执行
#bg %1    						启动执行后台的ID为1的任务

11.远程登录
#telnet 192.168.11.13					远程登录主机,默认端口23
#telnet 192.168.11.13 8080				测试远程主机端口是否监听
#ssh 192.168.11.13					远程登录主机,默认端口22

12.远程拷贝
#scp -r local_file remote_ip:remote_folder		拷贝本地目录到远程主机,需要输入远程主机root密码
#scp 192.168.11.13:/home/zxh/test.txt 	./		拷贝远程主机文件到本地,需要输入远程主机root密码

13.路由
#route							显示当前路由
#route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0	增加一条到达224.0.0.0的路由
#route del -net 224.0.0.0 netmask 240.0.0.0		删除一条路由记录
#route add default gw 192.168.120.240			添加设置默认网关
#route del default gw 192.168.120.240			删除默认网关

14.监视命令运行状况
#watch -n 1 netstat -tlnp				每隔一秒执行一下netstat命令

15.网络抓包
#ifconfig						显示网络配置,找到指定ip的网卡如eth0
#tcpdump -i eth0 -w test.pcap   			保存为.pcap文件可以在windows下使用wireshark软件查看
#tcpdump tcp port 8080 and src host 192.168.13.49	可指定过滤条件,一般不需要指定,到wireshark再根据需要过滤显示

16.显示进程占用资源
#top -d 2      					2秒刷新一次显示
#top -d 2 | grep master 			过滤显示master进程

17.显示文件或目录大小
#ls -h test.txt 				以易读方式(kb,gb)显示指定文件大小
#du -sh dirname 				显示指定目录总大小
#du -sh 					显示当前目录总大小
#df -h  					显示磁盘使用情况

18.显示网络连接信息
#netstat -anp					显示所有网络连接信息,ip地址以数字显示,显示进程ID和名称
#netstat -tlnp					显示tcp网络连接,显示正处于listen监听状态的连接
#ss -a  					显示网络socket信息,比netstat更快

19.显示系统信息
#uname -a 					显示内核版本和系统位数
#cat /etc/issue					显示发行版本,如centos 6.5
#cat /proc/cpuinfo 				显示CPU信息
#free -m 					概要显示内存使用情况
#cat /proc/meminfo				详细显示内存信息
#cat /proc/version				显示内核版本和编译器版本

20.显示磁盘信息
#fdisk -l					显示磁盘的分区情况
#fdisk /dev/sda					操作系统分区,按m显示帮助命令,p显示分区,d删除一个分区,n增加一个分区,t修改分区类型,q不保存退出,w保存修改退出
#mkdir -p /mnt/usbhd1				建立目录用来作挂接点(mount point)
#mount -t ntfs /dev/sdc1 /mnt/usbhd1		挂载硬盘

21.linux nfs共享,跨主机
#vi /etc/exports				共享环境11.95上添加nfs共享信息 /home/zxh/pcr  192.168.11.*(rw,sync,no_root_squash)
#service nfs restart				共享环境11.95上重启nfs服务
#mount -t nfs -o ro,sync 192.168.11.95:/home/zxh/pcr/  /log/zxh		新主机环境下执行mount,挂载本地路径到共享路径,文件系统nfs,只读同步

22.修改主机IP地址
修改IP地址
#ifconfig eth0 192.168.1.155 netmask 255.255.255.0			即时生效
修改/etc/sysconfig/network-scripts/ifcfg-eth0				重启生效

修改default gateway
#route add default gw 192.168.1.1					即时生效
修改/etc/sysconfig/network-scripts/ifcfg-eth0				重启生效

修改dns
修改/etc/resolv.conf							修改后即时生效,重启同样有效

修改host name
#hostname test1								即时生效
修改/etc/sysconfig/network						重启生效

23.环境变量和命令别名
#vi /etc/profile
export PATH="$PATH:/usr/lib/oracle/11.2/client"				修改PATH环境变量增加路径
#source /etc/profile							让环境变量立即生效

#vi /etc/bashrc
alias ll='ls -l --color=auto'						修改命令别名
#source /etc/bashrc							使修改立即生效
以上修改对系统所有用户,如果只对某个用户生效可只修改该用户目录下/home/zxh/下的profile和bashrc文件

24.进程操作
#ps -ef									显示所有进程
#ps -ef | grep master							显示master进程
#pkill -9 master							强制结束master进程
#kill -9 master								强制结束master进程
#kill all master							结束所有master进程

25.重定向
#date > test1.txt 							将输出重定向到test1.txt
#date >> test1.txt 							将输出以追加的方式重定向到test1.txt
#date > /dev/null 2>&1 							屏蔽标准输出和标准错误输出
#cat test1.txt test2.txt >> test0.txt					追加多个文件到test0.txt
#cat > test1.txt < test.sh						从test.sh 获得输入数据,然后输出给文件test1.txt
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: