• linux文件上传和下载、别名设置以及环境变量


    一、文件上传和下载

    1.sftp

    (1)它类似于ftp传输协议,属于ssh,但它进行加密传输,相对FTP来讲有更高的安全性

    (2)用法

    1. [root@server ~]# ssh root@10.0.0.3
    2. The authenticity of host '10.0.0.3 (10.0.0.3)' can't be established.
    3. ECDSA key fingerprint is SHA256:QTB8I9b9qJ4bxYex3OKaCFpG1atjPzrcyKDf0fhVH3I.
    4. Are you sure you want to continue connecting (yes/no)? yes
    5. Warning: Permanently added '10.0.0.3' (ECDSA) to the list of known hosts.
    6. Password:输入root用户密码
    7. sftp>get f1.txt /opt/
    8. 10.0.0.3的f1.txt文件下载到当前服务器的/opt的目录下

    查看文件下载情况->将文件内容copy到一个file1.txt文件中

    将10.0.0.3的file1,txt文件上传到当前文件的目录下面

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

    例如:

    1. sftp> ls //和查看本地操作命令一样
    2. 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> 常用示例:

    1. sz file1 file2 file3 ---下载多个文件
    2. sz和rz命令在实际应用开发中非常实用,有时候我们会经常跑脚本统计数据,需要上传和下载一些大数
    3. 据量的数据,这时候这两个命令就非常有用了
    有的机器可能不能使用 rz/sz 命令,这个时候我们就需要安装 lrzsz(地址:rpmfind.net

    4.与xshell配套的xftp

    操作过程:

    <1> 打开xshell

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

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

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

    二、命令别名

    1.概述:

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

    2.查看设置的别名:alias

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

     
    (命令行定义的别名仅对当前终端有效。)

    4.别名的永久化设置:

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

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

    三、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 内置命令也可以完成同样的功能(注意:此处不要再前面加 $)
    1. export 变量名=value
    2. 变量名=value ; export 变量名
    3. declare -x 变量名=value

    (4)环境变量的设置(永久有效)

    用户的环境变量配置:

    1. [root@www ~]$ ls /root/.bashrc # 推荐再此文件中优先设置
    2. /root/.bashrc
    3. [root@www ~]$ ls /root/.bash_profile
    4. /root/.bash_profile

    全局的环境变量配置:

    1. [root@www ~]$ /etc/profile
    2. [root@www ~]$ /etc/bashrc
    3. [root@www ~]$ /etc/profile.d/
    4. 若要在登陆后初始化或显示加载内容,则把脚本文件放在 /etc/profile.d/ 下即可

    生产场景下(在Java环境中),自定义环境变量的示例

    1. export JAVA_HOME=/application/jdk
    2. export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    3. export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
    4. export RESIN=/applaction/resin

    (5)显示与取消环境变量:

    通过echo或printf打印环境变量

    1. [root@www ~]$ echo $HOME
    2. /root
    3. [root@www ~]$ echo $UID
    4. 0
    5. [root@www ~]$ echo $PWD
    6. /root
    7. [root@www ~]$ echo $SHELL
    8. /bin/bash
    9. [root@www ~]$ echo $USER
    10. root
    11. [root@www ~]$ printf "$HOME\n"
    12. /root

    用env或set加载环境变量

    1. [root@www ~]$ env
    2. XDG_SESSION_ID=17
    3. HOSTNAME=www.oliven.com
    4. TERM=xterm
    5. ...
    6. [root@www ~]$ set
    7. BASH=/bin/bash
    8. ...
    9. [root@www ~]$ declare | head
    10. BASH=/bin/bash
    11. ...

    用unset消除本地变量和环境变量

    1. [root@www ~]$ echo $USER
    2. root
    3. [root@www ~]$ unset USER
    4. [root@www ~]$ echo $USER
    5. [root@www ~]$

    (6)环境变量的初始化以及对应得生成顺序

    登录Linux系统并启动一个 bash shell 时,默认情况下 bash 会在若干个文件中查找环境变量的设置,这些文件可统称为系统环境文件。bash 检查的环境变量文件的情况取决于系统运行 Shell 的方式,运行shell的方式有三种。

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

    4.普通变量

    (1)设置变量

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

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

    1. name=value
    2. name1='value'
    3. name_2="value"
    4. _name_3=`cmd`
    5. _na_me_4=$(cmd)
    变量名一般是由字母、数字、下划线组成的,可以以字母或下划线开
  • 相关阅读:
    HDFS完全分布式搭建及Hadoop HA集群搭建
    16 JavaScript学习: 类型转换
    AutoSAR配置与实践(深入篇)8.1 BSW的WatchDog功能(上)
    网络编程入门
    HaLoop:Efficient Iterative Data Processingon Large Clusters(大型集群上的高效迭代数据处理)
    Java函数式编程(1):Lambda表达式(2)
    2022运营版开发代驾小程序/仿滴滴代驾小程序/打车/网约车/顺风车/快车/代驾/货运/Thinkphp+Uniapp开源版
    基于python爬取母婴用品评论的数据分析
    java-php-net-python-基于的相册软件的设计与实现计算机毕业设计程序
    自然语言处理(四):全局向量的词嵌入(GloVe)
  • 原文地址:https://blog.csdn.net/weixin_62443409/article/details/127940703