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

news2025/7/7 20:55:01

一、文件上传和下载

1.sftp

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

(2)用法

[root@server ~]# ssh root@10.0.0.3
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


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)

二、命令别名

1.概述:

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

2.查看设置的别名:alias

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

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

4.别名的永久化设置:

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

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

三、环境变量

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

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

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

2.环境变量

(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

2.普通变量

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/18459.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

虚基类设计 c++

一个例子 首先大家看一个定义的一个虚基类 所谓的虚基类&#xff0c;是指类内包含virtual关键字定义的成员函数 class Abstract_base { public:virtual ~Abstract_base();virtual void interface() const 0;virtual const char* mumble() const {return m_mumble;} protect:ch…

Echarts:制作词云

Echarts是一个开源的可视化图表库&#xff0c;支持丰富的图表&#xff0c;官网中还有大量示例可以选择使用、参考。 其中比较好玩、有趣的是词云&#xff0c;词云就是用关键词组成的一朵云&#xff0c;更广泛的定义是&#xff0c;由关键词组成的任意一种图案均称为词云。因此&…

opencv 空域变换

图像变换是基于像素的映射&#xff0c;区别是像素是怎么映射的。灰度变换的话是通过点对点的映射&#xff0c;也就是变换后的像素点之和当前的像素点有关&#xff08;gramma变换、对数变换等等&#xff09;&#xff0c;依次来进行对比度拉伸。而空间滤波变换后的像素点是和当前…

LeetCode - 354 俄罗斯套娃信封问题

题目来源 354. 俄罗斯套娃信封问题 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给你一个二维整数数组 envelopes &#xff0c;其中 envelopes[i] [wi, hi] &#xff0c;表示第 i 个信封的宽度和高度。 当另一个信封的宽度和高度都比这个信封大的时候&#xff0c;这个…

GreenPlum6.x之测试数据

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、generate_series是什么&#xff1f;二、使用步骤1.建张测试表2.插入简单的测试数据3.查看数据分散情况4.通过SQL测试性能总结前言 提示&#xff1a;这里可以…

浅谈一下:Java当中的构造方法

从前面的所学的知识&#xff0c;我们可以发现&#xff1a;实列化一个对象以后&#xff0c;如果要为这个对象的属性赋值&#xff0c;那么必须直接访问对象的属性或者调用setXxx()方法&#xff0c;如果需要在实列化对象的同时就为这个对象的属性进行赋值&#xff0c;可以通过构造…

【考研复试】计算机专业考研复试英语常见问题四(优缺点/观点/观念篇)

相关链接&#xff1a; 【考研复试】计算机专业考研复试英语常见问题一&#xff08;家庭/家乡/学校篇&#xff09;【考研复试】计算机专业考研复试英语常见问题二&#xff08;研究方向/前沿技术/本科毕设篇&#xff09;【考研复试】计算机专业考研复试英语常见问题三&#xff0…

程序员这个身份,比你想象的还值钱!

看到这个标题先别急着喷我&#xff01; 虽然现在“程序员”已经被吐槽饱和了&#xff0c;但目前小厂依旧求贤若渴&#xff0c;大厂一些门槛比较高的算法岗还是抛出了不少HC&#xff01; 并且年年薪水涨&#xff0c;年年新人倒挂&#xff0c;校招白菜总包薪资近40w的不在少数&am…

从入门到项目实战 - vue2 与 vue3 中实现全局事件总线

VUE组件跨通信vue2 与 vue3 中实现全局事件总线上一节&#xff1a;《Vue中的 虚拟 Dom 》| 下一节&#xff1a;《Vue 组件常见的数据访问方式总结 》jcLee95 邮箱 &#xff1a;291148484163.com CSDN 主页&#xff1a;https://blog.csdn.net/qq_28550263?spm1001.2101.300…

【物理应用】基于Matlab模拟极化雷达回波

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

服务器安装Ubuntu20及系统扩容

文章首发及后续更新&#xff1a;https://mwhls.top/4060.html&#xff0c;无图/无目录/格式错误/更多相关请至首发页查看。 新的更新内容请到mwhls.top查看。 欢迎提出任何疑问及批评&#xff0c;非常感谢&#xff01; 参考&#xff1a;Ubuntu20.04安装详细图文教程&#xff08…

C++初阶作业 String类作业详解

作者&#xff1a;小萌新 专栏&#xff1a;C初阶作业 作者简介&#xff1a;大二学生 希望能和大家一起进步&#xff01; 本篇博客简介&#xff1a;会梳理一遍博主做过了String类题目 并且较为详细的讲解出来 _ String类的特性和使用 题目一 考察c_str&#xff08;&#xff09;…

黑塞矩阵理解

文章目录1&#xff1a;一元泰勒展开公式2&#xff1a;二元泰勒展开公式3&#xff1a;二元函数的黑塞矩阵4&#xff1a;多元函数的黑塞矩阵其他链接1&#xff1a;一元泰勒展开公式 举例&#xff1a;f(x) 3x 2x 5 在x0或x1处的泰勒展开 当x0时&#xff1a; 当x1时&#xff…

m基于MATLAB的上行链路MIMO关键技术的研究与性能分析

目录 1.算法概述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法概述 多输入多输出(MIMO)天线技术的巨大潜力为新一代无线通信技术的研究提供了广阔的舞台。近年来&#xff0c;多用户的MIMO研究逐渐成为热点问题。针对多用户的MIMO&#xff0c;天线选择和用…

Allegro如何输出EMN文件操作指导

Allegro如何输出EMN文件操作指导 Allegro支持输出emn文件以供其他结构软件导入以查看实物效果 比如Proe,Soild work等等 下面介绍如何输出EMN文件 选择 File-export-IDF 出现一个对话框 File Name Type选择PTC,并且勾选Use Fillter 点击Fillter, 过滤掉不需要的东西,比…

快速排序、求和、模拟阶乘并利用vscode c++和matlab对程序进行计时

一、软件性能获取 分别使用 Matlab 工具和C语言获得计算下列算法的最大时间&#xff0c;最小时间及平均时间,以及相应的软件功耗&#xff1a; 1.1 一维数组排序 数组选择一万个&#xff0c;使用快速排序。处理器为英特尔i5-7200U&#xff0c;2.5GHz&#xff0c;热设计功耗为…

智慧水务解决方案-最新全套文件

智慧水务解决方案-最新全套文件一、建设背景1、安全水务&#xff0c;监管提效2、清洁水务&#xff0c;防污治污3、节能水务&#xff0c;降本增效4、民生水务&#xff0c;体验先行二、建设思路三、建设方案四、获取 - 智慧水务全套最新解决方案合集一、建设背景 建设智慧水务的…

Dubbo入门使用

Dubbo入门案例Dubbo的特性dubbo支持的注册中心Dubbo入门案例Dubbo的特性 服务治理框架服务的监控服务的注册发现服务的通信服务的容错服务的负载均衡 dubbo支持的注册中心 nacosconsolezookeeperrediseurekaetcd …… Dubbo入门案例 通过两个demo来演示如何使用dubbo进行R…

【Java基础】Java基础题

1. 重载和重写的区别 1&#xff09;重载&#xff1a; 发生在同一个类中&#xff0c;要求方法名相同、参数类型不同&#xff08;个数不同、顺序不同、类型不同&#xff09; 和方法的返回值和访问修饰符没关系&#xff08;在只有返回值和访问修饰符不同的这种情况下&#xff0c…

Linux--进程控制

目录 进程创建 fork函数初识 fork函数返回值 写时拷贝 fork的常规用法 fork调用失败的原因 进程终止 进程退出场景 退出方法 ①调用_exit函数 ②调用exit函数 ③main函数return ④异常退出 进程等待 进程等待的必要性 进程等待的方法 ①wait方法 ②waitpid方…