p cp大和t大小单与双预备测网站;梦幻学什么技能。

爱电影、爱设计、爱身边惹人烦的一切!!

《怦然心动》是2010年10月9日在美国上映的一部小成本电影。电影讲述的是上世纪60年代,小镇男孩布莱斯和朱莉的初恋故事。在中产阶级家庭出生的布莱斯搬到小镇的那天,邻家女孩朱莉对他一见钟…

在讲量子机器学习之前我们先来八卦一下人工智能和量子信息。1956,达特茅斯,十位大牛聚集于此,麦卡锡(John McCarthy)给这个活动起了个别出心裁的名字:“人工智能夏季研讨会”(Summer Research Project on Artificial Intelligence…

「真诚赞赏,手留余香」

热潮席卷神州大地,成为推进“

”国家战略最重要的举措。其中,智能工厂(Smart Factory)作为智能制造重要的实践领域,已引起了制造企业的广泛关注和各级政府的高度重视。本文将分析国内外智能工厂建设的现状与问题,智能工厂…

众所周知,图论一直是离散数学里面的重要研究方向之一。它以图为研究对象,是研究顶点与边所组成的图形的方法。通常来说,图论中的顶点和边可以用来表示某些事物之间的某种特定关系,用顶点来表示某个抽象物体,用连接两个顶点的边来表示相应的两个抽象物体…

}

1. 命令是必须要学的,linux常用的命令大概在80个左右,这些常用命令一定要熟练掌握。
2. 掌握linux软件包的常用安装方法,例如源码安装,rpm方式安装等等。
3. 学习安装设备驱动程序(比如网卡、显卡驱动)
4. 熟悉Grub/Lilo引导程序及简单的修复操作。
5. 熟悉Linux文件系统和目录结构以及linux基本运行原理。
6. 掌握vi,gcc,gdb等常用编辑器,编译器,调试器。
7. 理解shell别名、管道、I/O重定向、输入和输出以及shell简单脚本编程。
8. 学习Linux环境下的网络基本组建。

1:尝试阅读linux内核源码:
这需要具有一定的C、C++语言基础,因为C、C++是linux/unix的核心语言,系统代码都是C写的。
2:尝试编译安装和调试自己的linux内核:
在阅读源码了解了linux底层的运行原理后,完全可以编译一个适合自己的linux系统来。
这些脚本语言在linux下非常强大,它们能完成你想做的任何事情,熟练掌握这些语言,可以让你在linux系统下游刃有余,如鱼得水。
4:构建企业级linux高可用集群系统:
linux下有很多开源免费的集群软件,利用这些免费的集群软件完全可以构建出与商业unix系统想媲美的集群系统来。

Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意义的,您不是第一个为此困惑的人,当然,也不会是最后一个:)

如果您喜欢撒哈拉,喜欢它令人窒息的温柔、梦幻般的寂寥还有张扬恣肆的旷远,您大可在第一个 u,后面带些嗡嗡声: oom-boon-too。

Ubuntu的中文发音大约为: 乌班图

Ubuntu这个单词源自非洲,意谓“班图精神”────谁都不是一座孤岛,自成一体。每个人都包孕于人类,因他人存在而存在,因他人幸福而幸福。

请您把一块硬盘想象为一本书……即便您不喜欢读书,您也一定非常熟悉它,所有的书都是相同的,包括我们使用的课本……您肯定非常熟悉

一本完整的书,通常包括书名、索引和正文。

如果您需要Linux,您首先需要找到一本书名为《linux》的书,书名相当于硬盘中的MBR,也就是主引导纪录。不同的是,MBR可以是几个书名合在一起,类似于《XX合订本》。这部分内容暂时还没有什么实用价值,您只需要大概的了解。

而正文,就是硬盘中纪录的数据,这也非常容易理解,且对于安装系统并没有什么影响,所以现在我们来了解索引

索引相当于硬盘中的分区表,书中的每一个章节,相当于硬盘中的一个分区,它起始和结束的页次,都可以在索引中找到。试想,如果阅读一本撕掉索引的书,您将很难找到您想阅读的部分。同样,如果没有分区表,操作系统也不能够在硬盘上定位数据的位置。

由于历史的原因,硬盘中的分区表大小受到了限制,最多只可以容纳四个分区(主分区)。如果一本书,它的索引最多只能有四个章节,那不是太可怕了么?很多书的内容远远不止四个章节啊!

于是聪明的人们想到了一个变通的办法,就是利用其中的一个章节,来存储其它部分的索引。比如第一章是前言,第二章是其它部分的索引,我们翻到第二

章,呵呵,这里是第二个索引,因为只有第一个索引受四个章节的限制,所以这个索引的内容可以非常的详尽。第二个索引就是分区表中的扩展分区了,其中定义的

章节,就是硬盘中的逻辑分区,不是很难理解吧?

明白了这一点,我们来看看Linux和Windows对于分区不同的表示方法:

可能您已经很熟悉Windows了,它使用盘符来表示分区,比如 C: D: E:

,每一个分区使用一个盘符来标识,而且顺序可以颠倒, D:

并不一定就是您系统中的第二个分区。(如果您给第二个分区分配最后一个硬盘盘符,把所有的盘符按顺序排列好,并且重装一次系统,您就会理解什么叫作“头

而在Linux中,分区是这样表示的

因为在Linux中,每一个设备都是用 /dev/ 文件夹下的一个文件来表示,所以 /dev/hda5 中, /dev/ 表示的是根目录下的dev目录,我们来看剩下的部分 hda5 。

前两位的字母 hd 表示这是一块IDE硬盘,如果是 sd ,则代表SATA硬盘,或者闪存等外设。

第三位的字母 a 表示这是该类型接口上的第一个设备。同理, b、c、d…… 分别代表该类型接口上的第二三四……个设备。例如 hdc 表示第二个IDE接口上的主硬盘(每个IDE接口上允许一个主设备和一个从设备)。

第四位的数字 5,并不表示这是该硬盘中的第5个分区,而是第一个逻辑分区。因为在Linux中,为了避免不必要的混乱,分区的顺序是不能改变的,分区标识则由它们在硬盘中的位置决定。系统又要为所有可能的主分区预留标识,所以 1-4 一定不会是逻辑分区, 5 则是第一个逻辑分区,以此类推。

在Ubuntu系统的安装过程中,您需要选择系统目录的挂载点。

我们知道,安装Windows时,我们可以选择把系统安装在哪一个分区,把系统挂载到分区上。而在buntu/Linux中则相反,我们要把分区挂载到系统中。当我们使用Windows的安装方式,把系统挂载到分区上,我们就不可能把Windows目录放在C盘,而把MyDocuments目录放到其它分区。您或者出于习惯,或者出于数据安全方面的考虑,通常把文档放到其它分区中。但是Windows下很多软件保存文件的默认目录就是MyDocument目录,这就比较不方便。

在系统安装完成后,我们还是可以将MyDocuments目录转移到其它分区中,不过有点麻烦,可能许多朋友还不知道怎么去作……而任何一种Linux系统时,当然包括Ubuntu,我们可以在系统安装时就把分区挂载到目录下, /home 目录相当于Windows的MyDocuments ,我们可以把 /dev/hda5 挂载到此目录下,这样我们往 /home目录里存东西的时候,其实保存在第一个扩展分区中。如果再一次安装系统,只要把这个分区挂载到 /home目录下,那么进入新系统就像回家一样,真是太棒了。

理论上来讲,您可以将分区挂载到任何目录下面,您可以自定义挂载的路径。但是我们并不推荐您这么作,因为那没有任何意义。系统安装程序向您建议的挂载目录,通常也是我们向您建议的,现在我们来了解一下,这些目录通常都是用来作什么的:

/ 根目录,唯一必须挂载的目录。不要有任何的犹豫,选一个分区,挂载它!(在绝大多数情况下,有2G的容量应该是够用了。当然了,很多东西都是多多益善的:)

Swap 交换分区,可能不是必须的,不过按照传统,并且照顾到您的安全感,还是挂载它吧。它的容量只要大于您的物理内存就可以了,如果超过了您物理内存两倍的容量,那绝对是一种浪费。

/home 前面已经介绍过了,这是您的家目录,通常您自己创建的文件,都保存在这里,您最好给它分配一个分区

/usr 应用程序目录。大部分的软件都安装在这里。如果您计划安装许多软件,建议您也给它分配一个分区

/var 如果您要作一些服务器方面的应用,可以考虑给它分配一个较大的分区

/boot 如果您的硬盘不支持LBA模式(我想那不太可能:),您最好挂载它,如果挂载硬盘的第一个分区,应该比较稳妥。一般来说,挂载的分区只要100M大小就足够了

在文件系统这一环节中,我们建议您选择: ReiserFS

也许您注意到了,Windows中,盘符既用于表示硬件(硬盘上的分区),又用于表示系统中的路径。而Linux中,硬件就是硬件,路径就是路径,不会混淆在一起,简单直接!

可能您早已能够熟练的使用GUI(图形用户界面),例如您可以使用鼠标双击一个图标,来打开或者执行它。

我们来看这个过程: 您使用鼠标定位桌面上的一个程序图标,按下左键两次。系统读取鼠标指针的位置,并且判断该位置下图标的涵义,根据预设的双击动作,运行程序或者打开文件。

这一套GUI系统,便是一种Shell,它的作用是实现人机交互。如果我们不能够控制电脑,那么电脑还不如电视机好玩,不是么?电视机也可以选择频道(电视机的遥控器,也是一种人机交互的界面,不过相对于电脑,确实是相当简单了:)

易于上手、界面直观是GUI的优点,但是GUI为不意味着简单!或许您有类似经历: 桌面上有几十个程序的启动图标,也知道它们的名字,但是翻出一个来,并不是一件轻松的事情。

我的Windows系统中,桌面上摆满了各种图标,每当启动一个程序的时候,我都很是困扰。后来尝试了 音速启动 这类的程序启动管理器,效果还是差强人意。

在我的不懈努力下,这个难道最终得到了解决: 将快捷方式名称简化,放到特定目录下,使用 Win+R 组合键呼出 运行对话框,键入快捷方式的名称来运行该程序。比如 反恐精英 的快捷方式为 cs ,我把它放在 Windows 目录下; 运行 cs命令,就可以去维护世界和平了。

这么多快捷方式,统统放到 Windows 目录下,非常混乱。因此,我在D盘建立了一个名为 path的目录,并把它的路径加入到环境变量的 path 项中,快捷方式放在 D:\path目录中。即便重装系统,只要在环境变量中重新加入此路径,原来的程序大多可以直接以命令来运行……我的许多朋友强烈要示我帮他们设定这种启动方式,因为这确实很方便:)

其实在Linux下,所有的程序都可以通过命令运行。虽然Linux也有GUI,但是它并不比Windows的GUI更优秀!上面只是简单的介绍了CLI(命令行界面)相对GUI的优越之处,使用CLI还有更多的好处,您会慢慢体会到的。

当然了,在您的印象中,CLI一定非常的不友善,缺少亲和力,冷漠而拒人于千里之外……您和CLI之间甚至有代沟的存在:)

坦白的说,冷不丁见到那么老长的一串命令,谁都会毛骨悚然。

也许您使用过DOS,留下这种印象:命令先放一边,光是正确的输入目录、文件名都够瞧的。而且DOS不区分大小写,要是像Linux一样区分大小写,那多恐怖啊!!!

其实Linux命令行具有补全功能,非常实用。假设有这样一个命令:

如果只有一个以 c 起始的命令,键入 c ,再按一次 tab 键,系统将自动补全该命令余下的部分。 只要 c tab 两次按键,就可以完成 command 的输入。

如果不只一个 c 起始的命令,那么您可以按两次 tab 键,系统会列出所有符合条件的选项,也就是以 c 起始的所有命令。进一步输入 o ,如果只有一个以 co 起始的命令(一直输入,直到项符合条件的选项唯一),再按一次 tab ,命令就被补全完整。

路径和文件名也可以通过 tab 键来补全。还有一种 遍历补全 的方式,如果您的文件名是中文,而您不想切换输入法;甚至您的文件名中出现乱码,无法输入,这时 遍历补全 就可以大显身手了。这部分内容我们稍后再谈:)

现在我们来了解命令的语法结构,这一部分相当重要,您可得看仔细。

我们知道,任何语言都有特定的语法结构,以我们的中文为例:

这个句子的语法尽管简单,却是大部分的命令行采用的句型。让我们看一下,这个句子里都有些什么:

主语,Linux命令的执行者只有一个,所以主语一概省略。

一个动词,作为谓语而存在。Linux命令中,这一部分是必须的。这一部分也是不同命令之间最根本的区别方式,所以它通常作为命令名,写在最前面。键入 date 命令,您可以查看当前的时间日期。( 应用程序->附件->终端 )

状语,用来修饰谓语。与之相对应,Linux命令可以使用参数来精细调节程序的行为。为了与命令的操作对象相区别,参数前通常要加 - 或者 – 符号。原则上,在命令名之后,参数的位置可以随意,但是为了养成一个良好的习惯,我们建议您在命令名后直接跟参数。

这两个部分都是宾语,它们是命令的操作对象。大部分的命令只有一个操作对象,也有一些命令是双宾语结构的,具有一个直接宾语和一个间接宾语。比如 拷贝 这个命令 cp (copy)

我们的汉语是象形文字,没有分隔符。但是所有的拼音文字中都有分隔符,来分隔单词。Linux命令中同样使用空格作分隔符。

cp a /home 表示把当前目录下的 a 文件,拷贝到 /home 目录下。(命令的不同部分使用空格分隔,连续的空格视为一个空格)

上面的那句话,翻译成Linux的命令,应该是这个样子的:

推荐 –郑重的 您 Ubuntu/Linux (按照传统,“-”后跟简写为单个字母的参数,“–”后跟完整单词的参数。不过也有例外:)

哈,Linux的命令也蛮简单吧?

或许您会这样想,Linux命令的句型确实不难,但是那么多命令,我怎么知道它们都是作什么的呢?而且不同的系统中,可以使用的命令似乎也不太一样,这真让人困惑……

其实Linux的命令,运行的是Linux系统中的程序。只要您已安装了程序,您就可以通过命令来运行它,并且可以使用参数来精细的调整它的运行状态。也可以通过点击启动图标来运行,不过启动图标不能够方便的调整参数,并不是很方便。

2、Firefox根据预设动作,将这些消息识别为 “打开链接 ”

3、Firefox向域名服务器请求 链接 “”。域名服务器将这个请求转换为 “” 和 IP地址”,具体内容如下:

输入焦点在地址栏的范围内,“”,回车

Xserver并不能直接判断焦点,而是这样:

1、Xserver向WM发送位置和点击的信息,WM根据当前的“焦点策略”确定激活(最上层)的窗口为Firefox

2、Xserver将Firefox显示在最上层,高亮显示它的标题栏

4、Firefox判断当前焦点后,显示一个闪动的文字输入光标

那么,“窗口管理器”到底能作些什么呢?其实它所作的一切都是管理窗口。例如:

1.最上层的窗口会把其它窗口挡住

2.它通常是一个“已激活窗口”,根据不同的“焦点策略”,窗口管理器确定被激活的窗口。

激活窗口标题栏高亮显示,接收大部分的键盘消息和窗口内的鼠标点击消息。

3.为了美观和容易分辨,大多数窗口都要有标题栏和边框。

为了方便,标题栏上还要有一些按钮,比如:最小化,最大化,关闭(这些按钮是窗口管理器请求的小窗口)

4.一个窗口可以在另一个窗口旁边显示,而不一定完全被遮挡。为了实现这一点,就要控制窗口显示的位置

5.为了控制窗口的显示位置,需要将整个屏幕用座标描述,最好的办法是绘制一个填充整个屏幕的窗口,也就是根窗口。

6.因为根窗口是最大的,所以它可以严严实实的遮挡任何窗口,为了避免这一点,根窗口永远在最底层。

这很形象的说明了为什么它叫作“根窗口” ……root

7.根窗口不一定只有一个,大多数的窗口管理器可以使用 “工作区” ,来切换显示多个根窗口

8.根窗口固定位置上通常放置一些其它Xclient的窗口,例如底部面板,顶部面板,侧面板,程序启动图标

9.面板上又可以放一些其它的Xclient窗口,如任务条,启动栏,菜单……

任务条可以以图标显示正在运行的任务,还可以作其它的杂活,像自动挂载USB设备……

我们知道 init 是linux的根进程,是所有进程的父进程。同样, xinit是所有Xwindow进程的根进程

startx 命令可以在命令行下启动图形界面。执行startx 命令时,实际执行这一命令:

  • 您可以在用户配置文件 ~/.Xsession 中定义使用的WM,它的优先级高于全局配置文件(对于GDM会话不起作用)

Ubuntu系统启动时自动进入图形界面,不需要运行 startx 命令

gdm在启动时,会要求用户名和密码,也就是我们看到的登录屏幕(gdmgreeter)

  • 定义了 布局标识 、 屏幕标识 、 键盘标识 、 鼠标标识
  • Driver 显卡驱动(如不同正常启用图形界面,首先尝试”vesa”)

  • Xresources X资源文件。许多程序保留了X接口,允许X服务器管理一些视觉选项,例如窗口内的字体,配色等

  • xsession X进程。可以设置一些启动时自动运行的程序,也可以用来设定自己的窗口管理器(窗口管理器和桌面环境或者登录管理器是无关的)

作为Xorg服务器的一个模块,freetype的功能包括读取Truetype字体信息,如大小、分辨率、编码等,并以之为依据渲染字体 -

字段中,可以选择字体渲染模块,建议使用默认的 freetype )

freetype只负责渲染字体。而查找字体,则可以由X服务器、X客户端或者字体服务器来完成。找到字体后,使用freetype引擎就地渲染

X服务器根据X客户端的请求(字符编码),查找字体并进行渲染,然后显示,我们称之为

X客户端自行查找字体并进行渲染,X服务器只负责显示

由于Xft字体的渲染在客户端完成,所以它可以动态的加载,而不需要随同X服务器一同启动

另外还有一种字体服务器模式,例如 XFT字体:当客户端请求字体时,X服务器将请求转发到字体服务器,由字体服务器查找字体,并使用freetype引擎渲染,将结果传回X服务器,X服务器进行显示……

当X客户端向X服务器请求显示文字的时候,X服务器会按上面列表的先后顺序查找字体

例如显示中文时,如果第一个路径中的字体不包含中文,则查找下面的路径,直到发现中文字体

请将您偏好的字体放在靠前的位置

要使安装的字体能够作为X核心字体使用,将字体的安装路径添加到上面的列表中,使用 mkfontscale 、 mkfontdir

字体的选择及显示风格,可以修改GTK1的配置文件,或者在Xresources文件中对程序单独进行定义

事实上,在我们的日常应用中,X核心字体环境并不常见,使用GTK1图形库的程序、某些类型的终端……

  • Emacs也是这样一个老派的程序……不过Emacs23中刚刚加入了xft字体的支持

可以使用 fc-cache 命令,递归扫瞄以下目录中的字体(包括子文件夹中的字体),建立字体缓存

多数支持GTK2或者Qt图形库的X客户端能够使用Xft字体渲染技术

  • GTK2为Gnome使用的图形库,Qt为KDE使用的图形库。相对来说,GTK2图形库在程序的GUI设计中更加通用

安装字体,只要将字体拷贝到以上任意目录, fc-cache -fv 刷新字体缓存即可 (参数: -f 强制刷新; -v 显示过程)

使用命令 fc-list 列出所有可用字体

字体的选择及显示风格,可以修改GTK2或者Qt的配置文件,建议使用图形界面配置

Linux是大小写敏感的系统,所有的命令、路径、参数、变量……都区分大小写

使用 TAB 键补全命令,无论任何时候,多按几次TAB总会有所帮助

Shell的功能键能够协助您更高效的编辑命令,请熟悉其键绑定,尽量使用它

命令由 命令名 、 分隔符 、 参数 、 操作对象 构成

有些命令包含一些子命令,您可以认为它的命令名由两个单词构成,例如“apt”软件包管理系统:

通常为空格,多个连续的空格视为一个空格,下面两个命令相同:

有一些特殊符号也属于分隔符,例如管道 | 、重定向 > 、 >> 、 < 、后台运行 & 、序列执行 && 、 ; 。使用这些符号时,您不需要再使用空格作为分隔符,例如:

写为以下形式,是为了让您更容易的阅读它:

精细调节命令的行为,以 - 引导,通常为参数名的首字母。许多软件都可以使用 -h 参数来阅读使用说明,例如:

也可以使用参数的全名,一般以 – 引导,例如:

多数命令中,使用 - 引导多个字符,将会被视为多个参数,例如:

少数命令的参数,不需要以 - 引导,或者使用 - 引导参数全名,例如:

需要对多个对象进行操作时,可以使用空格分隔符将它们隔开:

使用空格分隔的多个对象,视为一个整体,作为命令的一个操作对象:

这个命令把“1 2 3 4 5 6”作为一个操作对象,移动到另一个操作对象,“/home/”目录

递归 表示在子层次中重复相同操作。例如递归复制某目录,不但复制当前目录及其下的所有文件;而且对当前目录的子目录,也进行递归复制的操作。

使用 [] 表示可选项,实际输入为方括号中的内容,例如

ls是必须的,参数不需要以方括号括起来。

使用 <> 表示必需项,实际输入为尖括号中的内容

使用 | 表示 或 ,以 | 分隔的项目不能同时使用,例如

参数通常紧跟命令名,除非必要,在命令格式中,我们通常省略它们

联机信息-时间,显示如下

当前系统时间 系统运行时间 当前在线用户数 系统负荷 1分钟前 5分钟前 15分钟前

联机信息-已登录用户,显示如下

用户名 登录方式 来源地址 登录时间 发呆时间 资源占用 当前任务

Tip:w [用户名称] : 显示某一用户相关信息

-<数字> 使用数字作为参数,控制显示条目。例如

-r 内核发行信息(版本号) -v 内核版本信息

-u 显示格林尼洛时间(UTC)

秒钟、年份为可选,例如: date .59

+[%X]设定显示格式,以下为date默认输出格式:

格式控制 %n 换行 %t 制表符

/ 目录为文件系统根目录,所有目录都是它的子目录

绝对路径以 / 起始,相对路径以当前所在目录起始

目录是一种特殊类型的文件,如果没有特别指明, 文件 包括文件和目录

.. 表示上一级目录, . 表示当前目录,它们是两个特殊目录

为当前文件建立在其它路径中的访问方法。例如将系统中其它位置的可执行文件,链接到 /usr/local/bin 目录下,使用命令调用。

–color 不同属性以不同颜色显示(默认参数)

-F 显示文件类型后缀 目录/ 链接@ 可执行文件* 端口文件= 管道文件| >

-A 显示隐藏文件 -R 递归显示子目录文件列表 -S 按文件大小排序

-t 按修改时间排序 -u 按访问时间排序 -d 只显示目录,不递归显示目录下的文件

目录路径可以使用绝对路径或者相对路径特殊路径:

~ $HOME目录(默认值) - 上一次目录 .. 上一级目录 . 当前目录

说明:您可以通过修改 /etc/environment 文件,来定义 $CDPATH 变量,设定“cd”命令的搜索路径。

计算文件或目录空间占用

-h 人性化显示。自动以G、M、K为单位显示占用空间大小 -l 重复计算硬链接文件大小

-L 计算符号链接文件大小 -a 显示当前目录子目录中的文件 -c 显示文件数

浏览文件,使用VI和Emacs两种风格的键绑定。以下为VI风格键绑定

触碰,在不修改文件的前提下,更改其时间属性。通常用来创建一个空文件

将源文件复制为目录文件,或者将源文件复制到目标目录。多个源文件使用空格分隔

将源目录复制到目标目录中,如果复制多个源目录,需要使用 -R 参数

-a 相当于-dpr参数 -d 保留链接 -f 强制复制,覆盖目标文件 -i 覆盖时询问用户

-p 保留修改时间和访问权限 -r -R 递归复制(目录=>目录) -l 创建链接

-r -R 递归删除 -f 强制删除(无需确认,直接删除。慎用!) -i 交互式删除(询问用户)

删除目录时,建议您使用“rm -r”命令

相当于cp后删除源文件,也可以作为“重命名”使用。

-s 符号链接 -f 强制链接,覆盖目标文件 -i 覆盖前询问用户

一个简单轻便的文本编辑器,使用Emacs风格的键绑定。

将源文件按一定规则分割成若干个目标文件。默认文件名前缀为 x

-b <字节> 按大小分割文件。可以使用b、k、m作单位,不指定单位的情况下,默认单位为b

-C <字节> 按大小分割文件,并尽量保持每行的完整

输出文件内容。用空格分隔多个文件名,可以将多个文件内容连接到一起输出。使用重定向合并为一个文件

-n 在输出中添加行号 -b 在输出中添加行号,空行不编号

-s 将两行或以上的空行,合并为一个空行

-m 合并文件 -c 检查文件是否已按规则排序 -b 忽略行首空格字符

-u 忽略内容重复行 -f 忽略大小写 -l 忽略非打印字符 -M 作为月份比较

-d 按字典顺序排序,按照字母、数字、空格、制表符排序 -r 逆序输出

查看文件内容,我们建议您使用 less

计算文件的CRC值。不指定文件名则从标准输入设备读入数据,例如:

一个文件主要包含下列属性, ls -l

其中,第一组为归属用户的权限,第二组为归属群组的权限,第三组为其它用户群组的权限。user为文件的归属用户,group为文件的归属群组,date为日期信息,filename为文件名。

对于文件夹,必须拥有它的可执行权限,才能够使用 cd 命令进入该文件夹;拥有可读权限,才能够使用 ls 命令查看该文件夹的文件列表。

root用户拥有最高权限。

可以使用3位的二进制数字来描述一组权限,某一权限对应的数字为1,则表示具有该种权限,为0,则不具有该种权限。

使用二进制数字来描述一组权限,虽然非常直观,但是3组权限需要用9位数来表示,使用不够方便。因此我们将三组权限使用3位8进制数字来表示。它们的对应关系为:

将这三位8进制数字相加的结果,就可以表示该组权限的具体内容,例如:

还可以使用 a 、 u 、 g 、 o 表示归属关系,使用 = 、 + 、 - 表示权限变化,使用 r 、 w 、 x 表示权限内容,

a 所有用户 u 归属用户 g 归属群组 o 其它用户

= 具有权限 + 增加权限 - 去除权限

r 可读权限 w 可写权限 x 可执行权限

a+x 给所有用户增加可执行权限

go-wx 将归属群组和其它用户的可写、可执行权限去掉

u=rwx 归属用户具有可读、可写、可执行权限

更改文件的权限。权限的表达式可以使用三位8进制数字表示,或者使用 augo +-= rxw-s 来表示

-c 类似“-v”,仅显示更改部分

–reference=<参考文件或目录> 以指定文件为参考更改权限

更改文件的归属用户。可以使用用户名或者UID

-R 递归 -v 显示过程 -c 类似 -v ,仅显示更改部分

–reference=<参考文件或目录> 以指定文件为参考更改权限

更改文件的归属群组。可以使用群组名或者GID

某些情况下,需要以可执行文件归属用户的身份执行该文件,可以为该文件设置SUID。同样,设置SGID能够以该文件归属群组的身份执行它。

例如:用户自行设定密码。出于安全方面的考虑, /etc/shadow 只能由root用户直接修改。

设置SUID,当普通用户执行“passwd”命令时,便能够以该程序归属用户root的身份修改 /etc/shadow

文件。而“passwd”程序自身带有身份验证机制,不能通过验证时拒绝执行,从而保证了安全。

我们发现,归属用户的可执行权限位使用 s ,表示SUID。同样,归属群组的可执行权限位使用 s ,表示SGID。任何用户或群组都拥有

其它用户 的权限,所以不需要以 其它用户 身份执行文件,其它用户的可执行权限位便不会出现 s 。该权限位可能出现的属性为 t

粘着位表示任何用户都可能具有写权限,但只有该归属用户或root用户才能够删除

SUID、SGID、Sticky bit也可以像权限一样,使用一个八进制数表示,如下:

通过在“chmod”命令中使用4个八进制数的表达式,如 4755 ,用第一位表示SUID、SGID、或Sticky bit,便能够为文件设置这些特殊权限。示例:

a:仅供附加用途 b:不更新最后存取时间 c:压缩后存放 d:排除在倾倒操作之外

i:不得任意更动文件或目录 s:保密性删除文件或目录 S:即时更新文件或目录

将多个文件打包为一个归档文件,可以在打包的同时进行压缩。支持的格式为tar(归档)、gz(压缩)、bz2(压缩率更高,比较耗时)

-d 比较压缩包内文件和文件 -A 将tar文件添加到归档文件中 -z 使用gz压缩格式

-C <解压路径> 将压缩包中的文件解压到指定目录

[未打包文件] 创建、更新时必须填写

tar -zxvf xxx.tar.gz 按相对路径解包到当前目录下,或按绝对路径解包

-P 使用绝对路径压缩时,保留根目录“/” -W 校验 -p 还原文件权限

使用zip格式打包文件

-r 递归,将指定目录下的所有文件和子目录一并处理 -S 包含系统和隐藏文件

-y 直接保存符号连接,而非该连接所指向的文件 -X 不保存额外的文件属性

-m 将文件压缩并加入压缩文件后,删除源文件

-<压缩级别> 1~9,数字越大,压缩率越高

-F 尝试修复已损坏的压缩文件 -T 检查备份文件内的每个文件是否正确无误

-q 不显示指令执行过程 -g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件

-u 更新压缩包内文件

-f 更新压缩包内文件。如果符合条件的文件没有包含在压缩包中,则压缩后添加

-$ 保存第一个被压缩文件所在磁盘的卷标 -j 只保存文件名称及其内容

-D 压缩文件内不建立目录名称 -i <表达式> 压缩目录时,只压缩符合条件的文件

-x <表达式> 排除符合条件的文件 -n <文件名后缀> 排除指定文件名后缀的文件

-b <缓存路径> 指定临时文件目录 -d <表达式> 从压缩文件内删除指定的文件

-t <日期时间> 把压缩文件的日期设成指定的日期

-o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同

-A 调整可执行的自动解压缩文件 -c 替每个被压缩的文件加上注释

-z 替压缩文件加上注释 -k 使用MS-DOS兼容格式的文件名称。

-l 压缩文件时,把LF字符置换成LF+CR字符。 -ll 压缩文件时,把LF+CR字符置换成LF字符。

-f 覆盖原有文件 -o 不经询问,直接覆盖原有文件

-u 覆盖原有文件,并将压缩文件中的其他文件解压缩到目录中

-l 显示压缩文件内所包含的文件 -t 检查压缩文件是否正确 -z 显示压缩包注释

-C 压缩文件中的文件名称区分大小写 -L 将压缩文件中的全部文件名改为小写

-s 将文件名中的空格转换下划线 -X 解压缩时保留文件原来的UID/GID

-q 执行时不显示任何信息 -v 执行是时显示详细的信息

-c 将解压缩的结果显示到屏幕上,并对字符做适当的转换

-p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换

-a 对文本文件进行必要的字符转换 -b 不要对文本文件进行字符转换

-x <表达式> 处理里排除压缩包中的指定文件 -M 将输出结果送到more程序处理

}

我要回帖

更多关于 p大和t大 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信