(1)它类似于ftp传输协议,属于ssh,但它进行加密传输,相对FTP来讲有更高的安全性
(2)用法
[root@server ~]# ssh [email protected]
The authenticity of host '10.0.0.3 (10.0.0.3)' can't be established.
ECDSA key fingerprint is SHA256:QTB8I9b9qJ4bxYex3OKaCFpG1atjPzrcyKDf0fhVH3I.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.3' (ECDSA) to the list of known hosts.
Password:输入root用户密码
sftp>get f1.txt /opt/
将10.0.0.3的f1.txt文件下载到当前服务器的/opt的目录下
查看文件下载情况->将文件内容copy到一个file1.txt文件中
将10.0.0.3的file1,txt文件上传到当前文件的目录下面
(3)如果不知道远程主机的目录是什么样, ls命令可以列出10.0.0.3服务器的当前目录列表。
例如:
sftp> ls //和查看本地操作命令一样
sftp> pwd //查询10.0.0.3的当前工作目录
(4)如果想退出。exit或quit
(1)格式:scp -P 端口 文件路径 用户名@主机地址:远程目录
端口未改可以省略(-P 端口),默认是22号端口
(2)使用方法:
将当前目录下的man.config文件拷贝到192.168.150.123的服务的/opt文件目录下
将远程服务器192.168.150.123的meta.db文件拷贝到当前服务器的主目录下
(1)rz命令(Receive ZMODEM):使用ZMODEM协议,将本地文件批量上传到远程Linux/Unix服务器,注意不能上传文件夹。
<1> 命令格式:rz [选项]
<2> 常用选项:
选项 | 说明 |
-+, --append
|
将文件内容追加到已存在的同名文件
|
-a,--ascii
|
以文本方式传输
|
-b, --binary
|
以二进制方式传输,推荐使用
|
--delay-startup N
|
等待 N 秒
|
-e, --escape
|
对所有控制字符转义,建议使用
|
-E, --rename
|
已存在同名文件则重命名新上传的文件,以点和数字作为后缀
|
-p, --protect
|
对 ZMODEM 协议有效,如果目标文件已存在则跳过
|
-q, --quiet
|
安静执行,不输出提示信息
|
-v, --verbose
|
输出传输过程中的提示信息
|
-y, --overwrite
|
存在同名文件则替换
|
-X, --xmodem
|
使用 XMODEM 协议
|
-Y,--ymodem
|
使用 YMODEM 协议
|
-Z, --zmodem
|
使用 ZMODEM 协议
|
--version
|
显示版本信息
|
--h, --help
|
显示帮助信息
|
(2)sz命令(Send ZMODEM):通过ZMODEM协议,可将多个文件从远程服务器下载到本地。注意不能下载文件夹,如果下载文件夹,请先打包再下载
<1> 格式:sz [选项] [filelist]
<2> 常用示例:
sz file1 file2 file3 ---下载多个文件
sz和rz命令在实际应用开发中非常实用,有时候我们会经常跑脚本统计数据,需要上传和下载一些大数
据量的数据,这时候这两个命令就非常有用了
有的机器可能不能使用 rz/sz 命令,这个时候我们就需要安装 lrzsz(地址:rpmfind.net)
操作过程:
<1> 打开xshell
<2> 弹出窗口左边为windows窗口,右边为linux窗口
<3> 而后可直接拖动文件进行添加
<4> 查看文件是否添加成功
别名是命令的快捷方式。为那些需要经常执行,但需要很长时间输入的长命令创建快捷方式很有用。
(1)若要每次登入就自动生效别名,则把别名加在/etc/profile或~/.bashrc中。然后# source ~/.bashrc
(2)若要让每一位用户都生效别名,则把别名加在/etc/bashrc最后面,然后# source /etc/bashrc
shell:壳,命令解释器,负责解析用户输入的命令。
(1)命令分两类:
(2)type:查看类型。查看命令时file,alias还是builtin
(1)环境变量也可称为全局变量,可以在创建它们的Shell 及其派生出来的任意子进程 Shell 中使用,环境变量又可分为自定义环境变量和 bash 内置的环境变量
(2)普通变量也可称为局部变量,只能在创建它们的Shell函数或Shell脚本中使用,普通变量一般由开发者在开发脚本程序时创建
(1)导出环境变量:一般是指用 export 内置命令导出的变量,用于定义 Shell 的运行环境,保证 Shell 命令的正确执行。Shell 通过环境变量来确定登录用户名、命令路径、终端类型、登录目录等,所有的环境变量都是系统全局变量。可用于所有子进程中,这包括编辑器、Shell 脚本和各类应用。
(2)创建:可以在命令行中设置和创建,但用户退出命令行时这些变量值就会丢失。希望永久保存环境变量,可在用户家目录下的 .bash_profile 或 .bashrc (非用户登录模式特有,例如远程SSH)文件中,或者全局配置 /etc/bashrc (非用户登录模式特有,例如远程 SSH)或 /etc/profile文件中定义。在将环境变量放入上述的文件中后,每次用户登录时这些变量都将被初始化。
(3)设置环境变量
给变量赋值之后或在设置变量时使用 export 命令。带 -x 选项的 declare 内置命令也可以完成同样的功能(注意:此处不要再前面加 $)
export 变量名=value
变量名=value ; export 变量名
declare -x 变量名=value
(4)环境变量的设置(永久有效)
用户的环境变量配置:
[root@www ~]$ ls /root/.bashrc # 推荐再此文件中优先设置
/root/.bashrc
[root@www ~]$ ls /root/.bash_profile
/root/.bash_profile
全局的环境变量配置:
[root@www ~]$ /etc/profile
[root@www ~]$ /etc/bashrc
[root@www ~]$ /etc/profile.d/
若要在登陆后初始化或显示加载内容,则把脚本文件放在 /etc/profile.d/ 下即可
例:生产场景下(在Java环境中),自定义环境变量的示例
export JAVA_HOME=/application/jdk
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
export RESIN=/applaction/resin
(5)显示与取消环境变量:
通过echo或printf打印环境变量
[root@www ~]$ echo $HOME
/root
[root@www ~]$ echo $UID
0
[root@www ~]$ echo $PWD
/root
[root@www ~]$ echo $SHELL
/bin/bash
[root@www ~]$ echo $USER
root
[root@www ~]$ printf "$HOME\n"
/root
用env或set加载环境变量
[root@www ~]$ env
XDG_SESSION_ID=17
HOSTNAME=www.oliven.com
TERM=xterm
...
[root@www ~]$ set
BASH=/bin/bash
...
[root@www ~]$ declare | head
BASH=/bin/bash
...
用unset消除本地变量和环境变量
[root@www ~]$ echo $USER
root
[root@www ~]$ unset USER
[root@www ~]$ echo $USER
[root@www ~]$
(6)环境变量的初始化以及对应得生成顺序
登录Linux系统并启动一个 bash shell 时,默认情况下 bash 会在若干个文件中查找环境变量的设置,这些文件可统称为系统环境文件。bash 检查的环境变量文件的情况取决于系统运行 Shell 的方式,运行shell的方式有三种。
(1)设置变量:
(2)对变量进行赋值:(五种写法)
name=value
name1='value'
name_2="value"
_name_3=`cmd`
_na_me_4=$(cmd)
变量名一般是由字母、数字、下划线组成的,可以以字母或下划线开