argparse & linux & git

argparse

import argparse
flags=argparse.ArgumentParser()
flags.add_argument('--optimizer', default='Adam',type=str, help=‘Options : Adam')
flags.add_argument('--epoch_size', default=100, type=int, help='Epoch size')
Flag = flags.parse_args()             #Python下
Flag = flags.parse_args(args=[])      #jupyter下
print(Flag.num_splits)

import tensorflow as tf
flags = tf.app.flags
FLAGS = flags.FLAGS
flags.DEFINE_string('f', '', 'kernel')     #jupyter下
flags.DEFINE_string('optimizer', 'Adam', 'Options : Adam, SGD, RMSProp')
flags.DEFINE_integer('epoch_size', 100, 'Epoch size')
print(FLAGS.optimizer)

linux

#系统变量
sudo vim ~/.bashrc
source ~/.bashrc
sudo vim ~/.bash_profile
source ~/.bash_profile
#环境变量
sudo vim /etc/profile
source /etc/profile
apt-get install package 安装package
apt-get install package --reinstall 重新安装包package
apt-get -f install 修复安装
apt-get update 更新源
apt-get upgrade 更新已安装的包
apt-get dist-upgrade 升级系统
apt-get remove package 删除包
apt-get remove package --purge 删除包,包括配置文件等
apt-get clean && sudo apt-get autoclean 清理无用的包

压缩

一、zip格式

zip -r archive_name.zip filename    (-r是压缩文件)

unzip archive_name.zip              (解压文件在当前文件下)

unzip archive_name.zip -d new_dir   (解压文件可以将文件解压缩至一个你指定的的目录,使用-d参数)

二、tar格式

     tar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时间去打包文件,它

仅仅只是一个打包工具,并不负责压缩。下面是如何打包一个目录:

      tar -cvf archive_name.tar directory_to_compress     

      -c参数是建立新的存档

      -v参数详细显示处理的文件

      -f参数指定存档或设备

      打包之后如何解包:

      tar -xvf archive_name.tar

     上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用下面的这个命令来解包到指定的路径:

      tar -xvf archive_name.tar -C new_dir        (解包的参数是-C,不是小写c)

三、tar.gz格式

     这种格式是我使用得最多的压缩格式。它在压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。

     压缩方式:

     tar -zcvf archive_name.tar.gz filename

     解压缩方式:

     tar -zxvf archive_name.tar.gz

    上面这个解包命令将会将文档解包在当前目录下面。当然,你也可以用下面的这个命令来指定解包的路径:

     tar -zxvf archive_name.tar.gz -C new_dir

 

第一种方法,我们只需要杀死之前的进程,释放系统锁就可以了:

ps -ef|grep hello.py
ps -aux|grep hello.py

kill -9 PID

第二种方法,强制解锁

sudo rm /var/cache/apt/archives/lock 

sudo rm /var/lib/dpkg/lock

进程查看

ps --help

ps aux 是用bsd的格式来显示 java这个进程
显示的项目有:user , pid , %cpu , %mem , vsz , rss , tty , stat , start , time , command
ps -ef 是用标准的格式显示java这个进程
显示的项目有:uid , pid , ppid , c , stime , tty , time , cmd

 

Git

初始化创建 git 仓库:

git init
touch README.md
git add README.md
git add *
git commit -m "first commit"
git remote add github https://github.com/LebronGG/test.git
git push -u github master

已经有仓库: 

git remote add github https://gitee.com/LebronGG/test1.git
git push origin master

仓库更新:

git add README.md
git commit -m "first commit"
git push origin master

工程初始化

git init
git add readme.txt
git commit -m "wrote a readme file"

第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

查看状态 

git status

可以查看git add 文件到 暂存区的状态

查看git日志

git log

查看分支结构图 

git log --graph

 

查看工作区和版本库的区别

git diff HEAD -- readme.txt 

diff优先查看的是暂存区中的内容,如果暂存区为空,则对照版本库内容

版本回退 

log单行方便查看

git log --pretty=oneline
git reflog                  显示命令日志
git reset --hard 024db57    版本回到到命令版本处

or

git reset --hard ab5f15ef275327456f89d44ce54206669eb9e3f8

checkout回退 

git checkout -- readme.txt

 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commitgit add时的状态。

关联仓库

git remote add origin git@github.com:user/test.git

两种不同的协议连接

git remote add origin https://github.com/user/test.git

查看删除远程库:

git remote -v
git remote rm 。

推送内容

git push -u origin master
git push origin master

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

创建分支

git branch dev
git checkout dev

or

git checkout -b dev

git checkout命令加上-b参数表示创建并切换,相当于上面的两条命令

查看分支

git branch

合并某分支到当前分支

git merge dev

切换分支

git checkout dev

 switch更科学

git switch -c dev

删除分支

-d删除    如果分支没有合并的话就用   -D   强行删除 

git branch -d dev

内容储存

git stash

 Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:

git stash list

 工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:一是用恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;

git stash apply stash@{0}

另一种方式是用git stash pop,恢复的同时把stash内容也删了:

推送分支

推送分支,就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上:

git push origin master

如果要推送其他分支,比如dev,就改成:

git push origin dev

抓取分支

git checkout -b dev github/dev

删除远程仓库分支 

git push github :bug

强制覆盖

git fetch --all  //从远程拉取最新的代码 不merge

git reset --hard origin/develop  //使用指定分支的代码(此处develop)强制覆盖代码

git pull  //从远程拉取最新的代码 自动merge

注意空格符

git pull 同一分支的多个提交拉取到本地合并

git rebase 把分叉的提交历史“整理”成一条直线

命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;

命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;

命令git tag可以查看所有标签。

命令git push origin <tagname>可以推送一个本地标签;

命令git push origin --tags可以推送全部未推送过的本地标签;

命令git tag -d <tagname>可以删除一个本地标签;

命令git push origin :refs/tags/<tagname>可以删除一个远程标签。

参考文献:

https://www.liaoxuefeng.com/wiki/896043488029600/1163625339727712

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值