命令基本格式

(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节点号相同,因此定位到分区表中相同的数据,自然通过相同的指引找到存储中相同的数据块来返回。

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

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

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

)可通过i节点识别

)不能跨分区

)不能针对目录使用

软链接

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

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

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

)类似于windows快捷方式

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

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

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

============================================================================================================================

(三)Linux命令基本格式以及文件处理命令的更多相关文章

  1. linux达人养成计划学习笔记(一)——命令基本格式及文件处理命令

    一.shell终端初始 快捷键Ctrl + Alt + T,可以快速打开终端 bluemoutain 当前用户名 bluemoutain-CN155 本机名 ~ 当前目录(家目录,root用户为/ro ...

  2. Linux查找并删除重复文件的命令行fdupes工具,dupeGuru图形工具

    查了几十个网页,找到这个接近满意的解决方案http://unix.stackexchange.com/questions/146197/fdupes-delete-files-aft... 不过正则里 ...

  3. Linux之间用SSH传输文件 一行命令实现

    把本机的文件传到目标: cd /home/ && tar czv test | ssh root@HostIP -p 22 'tar xz' 解释: 如你所见,这行命令其实由多个命令组 ...

  4. [moka同学笔记]Linux命令基本格式及目录处理命令

    命令提示符 [root@localhost ~]# root:当前登录用户localhost:主机名~:当前所在的目录,此处为"家"目录#:root超级用户的提示符,如果是普通用户 ...

  5. Linux命令基本格式及目录处理命令

    命令提示符 [root@localhost ~]# root:当前登录用户 localhost:主机名 ~:当前所在的目录,此处为"家"目录 #:root超级用户的提示符,如果是普 ...

  6. Linux命令之sftp - 安全文件传输命令行工具

    用途说明 sftp命令可以通过ssh来上传和下载文件,是常用的文件传输工具,它的使用方式与ftp类似,但它使用ssh作为底层传输协议,所以安全性比ftp要好得多. 常用方式 格式:sftp <h ...

  7. linux每日命令(30):Linux 用户及用户组相关文件、命令详解

    一. 用户.用户组概念及其文件结构详解 Linux用户只有两个等级:root及非root.Linux中还有一部分用户,如:apache.mysql.nobody.ftp等,这些也都是非root用户,即 ...

  8. 我使用过的Linux命令之sftp - 安全文件传输命令行工具

    用途说明 sftp命令可以通过ssh来上传和下载文件,是常用的文件传输工具,它的使用方式与ftp类似,但它使用ssh作为底层传输协议,所以安全性比ftp要好得多. 常用方式 格式:sftp <h ...

  9. Linux中常用的查找文件的命令

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.这些是从网上找到的资料(参考资料1),因为有时很长时间不会用到,当要用的时候经常弄混了,所以放到这里方便使用. w ...

随机推荐

  1. Nutch搜索引擎(第2期)_ Solr简介及安装

    1.Solr简介 Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化 ...

  2. 从0开始学Java——@override的作用

    早上跟着<jsp&Servlet学习笔记>来学习jsp,在使用eclipse创建了一个servlet类之后,发现自动创建的类和书上相比,doGet方法的前面少了@override, ...

  3. C#中out和ref之间的区别

    首先:两者都是按地址传递的,使用后都将改变原来参数的数值. 其次:rel可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值为空,所 ...

  4. 20135328信息安全系统设计基础第一周学习总结(Linux应用)

    学习计时:共xxx小时 读书: 代码: 作业: 博客: 一.学习目标 1. 能够独立安装Linux操作系统   2. 能够熟练使用Linux系统的基本命令   3. 熟练使用Linux中用户管理命令/ ...

  5. 记一次w3wp占用CPU过高的解决过程(Dictionary和线程安全)

    项目上线以来一直存在一个比较揪心的问题,和一个没有信心处理的BUG,那就是在应用程序启动时有可能会导致cpu跑满99%或持续在一个值如50%左右,这样一来对服务器的压力是非常大的,经常出现服务器无法远 ...

  6. python&MongoDB爬取图书馆借阅记录(没有验证码)

    题外话:这个爬虫本来是想用java完成然后发布在博客园里的,但是一直用java都失败了,最后看到别人用了python,然后自己就找别人问了问关键的知识点,发现连接那部分,python只用了19行!!! ...

  7. Orchard常见问题

    本文链接:http://www.cnblogs.com/souther/p/4543299.html 什么是Orchard Orchard是一个免费,开源,注重社区的项目,其目标是提供ASP.NET平 ...

  8. VS2008+GDI实现多幅图像的GIF动画制作

    相信很多朋友和我一样,经常由于这或那的原因,需制作一些特定格式的图像.如开发过程中需要给菜单.工具条及按钮等添加对应的图形标识,通过代码或资源导入方式加载这些图像时往往会有较高的格式要求. 比如,为按 ...

  9. android之简易新闻客户端

    将一个新闻信息保存到一个XML文件中,并将放在服务器下.通过手机客户端来从服务器下载该文件并解析显示. news.xml <?xml version="1.0" encodi ...

  10. 理解C#事件

    前面文章中介绍了委托相关的概念,委托实例保存这一个或一组操作,程序中将在某个特定的时刻通过委托实例使用这些操作. 如果做过GUI程序开发,可能对上面的描述会比较熟悉.在GUI程序中,单击一个butto ...