Linux学习笔记
.sh文件输出终端打印的信息
CUDA_VISIBLE_DEVICES=3 python predict_with_pb.py \
--frozen_pb_file=/home-ex/tclsz/ \
--Validation_dataset_path=/home-ex/tclsz/yangshun/datasets/holeTEST/source_img \
--img_batch_size=1205 \
2>&1 | tee /home-ex/tclsz/yangshun/tensorflow/models/research/slim/logs/log.txt &
shell内部命令/外部命令
help 只能用于获取shell外部命令,如cd。man >只能用于获取shell内部命令,如ls。用whereis >可以区分内部外部命令。找不到可执行文件的命令为内部命令。
##解压缩同时打包命令
tar -zcvf file.tar.gz file //先打包,同时压缩,变为*.tar.gz
tar -zxvf file.tar.gz //解压*.tar.gz
tar -jxvf file.tar.bz2 //先打包,同时压缩,变为*.tar.bz2
tar -jxvf file.tar.bz2 //解压*.tar.bz2
##chmod 755 file.sh
赋予file.sh运行权限
##ctrl+U 清命令行; ctrl +L 清屏;ctrl+C 强制中止当前命令
##输出重定向命令:
命令 &>file.log 以覆盖方式,正确输出与错误输出保存到同一个文件file.log中
命令 &>>file.log 以追加方式,正确输出与错误输出保存到同一个文件file.log中
命令 >>file1.log 2>>file2.log 以追加方式,正确输出保存到file2.log中,错误输出保存到文件file2.log中
##Shell编程开关格式
#!/bin/bash
##Shell编程之for语句
# $* 无论多少个参数都看成一个整体; $@每个参数都是独立的
for i in "$*" ------>只循环一次
do
echo "$i"
done
for i in "$@" ------>参数多少个循环多少次
do
echo "$i"
done
##Shell编程之各种变量
$# 是传给脚本的参数个数
$0 是脚本本身的名字
$1 是传递给该shell脚本的第一个参数
$2 是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表
$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
$$ 是脚本运行的当前进程ID号
$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误
##Shell编程之变量的声明
declare [+/-] [选项] 变量名
其中-作用为给变量设定类型属性,+作用为取消变量的类型属性
-a :声明为数组型
-i:声明为整型
-x:声明为环境变量(与export 作用相同)
-r:声明为只读变量(不好用,了解就好)
-p: 显示指定变量的被声明类型
##Shell编程之数值的运算
aa=11
bb=22
//方法一
declare -i cc=aa+bb
//方法二:值得注意的是+号左右两边都要有空格
cc=$(expr $aa + $bb)
//方法三
cc=$(($aa+$bb))