命令基本格式

(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. Opencv step by step - 基本数据类型

    CvArr,CvMat,IplImage这三者是继承的关系. 打开opencv 3.0的源码: cvArr /* CvArr* is used to pass arbitrary  * array-l ...

  2. 如何在WPF中引用Windows.System.Forms.Integration

    转自 http://www.cnblogs.com/sinozhang1988/archive/2012/11/28/2792804.html “未找到程序集 WindowsFormsIntegrat ...

  3. MVC4/5+jquery+bootstrap样式+dataTables+linq+WCF+EF6后台和前台的框架集合!好蛋疼哦!数据库支持MYSQL 和MSSQL,oracle。集成腾讯企业邮箱收邮件同步用户SSO登陆等功能。

    花费了我好多心血,才做出来,下个项目准备用这个框架! 大家有没有做这方面的可以交流一下! 花费了我好多心血,才做出来,下个项目准备用这个框架! 大家有没有做这方面的可以交流一下! 花费了我好多心血,才 ...

  4. checkbox radio select绑定

    index11.html <html><head> <title>checkbox radio select绑定</title> <script ...

  5. SQL温故系列两篇(一)

    1.不允许保存更改.您所做的更改要求删除并重新创建以下表 关于SQL2008 “不允许保存更改.您所做的更改要求删除并重新创建以下表. 打开SQL SERVER 2008 工具-->选项--&g ...

  6. [bzoj2245][SDOI2011]工作安排(费用流)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2245 分析: 要注意到题目下面说的w是单增的 明显的费用流: 弄个源点S,汇点T S连 ...

  7. WRONGTYPE Operation against a key holding the wrong kind of value

    今天改动代码,一运行就跑错了,错误原因: 因为redis中已经存在了相同的key, 而且key对应的值类型并不是Set,而是SortSet(改动前):再调用smembers时,抛出此错误. 解决方法: ...

  8. 每天一个linux命令(39):iostat命令

    Linux系统中的 iostat 是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视.它的特点是汇报磁盘活动统计情况,同时也会 汇报出CPU使用情况 ...

  9. 每天一个linux命令(29):date命令

    在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便. 1.命令格式: date [参数 ...

  10. web服务器

    1.打破信息孤岛,实现信息的集成 2.配置文件  web.xml          定义自己的服务器应该要哪些功能! 3.tomcat 是一个servlet容器,一个web服务器. 部署:将web应用 ...