• Linux常用操作命令(拷贝、登录)介绍



    本文就一个shell文件的生命周期期间需要的种种操作命令进行简单介绍
    本文所说的linux系统适合Centos、Ubuntu等
    假设我们有个test.sh文件,如何把这个脚本拷贝到远程主机上,如何启动,如何检查脚本运行状态,本系列文章将对此进行详细介绍

    test.sh里面内容

    echo "hello world"
    
    • 1

    拷贝文件到linux主机

    1、确认linux 系统ip地址(命令:ifconfig

    ifconfig用于配置和显示Linux内核中网络接口的网络参数。如果没有给定任何参数,ifconfig将显示当前活动的网络接口。如果单个接口参数是给定时,它只显示给定界面的状态;
    一般内网连接只需要关注eth0接口的ip即可,

    $ ifconfig eth0
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.1.44  netmask 255.255.255.0  broadcast 192.168.1.255
            inet6 fe80::xxx:xxx:xxxx:xxx x prefixlen 64  scopeid 0x20<link>
            ether 00:xx:xx:xx:xx:xx  txqueuelen 1000  (Ethernet)
            RX packets 493105541  bytes 427120101560 (397.7 GiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 299227567  bytes 84039279907 (78.2 GiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    以上信息中,可以发现192.168.1.44就是这台机器内网ip

    eth0作为第一个以太网接口,通常用于连接计算机与局域网或互联网。它是计算机与网络之间的物理接口,用于接收和发送数据包。
    通过eth0接口,计算机可以与其他设备进行通信,例如其他计算机、服务器、路由器等。它承载着计算机与其他设备之间的数据传输,使得计算机可以通过网络进行信息交换、资源共享和远程访问。

    2、远程登录到主机 ( 命令:ssh)

    确定openssh运行端口

    #确认sshd程序是否运行
    $ ps -ef|grep sshd
    # 预期返回结果
    root       xxxx     1  0  20xxx ?        00:01:21 /usr/sbin/sshd
    #确认sshd端口
    netstat -tnlp|grep sshd
    #返回结果,默认为22端口
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      xxx/sshd
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    ssh常用参数介绍

     	 -p 端口号: 指定SSH连接的端口。
    	 -i: 指定密钥文件登录。
    	 -v: 详细模式,显示详细的传输信息。
    
    • 1
    • 2
    • 3

    远程登录

    有两种方式,一种是账号密码登录,一种是密钥登录

    1. 账号密码登录
    #假设使用root账号登录ip为192.168.1.44 ssh端口为22的主机
    ssh root@192.168.1.44 -p 22
    #输入root账号密码即可
    
    • 1
    • 2
    • 3
    1. 密钥登录
    #(macOS/linux)本地生成私钥和公钥,一路回车即可,默认生成目录~/.ssh/
    $ ssh-keygen
    
    • 1
    • 2

    在这里插入图片描述

    windows系统密钥生成方式,
    1.打开 PowerShell(或者按下 Windows + X 并选择 “Windows PowerShell”);
    2.在 PowerShell 中输入以下命令来生成 SSH 密钥:ssh-keygen -t rsa,可以选择保留默认名称,默认地址:C:\Users\{Windows主机用户名}\.ssh\id_rsa.pub
    3.在弹出的窗口中输入密码,或者直接敲击回车键选择不设置密码;
    4.这个时候,会得到一个公共密钥(id_rsa.pub)和一个私有密钥(id_rsa)。
    
    • 1
    • 2
    • 3
    • 4

    拷贝公钥(id_rsa.pub)给远程机器,存放在~/.ssh/authorized_keys中,也可将内容复制、粘贴出来存放

    #指定密钥远程登录
     ssh -i ~/.ssh/id_rsa root@192.168.1.44
     #如果是默认地址可以不带私钥地址,以下方式登录即可
    ssh  root@192.168.1.44
    
    • 1
    • 2
    • 3
    • 4

    3、拷贝文件到远程主机 (命令:scp)

    SCP(Secure Copy Protocol)是一种基于SSH(Secure Shell)的文件传输协议,它用于在本地主机和远程主机之间安全地复制文件和目录,或者在两个远程主机之间传输。

    • 从本地复制到远程命令:
    #scp [本地文件路径] [用户名]@[远程主机地址]:[远程文件路径]
    scp ~/test.sh root@192.168.1.44:/home/
    
    • 1
    • 2
    • 递归复制目录:
      使用 -r 参数可以递归地复制整个目录,命令写法,
     scp -r [本地文件路径] [用户名]@[远程主机地址]:[远程文件路径]
    
    • 1

    ssh参数介绍:

     	 -P 端口号: 指定SSH连接的端口。
    	 -p: 保留原文件的修改时间和访问时间。
    	 -r: 递归复制整个目录。
    	 -v: 详细模式,显示详细的传输信息。
    	 -C: 启用压缩,可以加快传输速度。
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    信号与槽机制
    浅谈事务的四个基本特性
    路径分析—PostgreSQL+GeoServer+Openlayers(二)
    ESP32网络开发实例-Web服务器发送事件
    AT32F403A VGA(一)
    Python实现批量采集美女视频<无水印>
    大数据Hadoop入门教程 | (一)概论
    安卓多渠道打包(五)360加固walle多渠道打包
    LeetCode #100. 相同的树
    elementui el-tooltip文字提示组件弹出层内容格式换行处理
  • 原文地址:https://blog.csdn.net/qq_36464836/article/details/136524912