服务器运维基础指南

2023-11-20

服务器运维基础指南

作为一个开发人员,对于服务器的操作不可避免。最常用的操作就是部署应用到服务器,及在生产,测试环境通过查看日志排查问题。

一般服务器都是linux操作系统并且是无图形界面的,所以进行任何操作都是通过命令行,由于从新一代程序员接触电脑都是从图形界面开始,所以在开始使用命令行的时候都不是很习惯,如果使用命令行习惯了,发挥现命令行可以干很多有趣,高效率的事情,提高生产力,让程序员更加专注在高技术含量的工作中。

链接服务器入口

mac使用自带的终端,就可以直接登录服务器。windows需要下载工具例如:xshell

登录服务器ssh

登录服务器有两种方式:

  • 通过密码登录
  • 免密码登录

ssh -l user ip/域名

ssh: secure shell 安全外壳协议,专为远程登录会话和其他网络服务提供安全性的协议。利用ssh协议可以有效防止远程管理过程中的信息泄漏问题。

通过密码登录

输入: ssh -l user ip/域名

user:登录用户名

ip/域名: 服务器所属的公网id地址,或者应用的域名,如果要查看域名解析后的ip,在命令行输入 ping 域名,可以查看应用所属的公网ip(前提服务器没有做均衡负载,代理…)。

终端会提示你输入密码,此时输入密码,密码正确就可以登录服务器。

免密码登录

免密码登录方式第一次还是需要输入密码登录,不同的是,在登录之后把自己的密钥加入到服务器,下次就可以免密码登录。

生成ssh key
登录进服务器进入 ~ 目录下的 .ssh 打开 authorized_keys 文件如果没有则创建,把自己的公钥加入到authorized_keys里。之后再次使用ssh进入服务器的时候,不用输入密码就可以直接登录。

小技巧:mac可以新建一个.sh文件把ssh -l user ip/域名加入.sh文件,放在桌面默认使用终端打开,以后就可以双击.sh文件直接进入服务器(甚至可以在.sh写其他命令实现自动化)。

退出服务器exit

exit

查看当前目录位置 pwd

pwd

显示当前目录下的所有文件ls

ls :列出当前目录下的所有文件

ls -l :列出当前目录下的所有文件及文件的详情

进入退出目录cd

cd … :返回到上级目录
cd /. :返回根目录
cd 目录名 : 进入具体目录

新建目录mkdir

mkdir file/filename

启动运行脚本./

./xx.sh

查看文件内容cat/tail

cat xxx.xx :查看文件的所有内容

tail -n 行数 xxx.xxx : 查看文件末尾xx行数

vi/vim xxx.xxx : 查看并且可以修改文件内容

移动文件到具体目录 mv

mv xx sss : 移动xx文件到sss目录

建议删除文件时,先把文件移动到 /tmp目录下(linux的临时目录关机会清空,建议在此目录下进行删除)。

删除文件 rm

rm -f xxx :强制删除文件

rm -rf xxx : -r 表示向下递归删除 -f 删除不提示 注意: rm -rf (不跟参数)会删除整个系统 , 就算有参数 linux没有回收站的概念 慎用慎用

rm -f *. * :梅花大法慎用,可能会误删除删除整个服务器

修改文件的用户权限chown/chmod

chown -R user:user file :修改文件的用户权限 文件支持通配符

chmod 777 xxxx :改变文件权限 777就是高权限(读、写、执行 )登录用户他所在的组和其他人都有最高权限。(比较危险的操作)

查看java程序的相关进程jps

jps :查看java程序进程

拷贝文件到具体目录cp/scp

cp -r copyed copy : 把copyed复制到copy目录

scp xxx root@ip:/目录 : 复制xxx到远程ip服务器目录下

启动服务关闭终端继续运行nohup

有时我们需要在服务器运行一些jar打包的应用,关闭终端后应用就关闭我们可以在 启动jar应用的命令前增加 nohup

解压/压缩文件 unzip/zip

unzip -o xxx.xx -d sss :解压文件xxx.xx到sss并且全部覆盖

zip -r xxx.zip ./* : 压缩文件当前目录下的所有文件

如果没有unzip zip 命令执行,可以安装unzip/zip

yum install -y unzip zip

总结

目前这些命令基本能够满足日常开发韵味服务器,但这只是简单的一些操作服务器的命令,如果有更多的需求可以系统的学习linux,那也是一个很大的话题 运维。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

服务器运维基础指南 的相关文章

  • 即使使用stream_set_blocking,PHP SSH2流内容仍为空?

    我正在开发一个工具 它使用 PECL SSH2 扩展通过 SSH2 从远程主机读取 iptables 配置 我能够成功连接到主机 进行身份验证并执行命令 我遇到的问题是有时该流不包含任何数据 Load the current firewal
  • 将 ed25519 私钥 ssh 转换为 RSA 私钥

    我正在寻找使用将 ed25519 私钥转换为 rsa 私钥ssh keygen I found 这个有用的指南 https man openbsd org ssh keygen但我无法弄清楚如何指定输入格式为 ed25519 并且导出格式应
  • Git - 远程:致命:你在一个尚未诞生的分支上

    我正在尝试设置一个钩子来从我的桌面推送到我的服务器 这在过去已经工作了无数次 但现在我在设置新网站时遇到错误 remote fatal You are on a branch yet to be born 我一如既往地完成了与命令相同的系列
  • 开始作业时无法识别功能

    我在模块 sysinfo psm1 中创建了一个函数 Get Uptime 并导入了该模块 C pstools gt get command Module sysinfo CommandType Name Definition Functi
  • 如何解决22端口连接超时问题

    ssh connect to host bitbucket org port 22 Connection timed out fatal Could not read from remote repository Please make s
  • 用于搜索内部文件的 ssh 命令

    几周前 我的两个网站可能被 ftp 暴力攻击所利用 破坏了我网站的许多文件 我发现他们通常会在js或php文件中插入以下代码 Trojan code removed as irrelevant to this question 我想通过 s
  • 调试神秘的git+ssh+proxy失败“bash:没有这样的文件或目录”的艰难方法

    我正在尝试通过 SOCKS5 代理克隆 github 存储库 在 ssh config I have Host github com github com ProxyCommand usr bin nc X 5 x 127 0 0 1 70
  • 如何在 Eclipse 中使用 ssh 隧道设置 Subversion?

    我有一个远程服务器 在非标准 ssh 端口上托管我的 subversion 存储库 我想使用 Eclipse 的 subclipse 插件作为客户端来访问 SVN 存储库 我可以使用 svn specialssh 来访问存储库 其中spec
  • 如何捕获密码提示

    我有以下代码 更新为包括 pexpect import sys import subprocess import pexpect print 0 ssh subprocess Popen ssh A t email protected cd
  • 通过私钥使用 Python 进行 SSH

    在我的脚本中 我需要使用私钥通过 SSH 连接到远程系统 并将文件转储到其目录中 我用来 SSH 进入系统的命令是这样的 ssh i private key localhost 接下来是标准输入 输入密钥 private key 的密码 我
  • 为什么 ssh-agent 需要 root 访问权限?

    我刚刚安装了 Archbang 并尝试克隆我的 Git 项目 这需要 SSH 密钥 过去 我在 Ubuntu 和 RedHat 机器上遵循 Github 指南取得了成功 但由于某种原因 它在我的新 Arch 安装上不起作用 我已使用以下命令
  • Visual Studio Code - 一个工作区中的多个远程 SSH 连接?

    我最近开始喜欢上 Visual Studio Code 和远程 SSH 扩展 它确实彻底改变了我的工作流程 然而 我发现自己保持多个窗口打开 并通过与不同服务器的不同连接 我刚刚发现您可以将不同的文件夹添加到同一工作区 但是当连接到远程服务
  • 健全性检查 SSH 公钥? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我已要求用户提供他们的公共 id rsa pub ssh 密钥 然后将其放入 home theiraccount ssh authorized key
  • ssh 的 url 方案:在远程主机上调用命令

    是否有通过 ssh 调用远程主机上的命令的 url 方案 在我的用例中 我想称之为 psql c select from my table order by id 似乎有一个关于连接参数的 RFC 示例 来自https tools ietf
  • 流浪家园慢

    我有一个基于 Laravel Homestead 的 vagrant 服务器 用于在本地测试我的 Laravel 站点 大部分情况下它运行得很好 然而 最近 我遇到了问题 它会停止几分钟 典型 到几个小时 罕见 这种情况每 15 分钟左右就
  • 为什么 SSH 远程命令获得的环境变量比手动运行时少? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 如果我 ssh 到计算机并运行它 我有一个命令可以正常运行 但当我尝试使用远程 ssh 命令运行它时会失败 例如 ssh user IP
  • 使用脚本自动输入 SSH 密码

    我需要创建一个自动向 OpenSSH 输入密码的脚本ssh client 假设我需要通过 SSH 进入myname somehost用密码a1234b 我已经尝试过 bin myssh sh ssh myname somehost a123
  • 如何将命令作为参数传递给 ssh [重复]

    这个问题在这里已经有答案了 我的需要是让这个命令起作用 sshpass p XXXX ssh oStrictHostKeyChecking no email protected cdn cgi l email protection sudo
  • 将密钥对添加到现有 EC2 实例

    我被给予AWS控制台访问正在运行 2 个实例的帐户 但我无法关闭 在生产中 但是 我想获得对这些实例的 SSH 访问权限 是否可以创建一个新的密钥对并将其应用到实例 以便我可以通过 SSH 访问 获取现有的pem当前无法选择创建实例所用的密
  • 无法从 Sourcetree 拉取 Git 远程存储库

    我生成了 ssh 密钥并配置了我的 git 和 SourceTree 我可以 git pull 并从 Git bash 执行其他操作 注意 我在 bashrc 中添加了以下内容以使其正常工作 eval ssh agent ssh add 然

随机推荐

  • 主成分分析R语言实现

    主成分分析是一种常见的降维统计方法 它通过适当的变量替换 使得新变量成为原变量的线性组合 并且新变量间彼此独立 从而可从错综复杂的关系中寻求主要成分信息 揭示变量内在关系 本次主要分享的是该方法的R语言实现 目录 数据集展示 一 计算相关系
  • win10安装mujoco150 , mujoco_py1.50.1.68 , gym

    win10安装mujoco mujoco py gym 本文介绍的是在Win10系统下安装gym mujoco150 mujoco py1 50 1 68的具体流程 另外一篇是安装mujoco200和mujoco py2 0 2 9版本 方
  • 爬虫超简化详细流程

    第一章 爬取网页源代码 一 导入模块 使用pip命令模块在电脑终端 下载基础爬取所用模块 requests import requests 二 放置网址 单引号中放置网址 url 三 设置请求头 headers Accept 辨识内容为全部
  • am335x+wm8960音频基于linux 4.9.41移植

    1 配置内核驱动 gt Device Drivers gt Sound card support SOUND y
  • IMX6学习记录(7)-编译脚本

    上面是我的微信和QQ群 欢迎新朋友的加入 1 效果 这几天搞这个东西 会有一大堆的命令行操作 很多重复的内容 现在做一个简单的脚本 方便自己平时的开发工作 2 脚本内容 bin bash uboot编译 function mk uboot
  • Django form组件

    form组件博客整理一 背景 我们之前在HTML页面中利用form表单向后端提交数据时 都会写一些获取用户输入的标签并且用form标签把它们包起来 与此同时我们在好多场景下都需要对用户的输入做校验 比如校验用户是否输入 输入的长度和格式等正
  • IDEA找不到程序包 和 request.getServletContext()报错Cannot resolve method ‘getServletContext()的解决方法

    重新装了idea和down了项目却一直报错 在调用request getServletContext 的方法时一直报Cannot resolve method getServletContext 的错误 网上查了好多方法 大多数都是在说是s
  • ModuleNotFoundError: No module named ‘tensorflow.contrib‘

    代码错误 Traceback most recent call last File D PyCharm PythonProject DRL Networking master DRL Networking master IPDPS2020
  • Android4.0 SDK功能详解

    我在eoe的论坛找到的 就复制过来了 跟大家分享一下 Android 4 0 平台API等级 14 Android 4 0 是一次重要的平台发布版 为用户和应用程序开发者增加了大量的新特性 在下面我们将讨论的所有新特性和API中 因为它将
  • 【C++】C++11语法之右值引用

    文章目录 一 的扩展 initializer list的讲解 二 C 11一些小的更新 decltype nullptr 范围for 新容器 三 右值引用 右值真正的用法 完美转发 默认成员函数 总结 一 的扩展 在原先c 的基础上 C 1
  • 操作系统:进程学习笔记

    前言 程序顺序执行的三大特性 1 顺序性 指处理机严格按照程序所规定的的顺序执行 2 封闭性 指程序在封闭的环境运行即程序运行时独占全机资源 资源状态只能有本程序才能够改变它 程序一旦执行 其运行结果不受外界影响 3 可再现性 指只要程序执
  • 编写Shell脚本(批处理,一次执行多条命令)

    Bash终端的优势 1 上下键重复执行命令 2 tab键自动补齐 3 提供有用的环境变量 4 批处理 shell脚本文件建议以 sh为后缀 其实vim创建文本文件时 对名字无要求 但最好规定格式 echo SHELL 输出为 bin bas
  • grep的用法

    命令介绍 Linux系统中grep命令是一种强大的文本搜索工具 它能使用正则表达式搜索文本 并把匹配的行打印出来 匹配到的标红grep全称是Global Regular Expression Print 表示全局正则表达式版本 它的使用权限
  • khv是什么虚拟服务器,服务器虚拟化vSphere4 vs Hyper-V R2,选择谁?

    目前在X86服务器平台上做虚拟化 是非常热的 目前主要有两个选择 VMWare的vSphere4和微软的Hyper V R2 VMWare非常成熟 企业级用户很多 但价格不便宜 按照CPU数量和版本收费 Hyper V R2很便宜 但出来的
  • 检查内存泄露

    自己编写的视频处理程序出现了一个问题 每帧的运行时间随着运行时间在不断增长 很大可能是出现了内存泄露 于是学习了一些查看内存泄露的方法 做了两种尝试 一是VS自带的DEBUG下的检测 view pl html view plain copy
  • Windows上让Qt5 QCamera响应UVC摄像头硬件按钮拍图

    QCamera相机类提供了一些基本的功能 包括拍照和录制功能 Windows上不支持录制视频 但也有很多接口是没有封装的 比如有些UVC摄像头有物理按键 可以进行拍图等操作 但是QCamera没法响应硬件按钮的拍图操作 网络上的相关代码都是
  • RC-u4 相对论大师(bfs求解指定路径)

    PTA 程序设计类实验辅助教学平台 题解 bfs可以求解从根节点到叶子节点的指定路径 这里的vis 不是为了防止访问到父节点 更多的是为了缩小路径长度 mpp和mp的映射也很巧妙 开始我用的还是map
  • [从零开始学习FPGA编程-38]:进阶篇 -语法-函数与任务

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 目录 前言 第1章 什么是函数Function 1 1 什么是函数 1 2 函
  • 【JAVA】输入:Scaner

    一 语法 1 导入 import java util Scanner 2 创建对象 Scanner scanner new Scanner System in 3 创建变量 int x scanner nextInt next系列 next
  • 服务器运维基础指南

    服务器运维基础指南 作为一个开发人员 对于服务器的操作不可避免 最常用的操作就是部署应用到服务器 及在生产 测试环境通过查看日志排查问题 一般服务器都是linux操作系统并且是无图形界面的 所以进行任何操作都是通过命令行 由于从新一代程序员