nohup实现ssh程序后台执行

命令格式:

  1. nohup Command [ Arg ... ] [ & ]
  2. # eg
  3. nohup python train.py > myout.txt 2>&1 &

数据流

数据流分为三类:标准输入流(stdin),标准输出流(stdout),标准错误流(stderr)
他们分别简写为:

  • 0 (stdin)
  • 1 (stdout)
  • 2 (stderr)

    nohup

    nohup实现不挂断;
    但是此时程序不在后台进行,当前终端不能接受任何命令;

    &

    &指后台运行;
    程序在后台运行,当前终端能接受其他命令;
    注意:

  • 程序死掉(比如报错)之后,再按回车键可以退出该线程;

    zip压缩文件夹

    1. zip -r dest.zip folder

    解压

    1. unzip source.zip

    文件移动删除复制等

    文件创建后,会被分配一个索引节点(inode),即是文件系统中用于数据存储的固定点。移动文件就是将文件从一个索引节点移动到另一个索引节点。
    如下命令可以查看索引节点:

    1. ls --inode hello.c

    索引节点是按文件创建的顺序按顺序进行分配的,没有明显的继承关系等。移动文件和重命名文件在Linux中是相同的操作。

    文件(夹)移动

    1. mv <source> <destination>

    例如:

    1. mv hello.c ./CPLUSDIR
    2. mv hello.c helloworld.c

    移动目录(不像cp,rm等命令,mv处理文件和目录方式相同)

    1. mv dir1 ./dir2

    文件覆盖

    利用参数 -i或者—interactive实现移动文件时碰到同名文件的覆盖提醒。

    1. mv --interactive hello.c ./CPULSDIR

    文件同名冲突拒绝移动操作

    利用参数—no-clobber实现同名文件时拒绝移动

    1. mv --no-clobber hello.c ./CPULSDIR

    一次性移动多个文件

    1. mv hello.c test.c yolo.c ./CPLUSDIR

    文件(夹)删除

    删除文件

    1. rm -f ./dir1/dir2/hello.c

    其中:-f参数表示,直接强行删除,没有任何提示;

    删除文件夹

    1. rm -rf ./dir1

    其中:
    -r 表示向下递归,递归删除;
    -f 同样表示直接强行删除,没有任何提示;

    文件复制

    1. cp [options] <source file or directory> <target file or directory>

    文件到文件夹

    1. cp ./hello.c ./dir1

    文件夹到文件夹

    1. cp -r dir1 dir2

    查看运行程序

    1. ps -a # 显示所有进程
    2. ps -ef | grep python # 显示运行的 python 程序