内容简介
1、第二部分第三课:文件和目录,组织不会亏待你
2、第二部分第四课预告:文件操纵,鼓掌之中
文件和目录,组织不会亏待你
上一次课我们讲了命令行,这将成为伴随我们接下来整个Linux课程的一个重要部分。
大宝啊明天见,命令行啊天天见~
今天的标题里的那句“组织不会亏待你”,不是说Linux社群是个非*法组织,不*良帮*派。不是的,我们还是很廉洁的啊~
是因为这一课我们要来谈一谈Linux系统的文件和目录是如何组织的。
使用过Windows系统的用户,应该对Windows系统里的C盘,D盘,等等不陌生。那么Linux是否也是类似的呢?是不是也是硬盘分为C盘,什么的;光盘驱动器可能会叫做G盘,H盘,等等呢?
其实不然,Linux下和Windows下的组织形式是不一样的。了解这点非常重要。
所以我们才要用一课的篇幅来好好探究一下。
文件的组织
Linux中管理文件的系统初看是令人费解的,特别是对于已经习惯Windows的文件组织方式的朋友。
在Linux中,我们可找不到什么C盘,D盘,E盘,等等。完全不是这样的。
不像Windows分成C盘,D盘,光盘驱动器,内存读卡器,等。Linux是把所有东西都放在一个地方。
那么我们怎么才能区分我们的硬盘的第一张磁盘,第二张磁盘,光盘驱动器等等呢?
两种类型的文件
简单起见,我们把Linux下的文件分为两大类:
普通的文件:这是我们已经熟知的文件类型,这样的文件包括:文本类型的文件(.txt,.doc,.odt,等等),声音文件(.wav,.mp3,.ogg),还有程序,等。简单来说,这些文件在Windows下也有。
特殊的文件:其他一些文件是特殊的,因为它们用来表示一些东西。例如,你的光盘驱动器就是这类特殊的文件。Windows把电脑里的东西区分为文件和非文件,但Linux不是这样。对于Linux来说,一切都是文件!甚至目录也是文件。这是很不相同的设计,一开始是有点令人狼狈的。但是不要怕,你慢慢会发现这样设计的精妙。
根目录
在一个文件系统中,我们总有一个被称为根目录的东西,这个根目录里包含了所有其他目录和文件。
在Windows中,可以有好几个根目录,比如说C盘(C:\)是你的硬盘的根目录(假如你没有把C盘进行磁盘分区的话。比如不少人喜欢把C盘分成C盘,D盘,E盘,F盘等等,C盘作为系统盘,D盘安装软件,E盘F盘等另作它用),H盘可能是你的光盘驱动器的根目录。
Linux中有且只有一个根目录,就是 / 。是的,就是用一个斜杠表示。没有比根目录再高一阶的目录了,因为没有目录包含根目录,根目录就是Linux最顶层的目录,“万有之源”。
目录的结构
在Windows下,一个目录可以如下:C:\Program Files\Baidu
我们说Baidu这个目录是Program Files这个目录的一个子目录,而Program Files这个目录是C盘这个根目录的一个子目录。
我们可以看到Windows中是用反斜杠 \ 来标明目录的层级与包含关系的。
而在Linux中,是用斜杠 / 来表示目录的层级与包含关系。
我们之前说过,Linux中没有类似C盘这种目录,Linux有且只有一个根目录,那就是 / 。
Linux的目录形式是类似这样的:/usr/bin
不难理解,bin这个目录是usr这个目录的一个子目录,usr这个目录是 / 这个根目录的一个子目录。
我们可以看到Windows中的目录名称可以包含空格等符号,Linux下的目录名也可以。不过我们一般在Linux下命名目录时尽量不使用空格或者其他特殊的符号,而是尽量用小写英文字母。这会省去很多不必要的麻烦。
根目录的直属子目录
在Windows系统中,我们在C盘这个根目录下一般都会找到一些相同的子目录,例如:Program Files,Windows,Documents and Settings,等等。
我们列出一些在Linux下的根目录的常用直属子目录。对这些直属子目录的描述会比较简洁,主要为了让我们有个初步的印象。
虽然我们只列出主要的Linux的根目录的直属子目录,但是还是有不少的。如果你觉得记不住,那也不用担心。这个列表不需要完全记住,有大致印象就好,随着你深入使用Linux,会慢慢熟悉的。
而且,你会发现,其实这些目录的名字都是有其英语含义的,所以可以顾名思义。
下面我们按这些目录的首字母的顺序来依次列出:
bin:是英语binary的缩写,表示“二进制文件”(我们知道可执行文件是二进制的)。包含了会被所有用户使用的可执行程序。
boot:英语boot表示“启动”。包含与Linux启动密切相关的文件。
dev:是英语device的缩写,表示“设备”。包含外设。我们之后会仔细研究这个目录,因为它里面的子目录,每一个对应一个外设。比如代表我们的光盘驱动器的文件就会出现在这个目录下面。
etc:etc有点不能顾名思义了。因为etc是法语et cetera的缩写,翻成英语就是and so on,表示“等等”。包含系统的配置文件。至于为什么在/etc下面存放配置文件, 按照原始的UNIX的说法(Linux文件结构参考UNIX的教学实现MINIX) ,这下面放的都是一堆零零碎碎的东西, 就叫etc好了。哈哈 ,这其实是个历史遗留。
home:英语home表示“家”。用户的私人目录。之前我们提过一些,在这个目录中,我们放置私人的文件,有点类似Windows中的Documents这个文件夹,也叫“我的文档”。Linux中的每个用户(除了大管家用户,也就是超级用户root外,root因为太厉害,拥有所有权限,所以比较任性,跟普通用户不住在一起)都在home目录下有自己的一个私人目录。比如我的用户名是oscar,那么我的私人目录就是/home/oscar;如果另一个用户叫jean,那么他的私人目录就是/home/jean。
lib:是英语library的缩写,表示“库”。包含被程序所调用的库文件,例如.so结尾的文件,在Windows下这样的库文件是以.dll结尾的。
media:英语media表示“媒体”。当一个可移动的外设(比如USB盘,SD卡,DVD,光盘等等)插入电脑时,Linux就可以让我们通过media的子目录来访问这些外设中的内容。
mnt:是英语mount的缩写,表示“挂载”。有点类似media,但一般用于临时挂载一些装置。
opt:是英语optional application software package的缩写,表示“可选的应用软件包”。用于安装多数第三方软件和插件。
root:是英语“根”的意思。超级用户root的家目录/主目录。一般的用户的家目录是位于/home下,不过root用户是个例外。之前的课程我们也提到过,root是整个系统的超级用户,拥有一切权限,初学者慎用此用户模式。
sbin:是英语system binary的缩写,表示“系统二进制文件”。比起bin目录多了一个前缀system,所以包含的是系统级的重要可执行程序。
srv:是英语service的缩写,表示“服务”。包含一些网络服务启动之后,这些服务所需要取用的数据。
tmp:是英语temporary的缩写,表示“临时的”。普通用户和程序临时存放文件的地方。
usr:是英语Unix Software Resource的缩写,表示“Unix操作系统软件资源”。这个目录是最庞大的目录之一。有点类似Windows中的C:\Windows和C:\Program Files这两个文件夹的集合。在这里面安装了大部分用户要调用的程序。
var:是英语variable的缩写,表示“动态的,可变的”。通常包含程序的数据,比如一些log(日志)文件,记录电脑中发生了什么事。
其实以上的这个目录的列表形式,在Unix类型的操作系统里也是类似,并不仅限于Linux系统。
再说一次,初学者绝对不必把这个表中的目录名和其含义背下来,以后会慢慢理解的。上表只是为了给大家一个大致印象,了解Linux的根目录下都包含哪些目录。
英语不错的朋友可以参阅以下Linux文件系统结构图,摘录自:
https://linuxtoy.org/archives/linux-file-structure.html
也可以参考《鸟哥的Linux私房菜》的这张图:
http://vbird.dic.ksu.edu.tw/linux_basic/0210filepermission_3.php
我们就大体来表示一下我们的Linux的文件系统目录树结构好了(从顶部的根目录/开始,自顶向下。没有列出全部目录):
上图中,在home目录下,假设有oscar和jean两位用户的家目录存在。
我们可以看到,Linux的文件系统的结构很像一棵树,从最顶端的根目录/开始,自顶向下逐级分布,层叠包含。
pwd命令和which命令:我在哪呢?
Linux系统安装后,包含了很多的文件和目录(虽然其实都是文件),我们很容易迷失在“茫茫文海”中。
当然我们不可能一下子列出Linux中的所有文件,那不现实。但是我们可以向你展示如何在Linux的目录树中来回穿梭,你可以知道此刻你位于哪个目录下。就好比能看懂Linux这个很大的“地图”。
pwd命令:显示当前目录的路径
如果你刚打开一个终端(Terminal),那么你将位于你的用户家目录,也就是~目录中。
在小编的情况,因为我的用户名是oscar,所以其实~这个目录,又是/home/oscar这个目录。
通常来说,命令行提示符会告诉你目前位于哪个目录下:
oscar@oscar-laptop:~$
如果上一课你认真学习的话,你会记得在冒号:和美元符$之间的就是当前目录了,所以我们当前目录是~,也就是当前用户的家目录。当前小编的用户名是oscar,所以,也就是位于/home/oscar中。
看命令行提示符来获知当前目录是一个不错的方法,但是我们还有一个方法:pwd命令。
pwd是英语Print Working Directory的缩写,表示“打印当前工作目录”。使用方法也很简单,直接输入pwd,然后回车,就会执行此命令:
如上图所示,当我们调用pwd这个命令时,就为我们打印出了我们当前所在的工作目录:
/home/oscar
所以,pwd命令和看命令行提示符都证明了我目前所在的目录就是 /home/oscar。如下图:
所以不要怕迷失在Linux的茫茫海洋中,我们靠着pwd这张旧船票,随时能够知道我们身处在哪艘破船上。这样,涛声就可以依旧了,毛宁也不会忧伤了。
which命令:获知命令的可执行文件之所在
which命令并不是一个必不可少的命令,我们平时用到它的机会也不多。不过我们还是来介绍一下,以便我们对Linux的文件系统有更好的认识。
那么which命令的作用是什么呢?我们知道which在英语里是“哪一个”的意思。
which命令用于显示一个命令的对应的可执行程序的位置。可能听起来有点拗口。
不要急,我们来解释。
在Linux下,每一条命令其实对应了一个可执行程序。我们在终端中输入命令,再按回车的时候,其实就是执行了对应的那个程序。比如说,pwd命令对应的pwd程序就是存在于Linux中的。
一个命令,其实只不过是一个我们随时可以调用的程序罢了。
which命令接受一个参数,也就是你想要知道其可执行程序位于哪里的那个命令。
我们来测试一下,就拿pwd命令来测试好了:
因此,pwd命令对应的pwd这个可执行程序位于/bin目录中。我们也可以注意到Linux中的可执行程序和Windows中不太一样,在Windows中可执行程序一般以.exe结尾,而Linux中一般是没有后缀名的。
Linux中的可执行程序也不是都位于相同目录的。我们可以来测试一下which命令本身对应的可执行程序位于哪里:
我们可以看到,which命令对应的可执行程序which并不位于/bin中,而是在/usr/bin中。
ls命令:列出文件和目录
ls命令绝对是最常用的Linux命令之一。之前的课程我们也简单地介绍了ls命令的用法。现在我们比较仔细地来学习一下ls命令的功能和它的众多参数。
ls是list的缩写,在英语中list是“列出”的意思。所以ls命令用于列出文件和目录。
首先,我们在自己的家目录中执行ls命令,不带任何参数:
小编以前自学编程的时候在家目录当中创建了太多文件夹,所以大家可以看到由蓝色字样标明的很多目录,这里截图到的只是一部分目录,下面还有很多。
Ubuntu的终端默认是有颜色标注的,一般来说:
蓝色-->目录
绿色-->可执行文件
红色-->压缩文件
浅蓝色-->链接文件
灰色-->其他文件
如果在你的终端里没有标明颜色,那么你可以用 --color=auto 来开启颜色标注。如下:
ls --color=auto
如果你不需要颜色标注,那么可以用 --color=none 来关闭颜色标注。如下:
ls --color=none
当然,为了避免每次都输入这么一串额外的参数,其实我们可以在一个配置文件里修改,使得永久显示颜色或不显示颜色。我们之后的课程再说。
ls命令接受很多参数,如果要把这些参数全部列出来,也没什么意思,毕竟平时常用的参数也就那几个。所以,我们一起来看一下ls常用的一些参数的使用方法。
-a :显示所有文件和目录,包括隐藏的
在Linux中,我们可以隐藏一些文件。这并不是一种保护机制,因为我们其实还是可以把这些文件显示出来。平时我们单独使用ls,不带参数时,就没有列出这些隐藏的文件,也是为了简洁起见。
我们的家目录是个很好的演示隐藏文件的目录,因为这个目录里的隐藏文件还不少呢。我们在ls命令后面添加-a参数看看:
可以看到比单独用ls时多了那些个以点开头的文件和目录,现在你知道为什么要隐藏这些以点开头的文件了吧。因为这些文件还真不少,会显得很混乱。
在Linux,以点(.)开头的文件是隐藏文件,不过这里不包括开头的两个 . 和 .. ,这两个的含义如下:
. 表示当前目录。在当前情况下,就是 /home/oscar 。
.. 表示上一级目录。因为当前目录是/home/oscar,所以上一级目录就是 /home 。
我们有一个大写的参数 -A,它的作用和小写的-a几乎一样,唯一不同就是-A不列出 . 和 .. 这两个文件。
-l :详细列表
-l这个参数算是ls命令最常用的了。加上-l参数使得ls命令列出一个显示文件和目录的详细信息的列表:
这里的列表显示得不是那么美观,因为有一些文件或目录的名字太长,所以没有办法几种显示在一行里。
不过我们可以看到,每一个文件或目录都有对应的一行信息。在这些信息的最前面,有一个 total xxx 的,是表示当前目录所有文件的总大小是total后面的那个数字所表示的字节数。在我们的例子中,是total 123360,所以表示我的家目录中所有文件的总大小加起来是123360个字节。
后面学到du命令的时候,就知道其实这里的total后面的大小并不是统计了当前目录真正的所有文件的大小(包括逐层的文件大小相加)。这里的大小只是统计了当前目录列出的这一层的文件和目录的大小,并没有深入统计总的大小。
一行上的每一列是一个单独的信息,我们从左到右一一说明:
文件权限:也就是那个drwxr-xr-x之类的。暂时不需要理解,我们之后会用单独的一课来学习Linux下的文件权限。
链接的数目:也就是那些个3,8,11之类的。这个我们暂时不感兴趣。
文件的所有者的名称:这里是oscar,也就是小编所在的用户。当然,如果此文件是属于另一个用户,比如说jean,那么这里的文件所有者就会显示jean了。
文件所在的群组:这里也是oscar,表示是在oscar这个群组里。关于群组,我们暂时不需要理解,之后在文件权限的那一课会讲解。
文件大小:单位是octet,也就是byte,也就是“字节”。
最近一次修改的时间。
文件或目录的名称。
-h:以Ko,Mo,Go的形式显示文件大小
当我们仅用ls -l时,列出的文件详细信息中,文件的大小是以字节为单位的。有时这不是太直观。
我们可以再加一个参数-h,h是humain readable的缩写,表示“适合人类阅读的”。所以我们的命令变成了 ls -lh :
这次的显示就美观多了,可以看到,最开头的total后面的123360,变成了121M,也就是121MB的意思,表示当前目录所有文件的总大小是121MB(MB大家应该不陌生吧,就是Mo,就是兆字节)。同样,121MB绝对不是当前目录真正的所有文件的总大小。
可以看到每个文件的大小信息那一列,都变成了4.0K这样的形式,也就是之前的4096B。用了-h参数,我们的文件信息更便于阅读了。
-t:按文件最近一次修改时间排序
可以看到,这是按照文件或目录最近一次修改时间的降序排列,也就是说排在第一位的是Desktop这个目录,修改时间是最新的(2015年8月8日23:24,也就是差不多小编在编辑这篇文章时的时间),其他的依次降序。
当然,我们了解了这些个ls的常用参数后,也可以把这几个参数合并在一起使用,效果是叠加的:
cd命令:切换目录
cd命令也是最常用的Linux命令之一,甚至可以说是最常用的命令。
cd是英语change directory的缩写,表示“切换目录”。所以顾名思义,cd命令就是用于切换目录的命令。
也许你发现了,目前来说,我们还没跳出我们用户的家目录这个小圈子。对于渴望*,向往探索的我们来说,这简直不能忍,不是吗?
好的,那就使用cd命令,开动起我们的这艘破船吧,骚年!我们得去其他海域逛逛呀。
与ls命令不同,cd命令没有那么多参数,cd命令后面接的参数就是一个,你要去的那个目录的路径。
比如我想去根目录/转转,那么我们就可以使用 cd /
可以看到,使用pwd命令,显示当前我们已经位于根目录/中了,我们也可以从命令行提示符中看出来,当前冒号和美元符之间已经从之前的~变成了/。
怎么样,对Linux的狂拽酷炫是不是已经有点感觉了?就是这么轻盈,穿梭在各个目录之间。比起Windows的鼠标点点点,是不是快捷了很多?
我们再去其他地方转转,输入 cd usr,因为我们当前是在根目录/中,所以用cd usr 我们就切换到了/usr这个目录:
然后我们想看看/usr这个目录中有哪些子目录,用ls命令,可以看到有好几个子目录,我们再用cd命令进入其中的games这个子目录:
刚才的一系列操作,我们可以用以下图示来表示:
好了,现在我们位于/usr/games这个目录下。那么如果我要回到上一级目录(也叫父目录),应该怎么做呢?
可以用
cd ..
就是cd命令后面接两个点。Linux中,一个点表示当前目录,而两个点表示上一级目录:
可以用如下图示表示:
那么,聪明如你,应该不难想见,如何连续后退两个层级。是的,可以用 cd ../..
可以看到,我们用 cd ../.. 连续后退了两个层级回到了根目录 /
实际上,我们在切换目录时,可以有两种路径表示方式,一种是相对路径,一种是绝对路径。
顾名思义,相对路径就是相对于当前目录的一个路径表示法。绝对路径就是绝对的,不因当前目录而改变的一个路径表示法。
相对路径
刚才,我们位于/usr 目录时,我们只用了 cd games 就切换到了 /usr/games,这里cd games中的games就是相对路径。因为这个games目录是/usr 目录的子目录,所以是相对当前的/usr目录而言的。
如果我们在根目录里运行命令 cd games,那么会出现错误,因为根目录/ 里并没有games这个子目录,它找不到这个相对路径,会显示 No such file or directory (表示“不存在此文件或目录”):
所以我们只能这样:cd usr/games,才能从根目录用相对路径的方式切换到 /usr/games目录中:
绝对路径
与相对路径不一样,不管我们当前位于哪个目录,绝对路径的使用都是一样的。
绝对路径很好辨认,因为它总是以 / 开头, / 表示根目录。假设,我们目前位于家目录中,那么如果我要用绝对路径来切换到/usr/games中,怎么做呢?很简单,就是使用 cd /usr/games
图示如下:
如果我们要用相对路径达到同样的目的,那么需要这样:cd ../../usr/games
图示如下:
重回家目录
家目录毕竟可以说是用户使用最多的目录,所以我们在用cd命令跳转到其他目录之后,很渴望快速切换到自己的家目录,怎么做呢?如何重返家园呢?
有三种方法:
比较笨的方法:cd /home/oscar 这里的oscar可以替换为你自己的用户名。这种方法有点繁琐。
较好的方法:cd ~
最好的方法:cd。就是直接使用cd命令,不加任何参数,就可以切换到用户的家目录了,是不是很帅?
路径自动补全
细心的你可能已经想到了,因为上一课中我们已经提过Tab键可以进行命令的补全(按两下Tab键),也提了一下其实Tab键还可以用于路径的补全。所以,这样用Tab键可以大大提高我们的效率,而且防止我们手动输入路径时将名字写错:
du命令:显示目录包含的文件大小
du命令也是很有用的,因为它可以让我们知道文件和目录所占的空间大小。虽然ls -l命令也可以显示文件和目录的大小,但是du命令统计的才是真正的文件大小。du命令会深入遍历每个目录的子目录,把所有文件的大小都做一个统计。
du是英语disk usage的缩写,表示“磁盘占用”。对我们的家目录做一个真正的大小的统计吧:
这里因为运行du命令后的列出的文件大小的列表实在太长,所以只能截图了最后的部分。
可以看到,小编的家目录的总大小是 28324348个字节。是不是觉得换算这么庞大的数字让人抓狂呢?
不要着急,我们的du命令也可以使用参数。
-h:以Ko,Mo,Go的形式显示文件大小
-h参数的用法类似之前在ls命令中的-h参数,所以我们可以运行 du -h 来看一下:
可以看到小编的家目录/home/oscar 的总大小是 28GB。
-a:显示文件和目录的大小
默认情况下,du命令只显示目录的大小。如果加上-a参数,则会显示目录和文件的大小。我们使用 du -ah 来看一下:
可以看到总大小还是28GB。因为虽然du命令默认情况下只显示各个目录的大小,但是统计的总大小已经包括了目录中的各个文件了,只不过默认没有把文件列出来罢了。
-s:只显示总计大小
如果我们不想看到各个目录和文件的大小统计,而只想知道当前目录的总大小,可以使用-s参数,我们用 du -sh 来看一下:
总结
在Linux中,一切皆文件!这是与Windows区别很大的一点。
Linux的文件和目录都是由根目录/开始自顶向下呈乔木状分散的。
普通用户存放自己私人文件的地方是在/home目录下,如果你的用户名是oscar,那么你的用户的家目录就是/home/oscar。
pwd命令用于显示当前所在目录。
ls命令用于显示当前目录中的文件。
cd命令用于切换目录。
du命令用于统计目录大小。
第二部分第四课预告
今天的课就到这里,一起加油吧!
下一课我们学习:文件操纵,鼓掌之中
【Linux探索之旅】第二部分第三课:文件和目录,组织不会亏待你的更多相关文章
-
【Linux探索之旅】第二部分第三课:文件和文件夹,组织不会亏待你
wx_fmt=jpeg" alt="" style="max-width:100%; height:auto!important"> 内容简单介 ...
-
【Linux探索之旅】第二部分第二课:命令行,世界尽在掌握
内容简介 1.第二部分第二课:命令行,世界尽在掌握 2.第二部分第三课预告:文件和目录,组织不会亏待你 命令行,世界尽在掌握 今天的标题是不是有点霸气侧漏呢? 读者:“小编,你为什么每次都要起这么非主 ...
-
【Linux探索之旅】第二部分第五课:用户和权限,有权就任性
内容简单介绍 .第二部分第五课:用户和权限,有权就任性 2.第二部分第六课预告:Nano,刚開始学习的人的文本编辑器 用户和权限.有权就任性 今天的标题也挺任性的啊,虽说小编是一个非常本分的人(真的吗 ...
-
【Web探索之旅】第二部分第三课:框架和内容管理系统
内容简介 1.第二部分第三课:框架和内容管理系统 2.第二部分第四课预告:数据库 第二部分第三课:框架和内容管理系统 上一课我们介绍了服务器端的编程语言,有PHP,Java,Python,Ruby ...
-
【C语言探索之旅】 第二部分第三课:数组
内容简介 1.课程大纲 2.第二部分第三课: 数组 3.第二部分第四课预告:字符串 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语 ...
-
【Linux探索之旅】第一部分第五课:Unity桌面,人生若只如初见
内容简介 1.第一部分第五课:Unity桌面,人生若只如初见 2.第一部分第六课预告:Linux如何安装在虚拟机中 Unity桌面,人生若只如初见 不容易啊,经过了前几课的学习,我们认识了Linux是 ...
-
【Linux探索之旅】第四部分第三课:文件传输,潇洒同步
内容简单介绍 .第四部分第三课:文件传输.潇洒同步 2.第四部分第四课:分析网络.隔离防火 文件传输.潇洒同步 这一课的内容相对简单,所以我们慢慢享用. 经过上一课的学习.我们已经知道怎样远程连接到其 ...
-
【Linux探索之旅】第二部分第四课:文件操纵,鼓掌之中
内容简介 1.第二部分第四课:文件操纵,鼓掌之中 2.第二部分第五课预告:用户和权限 文件操纵,鼓掌之中 既然上一课我们学习了Linux中的文件组织方式,那么现在就该是玩弄,啊不,是操纵它们的时候了. ...
-
【Linux探索之旅】第一部分第二课:下载Linux,免费的噢
内容简介 1.第一部分第二课:下载Linux,免费的噢 2.第一部分第三课预告:测试并安装Ubuntu 下载Linux,免费的噢 大家好,上一课我们认识了非常“霸气侧漏”的Linux操作系统. 也知道 ...
随机推荐
-
使用Android studio 出现的问题解决
问题一.安装过程中出现的报错Failed to install Intel HAXM 解决:重启电脑,启动BIOS,我的是惠普的,开机时按F10就进去了 切换到Configuration选项,将设置I ...
-
(转)使用CruiseControl+SVN+ANT实现持续集成之三
在上一节中我们介绍了环境搭建和配置介绍,并快速启动CC查看集成结果,在本节中我们将详细介绍CC构建操作及监视. 1. 启动CC服务器 通过执行其根目录下的cruisecontrol.bat文件来启动C ...
-
一个简单的Inno Setup例子
; 脚本由 Inno Setup 脚本向导 生成! ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! [Setup] ; 注: AppId的值为单独标识该应用程序. ; 不要为其 ...
-
快速访问WCF服务--ServiceModel 元数据实用工具 (Svcutil.exe)
基本定义 ServiceModel 元数据实用工具用于依据元数据文档生成服务模型代码,以及依据服务模型代码生成元数据文档. SvcUtil.exe ServiceModel 元数据实用工具可在 Win ...
-
bzoj 1064 假面舞会 图论??+dfs
有两种情况需要考虑 1.链:可以发现对最终的k没有影响 2.环:如果是真环(即1->2->3->4->1),可以看出所有可行解一定是该环的因数 假环呢??(1->2-&g ...
-
Insert Into select 与 Select Into 哪个更快?
在平常数据库操作的时候,我们有时候会遇到表之间数据复制的情况,可能会用到INSERT INTO SELECT 或者 SELECT INTO : 那么二者语法上有什么区别?性能上又如何呢? 围绕着这两个 ...
-
Ajax与JSON共同使用的小实例
实现的效果: 点击“点击”按钮,可以通过Ajax从服务器调过来相应的文档文件,而不需重新加载页面. 通过json可以将调过来的文档(String)转换为相应的json对象,从而对文档中数据进行操作. ...
-
A2D JS框架 - DES加密解密 与 Cookie的封装(C#与js互相加密解密)
这次实现了JS端的DES加密与解密,并且C#端也能正确解析DES的密文(反之也实现了) 使用的代码如下,非常方便: <script src="A2D.js" type=&qu ...
-
MySQL和Mongodb的区别与应用场景对比
MySQL是关系型数据库 优势: 在不同的引擎上有不同 的存储方式. 查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高. 开源数据库的份额在不断增加,mysql的份额页在持续增长. 缺点 ...
-
MyBatis的核心配置、动态sql、关联映射(快速总结)
MyBatis的核心对象和配置 #1. SqlSessionFactory对象: 单个数据库映射关系经过编译的内存镜像: 作用:创建SQLSession对象. //读取配置文件 InputSteam ...