shell日常运维shell命令集合

1、date 查看修改系统时间和日期

date:

-d

显示字符串描述的时间

-f

显示DATEFILE文件中的每行时间

-r

显示文件的最后修改时间

-R

以RFC-2822兼容日期格式显示时间

-rfc-2822

以RFC-2822兼容日期格式显示时间

-s

设置时间为string

-u

显示或设定为Coordinated Universal Time时间格式

运用-d参数

当前时间

# date -d now

Thu Nov 14 22:52:45 PST 2013

下个月的时间

# date -d 'next monday'

Mon Nov 18 00:00:00 PST 2013

昨天的时间并格式化显示

# date -d yesterday +%Y%m%d

20131113

显示文件最后修改的时间

# date -r install.log

Fri Sep 6 11:31:15 PDT 2013

显示当前时间并格式化为 年-月-日 时:分:秒

date "+%Y-%m-%d %H:%M:%S"

2、grep

过滤空行和注释行

grep -v # /etc/swift/object-server.conf |grep -v "^$"

egrep -v "#|^$" filename

网站PV统计

网站PV,即Page view,网站页面点击量

统计当天/home/index页面点击量

grep `date +%d/%b/%Y` access.log | grep "/home/index.html" -c

3、vi

vi下把文件内容追加到其他文件

:1,129 w! >>nginx.conf.bak

4、ps

内存占用过高的进程排查

ps aux | head -1;ps aux|grep -v PID|sort -rn -k +4|head

5、find

按目录深度查找文件

find . -name "*.log*" -maxdepth 2 -mtime +15 -exec ls -l {} \;

declare:

-maxdepth 目录深度

-atime  -n[+n]: 找出文件访问时间在n日之内[之外]的文件。

-ctime  -n[+n]: 找出文件更改时间在n日之内[之外]的文件。

-mtime -n[+n]: 找出修改数据时间在n日之内[之外]的文件。

-amin   -n[+n]: 找出文件访问时间在n分钟之内[之外]的文件。

-cmin   -n[+n]: 找出文件更改时间在n分钟之内[之外]的文件。

-mmin  -n[+n]: 找出修改数据时间在n分钟之内[之外]的文件。

排除目录查找文件

find . -path "./20161218" -prune -o -name "*.log*" -print

declare:

-path pathname -prune:   避开指定子目录pathname查找

-o 或

-a 且

-not 相反

6、进程

让进程转入后台:

Ctrl + z

将进程转到前台:

fg

7、产生随机的十六进制数,其中n是字符数:

openssl rand -hex n

8、获取文本的md5 hash:

echo -n "text" | md5sum

9、压缩与解压缩

zip:

压缩当前目录下的内容为xxx.zip

zip -r xxx.zip ./*

删除压缩文件中的xxx.txt文件

zip -d xxx.zip xxx.txt

向压缩文件中添加xxx.txt文件

zip -m xxx.zip ./xxx.txt

同时压缩多个文件以及目录

zip -r xxx.zip file1 file2 file3 /home/xxx/xxxx

unzip:

解压缩到指定目录

unzip -d /home/xxxx xxx.zip

解压缩所有的txt文件到指定目录

unzip xxx.zip *.txt -d /home/xxxx

找出文件压缩后删除源文件

find -mtime +3 -name "file*"| xargs zip -rm log.zip

查看压缩包内的文件

unzip-v

10、sed

sed -s 's/^M//g' file 删除文件中windows格式下的空格

sed   '2,5d' file 显示文件file,除去2-5行

sed '/10[1-4]/d' file 显示除去包含101-104的行

sed '/^ *$/d file 删除文件中的空行

sed -n '/10[1-4]/p' file 只显示文件file中包含101-104的行

sed 's/moding/moden/g' file 将moding替换为moden

sed -n 's/^west/north/p' file 将west开头的行替换为north并显示出来

sed 's/...$//' file 删除每一行的最后三个字符

sed 's/^...//' file 删除每一行的头三个字符

sed 's#moding#moden#g'   file将moding替换为moden,s后面的#代表搜索串和替换串之间的分界符

sed'/101/,/105/s/$/  20050119/' file将从101的匹配行到105的匹配行的行末增加"20050119"内容

sed -e '/^#/!d' file 显示文件以#开头的行

sed -e 's/:/ /g' passwd    替换文件所有冒号为空格

-e不改变源文件,输出到标准输出

-i改变源文件

linux下删除windows文件的字符^M(ctrl-v)

:%s/^M$//g # 去掉行尾的^M

:%s/^M//g # 去掉所有的^M

:%s/^M/\r/g # 将^M替换成回车

# sed -e ‘s/^M/\n/g’filename

vi下去掉冒号

sed 's/://'g`

把文件中enabled的参数由1改为0

# sed -i '/enabled/s/1/0/' Iso.repo

11、删除带有.log后缀的文件

for i in `find -type d | grep ./`;do rm $i/*.log;done

12、批量修改文件后缀

rename .tar.gz zip *.tar.gz

13、swift日常命令

/etc/swift> sudo swift-ring-builder account.builder create 18 3 1

/etc/swift> sudo swift-ring-builder container.builder create 18 3 1

/etc/swift> sudo swift-ring-builder object.builder create 18 3 1

/etc/swift> export ZONE=1

/etc/swift> export STORAGE_LOCAL_NET_IP=192.168.1.101

/etc/swift> export WEIGHT=100

/etc/swift> export DEVICE=sdb1

添加

/etc/swift> sudo swift-ring-builder account.builder add z$ZONE-$STORAGE_LOCAL_NET_IP:6002/$DEVICE $WEIGHT

/etc/swift> sudo swift-ring-builder container.builder add z$ZONE-$STORAGE_LOCAL_NET_IP:6001/$DEVICE $WEIGHT

/etc/swift> sudo swift-ring-builder object.builder add z$ZONE-$STORAGE_LOCAL_NET_IP:6000/$DEVICE $WEIGHT

删除

/etc/swift> sudo swift-ring-builder account.builder remove z$ZONE-$STORAGE_LOCAL_NET_IP:6002/$DEVICE $WEIGHT

/etc/swift> sudo swift-ring-builder account.builder remove z1-192.168.1.101:6020

/etc/swift> sudo swift-ring-builder account.builder rebalance

/etc/swift> sudo swift-init proxy start

# vgdisplay

# lvcreate -n swiftlv -L 10G vg0

# mkfs.xfs /dev/mapper/vg0-swiftlv

# vi /etc/fstab

/dev/mapper/vg0-swiftlv /srv/node/sdb1    xfs    noatime,nodiratime,nobarrier,logbufs=8 0 0

# service rsyncd start

rsync rsync://[email protected]

/etc/swift> sudo swift-init all start

curl -k -v -H'X-Storage-User: system:root' -H 'X-Storage-Pass: testpass' https://192.168.1.100:8080/auth/v1.0

swift -Ahttp://192.168.1.100:8090/auth/v1.0 -U system:root -K testpass stat

swift -Ahttp://192.168.1.100:8090/auth/v1.0 -U system:root -K testpass post container1

swift -Ahttp://192.168.1.100:8090/auth/v1.0 -U system:root -K testpass upload container1 /etc/swift/*.ring.gz

swift -Ahttp://192.168.1.100:8090/auth/v1.0 -U system:root -K testpass list

同步所有的结点之后, 确保管理员( admin)可以访问 /etc/swift 目录,并且确保所有ring的.gz文件所有者都是正确的。

原文地址:http://blog.51cto.com/xiaoxiaozhou/2112496

时间: 2025-01-01 13:13:43

shell日常运维shell命令集合的相关文章

linux日常运维基础命令

查看系统负载情况 1.w    (使用w命令查看负载情况) 查看load average 行查看1分钟负载情况 5分钟负载情况 15分钟负载情况,如果数值超过CPU核数,则说明现在CPU使用过程中有排队现象,核数不够 2.uptime    (查看当前系统负载情况) 同w命令 vmstat    (查看) 使用方法: vmstat 1 5    (每隔一秒显示linux的负载状态,一共显示5次) r:一秒内平均进程 b:有多少任务被磁盘IO,网络阻塞 swpd:有多少数据量被交换,如果swpd值

kafka知识体系-日常运维命令

本文主要讲解kafka日常运维的命令,包括topic管理.性能测试脚本. kafka版本0.10.0,安装步骤见大数据平台搭建-kafka集群的搭建 常用脚本 如下所有的命令均基于KAFKA_HOME=/wls/oracle/kafka ,服务器列表如下: 10.20.112.59 10.20.112.64 10.20.112.65 10.20.116.129 10.20.116.175 创建topic /wls/oracle/kafka/bin/kafka-topics.sh --zookee

自动化运维Shell入门

运维shell 作用 项目部署 项目监控 什么是shell shell是一个程序,/bin/bash/,是一个命令解释器所有linux命令都由他来执行,打开终端就进入了 shell的交互式命令 运行方式 bash *.sh 更改可执行权限后使用./*.sh来执行 shource *.sh 语法 没有缩进要求,缩进是没有意义的 注释使用# 双引号""内嵌入变量是解释变量 单引号''内写什么,就是什么,不会解释变量 shource不会开启新的进程来执行脚本,可以跟当前窗口共享进程,以及变量

Hbase 日常运维

1.1监控Hbase运行状况 1.1.1操作系统 1.1.1.1IO a.群集网络IO,磁盘IO,HDFS IO IO越大说明文件读写操作越多.当IO突然增加时,有可能:1.compact队列较大,集群正在进行大量压缩操作. 2.正在执行mapreduce作业 可以通过CDH前台查看整个集群综合的数据或进入指定机器的前台查看单台机器的数据: b.Io wait 磁盘IO对集群的影响比较大,如果io wait时间过长需检查系统或磁盘是否有异常.通常IO增加时io wait也会增加,现在FMS的机器

hbase日常运维管用命令,region管理

1         Hbase日常运维 1.1       监控Hbase运行状况 1.1.1        操作系统 1.1.1.1 IO 群集网络IO,磁盘IO,HDFS IO IO越大说明文件读写操作越多.当IO突然增加时,有可能:1.compact队列较大,集群正在进行大量压缩操作. 2.正在执行mapreduce作业 可以通过CDH前台查看整个集群综合的数据或进入指定机器的前台查看单台机器的数据: Io wait 磁盘IO对集群的影响比较大,如果io wait时间过长需检查系统或磁盘是

Openstack云计算项目实施其二(安装后日常运维)

5 安装后日常运维   运维基本的操作都在控制节点上的,较为方便的方式就是在openstack 的 dashboard(仪表盘)中进行,进入 dashboard 的方式就是直接在浏览器中输入控制节点的 IP 地址.(需要注意的是浏览器选择方面最好选择火狐浏览器或则谷歌浏览器,因为相对于 IE 浏览器而言,前面两个浏览器对于 openstack 的支持性要好,使用 IE 会在打开实例控制台时无法进入,出现"No vnc...."的错误信息) 用户名和密码放在控制节点/root 下,存放在

Centos运维常用命令总结

Centos运维常用命令总结 1.删除0字节文件 find-type f -size 0 -exec rm -rf {} \; 2.查看进程 按内存从大到小排列 PS-e   -o "%C   : %p : %z : %a"|sort -k5 -nr 3.按cpu利用率从大到小排列 ps-e   -o "%C   : %p : %z : %a"|sort   -nr 4.打印说cache里的URL grep -r-a   jpg /data/cache/* | st

zookeeper 用法和日常运维

本文以ZooKeeper3.4.3版本的官方指南为基础:http://zookeeper.apache.org/doc/r3.4.3/zookeeperAdmin.html,补充一些作者运维实践中的要点,围绕ZK的部署和运维两个方面讲一些管理员需要知道的东西.本文并非一个ZK搭建的快速入门,关于这方面,可以查看<ZooKeeper快速搭建>. 1.部署 本章节主要讲述如何部署ZooKeeper,包括以下三部分的内容: 系统环境 集群模式的配置 单机模式的配置 系统环境和集群模式配置这两节内容大

hadoop日常运维与升级总结

日常运维 升级 问题处理方法 日常运维 进程管理 由于配置文件的更改,需要重启生效, 或者是进程自己因某种致命原因终止, 或者发现进程工作出现异常等情况下,需要进行手动进程的关闭或启动, 或者是增删节点过程中的需要, 进程的关闭与启动,使用 hadoop-daemon.sh start|stop datanode/namenode/journalnode/zkfc yarn-daemon.sh start|stop nodemanager/resourcemanager 检查进程是否完成关闭: