美文网首页linux写不出来啊(?)
当有了一朵云之后要做些什么(服务器配置及Linux常用命令和软件

当有了一朵云之后要做些什么(服务器配置及Linux常用命令和软件

作者: 不会生信哟 | 来源:发表于2021-03-14 20:58 被阅读0次

——by不是杀杀

在生信的学习过程中,非常多的工具没有办法在Windows下运行,因此服务器的使用是无法避免的。想要简单快捷地拥有一个能随意使用的服务器,除了向课题组服务器管理员申请创建账号外,还可以在win下安装一个虚拟机搭建Linux工作环境,或者租一朵云。租一朵云能够轻松解决局域网内才能链接服务器的问题,可以做到随时随地写代码,是个不错的选择。

首先在win端的我们要如何连接上服务器呢,这边推荐几种比较简洁的软件
  1. putty
  2. Git bash
    Git是目前世界上最先进的分布式版本控制系统,Git bash可以看作是在win下模拟集成的Linux环境,通过Git bash我们就能够使用SSH连接上我们的服务器。

登录服务器

ssh 用户名@主机名/ip

服务器的免密登录

每次登录都要输入一次密码,非常麻烦和繁琐,ssh提供一种免密登录(公钥登录)的办法:公钥登录,可以让服务器识别客户端(Windows端)的身份直接登录。在公钥非对称体系中,公钥加密的只能用私钥解密,因此我们在客户端上生成一对密钥对(公钥+私钥),然后将公钥放到服务器上,在连接服务器时,客户端向服务端发起登录请求,并传递公钥到服务端,服务端检索存放公钥的文件,确认该公钥是否存在,如果存在该公钥,则生成随机数R,并用公钥来进行加密,生成公钥加密字符串,接着将公钥加密字符串传递给客户端,客户端使用私钥解密公钥加密字符串,得到R,并传递给服务器,如果客户端传来的加密字符串等于服务端自身生成的加密字符串,则认证成功。那么实际操作中我们该怎么做呢

  1. 客户端生成密钥对(公钥+私钥)
# 在客户端执行如下命令生成密钥对
# -b 指定密钥位数
ssh-keygen -C "备注信息" -b 4096
  1. 把公钥放到服务器上(用户目录/.ssh/authorized_keys)

默认在home目录的.ssh 文件夹下生成一个id_rsa和id_rsa.pub配对的两个文件
将公钥中的全部内容(就是一行)拷贝到服务器上的 ~/.ssh/authorized_keys

当然以上两个步骤也可以在Windows端(Git bash里)用ssh-copy-id命令一键完成

ssh-copy-id user@hostname
  1. 允许公钥登陆
#修改/etc/ssh/sshd_config文件
PubkeyAuthentication yes

添加用户

由于root拥有着至高无上的权利(容易搞崩服务器),添加用户也是保护服务器的必要操作。
添加用户可以用adduser或者useradd进行
useradd
useradd仅仅是创建了一个用户,并没有在/home目录下创建同名文件夹,也没有创建密码,因此是没有办法通过这个用户进行登录的,但是可以通过以下方式完成

useradd -m 用户名 #的方式进行创建,这样会在/home目录下创建同名文件夹
passwd 用户名   #为指定的用户创建密码

adduser
adduser可以将上诉过程一步到位

adduser 用户名  #其实就是集成了上诉几行命令的更加人性化的命令
删除用户
userdel -r 用户名  #连同/home目录下的文件夹一起删掉

Linux常用命令

cat:(concatenate)用于链接文件并打印到输出设备上,还可以用来将两个文件连接起来
less:可翻页查看文件
pwd:获取当前路径
ls:查看当前目录下文件 (-a 查看隐藏文件,-lh亲切而又好地查看文件详细信息
重命名:mvrename
rename可以批量修改文件名: rename .txt .tsv *
rm :删除文件 (-r 递归删除,用于删除文件夹
tar: 文件归档
tar xz :解压文件
tar cvf 压缩后的文件名及所在路径(打包成什么) 要压缩的文件位置(从哪里打包)
:管道符(pipe) 将上一个命令的输出作为下一个命令的输入
df :查看磁盘空间
sort: 排序(-u 可以去重
wc :word count 字数统计
grep: 匹配 例如:grep human genomes.txt 在这个文件中把所有包含human的行输出
diff:文件对比,一行一行进行对比,找差异
comm: 文件对比,找相同

搜索命令的方式:

查看帮助文档:
-h
--help
man
ifo
不知道命令叫什么的情况下关键词查找相关命令:
apropos

增加服务器使用体验感的一些软件

  1. fish
    体验感比bash好,可以替代bash使用
  2. tmux
    tmux是一个终端复用器(terminal multiplexer),我觉得这是一个非常有用的软件,可以避免窗口关闭后进程自动结束。我们使用命令行时,打开一个终端窗口, 会话开始,关闭此终端窗口,会话结束,服务会话随之被关闭。有时我们希望我们运行的服务或命令等被保留,而不是关闭窗口再打开后,重新手动执行。tmux可以使无论我们何时、何地链接服务器都能回到原来的对话中。

tmux的基础使用
ctrl-b + c 新建window
ctrl-b + n 下一个window
ctrl-b + p 上一个window
ctrl-b + , 重命名window
ctrl-b + & kill window 强制退出
ctrl-b + % 左右分屏
ctrl-b + " 上下分屏
ctrl-b + ! 将当前的pane 拆成独立的window
ctrl-b + [ 看历史记录
ctrl-b + 数字 跳转到指定的window
ctrl-b + d deatch, 从当前的session中分离,不退出正在运行的程序
tmux a(ttach) 重新接入某个已存在的会话

tmux的分屏功能非常实用(还能使页面看起来非常厉害
  1. htop 比top更好看和直观的进程查看器,是高级版的top
    htop

相关文章

网友评论

    本文标题:当有了一朵云之后要做些什么(服务器配置及Linux常用命令和软件

    本文链接:https://www.haomeiwen.com/subject/hksccltx.html