首页 存档 技术 查看内容

Linux入门教程服务器使用

2018-3-30 13:00 |来自: 互联网 435 0

摘要: 关注我,你的眼睛会怀孕 Linux入门教程服务器使用 @Nearsc(投稿) “Linux入门教程”系列终于要进入尾声啦!在这最后一期里,我想讲讲有关服务器使用的一些问题。那么为什么要使用服务器呢,自己电脑不够用吗?是 ...

关注我,你的眼睛会怀孕



Linux入门教程服务器使用


@Nearsc(投稿)


“Linux入门教程”系列终于要进入尾声啦!在这最后一期里,我想讲讲有关服务器使用的一些问题。那么为什么要使用服务器呢,自己电脑不够用吗?是的!在科研刚开始的阶段,我也只是用个人电脑下下数据画画图,可是到后面接触了模式以后,计算量太大,数据也很多,就不得不依赖服务器了。服务器其实可以理解成比较厉害的计算机,其运算速度快,存储空间大,因此数值模式一般都会在服务器上运行。但正因为服务器比较好用,大家都抢着用它,所以“多个用户如何充分利用好服务器的计算资源”就变得非常重要。这意味着,同样是使用Linux系统,在服务器上就需要考虑一些新的问题。



1-远程登录

相比于个人电脑,服务器通常是多用户的,而且是多个用户同时使用的。在服务器管理员的管理下,每个用户在自己的目录下做着自己的事情,不会相互打扰。假如我现在向某个服务器的管理员申请到了一个帐户,可我要去哪里打开服务器并登录自己的帐号呢?实际上服务器一直都处于开机状态,并被集中放置在机房里,由专人进行管理,用户们只需要登录并使用它即可。当然大家并不会跑到机房里进行登录,而是采取远程登录的方式,只要连上局域网,就能在实验室或者宿舍使用服务器了。

不管自己的电脑是Windows系统还是Linux系统,我们一般都会采用ssh协议进行远程登录。在Linux下,输入ssh命令即可:

  1. [N@Dell ~]$ ssh $user@$ip

其中$user是你在服务器上的用户名,$ip则是服务器的IP地址,输入命令后系统会提示你继续输入密码。如果是第一次连接,还会有个小提示,输yes就行啦。不过还有关于图形系统(X Window System)的问题,即按照上述命令登录以后,是无法进行画图显示的。比如我用ncl打开一个x11,会显示“--X driver error: DISPLAY environmentvariable not set”;再试试运行matlab,发现它并没有启动图形窗口,而是直接进入了命令行模式。如果想要正常使用图形系统,只需在登录时加上一个选项:

  1. [N@Dell ~]$ ssh -X $user@$ip

如果想在Windows系统下登录服务器,则需要下载一个远程登录软件。这里我推荐一下Xmanager,感觉它使用起来相对比较友好。Xmanager包含多个应用程序,其中Xshell就是用来进行远程登录的,选择协议为ssh之后填上用户名、密码和IPOK了。若要使用图形系统,记得运行一下Xmanager - Passive

2.文件传输

远程登录没有问题了,可如何在个人电脑和服务器间进行文件传输呢?通常也是采用的ssh协议。如果使用Linux系统,则会用到scp命令,其用法类似于cp命令:

  1. [N@Dell ~]$ scp $user@$ip:$file $des

  2. [N@Dell ~]$ scp $file $user@$ip:$des

同样需要指定用户名、服务器IP,同时要指明源文件$file及目标地址$des。这里第一行是从服务器下载至本地,第二行是从本地上传至服务器,实际上就是在cp的用法基础上加入了“$user@$ip”。如果要传输文件夹,当然也是加上-r选项啦(类似于cp)!

对了,顺带提一下rsync命令:

  1. [N@Dell ~]$ rsync -P --rsh=ssh $user@$ip:$file $dir

  2. [N@Dell ~]$ rsync -P --rsh=ssh $file $user@$ip:$dir

这是一个远程同步工具,功能比较强大。我们可以用它来代替scp进行文件传输,因为它能实现断点续传。这里不多做介绍了,大家可以自行百度。

对于Windows系统,假如你使用的是Xmanager,只需要点击Xshell工具栏的新建文件传输按钮,就会出现文件传输的窗口了。咦,这个文件传输窗口叫Xftp,难道是采用的ftp协议吗?可是我们服务器都没开ftp协议,不可能是ftp传输的,所以我猜测其实相当于用了scp命令。不过我也没有仔细去研究它 (;-_-)

3.用户管理

尽管服务器性能优良,但用户一多就得考虑合理分配的问题。而作为用户,我们要时刻注意自己的使用情况,如CPU和内存的占用率、磁盘配额、文件系统限制等等。由于用户管理是一个比较大的问题,我现有的经验也比较零散,所以决定从几个重要命令入手,给大家说说我关注的问题吧。

freetop

free可以查看内存使用情况,而top可以查看进程的CPU占用率、内存占用率、优先级等。这类似于在Windows下查看任务管理器,来了解机器运行状况。如果服务器负载过高,可以跟管理员反馈反馈。

df、du

了解服务器的总存储空间大小是很重要的,所以需要用到df命令。知道了总空间大小,当然也得知道自己目录占了多少空间,一般输入“du -sh dir“就可以查看dir的大小了。

ps

ps可以查看进程的运行情况。直接输ps可以查看当前会话的进程,若要查看自己所有的进程(包括其他会话的进程以及后台进程),则可以输入“ps -fu $user”,$user即用户名。若输入“ps -fe”,则会显示所有用户的所有进程。

quota

因为服务器是供多用户使用的,所以对每个用户限定其可用磁盘空间也是理所当然的。大家使用服务器时是否遇到过无法写入磁盘的问题呢?有可能就是磁盘额度不够造成的。如果额度不够了,就只能删掉那些没用的文件,释放空间之后才能写入。这时候就得用quota看看总额度是多少,以及需要腾出多少空间。

ulimit

除了磁盘空间,用户的可打开文件数、可使用内存总量、可使用进程数等等也会被限制,相关信息的查看与设置需要用到ulimit命令。如“ulimit -n”设置可打开文件数,“ulimit -u”设置可使用进程数。还有在运行模式时,如果出现“segmentation fault”,有可能是ulimit设置问题,可以尝试输入“ulimit -s unlimited”来解决。需要注意的是,用户并不能随心所欲地使用ulimit来进行调整哦~

4.后台运行

有时候我们的程序要运行很久,如果需要等它运行完才能进行其他操作,难免会有不便之处。解决的办法就是把程序挂到后台运行,这样就能继续输入其他命令,甚至退出登录也不会影响程序的运行。

比如我在服务器上运行matlab之后,会话窗口就不能输入其他命令了。这时按下“Ctrl z”,matlab会被临时挂起,输入jobs就能查看到matlab的运行情况。根据jobs的显示,我们再使用bg命令,即可把matlab移至后台。具体过程如下:

  1. [N@Dell ~]$ matlab

  2. [Ctrl z]

  3. [1] Stopped matlab

  4. [N@Dell ~]$ bg 1

  5. [1] matlab

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部