linux文件上传和下载、别名设置以及命令解释器

一、文件上传和下载

1.sftp

(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文件上传到当前文件的目录下面
linux文件上传和下载、别名设置以及命令解释器_第1张图片

(3)如果不知道远程主机的目录是什么样, ls命令可以列出10.0.0.3服务器的当前目录列表。

例如:

sftp> ls //和查看本地操作命令一样
sftp> pwd //查询10.0.0.3的当前工作目录

(4)如果想退出。exit或quit


2.scp具有和ssh一样的验证机制,从而可以实现2台机器安全的远程拷贝文件

(1)格式:scp -P 端口 文件路径 用户名@主机地址:远程目录

端口未改可以省略(-P 端口),默认是22号端口

(2)使用方法:

将当前目录下的man.config文件拷贝到192.168.150.123的服务的/opt文件目录下

将远程服务器192.168.150.123的meta.db文件拷贝到当前服务器的主目录下

如果你的端口号不是 22 ,那么需要在 scp 后加  -P (区分大小写 端口号。建议加 -C 选项,因为这样可以启用SSH的压缩功能,使得传输速度更快。例如:

3.rz命令(上传)与sz命令(下载)

(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)

4.与xshell配套的xftp

操作过程:

<1> 打开xshell

linux文件上传和下载、别名设置以及命令解释器_第2张图片

<2> 弹出窗口左边为windows窗口,右边为linux窗口

linux文件上传和下载、别名设置以及命令解释器_第3张图片

<3> 而后可直接拖动文件进行添加

linux文件上传和下载、别名设置以及命令解释器_第4张图片

<4> 查看文件是否添加成功

二、命令别名

1.概述:

别名是命令的快捷方式。为那些需要经常执行,但需要很长时间输入的长命令创建快捷方式很有用。

2.查看设置的别名:alias

linux文件上传和下载、别名设置以及命令解释器_第5张图片

3.设置别名:alias 别名='原命令 -选项/参数'

linux文件上传和下载、别名设置以及命令解释器_第6张图片 
(命令行定义的别名仅对当前终端有效。)

4.别名的永久化设置:

(1)若要每次登入就自动生效别名,则把别名加在/etc/profile~/.bashrc中。然后# source ~/.bashrc

linux文件上传和下载、别名设置以及命令解释器_第7张图片

(2)若要让每一位用户都生效别名,则把别名加在/etc/bashrc最后面,然后# source /etc/bashrc

linux文件上传和下载、别名设置以及命令解释器_第8张图片

三、shell:命令解释器

1.什么是shell?

shell:壳,命令解释器,负责解析用户输入的命令。

(1)命令分两类

  • 内置命令 (shell 内置 ) shell 为了完成自我管理和基本的管理,不同的 shell 内置不同的命令,但是大部分命令都差不多。
  • 外置命令,在文件系统的某个目录下,有个与命令名称相同的文件

(2)type:查看类型。查看命令时file,alias还是builtin

  • type - a 列出当前命令可以如何执行
  • type - t 仅列出命令按照哪种方式执行

2.变量分类:环境变量和普通变量

(1)环境变量也可称为全局变量,可以在创建它们的Shell 及其派生出来的任意子进程 Shell 中使用,环境变量又可分为自定义环境变量和 bash 内置的环境变量

(2)普通变量也可称为局部变量,只能在创建它们的Shell函数或Shell脚本中使用,普通变量一般由开发者在开发脚本程序时创建

3.环境变量

(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的方式有三种。

  • 通过系统用户登录后默认运行的 Shell
  • 非登录交互式运行 Shell
  • 执行脚本运行非交互式 Shell

4.普通变量

(1)设置变量

  • 变量命名的规则:只能使用数字、字母和下划线,且不能用数字开头
  • 变量名和变量值用“=”连接
  • 等号两边不能有空格符

(2)对变量进行赋值:(五种写法)

name=value
name1='value'
name_2="value"
_name_3=`cmd`
_na_me_4=$(cmd)
变量名一般是由字母、数字、下划线组成的,可以以字母或下划线开

你可能感兴趣的:(linux基础操作,linux,运维,服务器,交互,vim)