Git 基本用法(下)
Git 基本用法(下) 实验准备在进行该实验之前,可以先clone一个练习项目gitproject: 1$ git clone https://github.com/shiyanlou/gitproject 本节中的实验操作都是在该项目中完成。 比较内容比较提交 - Git Diff现在我们对项目做些修改: 12345$ cd gitproject# 向README文件添加一行$ echo "new line" >> README.md# 添加新的文件file1$ echo "new file" >> file1 使用git status查看当前修改的状态: 12345678910111213141516$ git statusOn branch masterYour branch is up-to-date with 'origin/master'.Changes not staged for commit: (use "git add <file>..." t...
Git 基本用法(上)
Git 基本用法(上) git的初始化Git 配置使用Git的第一件事就是设置你的名字和email,这些就是你在提交commit时的签名,每次提交记录里都会包含这些信息。使用git config命令进行配置: 12$ git config --global user.name "Scott Chacon"$ git config --global user.email "schacon@gmail.com" 执行了上面的命令后,会在家目录(/home/shiyanlou)下建立一个叫.gitconfig 的文件(该文件为隐藏文件,需要使用ls -al查看到). 内容一般像下面这样,可以使用vim或cat查看文件内容: 1234$ cat ~/.gitconfig[user] email = schacon@gmail.com name = Scott Chacon 上面的配置文件就是Git全局配置的文件,一般配置方法是git config –global <配置名称> <配置的值>。 如果...
Git 介绍
Git 介绍 git诞生略 版本控制系统Linus一直痛恨的CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢? 先说集中式版本控制系统,版本库是集中存放在中央服务器的,而大家工作的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始工作,工作完成,再把自己的修订推送给中央服务器。这类系统,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。那分布式版本控制系统与集中式版本控制系统有何不同呢?首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。 和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某...
Linux 日志系统
Linux 日志系统 常见的日志日志是一个系统管理员,一个运维人员,甚至是开发人员不可或缺的东西,系统用久了偶尔也会出现一些错误,我们需要日志来给系统排错,在一些网络应用服务不能正常工作的时候,我们需要用日志来做问题定位,日志还是过往时间的记录本,我们可以通过它知道我们是否被不明用户登陆过等等。 在 Linux 中大部分的发行版都内置使用 syslog 系统日志,那么通过前期的课程我们了解到常见的日志一般存放在 /var/log 中,我们来看看其中有哪些日志 根据图中所显示的日志,我们可以根据服务对象粗略的将日志分为两类 系统日志 应用日志 系统日志主要是存放系统内置程序或系统内核之类的日志信息如 alternatives.log 、btmp 等等,应用日志主要是我们装的第三方应用所产生的日志如 tomcat7 、apache2 等等。 接下来我们来看看常见的系统日志有哪些,他们都记录了怎样的信息 日志名称 记录信息 alternatives.log 系统的一些更新替代信息记录 apport.log 应用程序崩溃信息记录 apt/history.log 使...
Linux 进程管理
Linux 进程管理 进程的查看不管在测试的时候、在实际的生产环境中,还是自己的使用过程中,难免会遇到一些进程异常的情况,所以 Linux 为我们提供了一些工具来查看进程的状态信息。我们可以通过 top 实时得查看进程的状态,以及系统的一些信息(如 CPU、内存信息等),我们还可以通过 ps 来静态查看当前的进程信息,同时我们还可以使用 pstree 来查看当前活跃进程的树形结构。 top 工具的使用top 工具是我们常用的一个查看工具,能实时的查看我们系统的一些关键信息的变化: 1$ top top 是一个在前台执行的程序,所以执行后便进入到这样的一个交互界面,正是因为交互界面我们才可以实时的获取到系统与进程的信息。在交互界面中我们可以通过一些指令来操作和筛选。在此之前我们先来了解显示了哪些信息。 我们看到 top 显示的第一排, 内容 解释 top 表示当前程序的名称 11:05:18 表示当前的系统的时间 up 8 days,17:12 表示该机器已经启动了多长时间 1 user 表示当前系统中只有一个用户 load average: 0.29,...
Linux 进程概念
Linux 进程概念 概念的理解进程与程序概念的理解首先程序与进程是什么?程序与进程又有什么区别? 程序(procedure):不太精确地说,程序就是执行一系列有逻辑、有顺序结构的指令,帮我们达成某个结果。就如我们去餐馆,给服务员说我要牛肉盖浇饭,她执行了做牛肉盖浇饭这么一个程序,最后我们得到了这么一盘牛肉盖浇饭。它需要去执行,不然它就像一本武功秘籍,放在那里等人翻看。 进程(process):进程是程序在一个数据集合上的一次执行过程,在早期的UNIX、Linux 2.4及更早的版本中,它是系统进行资源分配和调度的独立基本单位。同上一个例子,就如我们去了餐馆,给服务员说我要牛肉盖浇饭,她执行了做牛肉盖浇饭这么一个程序,而里面做饭的是一个进程,做牛肉汤汁的是一个进程,把牛肉汤汁与饭混合在一起的是一个进程,把饭端上桌的是一个进程。它就像是我们在看武功秘籍这么一个过程,然后一个篇章一个篇章地去练。 简单来说,程序是为了完成某种任务而设计的软件,比如 vim 是程序。什么是进程呢?进程就是运行中的程序。 程序只是一些列指令的集合,是一个静止的实体,而进程不同,进程有以下的特性: ...
Linux 下软件安装
Linux 下软件安装 小贴士 注意:如果你在安装一个软件之后,无法立即使用Tab键补全这可命令,你可以尝试先执行 source ~/.zshrc,然后你就可以使用补全操作。 aptapt 包管理工具介绍 APT是Advance Packaging Tool(高级包装工具)的缩写,是Debian及其派生发行版的软件包管理器,APT可以自动下载,配置,安装二进制或者源代码格式的软件包,因此简化了Unix系统上管理软件的过程。APT最早被设计成dpkg的前端,用来处理deb格式的软件包。现在经过APT-RPM组织修改,APT已经可以安装在支持RPM的系统管理RPM包。这个包管理器包含以 apt- 开头的的多个工具,如 apt-get apt-cache apt-cdrom 等,在Debian系列的发行版中使用。 apt-getapt-get 是用于处理 apt 包的公用程序集,我们可以用它来在线安装、卸载和升级软件包等,下面列出一些apt-get包含的常用的一些工具: 工具 说明 install 其后加上软件包名,用于安装一个软件包 update 从软件源镜像服务...
Linux 挑战:数据提取
Linux 挑战:数据提取 介绍小明在做数据分析的时候需要提取文件中关于数字的部分,同时还要提取用户的邮箱部分,但是有的行不是数组也不是邮箱,现在需要你在data2这个文件中帮助他用正则表达式匹配出数字部分和邮箱部分。在这里下载 1wget http://labfile.oss.aliyuncs.com/courses/1/data2 将下载的data2保存在/home/shiyanlou/data2 目标 在文件data中匹配数字开头的行,结果写入/home/shiyanlou/num文件 在文件data中匹配出正确格式的邮箱,结果写入一个名为/home/shiyanlou/mail的文件 提示 邮箱的格式 注意符号.的处理 来源2016年tapfun校招面试题 答案12$ cat data2 | grep -v '[[:lower:]]' > /home/shiyanlou/num $ cat data2 | grep '.*@.*\.com' > /home/shiyanlou/mail
Linux 正则表达式基础
Linux 正则表达式基础 基本语法:一个正则表达式通常被称为一个模式(pattern),为用来描述或者匹配一系列符合某个句法规则的字符串。 选择|竖直分隔符表示选择,例如”boy|girl”可以匹配”boy”或者”girl” 数量限定数量限定除了我们举例用的*,还有+加号,?问号,如果在一个模式中不加数量限定符则表示出现一次且仅出现一次: +表示前面的字符必须出现至少一次(1次或多次),例如,”goo+gle”,可以匹配”gooogle”,”goooogle”等; ?表示前面的字符最多出现一次(0次或1次),例如,”colou?r”,可以匹配”color”或者”colour”; *星号代表前面的字符可以不出现,也可以出现一次或者多次(0次、或1次、或多次),例如,“0*42”可以匹配42、042、0042、00042等。 范围和优先级()圆括号可以用来定义模式字符串的范围和优先级,这可以简单的理解为是否将括号内的模式串作为一个整体。例如,”gr(a|e)y”等价于”gray|grey”,(这里体现了优先级,竖直分隔符用于选择a或者e而不是gra和ey),”(grand)?f...
Linux 挑战:历史命令
Linux 挑战:历史命令 介绍在linux中,对于文本的处理和分析是极为重要的,现在有一个文件叫做data1,同学们可以在这里下载, 1wget http://labfile.oss.aliyuncs.com/courses/1/data1 里面记录是一些命令的记录,现在需要你从里面找出出现频率次数前3的命令并保存在 /home/shiyanlou/result。 目标 处理文本data 将结果写入result 结果包含次数和命令,如“100 ls” 提示 cut截取(-c 8- 明白含义吗) uniq -dc去重 sort 的参数选择-k1 -n -r 答案类似于 1cat data|....|....|.... > /home/shiyanlou/result 来源2016年百度校招面试题 答案1cut data1 -c 8- | sort -k 1 | uniq -dc | sort -k 1 -n -r | head -3 > /home/shiyanlou/result




