【ubuntu/linux服务器与本地传输文件,Screen 远程登录,conda环境常用指令】

ubuntu/linux服务器与本地传输文件,Screen 远程登录,conda环境常用指令

1.GPU指令查看

nvidia-smi   ## 查看GPU整体情况
nvidia-smi -l  ## 查看几个GPU在运行
top             ## 查看gpu使用占比

2.服务器上新建conda环境

  • 创建新环境

    conda create -n 文件夹 python=3.7(指定python的版本)
    
  • 激活创建好的新环境

    conda activate 文件夹 
    
  • 删除创建好的新环境

    conda remove -n 文件夹 --all
    
  • 进入env_mcl7环境

    source activate env_mcl7
    

3.conda常用指令

  • 查看虚拟环境

    conda env list
    conda info --envs
    
  • 退出虚拟环境

    conda deactivate
    
  • 增加源

    conda config --add channels 源的地址
    
  • 删除源

    conda config --remove channels 源的地址
    
  • 查看源

    conda config --show channels
    
  • 添加清华源

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
    conda config --set show_channel_urls yes
    
  • 豆瓣源

    pip install -r requirement.txt -i https://pypi.douban.com/simple
    

4.本地与服务器交互

  • ## 将本地文件上传至服务器 (需在本地环境中,且目录是该文件的上级目录,否则需要带路径)
    scp 文件名 [email protected]:/data3/private/mcl
    
    
  • ## 将本地文件夹上传至服务器
    scp -r 文件夹名 [email protected]:/data3/private/mcl
    
  • ## 将服务器中的文件下载至本地
    scp [email protected]:/data3/private/mcl/test.txt /Users/clmeng/realmadrid
    
  • ## 将服务器中的文件夹下载至本地
    scp -r [email protected]:/data3/private/mcl/test /Users/clmeng/realmadrid
    
  • ## 显示光标
    echo -e "\033[?25h"
    
    ## 更改sh为shell,解决inux下shell中使用上下键翻出历史命名时出现^[[A^[[A^[[A^[[B^[[B的问题
    chsh -s /bin/bash username  或者使用 usermod -s /bin/bash username
    

5.常用操作

  • ## 删除文件夹(-i代表询问是否确定删除该文件夹)
    rm -rf -i test111/
    
    #删除文件(多个)
    rm -i 文件1 文件2
    
    #删除以x开头的文件
    rm -rf -i x*
    
    #删除.log类型的文件
    rm -rf -i *.log
    
  •     ## 在linux命令行(终端)不依赖jupyter执行ipynb 文件
                  
    pip install runipy
    runipy <YourNotebookName>.ipynb
    
  • 将conda环境服务器中所有函数、库的版本打包为txt

    pip freeze > requirements.txt
    
  • 查看某个包、库、函数的版本

    pip list | grep -i xxx
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MuFtSES4-1681121775380)(/Users/clmeng/Downloads/1_A包/6_日常插图/截屏2022-04-01 下午7.50.08.png)]

6. Screen 远程登录

  • 背景

    系统管理员经常需要SSH或者telent远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。
    screen命令可以很好的解决这个问题。实现在断开SSH的情况下,在服务器上继续执行程序。

  • 定义

    Screen被称之为一个全屏窗口管理器, 用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。
    注意有会话(session)和窗口(window)两个概念。 进入screen会话后,可在会话中创建多个窗口(window)

  • 相关概念

    • 默认窗口
      所谓默认窗口就是我们没有用screen命令时的那个干干净净的窗口,不能使用等会介绍的screen命令下的任何快捷键。
    • screen会话
      screen会话就是当我们进入screen空间下的,占用了一个进程pid的一个界面。这个界面有他自己的名字,有他自己内部交互的快捷键,能够拥有很多不同的子终端的界面。也可以理解成独立于默认窗口之外的窗口。注意,是每一个screen会话都能拥有很多的子窗口,而我们的电脑能同时拥有很多不同的screen会话。
    • 子窗口window
      每一个子窗口都是附属与一个screen会话下的,他们互不影响,能够分别执行不同的命令,这是整个screen命令的精华所在。对窗口进行管理,管理命令以ctrl + a开头。 工作时,我们需要做的就是选定某一个screen会话,并且选定一个子窗口。这样如果我们需要换一个界面的话,我们就只需要更换另一个子窗口就行了。
  • 三个特点

    • 会话恢复
      只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行分离命令dettach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。
    • 多窗口
      在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。Screen实现了基本的文本操作,如复制粘贴等;还提供了类似滚动条的功能,可以查看窗口状况的历史记录。窗口还可以被分区和命名,还可以监视后台窗口的活动。
    • 会话共享
      Screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。它同时提供了窗口访问权限的机制,可以对窗口进行密码保护。
  • 优势

    新建一个会话,然后在会话中开展training,即使在先断网的情况下,服务器中的模型也还是会继续跑的。

  • 常用指令

    screen -S  new_name  ## 新建会话 
    
    ## 退出当前会话
    screen窗口键入C-a d,Screen会给出dettached提示
    exit
    
    ## 远程dettach某个会话 (dettach 表示中断)
    screen -d session_name #session_name也可以是对应的session id
    
    ## 进入dettached的会话
    screen -r session_name #session_name也可以是对应的session id
    
    ## 进入attached的会话
    ## 如果一个会话的状态是Attached的,而你并不在其中,我们就要输入 
    screen -d <screen的pid> ,来使他”Dettached”,
    然后再输入 screen -r <screen的pid>,来进入这个screen。
    
    ## 显示当前所属会话id.name
    echo $STY
    
    ## 列出当前所有的session
    screen -ls
    
    ## 关闭会话
    ## 保持会话退出,这样退出的话,以后还可以通过screen -r (name)恢复会话,快捷命令
    ctrl A D
    exit
    
    ## 删除会话
    screen -X -S session_name quit
    
    ## 清理会话
    screen -wipe #清理那些dead的会话
    
    

猜你喜欢

转载自blog.csdn.net/crist_meng/article/details/130066526