文章目录
  1. 1. 程序语言相关
    1. 1.1. 安装JAVA,JDK配置环境变量
    2. 1.2. 安装cudnn,cuda配置的环境变量
    3. 1.3. git 设置代理
    4. 1.4. 离线pip安装python包
    5. 1.5. Shell切割字符串
    6. 1.6. GC分析,虚拟机分析,调优常用命令
    7. 1.7. 为JNI/JNA编译C文件
    8. 1.8. Python 打包wheel
  2. 2. 文件、目录相关
    1. 2.1. 删除目录下符合条件的文件
    2. 2.2. 查找一个或多个文件中是否含有某字符串
    3. 2.3. 查找包含某字符串的文件及字符串出现位置
    4. 2.4. 列出所有目录
    5. 2.5. 查看各目录大小
  3. 3. 删除目录下指定大小/范围大小的文件
  4. 4. 文件、数据处理相关
    1. 4.1. tar打包与gzip压缩
    2. 4.2. gz和bz2解压命令
    3. 4.3. 图片压缩
    4. 4.4. Neural Artistic Style
    5. 4.5. 合并文件,拼接文件内容
  5. 5. 大数据处理相关
    1. 5.1. yarn 终结application
  6. 6. Useful Links

程序语言相关

安装JAVA,JDK配置环境变量
1
2
3
4
export JAVA_HOME=/usr/local/jdk1.8.0_121
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
安装cudnn,cuda配置的环境变量
1
2
3
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:/usr/local/cuda-8.0/extras/CUPTI/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-8.0
export PATH=$CUDA_HOME/bin:$PATH
git 设置代理
1
2
git config --global http.proxy http://xxx.xxx.com:port
git config --global https.proxy http://xxx.xxx.com:port
离线pip安装python包

1.下载指定的包到指定文件夹

1
pip install --download ~/python27/packs pandas(-r requirements.txt) # linux

2.安装指定的离线包

1
pip install --no-index --find-links=~/python27/packs/ pandas (-r requirements.txt)

Shell切割字符串

shell命令切割字符串

1
2
3
4
-d  指定分隔符,如:按照“:”分割,-d:
-c 提取第n个字节,如:-c5,表示提取每行的第5个字节,-c5-14,表示提取每行的第5-14个字节,-c1,5,14,表示提取第1514个字节。
-f 指定输出的域
cut –d: -f1,2 //按照”:”来分割,并输出第1和2段

GC分析,虚拟机分析,调优常用命令

打印出GC Log信息

1
--conf "spark.driver.extraJavaOptions=-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:gc.log"

一些常用的GC,Heap堆分析的命令

1
2
3
4
5
jstat -gcutil pid [1s]  GC用量及总量,可设置定时统计打印一次
jstat -class pid 类加载时间和量
jstat -gccause pid 最后一次GC的原因
jinfo -flags pid 查看vm的所有设置参数
jmap -histo pid 查看当前对象及其个数,内存用量

为JNI/JNA编译C文件
1
2
gcc -fpic -c test.c  
gcc -shared -o libtest.so test.o

Linux JNA调用

Python 打包wheel
1
python setup.py bdist_wheel

文件、目录相关

删除目录下符合条件的文件
1
2
find ./ -name "CMakeCache.txt" | xargs rm -rf;
TORCH_LUA_VERSION=LUA52 ./install.sh
查找一个或多个文件中是否含有某字符串
1
strings ./xx.sh | grep "STR*"
查找包含某字符串的文件及字符串出现位置
  • 第一种
1
2
3
4
5
6
7
8
grep -rn "string" *
grep -rn "string"

* : 表示当前目录所有文件,也可以是某个文件名
-r 是递归查找
-n 是显示行号
-R 查找所有文件包含子目录
-i 忽略大小写

  • 第二种
1
find ./ -name 'filenamepattern' | xargs grep 'string'

详情见Komiles

列出所有目录
1
ls -d */
查看各目录大小
1
du -h --max-depth=1  # -h表示按MB显示,maxdepth=1表示只查看一层

删除目录下指定大小/范围大小的文件

1
2
find . -size 0 -exec rm {} \;  # 删除大小为0的空文件
find . -size +6k # 找出大小为[6k, 无穷大)的文件

文件、数据处理相关

tar打包与gzip压缩

tar打包参数:

1
2
3
4
5
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

以及根据需要在压缩与解压时可选:

1
2
3
4
5
6
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
-f: 必须参数,使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

这就能理解,为什么解压.tar.gz文件通常使用命令tar -zxvf xx.tar.gz了,-z参数是因为有gzip属性,-x表示现在要解压,-v显示解压过程,-f是必须参数,后面接文件名。

1
tar -czf cc.tar.gz *.cc  # 将所有.cc后缀文件用tar打包,gzip压缩成cc.tar.gz

以及一些解压规则:

*.tartar -xvf 解压
*.gzgzip -d 或者 gunzip 解压
*.tar.gz*.tgztar -xzf 解压
*.bz2bzip2 -d 或者用 bunzip2 解压
*.tar.bz2tar -xjf 解压
*.Zuncompress 解压
*.tar.Ztar -xZf 解压
*.rarunrar e 解压
*.zipunzip 解压

以上主要参见Linux下的tar压缩解压缩命令详解,侵歉删。

gzip压缩保留源文件的方法:

1
gzip –c filename > filename.gz

gzip解压缩保留源文件的方法:

1
gunzip –c filename.gz > filename

gzip主要参数可通过gzip -h调取查看。

gz和bz2解压命令

.tar.gz 格式解压为 tar -zxvf xx.tar.gz
.tar.bz2 格式解压为 tar -jxvf xx.tar.bz2

图片压缩
1
2
3
sudo apt-get imagemagick
convert -resize 100x100 from.jpg to.jpg
convert -resize 50%x50% from.jpg to.jpg
Neural Artistic Style
1
python neural_style.py --checkpoint-output 400out/out%s.jpg --checkpoint-iterations 50 --iterations 1000 --content <content file> --styles <style file> --output <output file>
合并文件,拼接文件内容
1
cat file1 file2 > file.bak

大数据处理相关

yarn 终结application
1
yarn application -kill <application_ID>
计算机相关 | CS.Related