快捷键大全

VIM命令

:w保存
:q退出
:wq保存并退出
:set nuno去除行号

gg 移动到文件首
G 移动到文件尾
M 移动到屏幕中
H 移动到屏幕首
L 移动到屏幕尾
o 从当前行的下一行开始编辑
O 从当前行的上一行开始编辑
$ 移动到当前行尾
^ 移动到当前行首
:/字符串 搜索字符串
:,120 跳转到120行
yy:复制整行
p:粘贴
nyy:复制以下n行
vim设置为粘贴模式:set paste,格式不会乱,但之后的输入不会缩进了,所以之后还需要恢复set nopaste
vimdiff 1 2,查看两个文件的差距
md5sum test, 查看文件

去掉文件中每行最后的空格::1,$s/\s\+$//


shell命令

查看当前目录下的所有文件数量(不包括子目录中的文件):ls -l|grep "^-"| wc -l
查看当前目录下的所有文件数量(包括子目录中的文件):ls -lR|grep "^-"| wc -l
查看当前目录下的文件夹数量:(不包含子目录中的文件夹)ls -l |grep "^d"|wc -l

查看当前目录下的所有文件夹:ls -F |grep "/$"
列出当前目录下的所有隐藏文件:ls -d .*
查看nohup.out里面的日志内容: tail -fn 50 nohup.out
修改文件夹名称:mv dir1 dir2
从linux服务器上下载文件到windows本地:scp name@xxx.xxx.xx.xxx:/路径 本地路径(若下载的是文件,则需要在本新建一个对应的接收文件;若下载的是文件夹,则需要在scp后加-r,特别注意设置端口号,需要在scp后加-P 端口号
从本地上传文件到服务器:scp 本地路径 name@xxx.xxx.xx.xxx:/路径
从一个服务器到另一个服务器传送文件:

sudo scp -r test_clipped name1@xxx.xxx.xx:/mnt/hd/wxt 

(注意可能会遇到permission denied的错误,排除掉往上已有的问题之后,试着把目标路径改成:~)
将一个文件夹下的所有文件复制到另一个文件夹下:cp -r /原始路径/. /目标路径
复制整个文件夹到另一目录下:cp -r -v源文件路径 目标文件路径
(注意复制时,若想将所有文件移动到新文件夹下,目标文件可以不用事先创建,复制时命名就行了)
查找文件夹下某个文件名: find . -name 'xxxx'
复制很多数据时:find test/ -name "*.jpg" |xargs -i cp {} train
创建一个文件:touch 文件名
删除某些文件或文件夹:rm -rf C05*
删除很多文件时:find train/ -name "N-*" |xargs -i rm {}
删除文件夹时提示:rm: cannot remove '文件名/': Directory not empty,这是因为对该文件夹的上一次操作还未关闭,可以使用命令:lsof 文件名来查看当前操作该文件的PID,然后kill掉就行了。
删除带有空格的文件:rm -r 绝对路径/‘文件名’
统计文件的行数:wc -l submit.csv
统计文件的字数:wc -w test.txt
修改文件或文件夹名:mv file1 file2
下载安装python第三方模块:sudo pip install xxx
tar方式压缩为gz格式:tar zcvf 文件名.tar.gz 文件名
解压tgz文件:tar zxvf 文件名.tgz -C ./
解压.zip文件:unzip xxx.zip -d /目录
解压.7z文件:7z x filename.7z
查看csv文件:cat xxx
启动tensorboard:进入保存模型的文件夹,打开cmd,输入:

tensorboard --logdir=当前路径 --port 8080 --host 服务器id

tensorboard报错:TensorBoard could not bind to any port around 6006(端口号)解决办法:lsof -i:6006 kill -9 1234(查到的pid)
注意:公网ip+浏览器访问使用端口(如12345)的方式可以访问工作区设置的端口(如8080),工作区启动:tensorboard --port=8080 --logdir=log/,浏览器访问:http://服务器ip:12345
统计文件夹下文件个数,包括子文件: ls -lR | grep "^-"| wc -l
查看当前任务:nvidia-smi
查看具体进程:htopps -aux
观察当前任务情况:watch -n 10 nvidia-smi
赋权限:chmod -R 777 ./
给目录下的所有文件可读可写可执行:chmod -R 777 *
进入root模式:su root(machinelearning)
返回普通模式:su 用户名
实时显示系统中各个进程的资源占用状况:top
查看某个pid的进程:ps -ef|grep pid
结束一个进程:kill -9 pid
无进程但显存占用问题:fuser -v /dev/nvidia*可查看所有top无法显示的进程,直接粗暴的kill掉该用户就可以全部释放了:killall -u usrname
如果无法执行killall命令可以使用:ps -ef|grep string|grep -v grep|cut -c 9-15|xargs kill -9(其中string是指含有关键字string的进程)
这个命令也是:ps -aux | grep train.py | awk '{print $2}' | xargs kill -9
在后台运行:nohup xxx.py &
查看第三方模块:pip list
查看所有环境变量:export -p
查看cuda版本: cat /usr/local/cuda/version.txt
若上述命令无法运行,则到cuda的安装路径查看:/usr/local
查看cudnn版本:cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
安装:https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/
查看ubuntu版本:.cat /etc/issue
查看conda版本:conda -V
查看conda:conda info --envs
查看当前python解释器路径:

import sys
sys.executable

激活python:source activate py3.6
测试gpu:

import tensorflow as tf
gpu_device_name = tf.test.gpu_device_name()
print(gpu_device_name)

查看本机gpu/cpu信息:

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

编辑bashrc:vim ~/.bashrc
使bashrc文件生效:source ~/.bashrc
避免每次需要source的方法:

vi ~/.bash_profile
在其中添加如下代码:
if [ -f ~/.bashrc ];then
source ~/.bashrc
fi

新建一个tmux:tmux new -s wxt,也可以直接tmux
显示所有tmuxL:tmux ls
进入tmux:tmux a -d -t wxt,也可以tmux attach -t name
退出tmux:ctrl+b d
退出翻页:q
设置鼠标点击:tmux set mouse on
将窗口垂直划分:先按ctrl+b,放开后再按%
将窗口水平划分:先按ctrl+b,放开后再按 "

新建窗口:先按ctrl+b,放开后再按c
切换窗格:先按ctrl+b,放开后再按o
切换窗口:先按ctrl+b,放开后再按n
关闭窗口:先按ctrl+b,放开后再按&
关闭窗格:先按ctrl+b,放开后再按x
滚屏模式:ctrl+b [,pgUp,pgDn控制

删除某个tmux:tmux kill-window -t wxt
glob通配符用法:
复制子文件夹下的所有文件并放到当前目录下:cp **/* .
查看当前环境变量:echo $LD_LIBRARY_PATH
提取当前目录下的所有文件名:新建一个txt文件,粘贴以下内容进去,修改扩展名为.BAT,双击运行即可。

@echo off
dir /b /on >list.txt

查看每个账户的资源占用情况: sudo du -sh /home/*
每个用户目录下都可以创建自己的python虚拟环境:

conda create -n wxt python=3.6

注意若执行上述命令遇到网络问题,可以更换清华源来解决:(.condarc文件就在没个用户目录下,直接vim就能打开)
若配置清华源后仍报错,则将conda恢复默认源:conda config --remove-key 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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud//pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yes

安装第三方库总超时的解决:

pip install --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple -U librosa
pip install 库包名 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

下载torch的网址:torch各版本下载
下载tensorflow:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip --default-timeout=100000 install --upgrade tensorflow-gpu==2.2.0

清华源: https://pypi.tuna.tsinghua.edu.cn/simple/
运行.sh文件:

chmod a+x filename
./filename
或者:sh filename

软链接:ln -s 源文件 目标文件
创建空白文件:touch 文件名
列出前10条文件:find . -name ".wav" | head -400 > wav.lst head为列出前面输出的前10行,并将前400行使用>重定向输出到wav.lst
列出当前目录下的前100条文件名:ls |head -n 100
查看wav文件的信息:soxi 文件名
查看文件夹剩余空间:df -hl
查看文件的大小:du -h 文件名
显示当前进程的状态:ps -aux 进程关键字
查找文件里符合条件的字符串:| grep 字符串
linux批量重命名:mmv a\* b\#
ubuntu下载指令:apt-get install mmv
只显示文件夹:ls -l | grep '^d'
一个优美的中断程序的姿势:ps -aux | grep train.py | awk '{print $2}' | xargs kill -9

matlab

查看matlab的安装目录:matlabroot
查看toolbox中某个函数路径:which xxx
查看某个函数功能: help xxx
按指定分隔符’'分割,输出文本中的1、4项:awk -F '\' '{print $1,$4}' log.txt

正则表达式

1.fuser -v /dev/nvidia* | grep -o -E '[0-9]+' | xargs kill -9
说明:|左侧命令的输出作为右侧命令的输入;grep为查找命令,-o表示仅匹配,-E表示扩展正则表达式,[0-9]+表示匹配以0-9之间的数字开头的字符串;xargs表示输入的参数作为kill -9的参数
2. sublime查找相邻重复行:^(.+)$[\r\n](^\1$[\r\n]{0, 1})+,若想查找全文重复行,可以先排序,使重复行相邻即可。
3. 等于:-eq 不等于:-ne 大于:-gt 小于:-lt 大于等于:-ge 小于等于:-le
4. 查找:grep -nr ‘TP notes is empty’ ./*

git管理

Git global setup

git config --global user.name "wxt"
git config --global user.email "wxt@163.com"
Create a new repository
git clone https://xxx/piano_train.git
cd piano_train
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

Existing folder

cd existing_folder
git init
git remote add origin https://xxx/piano_train.git
git add .
git commit -m "Initial commit"
git push -u origin master

Existing Git repository

cd existing_repo
git remote rename origin old-origin
git remote add origin https://xxx/piano_train.git
git push -u origin --all
git push -u origin --tags

查看git当前状态:git status
新建分支:git checkout -b test
切换分支: git checkout test

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值