命令基本格式

(1)命令提示符

如下是命令行的命令提示符,以此为例,讲解含义。

其中:

root 当前登录用户名

localhost 主机名

~ 当前所在的目录(即家目录,用户登录的初始位置)

# 超级用户的提示符

普通用户提示符为$

注意:在Linux当中管理员账号是root,切记不是administrator

(2)命令格式

Linux下的命令格式为:

命令 [选项] [参数]

注意:个别命令并不遵循此格式

当有多个选项时可以写在一起

下面举个例子,以查询目录中的内容的命令:ls,作为例子说明命令格式的用法。ls的命令如下:

ls [选项] [文件或者文件目录]

ls命令的参数就是“文件或者文件目录”,它的选项可以输入下面的:

-a 显示所有文件,包括隐藏文件

-l 显示详细信息

-d 查看目录属性

-h 人性化显示文件大小

-i 显示inode

比如在实际中输入ls命令,如下图所示,利用l选项显示出详细信息。

下面我们就以一个例子来解释一下详细信息各个部分的含义:

注意:引用计数就是被调用的次数而已

所有者即谁是这个文件的主人

所属组就是这个文件所属的用户组。

(3)Linux中的权限

在Linux中的权限由10位的字段来表示。下面就是一个权限,我们以此来说明一下Linux中的权限知识:

第一位表示文件类型,有共有7中标示,也就是说Linux中共有7种文件类型。下面只介绍三种:

如果第一位为“—”标示,则是一个普通文件

如果第一位是“d”标示,则是一个目录

如果第一位是“l”标示,则是一个软链接文件,即快捷方式

除去第一位,还有9位。后面的9位,每三位为一组,为了方便说明,我们依次叫做第一组,第二组,第三组。

第一组代表所有者的权限。

第二组代表所属组的权限。

第三组代表其他人的权限。

什么意思呢?首先你要知道,在Linux中有用户和用户组的含义,用户组就是把相同权限或者相同身份的用户放在一起的集合。举个例子:在一个班里面,一个老师拥有一台电脑,那么他就是这台电脑的所有者,他对这台电脑的权限就是所有者的权限。然后呢这个班里的所有的女生对这个电脑的使用权一样,那么这些女生就是一个用户组,那么这个电脑在这个组里的权限就是所属组的权限。剩下的这个班里的男生就是其他人的意思,电脑在这些男生中的权限就是其他人的权限。在Linux中,我们用u代表所有者,g代表所属组,o代表其他人。

那么权限都有哪些呢?Linux只有三种权限,即:

r代表读,w代表写,x代表执行

那么在上面的那个例子中,表示这是一个普通文件类型,所有者具有读和写的权限,所属组具有读的权限,其他人也具有读的权限。


建立目录

建立目录的命令如下:

mkdir –p [目录名]

注:-p 递归创建的意思

创建目录也就是创建一个文件夹的含义。

那么什么时候使用“-p”呢?如果我们创建单独目录,只需要使用比如:mkdir fuly.如果我们想创建这样的目录:fuly/japan呢?而且fuly这个目录是没有的。那么此时我们要用“-p”了。使用命令:mkdir –p fuly/japan 即可


切换目录/进入目录

切换目录或者叫进入目录的命令很简单,如下:

cd [目录名]

但是需要说明它的几个特殊用法:

cd ~或者cd 进入(或者叫回到)当前用户的家目录

cd - 进入上次目录

cd .. 进入上一级目录

cd . 进入当前目录(这个命令并无多大意义)

在这里需要说明,相对路径和绝对路径的意思。可以简单的这样理解。绝对路径是从根目录开始的,也就是以“/”开头的。相对路径即从当前目录开始或者上一级目录开始的,即以“.”或者“..“开头的目录。如下两个例子:

cd /usr/share/doc/ 以绝对路径进入目录

cd ../japan/fuly 以相对路径进入目录

注意:初学者建议使用绝对路径切换目录


删除空目录

rmdir [目录名]


删除文件或者目录

rm –rf [文件名或者目录名]

注:rm本身是用来删除文件的。加了选项”-r“才可以删除目录。选项”-f”是强制的意思,因为每次删除都会询问你是否确定删除,加了这个就不会询问。


ll命令

“ll“命令就是命令”ls -l”


复制命令

cp [选项] [原文件或者目录] [目标目录]

选项:

-r 复制目录

-p 连带文件属性一起复制

-d 若原文件是链接文件,则复制链接属性

-a 就等于选项“-pdr”

注:cp就是用来复制文件的,如果需要复制目录,选项中要加“-r”。如果想要复制的东西和原来的东西一模一样,什么都一样(包括最后一次修改的时间等),就使用选项”-a”。对于我们使用而言,如果复制目录,就加“-r”,如果需要复制的东西和原来一模一样,就加”-a“。


剪切或者改名命令

mv [原文件或目录] [目标目录]

注:怎么区分是剪切还是改名呢?其实很简单,原来的文件和目标文件在同一个目录下就是改名(重命名),如果不在,就是剪切,即从一个目录剪切到另一个目录.


Linux常见目录的作用

在学习Linux的过程中,有些常见的目录的作用是必须要了解的,而且这些常见目录也是严格规定的。我们知道根目录是”/”,根目录下面就是一级目录。那么有哪些常见一级目录呢?如下图:

我们打开了根目录,然后列出了它下面所有的文件以及目录。常见目录的作用如下:

bin和sbin都是保存命令的目录,即里面保存的都是Linux的命令。区别是bin保存的任何用户都可使用,而sbin保存的命令只有超级用户才可使用。需要注意的是usr目录下存在bin和sbin目录,这和一级目录bin和sbin的作用是一样的。

boot目录即启动目录,里面保存的是用户启动时的数据,不能随便做操作。

dev目录是特殊文件保存目录,里面保存的有硬件文件,不能随便操作。

etc目录保存的是系统默认的配置文件。

home是普通用户的文件目录。

root是超级用户的文件目录。

lib是Linux的函数库的保存位置。

media是空的,是Linux用来挂载光盘的位置。

misc也是空的,是Linux用来挂载磁带机的位置。

mnt也是空的,是Linux用来挂载U盘的位置。

注:在Linux中所有的存储设备都要挂载后才能使用,挂载就相当于分配盘符。因此挂载只要是空目录就可以,你完全可以自己建立空目录来挂载U盘什么的。比如说在mnt新建目录usb用来挂载U盘。

proc和sys目录不能直接操作,他们保存的是内存的过载点。也就是说它们是内存的盘符,我们当然不能往内存中写数据了。

tmp是临时目录,存放一些临时数据。

usr是系统软件资源目录。

var目录保存的是系统相关文档。

初学者可以在home或者root或者tmp目录下随便放内容来做练习,其他的目录不要随便动了。也不要在根目录下随便操作,比如创建文件等,虽然允许你这么做。


链接命令

ln -s [原文件] [目标文件]

注:该命令用来生成链接文件。选项“-s”为创建软链接。

在这里要十分的强调硬链接和软链接的区别。分开来说。

硬链接

为了说清原理,这要从分区说起。一块分区要想使用,首先要格式化。而格式化是要做两件事的。一件是将分区分成等大小的数据块;另一件就是建立一个分区表,在这个表中会给每个文件建立一行它的相关数据,比如会包括它的i节点号,修改时间,存储的位置等。我们看下面的一张图:

比如我们建立的一个文件,那么当我们想读取这个文件的时候,它不是直接到存储中找。而且先通过i节点号确定到分区表中的位置,然后找到分区表中这个文件的存储位置,然后按照指引到存储中找到这个文件的数据,也就是图中分区里被打红色勾的那些数据块。最后将这个数据块返回即可。

好了,了解到这些东西。那么我们创建出这个文件的硬链接,当我们通过这个硬链接读取文件的时候,它的查找过程是怎么样的呢?如下图:

通过这个硬链接读取文件的查找过程如图中蓝色线条所示。也就是说硬链接和原来的文件的i节点号相同,因此定位到分区表中相同的数据,自然通过相同的指引找到存储中相同的数据块来返回。

那么硬链接和原文件到底是什么关系的,其实就相当于一个文件的两个名字。也就是一份文件,你给它命名了不同的名字而已。或者做一个形象的比喻,就是一间教室的两扇门,无论你推开哪一道门都会进入教室。那么如果你封掉一个门,通过另一道门仍然可以进入教室。对应于如果你删掉原文件,那么通过硬链接仍旧可以读取数据。如果你修改数据,那么无论通过原文件还是硬链接来读取访问,都是生效的。但是不能跨分区创建硬链接,这就好比一间教室的门不可能开在另外一栋楼上。

下面总结一下硬链接的特征:

(1)和原文件拥有相同的i节点和block块,相当于同一个文件。

(2)可通过i节点识别

(3)不能跨分区

(4)不能针对目录使用

软链接

下面说一说软链接,一句话就可以概括,软链接和windows下的快捷方式是一样的。继续看一张图,如下:

在这里,创建的是文件的一个软链接。通过它读取文件的过程如上图粉红色线所示。从图中可以看到软链接的i节点和原文件的i节点不一样,在分区表中它有自己的数据。其实软链接拥有自己的i节点和数据块,在它的数据块中存储的是原文件的文件名和i节点。在通过软链接读取的时候就是先通过软链接的数据块找到原文件的i节点,然后按照指引再最终找到存储中的数据。说白了,这跟windows中的快捷方式是一样的。

那么软链接的特征呢?如下:

(1)类似于windows快捷方式

(2)软链接拥有自己的i节点和block块,但是数据块中只保存原文件的文件名和i节点号,并没有实际的文件数据。

(3)原文件和软链接,修改任意一个,对方都会发生改变

(4)删除了原文件,软链接不可用。

这样学Linux基本命令,事半功倍的更多相关文章

  1. Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。

    Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们. 这个是我将鸟哥书上的进行了一下整理的,希望不要涉及到版权问题. 1.显示日期的 ...

  2. Linux基本命令(开发常用的、电脑常用的)

    一.开发常用的 ###转自:http://www.weixuehao.com/archives/25#usergroup 转自:http://blog.csdn.net/ljianhui/articl ...

  3. 十天学Linux内核之第七天---电源开和关时都发生了什么

    原文:十天学Linux内核之第七天---电源开和关时都发生了什么 说实话感觉自己快写不下去了,其一是有些勉强跟不上来,其二是感觉自己越写越差,刚开始可能是新鲜感以及很多读者的鼓励,现在就是想快点完成自 ...

  4. 教老婆学Linux运维(二)Linux常用命令指南【上】

    目录 教老婆学Linux(二)Linux常用命令指南[上] 一.概述 二.常用命令 教老婆学Linux(二)Linux常用命令指南[上] 作者:姚毛毛的博客 tips:文章太长,分两篇发出,本篇发前三 ...

  5. Linux基本命令(一)

    Linux基本命令 编辑器 vim编译器 Gnu工具链-gcc调试器 GDB操作系统是用C来写的 系统编程 (核心骨架 80%) 文件I/O 文件系统 进程{ 进程控制原语.进程间通信.进程间关系 信 ...

  6. 跟着鸟哥学Linux系列笔记3-第11章BASH学习

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 跟着鸟哥学Linux系列笔记2-第10章VIM学习 认识与学习bash 1. ...

  7. 跟着鸟哥学Linux系列笔记2-第10章VIM学习

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 常用的文本编辑器:Emacs, pico, nano, joe, vim VI ...

  8. 跟着鸟哥学Linux系列笔记0-如何解决问题

    跟着鸟哥学Linux系列笔记0-扫盲之概念 在发生问题怎么处理: 1.  在自己的主机.网络数据库上查询How-To或FAQ -Linux 自身的文件数据: /usr/share/doc -CLDP中 ...

  9. 跟着鸟哥学Linux系列笔记1

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 装完linux之后,接下来一步就是进行相关命令的学习了 第五章:首次登录与在线求助man page 1. X ...

随机推荐

  1. 地图API的选择和使用

    在我们程序员的日常开发中,总会时不时的需要用到地图开发,我也在多次碰到之后,写下我对地图开发的理解经验和总结. 一.地图的选择 回想一下我们生活中用到的地图工具,数了一下,百度地图,高德地图,腾讯地图 ...

  2. python 之头像上传,预览

    上传头像 我们需要实现的效果是:当我们点击默认头像,用户可以进行选择要上传的头像文件,其原理就是头像的img标签与文件input(file类型)框重合或者关联,可以通过如下两种方式进行实现: 方法一l ...

  3. learn go random

    package main // 参考文档: // go 基本类型和运算符 // https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/e ...

  4. Linux服务器运行环境搭建(四)——Tomcat安装

    官网地址:http://tomcat.apache.org 官网下载地址(Tomcat6):http://tomcat.apache.org/download-60.cgi,Windows下载wind ...

  5. 因为yii2中jquery位置默认在最下方,可将自定义js位置放在下方

    因为yii2中jquery位置默认在最下方,可将自定义js位置放在下方,这样就可以执行当页面加载完触发动作.记录下方式,查找方便 <?php $this->beginBlock('test ...

  6. 大规模向量相似度计算方法(Google在07年发表的文章)

    转载请注明出处:http://www.cnblogs.com/zz-boy/p/3648878.html 更多精彩文章在:http://www.cnblogs.com/zz-boy/ 最近看了Goog ...

  7. LOJ2613 NOIP2013 华容道 【最短路】*

    LOJ2613 NOIP2013 华容道 LINK 这是个好题,具体题意比较麻烦可以直接看LINK中的链接 然后考虑我们可能的移动方式 首先我们需要把白块移动到需要移动块S的附近(附近四格) 然后我们 ...

  8. NOI2001 食物链【扩展域并查集】*

    NOI2001 食物链 动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形.A 吃 B,B吃 C,C 吃 A. 现有 N 个动物,以 1 - N 编号.每个动物都是 A,B,C 中的 ...

  9. Hadoop内幕

    http://www.itxm.net/a/dashuju/2016/0610/279.html

  10. 《selenium2 python 自动化测试实战》(9)——切换窗口

    有时候我们点击按钮后页面会跳转到新的窗口,我们需要到新的窗口中去进行接下来的操作,这时候就需要切换窗口的操作,我们根据句柄(handle)来操作窗口之间的切换,看代码: # coding: utf-8 ...