Shell脚本常用命令简介
格式化日期yyyy-mm-dd hh:mm:ss显示
date "+%Y-%m-%d %H:%M:%S"
将内容写入到新文件
echo "hello">a.txt
将内容追加到文件末尾(默认换行)
echo "shell">>a.txt
赋予指定的用户可以使用root权限(使用root登录):
vi /etc/sudoers ##如果root没有权限修改该文件则授权写和执行权限:chmod u+w /etc/sudoers和chmod u+x /etc/sudoers
在## Allow root to run any commands anywhere这行内容下添加 user ALL=(ALL) ALL
允许普通用户关机
在普通用户登录下执行:sudo chmod u+s /sbin/shutdown ##需要该普通用户拥有执行root命令的权限
允许普通用户修改系统时间
在普通用户登录下执行:sudo chmod u+s /bin/date ##需要该普通用户拥有执行root命令的权限
带参数if~else if else的shell关机或重启脚本
#!/bin/sh
flag=$1
if [[ $flag = "s" ]]; then
echo "################################## Shutdown lefu Claster ####################################"
for i in lf7 lf6 lf5 lf3 lf1; do echo $i; ssh $i "source /etc/profile;shutdown -h now"; done
elif [[ $flag = "r" ]]; then
echo "################################## Reboot lefu Claster ####################################"
for i in lf7 lf6 lf5 lf3 lf1; do echo $i; ssh $i "source /etc/profile;shutdown -r now"; done
else
echo -e "\nUsage : s(shutdown) or r(reboot)\n"
fi
为当前用户创建定时任务
crontab -e 编辑该用户的计时器设置。
crontab-l 列出该用户的计时器设置。
crontab-r 删除该用户的计时器设置。
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
查看定时任务服务是否已经启动:service crond status ##如果已经运行则输出:crond (pid 2538) is running...
查看定时任务服务是否开机启动:chkconfig --list | grep crond ##如果是开机启动则输出:crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
为当前用户添加定时任务:
crontab -e
30 23 * * * echo `date`>>/home/lefuBigDataDev/lefu/testdata/words ##每天的23:30:01秒将系统时间写入到一个文件中
10 17 * * * echo `date`>>/home/lefuBigDataDev/lefu/testdata/test1 ##每天的17:10:01秒将系统时间写入到一个文件中
shift+zz
查看当前用户的定时任务:
crontab -l
集群时间同步(适用于无法连接外网的集群)
假设有node1,node3,node5,node6,node7五台机器,除node1外其他四台机器都从node1获取时间如下
在node1机器上创建syncClusterTime脚本
#!/bin/sh
current=`date +%H:%M:%S`
for i in node3 node5 node6 node7; do echo $i; ssh $i "source /etc/profile;date -s $current"; done
该脚本创建完则添加到定时任务(每天早晨5:10分同步时间):
crontab -e
10 5 * * * syncClusterTime ##每天早晨的5:10:01秒同步集群时间
shift+zz
以上步骤完成即可
设置CentOS防火墙允许外部用户访问特定端口
允许外网机器访问hadoop集群服务器的hdfs web页面,如下
vi /etc/sysconfig/iptables ##编辑防火墙配置文件
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50070 -j ACCEPT ##对外部开放50070端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1000:30000 -j ACCEPT ##对外部开放1000~30000范围的端口
shift+zz ##保存退出
service iptables restart ##刷新使防火墙配置生效
shutdown -r now ##重启服务器
这时候在外部电脑上用浏览器打开http://IP:50070端口即可访问
解压和压缩gzip文件
解压:tar -zxvf lefuyun001.tar.gz -C lefuyun
压缩:tar -czf lefuyun001.tar.gz lefuyun/
开机不启动图形界面:
vi /etc/inittab
id:3:initdefault:
Shell脚本常用命令简介的更多相关文章
- Shell 脚本常用命令
Shell脚本是Linux开发工作中常用的工具,但是我一直没有找到一个适合自己的简明扼要的HandBook.在工作过程中整理了一下,贴在这里已备查看. 1 Shell中的特殊符号 ...
- shell脚本常用命令汇总
一.shell脚本概述和入门 (1)shell脚本是一个命令行解释器,它接收应用程序/用户命令,然后调用操作系统内核 (2)shell脚本的常用执行方式: 第一种:采用bash或sh+脚本的相对路径或 ...
- 【原创】Linux基础之Shell脚本常用命令
#!/bin/sh 1 取脚本参数 $# 参数个数$0 当前脚本名$1 第1个参数$n 第n个参数$* 所有参数$@ 所有参数$? 上个命令的状态$$ 当前pid 2 日期 $ dateWed Mar ...
- linux常用命令(shell脚本常用命令)(grep、cut、sort、uniq、seq、tr、basename、dirname)
本章命令: 1 2 3 4 5 6 grep cut sort uniq seq tr 1.grep 作用:过滤文本内容 选项 描述 -E :--extended--regexp 模式是扩展正则表达式 ...
- Shell脚本常用命令整理
该笔记主要整理了一些常见的脚本操作命令,大致如下(持续补充中): 1. while.for循环 1. while.for循环 #!/bin/bash # while循环 v_start_date=${ ...
- shell脚本常用参数
shell 脚本 常用参数 #!/bin/sh # 在脚本第一行脚本头 # sh为当前系统默认shell,可指定为bash等shell sh -x # 执行过程 sh -n # 检查语法 (a=bbk ...
- linux 执行远程linux上的shell脚本或者命令以及scp 上传文件到ftp--免密码登陆
场景:在linux A 上执行Linux B上的shell脚本和命令 步骤1.设置ssh免登陆 1.SSH无密码登录 # 本地服务器执行(A机器):生成密钥对 ssh-keygen -t dsa -P ...
- shell脚本常用技巧
shell脚本常用技巧 1.获取随机字符串或数字 ~]#echo $RANDOM | md5sum | cut -c 1-6 ~]#openssl rand -base64 4 | cut -c 1- ...
- shell 脚本控制命令的执行顺序
&&,||,(),{},& 五个符号的运用shell脚本执行命令的时候,有时候会依赖于前一个命令是否执行成功.而&&和||就是用来判断前一个命令执行效果的. 也 ...
随机推荐
- [转] Linux下查看用户列表
原文地址:http://xiaod.in/read.php?77 俺的centos vps上面不知道添加了多少个账户,今天想清理一下,但是以前还未查看过linux用户列表,google了一下,找到方便 ...
- poj 3660 Cow Contest (传递闭包)
/* floyd 传递闭包 开始Floyd 之后统计每个点能到的或能到这个点的 也就是他能和几个人确定胜负关系 第一批要有n-1个 然后每次减掉上一批的人数 麻烦的很 复杂度上天了.... 正难则反 ...
- solr官方文档翻译系列之schema.xml配置介绍
常见的元素 <field name="weight" type="float" indexed="true" stored=" ...
- spring源码分析构建
命令如下: ant ant install-maven ant jar package E:\download\spring-framework-3.1.3.RELEASE\build-spring- ...
- IIS与ASP.NET 通信机制深度剖析
IIS5.X缺点: ISAPI 动态连接库被加载到InetInfo.exe 进程中,它和工作进程之间是一种典型的跨进程通信方式,尽管采用命名管道,但是仍然会带来性能的瓶颈. 所有的 ASP.NET 应 ...
- How to Install Tomcat
Read:http://www.ntu.edu.sg/home/ehchua/programming/howto/Tomcat_HowTo.html
- MySQL分支Percona,折腾中,先科普一下
官方网站:http://www.percona.com/ Percona 为 MySQL 数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升.该版本提升了在高负载情况下的 Inno ...
- MYSQL数据库命名与其设计规范
你是否对获得MYSQL数据库命名与其设计规范 的实际操作感到十分头疼?如果是这样子的话,以下的文章将会给你相应的解决方案,以下的文章主要是介绍获得MYSQL数据库命名与其设计规范 的方案,以下就是相关 ...
- 常用语句1【weber出品】
1.查看控制文件位置: select * from v$controlfile show parameter control; 2.查询日志文件位置 select group#,status,mem ...
- 监听UITabBarItem来拦截是否要跳转
情景是这样的: 我需要在用户点击"我的"的时候, 判断是否已经登录, 如果没有, 就不进入该界面, 而是跳转到用户登录界面, 所以这里我需要进行UITabBarItem点击事件的拦 ...