Linux常用命令(四)

1.上传和下载

首先 yum 安装lrzsz

rz                                     从windows上传文件至linux  (rz弹出对话框只有CRT软件才有)

sz 文件名                       从linux中下载文件至windows

注:如何在CRT设置上传和下载路径

Linux常用命令(四)_第1张图片

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

Linux常用命令(四)_第2张图片
初始情况下只有红色方框内两个文件

[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

你可能感兴趣的:(Linux常用命令(四))