大数据课程-------linux部分
【1】linux命令
(1)who查找登录的用户
(2)last -n(-3)查看最近的登陆历史记录
(3)关机/重启
shutdown -h now 立刻关机
shutdown -h +10 10分钟以后关机
shutdown -h 12:00:00 12点整的时候关机
halt 立刻关机
shutdown -r now重启
reboot
(4)查看根目录:ls /
查看当前目录:ls .或者ls ./
查看加目录:ls ../
ls -l -h(-h查看文件的大小)
ls -lha (-a)展示隐藏文件
cd ~ 回到用户主目录
cd 回到用户主目录
cd -回退到上次所在的目录
分页查看一个文件:more install.log (less install.log)
(5)打包压缩
gzip压缩:gzip a.txt 解压:gunzip a.txt.gz 或者 gzip -d a.txt.gz
bzip2压缩:bzip2 a 解压:bunzip2 a.bz2 或者 bzip2 -d a.bz2
打包:将指定文件或文件夹 tar -cvf bak.tar ./aaa
将/etc/password 追加文件到bak.tar中(r)tar -rvf bak.tar /etc/password
解压:tar -xvf bak.tar
打包并压缩:tar -zcvf a.tar.gz aaa/
解包并解压缩:tar -zxvf a.tar.gz
解压到/usr下:tar -zxvf a.tar.gz -C /usr
(6)查找命令
(7)grep
查询包含hadoop 的行:grep hadoop /etc/password grep aaa ./*.txt
查询不包含hadoop的行:grep -v hadoop /etc/password(-v反选)
正则表达包含hadoop:grep 'hadoop' /etc/password
(8)文件权限的操作
(8)添加用户
useradd hulifang
passwd 设置密码
userdel -r hulifang (加一个-r就表示把用户及用户的主目录都删除)
(9)挂载,卸载:
du -sh /home 统计指定路径下的所有子目录和文件的大小
(10)rpm 安装包
(11)yum安装
(12)防火墙
iptables -L -n(查看防火墙的规则)
禁止ssh登录
iptables -A INPUT -p tcp -dport 22 -j DROP
删除规则
iptables -D INPUT -p tcp -dport 22 -j DROP
加入一条INPUT 规则开放80端口
iptables -I INPUT -p tcp -dport 80 -j ACCEPT
(13)cut命令
(14)sed 替换s命令
sed 's/test/mytest/g' example(在整行范围内把test替换成mytest,如果没有g标记,则只有每行第一个匹配的test被替换成mytest)
(15)last -n 5仅取出前五行
(16)awk命令
(17)crontab定时
分 时 日 月 周 命令
【2】shell脚本
(1)export A 可把变量提升为当前shell进程中的全局环境变量,可供其他子shell 程序使用
或者
source 子进程(在同一个进程空间中运行)(source 作用同 .)
(2)
A=`ls -la`反引号,运行里面的命令,并把结果返回给变量A
A=$(ls -la)等价于反引号
(3)$?表示上一个命令退出的状态
$$表示当前进程编号
$0表示当前脚本名称
$n表示n位置的输入参数(n代表数字,n>=1)
$#表示参数的个数,常用于循环
$*和$@都表示参数列表
(4)算数运算
字符串比较:= ,!=,-n(字符串长度是不为0,返回true),-z(字符串长度是为0,返回true)
if [ -n "aa" ];then echo ok; else echo notok;fi
if [ -n "" ];then echo ok; else echo notok;fi
文件判断:-d是否为目录,-f是否为文件,-e是否存在
自动化部署脚本:(except人机交互)