linux常用语法

因为用的是Ubuntu的,所以需要会的Linux下使用混帐

版本控制:

        版本控制就是记录对文件,目录或者工程等的历史修改,方便查看更改历史,备份或者是恢复以前的版本等等

分布式版本控制:

        分布式版本控制系统是把所有的版本信息仓库全部同步到本地,这样就可以在本地查看所有版本历史,可以离线提交,等有网的时候再推到相应的服务器或其他用户那里,由于每个用户那里保存的都是所有的版本数据,所以,只要有一个设备没有问题就可以恢复所有数据。

GIT:

三个工作区域:本地数据(仓库)目录,工作区,暂存区

linux常用语法_第1张图片

 

  git directory就是我们的本地仓库.git目录,里面保存了所有的版本信息等内容。

  working driectory,工作目录,就是我们的工作目录,其中包括未跟踪文件及已跟踪文件,而已跟踪文件都是从git目录取出来的文件的某一个版本或新跟踪的文件。

  staging area,暂存区,不对应一个具体目录,其他只是git directory中的一个特殊文件。

  当我们修改了一些文件后,要将其放入暂存区然后才能提交,每次提交时其实都是提交暂存区的文件到GIT中仓库,然后清除暂存区。而检出某一版本时,这一版本的文件就从git的仓库取出来放到了我们的工作目录。

文件暂存:

*** git add 将文件暂存到暂存区

*** git reset HEAD ^ 取消暂存的文件

***修改了一个文件,想还原文件git checkout -

文件修改:

*** git status只能查看对哪些做了改动,具体改动了什么要用git diff 

linux常用语法_第2张图片

其中---表示修改之前的文件,+++ b表示修改后的文件。红色表示修改的地方

        文件移除:

        *** git rm  

        提交文件:

        *** git commit -a全部提交

        *** git commit -m“”提交后注释

        *** git commit --amend提交后发现有个文件改错了,或者只是想修改提交说明,这时可以对相应文件做出修改,将修改过的文件通过“git add”添加到暂存区,使用git commit --amend

        如果文件已经提交了,就要用这种办法取消提交:

       git revert 这条命令会把指定的提交的所有修改回滚,并同时生成一个新的提交。

       git reset HEAD 这条命令会使HEAD提向指定的提交; HEAD表示当前

        分支合并合并和重订的区别:

  分支合并(merge)是将两个分支的改动合并到一起,并生成一个新的提交,提交历史是按时间排序的,即我们实际提交的顺序,通过git log --graph或一些图形化工具,可能很明显地看到分支的合并历史,如果分支比较多就很混乱,而且如果以功能点新建分支,等功能点完成后合回主线,由于合并后提交是按提交时间排序的,提交历史就比较乱,各个功能点的提交混杂在一起,还可能遇到上面提到的补丁问题。

  而分支衍合(变基)是找到两个分支的共同祖先提交,将要被底垫进来的分支的提交依次在要被底垫到的分支上重演一遍,即回到两个分支的共同祖先,将分支(假如叫实验)的每次提交的差异保存到临时文件里,然后切换到要衍合入的分支(假如是主),依次应用补丁文件。实验上有几次提交,在主就生成几次新的提交,而且是连在一起的,这样合进主线后每个功能点的提交就都在一起,而且提交历史是线性的

回购:

*** repo start zhuzhu:创建一个zhuzhu分支

*** repo init -u [OPTIONS]:在当前目录下初始化repo

*** repo sync。下载最新代码相当于git clone

*** repo status:查看本地所有Project的修改,在每个修改的文件前有两个字符,第一个字符表示暂存区的状态。

*** repo prune :删除已经merge的分支

*** repo branch:查看所有的分支

*** repo upload:上传本地提交到服务器

*** repo forall -c'git reset --hard HEAD; git clean -df; git rebase --abort':可以撤销整个工程的本地修改

项目用到的命令有:

***创建分支:repo start zhuzhu:创建zhuzhu分支

***下拉代码:repo sync。:下拉代码,注意最后点点

***文件备份:mv zz zz.bzk:备份一份名为zz.bak

***复制一个文件夹:cp -rp lnt(源文件)zhzh(新文件)复制lnt文件为zhzh

***提交代码:git add zz:添加zz文件

                            git commit -s:提交一个目录所有git commit --amend:追加

                            repo上传: 

***起python:python -m SimpleHTTPServer 8080

***查看状态:git status

***查看ip:ifconfig -a

***打包:tar -zcvf ZZ.Tar aa

***版本回退:git log:查看已经提交的

                            HEAD表示当前版本

                            git reset --head HEAD ^ / git reset HEAD ZZ

 

总结命令:

1,man指令:查看命令用法,例如:man ls;查看ls命令用法,

        注:按q键或者按Ctrl + C可以退出当前程序

2,LS命令,查看目录中的文件或者文件的属性,

3,cp,顾名思义,copy拷贝文件/拷贝目录

        cp 1.c 2.c;拷贝当前文件夹下的1.c,拷贝后名字为2.c.

        cp -r zrfdir zrfdir1;拷贝zrfdir目录,拷贝后目录名字为zrfdir1

        cp zrfdir / * zrfdir2;拷贝zrfdir目录下的所有文件到zrfdir1

        cp 1.c zrfdir / 2.c;拷贝1.c文件到zrfdir目录下,拷贝后的文件名字为2.c

4,RM,删除删除文件/目录

        rm 1.c;删除一个文件

        rm 1.c 2.c 3.c 4.c ...;删除多个文件

        rmdir zrfdir;只能删除非空目录

        rmdir zrfdir zrfdir1 ...;删除多个非空目录

        rm -r zrfdir;可以删除任何目录

        rm -r zrfdir zrfdir1 ...;删除多个目录

        rm zrfdir / 1.c;删除目录下的文件

5,mkdir,makedir创建目录

        mkdir zrfdir;如果zrfdir目录不存在,则创建目录

        mkdir zrfdir / 1.c;在zrfdir目录下创建名为1.c的文件

6,创建分支

        repo start zhuzhu创建zhuzhu分支

7,whoami,whereis,which,id

        whoami;获取到用户名

        whereis bin;获取目录

        bin;与whereis类似

        ID;获取到UID,GID,组信息

        UID:用户唯一身份标识

        GID:用户组身份唯一标识

 8,杀,杀死正在进行或已经是DEST状态的进程

        ps -aux:查看所有进程

        sudo kill PID:杀死相对应的PID号码

9,焦油,解压文件,gzip的,压缩文件

        ubuntu一般用tar -zcvf lnt.tar lnt将lnt文件压缩

        gzip zrfdir / 1.c;压缩zrfdir目录下的1.c文件

        解压

        tar -xvf archive.tar -C / tmp将压缩包释放到/ tmp目录下

Ubuntu的安装节点:

安装nodeJs8.x版本

 

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

安装nodeJs9.x版本:

    curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -    sudo apt-get install -y nodejs

 

 

 

 

 

 

你可能感兴趣的:(Linux)