文件目录

Git(1):思想及概念

六眼飞鱼酱① 提交于 2020-03-12 04:42:45
Git与其他版本控制软件的差异及思想 直接记录快照,而非差异比较 Git不保存这些前后变化的差异数据。实际上,Git 更像是把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引。为提高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的快照作一链接。Git 的工作方式就如下图所示。 近乎所有操作都是本地执行 在Git中的绝大多数操作都只需要访问本地文件和资源,不用连网。Git 不用跑到外面的服务器上去取数据回来,而直接从本地数据库读取后展示给你看。所以任何时候你都可以马上翻阅,无需等待。如果想要看当前版本的文件和一个月前的版本之间有何差异,Git 会取出一个月前的快照和当前文件作一次差异运算,而不用请求远程服务器来做这件事,或是把老版本的文件拉到本地来作比较。 时刻保持数据完整性 在保存到 Git 之前,所有数据都要进行内容的校验和(checksum)计算,并将此结果作为数据的唯一标识和索引。换句话说,不可能在你修改了文件或目录之后,Git 一无所知。这项特性作为 Git 的设计哲学,建在整体架构的最底层。所以如果文件在传输时变得不完整,或者磁盘损坏导致文件数据缺失,Git 都能立即察觉。 基本概念 对于任何一个文件,在 Git 内都只有三种状态: 已修改(modified):

Git入门教程

北慕城南 提交于 2020-03-12 03:36:13
一.Git是什么 ​ Git是目前世界上最先进的 分布式版本控制系统 二.SVN与Git的最主要的区别? ​ SVN为集中式版本控制系统,版本库是集中存放在中央服务器的, ​ 单独搭建SVN服务器,不能离线工作 ​ 操作简单代码保密性较强 ​ Git为分布式版本控制系统,根本没有"中央服务器",每个人的电脑都是一个完整的版本库 ​ 适合分布式开发,强调个体 ​ 公共服务器压力和数据量都不会太大 ​ 速度快,灵活 可以离线工作 ​ 操作复杂,代码保密性差 ​ GitHub,免费的远程仓库,如果是个人的开源项目,放到GitHub上是完全没有问题的。GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与别人的开源项目。 SVN的存储需要依赖一个服务器,而git所有的东西是放在线上的。节约成本,省时省力。 三.安装Git ​ 在这个网站去下载 https://desktop.github.com/ Git最新版,windows和linux系统都有,我这边给大家是windows环境上演示 ​ 下载之后,安装,傻瓜式操作,一直下一步 (next),安装成功之后咱们电脑的程序菜单会出现3个栏目如下图 ​ <1>git bash 支持linux命令的控制台(常用) ​ <2>git CMD 支持windows命令的控制台 ​ <3>git GUI

Windows终端操作命令结合

为君一笑 提交于 2020-03-12 03:31:52
虽然随着计算机产业的发展,Windows 操作系统的应用越来越广泛,DOS 面临着被淘汰的命运,但是因为它运行安全、稳定,有的用户还在使用,所以一般Windows 的各种版本都与其兼容,用户可以在Windows 系统下运行DOS,中文版Windows XP 中的命令提示符进一步提高了与DOS 下操作命令的兼容性,用户可以在命令提示符直接输入中文调用文件。   CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本) CMD命令锦集 1. gpedit.msc-----组策略   2. sndrec32-------录音机   3. Nslookup-------IP地址侦测器 ,是一个 监测网络中 DNS 服务器是否能正确实现域名解析的命令行工具。 它在 Windows NT/2000/XP 中均可使用 , 但在 Windows 98 中却没有集成这一个工具。   4. explorer-------打开资源管理器   5. logoff---------注销命令   6. shutdown-------60秒倒计时关机命令   7. lusrmgr.msc----本机用户和组   8. services.msc---本地服务设置   9. oobe/msoobe /a----检查XP是否激活   10. notepad-------

常见模块

我的未来我决定 提交于 2020-03-11 22:11:56
一、collections模块   在内置数据类型的基础上(list tuple set dict str),collections模块提供了如下几种额外的数据类型:namedtuple deque Counter OrderDict defaultdict   1、namedtuple:生成可以使用名字访问元素的元组,正常的元组可以通过索引进行取值,但是很难看出元组元素所表示的意义,这就是namedtuple数据类型存在的意义。其用法如下实例: from collections import namedtuple circle = namedtuple('P',['x','y','r']) #P可以取任意变量名,无实际用处,但不可或缺 c1 =circle(2,3,5) print(c1.x) print(c1.y) print(c1.r)   2、deque:list可以高效的进行元素查找,但是对于追加和删除元素比较困难,尤其对于列表较大时,主要是因为列表为单向序列,遵循先进先出原则,只能在列表末尾进行元素的追加(append())和删除(pop())。而deque就是为了高效解决列表的增加和删除元素的,除了具有append()和pop()外,还具有appendleft()和popleft()方法,可以在列表的头部进行元素的增加和删除。 from collections

linux常用命令2

自闭症网瘾萝莉.ら 提交于 2020-03-11 21:52:14
1、创建链接:   硬链接:是通过索引节点进行的链接,如果删除硬链接对应的源文件,则硬链接文件仍然存在,而且保存了原有的内容类似于windows的复制。   其创建命令是:ln 1.txt hardlink.txt   软链接(也叫符号链接): 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接就变成了死链接。类似于windows的快捷方式   其创建命令是: ln -s 1.txt softlink.txt 2、tar 归档管理:   .tar打包和解压:   ps:把当前目录下所有后缀是.txt的文件打包成test.tar包   打包命令: tar -cvf test.tar *.txt 其中:c表示 create,打包的意思; v表示 verbose,过程的意思;f表示file,文件的意思.   解压命令: tar -xvf test.tar -C ./test1 其中x表示 extract,解包的意思   .tar.gz打包和解压   打包命令: tar -zcvf test.tar.gz 文件或者目录名   解包命令:tar -zxvf test.tar.gz -C ./test   .tar.bz2打包和解压   打包命令:tar -jcvf test.tar.bz2 文件名或者目录名   解压命令:tar -jxvf test.tar.bz2 .

Node.js 文件系统

时光怂恿深爱的人放手 提交于 2020-03-11 20:09:35
Node.js 提供一组类似 UNIX(POSIX)标准的文件操作API。 Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync()。 异步的方法函数最后一个参数为回调函数,回调函数的第一个参数包含了错误信息(error)。 建议大家使用异步方法,比起同步,异步方法性能更高,速度更快,而且没有阻塞。 创建 test.txt 文件 这是在test.txt中的内容 创建 main.js 文件 var fs=require("fs"); //异步 fs.readFile("test.txt",function(err,data){ if(err){ return console.error(err); } console.log("异步:"+data.toString()); }) //同步 var data=fs.readFileSync("test.txt"); console.log("同步:"+data.toString()); 异步模式下打开文件 fs.open(path, flags[, mode], callback) path - 文件的路径。 flags - 文件打开的行为。具体值详见下文。 mode - 设置文件模式(权限),文件创建默认权限为

linux系统基本结构

末鹿安然 提交于 2020-03-11 19:24:07
一、 Linux控制台的使用与硬件资源管理 1、 Linux控制台的使用 Linux系统由桌面控制台和字符控制台组成,桌面系统其实就是我们安装软件包时的X-window视窗,而X-window的实质是在命令行下运行的一个应用程序。字符控制台是Linux系统的核心,大部分操作都是在字符界面下完成的。 默认Linux下有6个字符控制台,每个控制台可以独立作业,互不影响,真正体现了Linux系统的“多用户、多任务”的特性。 在图形界面下要转入字符界面时,只需按下“Ctrl+Alt+F1”到“F6”组合键中的任何一个,即可进入字符界面。相反,如果要从字符界面切换到X-window下,可以在字符界面命令行输入“startx”或者按下“Ctrl+Alt+F7”组合键即可。 控制台终端(/dev/ttyn)虚拟终端(/dev/pts/n) Linux系统的默认管理员用户是root,与Windows的管理员用户Administrator类似,root用户可以操作系统的任何文件和设备,拥有最高权限。输入登录的用户名root,然后输入对应的密码,即可登录Linux系统了 2、 Linux硬件资源管理 (1)查看CPU信息 [root@localhost ~]# more /proc/cpuinfo 要查看系统物理CPU的个数,可通过如下命令查看: [root@centos7 ~]# cat /proc

源码方式安装软件

强颜欢笑 提交于 2020-03-11 18:58:23
源码包编译安装 ======= Created 星期一 23 十月 2017 一、使用make编译软件前需要安装的包 GCC为GNU编译器套件(GNU Compiler Collection), yum -y install cpp ###cpp为c++库 yum -y install binutils ###二进制工具集,用于创建C库文件和创建静态库 yum -y install glibc ###GNU发布的libc库,即C运行库,其他库都依赖与glibc库 yum -y install glibc-kernheaders yum -y install glibc-common yum -y install glibc-devel yum -y install gcc ### GNU编译器套件,不仅可处理c语言,也可处理多种语言 yum -y install make ###可能系统不一定自带,最好Yum安装以下 二、静态链接库与动态链接库 题外话:函数与方法的区别:函数是大家的函数,直接调用可实现相应功能,无需关心数据结构算法以及自己进行编写,即可供大家使用的。方法是类的方法。静态库和动态库就是由大量的函数组成。 库分为静态链接库和动态链接库(共享库)。 2.1、静态函数库 这类库的名字一般是 libxxx.a ,扩展名为.a;利用静态函数库编译成的文件比较大,因为整个

第2章 rsync(一):基本命令和用法

女生的网名这么多〃 提交于 2020-03-11 18:43:27
以下是rsync系列篇:   1.rsync(一):基本命令和用法   2.rsync(二):inotify+rsync详细说明和sersync   3.rsync算法原理和工作流程分析   4.rsync技术报告(翻译)   5.rsync工作机制(翻译)   6.man rsync翻译(rsync命令中文手册) 2.1 说在前面的话 rsync官方网站: https://www.samba.org/ftp/rsync/rsync.html rsync是可以实现增量备份的工具。配合任务计划,rsync能实现定时或间隔同步,配合inotify或sersync,可以实现触发式的实时同步。 rsync可以实现scp的远程拷贝(rsync不支持远程到远程的拷贝,但scp支持)、cp的本地拷贝、rm删除和"ls -l"显示文件列表等功能。但需要注意的是,rsync的最终目的或者说其原始目的是实现两端主机的文件同步,因此实现的scp/cp/rm等功能仅仅只是同步的辅助手段,且rsync实现这些功能的方式和这些命令是不一样的。事实上,rsync有一套自己的算法,其算法原理以及rsync对算法实现的机制可能比想象中要复杂一些。平时使用rsync实现简单的备份、同步等功能足以,没有多大必要去深究这些原理性的内容。但是想要看懂rsync命令的man文档、使用"-vvvv"分析rsync执行过程

Linux文件系统权限管理

最后都变了- 提交于 2020-03-11 18:12:12
一、权限对象 1、文件拥有者(owner) 文件拥有者,也称为文件的属主,由于Linux系统是一个多任务多用户的系统,因此会有很多人来使用这部主机,为了考虑每个人的隐私,文件所有者这个权限就尤为重要。 2、用户组(group) 群组是权限中最有用的功能之一,群组简单理解就是用户组,类似于我们公司的各个部门之间,或者学校的班级之间的划分,每一个班级就是一个群组,群组内的资源是共享的,群组之间是相互隔离的。 3、其他人(others) 对于非文件的拥有者,或者文件的所属组以外的人,我们称为其他人 二、权限类型 Linux权限基于UGO模型进行控制;U代表User,G代表Group,O代表Other;每一个文件的权限基于UGO进行 设置 Linux的基本权限分为读、写、执行(r、w、x),可用数字4、2、1来表示 属主:用户若是文件的主人,则匹配属主的权限,权限在文件的左三位,即第一个rwx 属组:用户与属组在同 一个组,则匹配属组的权限,权限在文件的中三位,即第二个rwx 其他:用户既不是属主也不是属组,则匹配其他的权限,权限在文件的右三位,即第三个rwx 三、r、w、x权限说明 1、对于文件而言 权限 说明 r 可获取文件的数据 w 可修改文件数据 x 可以将此文件运行为进程 2、对于目录而言 权限 说明 r 可以使用ls命令获取其下的所有文件列表 w 可修改此目录下的文件列表