zoukankan      html  css  js  c++  java
  • linux命令

    现在在弄深度学习,根本没时间写基础算法了,看了几篇深度学习入门论文和使用了几个开源框架,总体上来说深度学习没有传统学习那么多数学推导,但是用过在图像之后竟然效果那么好。因此这笔记是记录一些日常使用的shell脚本。

    查看程序:ps -ef | grep

    关闭ssh,让程序仍然能在后台运行:nohup .. &

    让caffe的标准输出输出到日志文件 2>&1 | tee -a log.txt

    python -m ipdb <python.py> <args>

    import ipdb; ipdb.set_trace(); 设置断点

    c调到断点处,p打印变量,a打印函数的输入,j调到指定行,s执行当前行,停在第一个最可能地方,n执行当前行

    unt:Continue execution until the line with a number greater than the current one is reached or until the current frame returns.

    find . -maxdepth 1 -name "abc*"  查找文件

    apt-cache search all | grep 查找安装包情况

    g++ fun.cpp `pkg-config --libs --cflags opencv` -lboost_system -lboost_thread 编译

    如果我们想改变某个文件的所有者和所属的组,可以使用命令chown,参数R必须是大写,否则会提示命令错误
    chown -R test:test test.txt

    LIBRARY_PATH和LD_LIBRARY_PATH是Linux下的两个环境变量,可以用export来修改caffe所选择的opencv目录

    git clone -b <branch> <remote_repo> 例如: git clone -b 指定的分支名字

    # 这里的-d 参数判断$myPath是否存在
    if [ ! -d "$myPath"]; then
    mkdir "$myPath"
    fi

    import os; os.system('kill -9 %d' % os.getpid()) ipdb强制退出 

    caffe中使用的OpenCV编译指令

    cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules -DWITH_CUDA=ON -DWITH_OPENCL=OFF -DWITH_TBB=ON -DWITH_DNN=OFF -DWITH_GTK=ON -DBUILD_opencv_dnn=OFF ../opencv-master

    zip文件的解压

    unzip <filename>

    tar命令

    tar [-cxtzjvfpPN] 文件与目录 .... 
    参数: 
    -c :建立一个压缩文件的参数指令(create 的意思); 
    -x :解开一个压缩文件的参数指令! 
    -t :查看 tarfile 里面的文件! 
    特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在! 
    因为不可能同时压缩与解压缩。 
    -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩? 
    -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩? 
    -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程! 
    -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数! 
       例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成 
       『 tar -zcvPf tfile sfile』才对喔! 
    -p :使用原文件的原来属性(属性不会依据使用者而变) 
    -P :可以使用绝对路径来压缩! 
    -N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中! 
    --exclude FILE:在压缩的过程中,不要将 FILE 打包! 

    tar文件的解压

    tar -xvf <filename>

    tar文件压缩

    tar -zcvf /tmp/etc.tar.gz /etc    <==打包后,以 gzip 压缩 

    tmux使用

    tmux new -s session_name

    tmux det 退出会话

    tmux kill-session -t session_name

    tmux ls

    tmux a -t session_name

    tmux show-options -g | grep prefix

    tmux list-keys | grep prefix

    http://stackoverflow.com/questions/19204294/tab-issues-with-vim-while-running-tmux

    窗口操作
    c 创建新窗口
    & 关闭当前窗口
    数字键 切换至指定窗口
    p 切换至上一窗口
    n 切换至下一窗口
    l 在前后两个窗口间互相切换
    w 通过窗口列表切换窗口
    , 重命名当前窗口;这样便于识别
    . 修改当前窗口编号;相当于窗口重新排序
    f 在所有窗口中查找指定文本

    sudo gpasswd -a tp ky 把用户tp加到ky组

    vim删除14-5940行,:40,5940d

    vim重做ctrl+r, 撤销u

    vim复制多行
    任务:将第9行至第15行的数据,复制到第16行

    方法1:(强烈推荐)
    :9,15 copy 16  或 :9,15 co 16
    由此可有:
    :9,15 move 16  或 :9,15 m 16 将第9行到第15行的文本内容到第16行的后面  
     
    解决bin/mv的巨多文件:
    find . -maxdepth 1 -type f -name '*.jpg' -exec mv {} extract_frames_from_porn_train/{} ;
     
    shuffle一个文件
    perl -MList::Util -e 'print List::Util::shuffle <>' $i > $i.new
     
    查看进程的线程
    top -H -p <pid>
    ps -T -p <pid>
     
    快速生成10G文件
    fallocate -l 10G gentoo_root.img
     
     vi/vim 中可以使用 :s 命令来替换字符串。该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询。 
      
      :s/vivian/sky/ 替换当前行第一个 vivian 为 sky 
      
      :s/vivian/sky/g 替换当前行所有 vivian 为 sky 
      
      :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky 
      
      :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky 
      
      n 为数字,若 n 为 .,表示从当前行开始到最后一行 
      
      :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky 
      
      :%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky 
      
      可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符 
      
      :s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/ 
  • 相关阅读:
    spring cloud网关gateway
    maven将依赖第三方包打包(package)到jar中
    spring boot创建多模块聚合工程
    spring cloud服务间调用feign
    取模和取余的区别
    实现多线程编程的三种方式
    打开eclipse编译后的.class文件
    对中断interrupt的理解
    对final和static的理解
    对synchronized的一点理解
  • 原文地址:https://www.cnblogs.com/Key-Ky/p/5812596.html
Copyright © 2011-2022 走看看