1.上传和下载
首先 yum 安装lrzsz
rz 从windows上传文件至linux (rz弹出对话框只有CRT软件才有)
sz 文件名 从linux中下载文件至windows
注:如何在CRT设置上传和下载路径
2.作业调度
crontab -e 编辑调度 ( -e (edit user's crontab))
crontab -l 查看调度 (-l (list user's crontab))
2.1写一个简单的shell脚本为例:
vi date.sh
#!/bin/bash :shell 脚本首行
echo "date:" :打印date:
date :时间
echo " " : 打印一个空格
chmod +x date.sh :给所有用户执行权限
显示结果:
[root@hadoop000 huluwa]# ./date.sh
date:
Sun May 13 18:21:29 CST 2018
[root@hadoop000 ~]# crontab -e
* * * * * /opt/huluwa/date.sh >> /tmp/date.log : 每分钟输出一条记录 (* * * * * 代表分 时 日 月 周 )
[root@hadoop000 ~]# tail -F /tmp/date.log
date:
Sun May 13 18:28:01 CST 2018
date:
Sun May 13 18:29:01 CST 2018
date:
Sun May 13 18:30:01 CST 2018
2.2休眠10s的shell脚本
[root@hadoop000 ~]# vi date.sh
#!/bin/bash
for((i=1;i<=6;i++));
do
date
sleep 10s
done
[root@hadoop000 ~]# crontab -e
* * * * * /root/date.sh >> /tmp/date.log
3.绝对路径和相对路径
/root/huluwa/zouhan 绝对路径
./huluwa/zouhan 相对路径 ./表示当前所在文件夹
4.后台执行shell脚本
./date.sh 前台运行,结果打印在前端,对话框关掉就结束
./date.sh & 后台运行,结果打印在前端,对话框关掉或按ctrl+c也不结束
nohup ./date.sh 将shell脚本的运行结果输出到nohup.out,按ctrl+z会中断
nohup ./date.sh & 将shell脚本的运行结果输出到nohup.out,按ctrl+z不会中断(生产常用)
nohup ./date.sh > /tmp/date.log 2>&1 & 将shell脚本的运行结果输出到指定文件夹下的指定日志文件中(生产常用)
5.screen 多人协作,后台回话
yum install screen
screen -S 会话名称 创建一个新的会话
screen -r 会话名称或代号 进入一个会话,前提是会话为detached状态
screen -list 查看当前所有进行的会话及其状态
ctrl +a +d 退出一个会话,会话仍后台运行变为detached状态
会话有两种状态:1.attached 有人;2.detached 无人
会话只在当前用户可以看到,其他用户无法看到,若其他用户想查看,试试前边加前缀sudo
6.下载软件
wget 下载链接 可从外网下载东西
7.将文件从A机器传到B机器
[root@hadoop000 ~]# scp xxx.log root@hadoop001:/tmp
[root@hadoop000 ~]# scp -r /dirname root@hadoop001:/tmp
[root@hadoop000 ~]# scp xxx.log hadoop001:/tmp (若不输入用户,则默认是传至hadoop000机器的当前用户对应在hadoop001里的用户,也就是hadoop001里的root用户(前提是hadoop001里有这个用户),所以要养成习惯,把用户补全,不然可能出现不必要的问题)
[root@hadoop000 ~]# scp root@hadoop001:/tmp xxx.log /tmp (将hadoop001上某路径下的某文件拿到hadoop000机器上)
8.ssh
文件夹所在位置 : ~/.ssh
[root@hadoop000 ~]# ssh genkey 生成新的ssh文件
[root@hadoop000 ~]# ssh hadoop001 登录hadoop001机器
[root@hadoop000 ~]# ssh hadoop001 date 将命令在目标机器上执行并返回结果,命令执行完后依然在hadoop000机器上,没有真正登录进hadoop001机器
9.做多台机器间互相信任
生成:
[root@hadoop000 ~]#rm -rf ~/.ssh
[root@hadoop001 ~]#rm -rf ~/.ssh
[root@hadoop000 ~]# ssh-keygen
[root@hadoop001 ~]# ssh-keygen
选择第一台作为先完善的机器
[root@hadoop000 .ssh]# cat id_rsa.pub >> authorized_keys
其他机器将id_rsa.pub发送给第一台
[root@hadoop001 .ssh]# scp id_rsa.pub 192.168.137.251:/root/.ssh/id_rsa.pub.hadoop001
[root@hadoop002 .ssh]# scp id_rsa.pub 192.168.137.251:/root/.ssh/id_rsa.pub.hadoop001
[root@hadoop003 .ssh]# scp id_rsa.pub 192.168.137.251:/root/.ssh/id_rsa.pub.hadoop001
[root@hadoop004 .ssh]# scp id_rsa.pub 192.168.137.251:/root/.ssh/id_rsa.pub.hadoop001
将其他机器的id_rsa.pub追加到authorized_keys
[root@hadoop000 .ssh]# cat id_rsa.pub.hadoop001 >> authorized_keys
[root@hadoop000 .ssh]# cat id_rsa.pub.hadoop002 >> authorized_keys
[root@hadoop000 .ssh]# cat id_rsa.pub.hadoop003 >> authorized_keys
[root@hadoop000 .ssh]# cat id_rsa.pub.hadoop004 >> authorized_keys
然后将该authorized_keys分发
[root@hadoop000 .ssh]# scp authorized_keys 192.168.137.141:/root/.ssh/
[root@hadoop000 .ssh]# scp authorized_keys 192.168.137.142:/root/.ssh/
[root@hadoop000 .ssh]# scp authorized_keys 192.168.137.143:/root/.ssh/
[root@hadoop000 .ssh]# scp authorized_keys 192.168.137.144:/root/.ssh/
每台机器第一次要做: yes --> known_hosts
[root@hadoop000 .ssh]# ssh hadoop000 date
[root@hadoop000 .ssh]# ssh hadoop001 date
[root@hadoop000 .ssh]# ssh hadoop002 date
[root@hadoop000 .ssh]# ssh hadoop003 date
[root@hadoop000 .ssh]# ssh hadoop004 date