0、首行 #!/bin/bash(中间无空格)
1、引用变量 ${变量名}
2、获取参数
$0(当前执行的脚本文件名) $n(第n个参数) $*(所有参数,是个以空格分隔的字符串)
$@(所有参数,是个数组) $#(参数的个数)
3、获取上个命令的执行结果 $?
4、注释 #
5、让shell脚本在远程机器上执行
ssh hadoop@hadoop02 rm ~/app/jdk #ssh登录到远程主机,并执行命令
1、解压缩(打包和压缩):
tar -c(create,打包) -x(extract,解包) -z(执行对象是压缩文件,即.tar.gz)
常用:-czf(创建archive file) -tvf(查看包内的文件列表) -xzf(解压出包内的所有文件)
2、软链接
ln -s jdk1.8 jdk (在当前目录下为当前目录下的文件夹jdk1.8创建一个名为jdk的软链接)
rm jdk (删除软链接jdk)
3、环境变量
/home/hadoop/.bashrc /home/hadoop/.bash_profile /etc/profile
用src 命令使环境变量立即生效
4、远程复制
scp -r source_dir user_name@remote_address:/home/hadoop/app
centos 查看操作系统版本:cat /etc/issue
网络设置(网址IP、网关、掩码、DNS): vi /etc/sysconfig/network-scripts/ifcfg-eth0
1 DEVICE=eth0 #网卡名
2 HWADDR=00:0C:29:5B:A1:ED
3 TYPE=Ethernet #网络类型:局域网
4 UUID=f146e15b-ab88-487f-a4c5-33544c21964c
5 ONBOOT=yes #开机即启用设备
6 NM_CONTROLLED=yes #namespace?
7 BOOTPROTO=static #协议类型:静态IP,dhcp动态获取
8 IPADDR=192.168.174.20 #internet protocal address
9 NETMASK=255.255.255.0 #网络掩码
10 GATEWAY=192.168.174.2 #网关
11 DNS1=8.8.8.8 #域名解析服务器
12 DNS2=8.8.4.4
添加用户:useradd
,默认添加一个同名的用户组、创建家目录
修改密码:passwd
查看所有用户信息:cat /etc/passwd
查看所有用户组信息:cat /etc/gorups
设置主机名hostname:vi /etc/sysconfig/network
查看主机名:hostname
生成ssh密钥对:ssh-keygen
生成了秘钥及公钥分别存放在../.ssh/rsa ../.ssh/rsa.pub 两个文件下,将自己的公钥文件中的内容复制出来,粘贴追加到欲要连接到的主机的~/.ssh/authorized_keys文件中: cat ~/.ssh/rsa.pub >> ~/.ssh/authorized-keys
打包和压缩及解压缩
在linux中是先把多个文件打包成一个文件,再对其进行压缩的。
打包命令是tar,tar 命令由可以在打包的同时调用压缩命令。如 tar -z
就是调用gzip命令进行压缩或解压 ,压缩文件一般后缀为.tar.gz tar -j
是调用bzip2命令进行压缩或解压,一般会将压缩文件后缀为.tar.bz2
tar的一般用法为:
-c(创建新的打包或压缩)
-x(解包或解压缩)
-u (更新压缩包)
-r(向压缩包中追加)
-t (查看压缩包中的文件列表)