Linux 命令图解5分钟系列[1] - 目录操作

来源:互联网 发布:uitableview优化 简书 编辑:程序博客网 时间:2024/05/02 00:01

序:2015年伊始,要确定自己的几个年度目标,其中之一就是精通Linux,为大数据应用和嵌入式开发做好准备。作为入门基础,各种命令的使用自然是必须驾轻就熟的。至于学习素材,CSDN和博客园等主要门户中已有前辈整理的60个常用命令可以直接参考。

不过,我的学习笔记与各位前辈的有所不同,主要是以下几个特点。

  • 以操作为主题进行讲解。相比其他前辈的博文,本笔记系列会以各种操作为主题,将各种相关命令穿插说明,部分重要命令会反复出现且使用参数可能会发生变化。
  • 命令参数整理比较全。在整理本笔记系列时,除参考各种博文外,还同时查阅了《 Linux命令速查手册(人民邮电,吴恒奎著,2007)》,对核心命令进行重点描述。
  • 讲解命令功能时会与DOS/Windows系统进行比对,进一步强化Windows用户的记忆。
  • 图解命令,更直观。相比其他以文本形式展示命令和执行效果的笔记,为了更直观的描述命令的执行结果,本笔记系列中,大部分情况下以屏幕截图为主。
闲话少说,且述正题。


1)目录操作

对于有DOS操作经验的用户,首先使用的命令常常不是登陆命令,因为DOS仅仅只是磁盘操作系统,更确切的说它不具备支持多用户的能力。所以,对于有DOS/Windows操作习惯的用户,不妨先讲解目录和文件操作所用的命令。

a) 转换目录命令 cd

cd命令的使用与Windows中的cd命令很类似,不过也有一些更方便的地方。首先要注意,Linux与Windows最大的区别就是所有目录均为斜杠,即“/”,而不是Windows中的反斜杠“\”。


这个命令不复杂,通过一个例子就可以基本掌握。从上图中的示意可以看到,当前目录是/home/mastervind;随后,退到上一级目录,当前目录变为/home;接下来,进入到/opt/intel目录中,提示符的当前目录也随之发生了变化。

这个例子中,用到了pwd命令(常常与cd配合使用),这个命令不需要任何参数,功能也很单一,就是显示当前的工作目录,类似于Windows中cd不加任何参数的结果。同时,可以看到命令行提示符中的目录在切换到非登陆用户的主目录时会发生相应变化。

b) 查看目录命令 ls

在DOS中,查看目录和文件都使用dir命令,但是在Linux中对于绝大多数安装bash环境的终端,dir仅仅查看目录,而功能更强命令是ls。

基本用法1:直接查看当前目录内容,不使用任何参数。

从图中可见,直接使用ls的效果与DOS中不带任何参数使用dir的效果不一样,显示的项目是紧凑排列的。同时,你会注意到不同的项目颜色不同。例如,在我的系统中(Ubuntu 14.40),普通文件是以默认颜色(上图中是绿色文字),而目录(与Windows中的文件夹概念对应)显示为蓝色。

注:1)以下示例中,会发现每行的提示符均为mastervind@Zeon:~$,初学者可以不必纠结其含义,在后面的篇幅中会详细解释。可以提前说明的是”mastervind@Zeon“表示的是当”前登陆用户名@主机名“。

2)Linux环境下对所有命令都是大小写敏感的,请各位注意”ls“不要输入为”Ls“或者”LS“;

基本用法2:查看当前目录内容,但用长列表格式显示;

参数”-lh“实际是两个参数。对于Linux,各种命令的不同参数可以直接组合,因此”-lh“与”-l -h“是等价的。参数”-l“的含义是以长格式显示每行,而-h的含义是以人类方便阅读的方式显示文件或者目录的大小,例如1K、234M、5G。

熟悉Windows的用户会注意到,这次显示的内容看起来类似dir的执行结果。其中,第1行显示当前目录总大小,共72K字节。之后紧跟的内容是所有文件和目录。每行分为7部分。其中,从右开始的两部分容易理解,分别是文件(或目录名称)和最后修改日期(包含日期和具体的时间,例如AddressTest在1月1日14:20修改过一次)。但是从左边开始的4部分含义不容易理解,因此重点解释一下。

第1列:该文件的属性

以AddressTest为例,第一列的信息分为4部分“ d | rwx | r-x | r -x ”,“d”表示该项目为目录(若启用了目录染色功能则会以蓝色显示),后面的字母每3个为一组,分别表示文件(或目录)的拥有者权限、组权限和其他用户权限;同时,“r”表示可以读取(readable),“w”表示可以写入(writable),“x”表示可执行(eXecutable),"-"表示无权限。

由此,可以知道AddressTest是一个目录,其拥有者具备所有权限(读、写和执行)。

第2列:操作目录中文件硬链接和目录数目的总和

目录的概念大家好理解,至于文件硬链接的含义我们之后在解释,大家不要心急。同任何新东西一样,第一课的内容总是有很多要解释的微笑

仍然以AddressTest这个目录位例子,可以看到第2列显示为4,所以该目录下应该有2个子目录。为什么是两个子目录呢?因为默认情况下,每个目录至少有当前目录(以“ . ”表示)和指向上一级目录的目录(以“ .. ”表示)。

我们使用” ls -lhR"来验证一下结果。


显示的内容比较多,不过请先关注一下上方第一个红色方框中的内容。可以发现有两个AddressTest目录下有两个子目录bin和obj,与我们的推断是一致的。

第3、4列:目录(或文件)的拥有者名字以及拥有者所在用户组

有关颜色的说明:

ls命令在打开染色功能时,会用不同颜色表示不同的文件类型。


在上面这个文件夹中:

  • Disk UI.png是图片,显示为紫红色;
  • hello.out是编译的可执行程序(下方可以看到执行结果Hello, world!),显示为绿色(高亮);
  • sample.log是普通的日志文件,显示为普通颜色。(在我的系统上,我把文字的默认颜色改为绿色了,有点像黑客帝国大笑
  • sample.png是一个指向Disk UI.png的符号链接,显示的颜色为湖绿色。顺便说一下,符号链接的含义以后再讨论,这里只是要提醒一下,看到这个文件的第一个部分用来表示文件属性的字母是“l”,即link。同时,最右边一部分可以看到sample.png->Disk UI.png,也表示符号链接的意思。
  • test.zip是压缩文件,显示为红色。

暂时就说这些吧!每次的内容不宜太多,5分钟看完就掌握最好。记得勤加练习哦!再见

1 0
原创粉丝点击