一、写在前面 

  在本节将介绍Linux下文件与目录的一些基本概念以及一些基本操作。

完成目标

  1.了解文件和目录的一些基本概念

   2.操作文件和目录的相关命令

   3.文件内容查阅命令

   4.文件查询命令

三、基本概念

  1.对于一个文件什么是所有者、用户组和其他人的概念?

  所有者(Owner)即是文件的所有者;用户组(Group)是对该文件具有一定操作权限的一组用户;其他人(Others)是指除了上述两类人之外的其他用户。还有一点特别需要注意的是root用户可以操作所有文件。

  2.普通权限对于文件和目录的意义

  普通权限包括读(Read)、写(Write)、执行(Execute)。对于文件而言:具备Read权限意味着可以读取该文件的内容,具备Write权限意味着可以更改文件的内容,具备Execute权限意味着可以执行该文件(与该文件是否是可执行文件无关);对于目录而言:具备Read权限意味着可以查询该目录下的内容,具备Write权限意味着可以对该目录下的文件进行新建、删除、更名等一系列操作,具备Execute权限意味着可以进入该目录。这里需要注意的是当要把某一目录对外开放(可读)时要同时提供Read和Execute权限。

3.什么是FHS?

  FHS(Filesystem Hierarchy Standard)是Linux的目录配置标准,目的是希望让用户了解到已安装软件通常放置于哪个目录下。Linux常用目录的说明如下:

  /bin 放置在单用户维护模式下还能被操作的命令

  /boot 放置开机会用到的文件,包括Linux内核文件以及开机菜单与开机所需配置文件等

  /dev 在Linux系统上,任何设备与接口设备都是以文件的形式存在于这个目录当

  /etc 系统主要的配置文件几乎都放置在这个这个目录内,例如人员的帐号密码文件、各种服务的起始文件。一般来说,这个目录下的各文件属性是可以让一般用户查阅的,但是只有root有权限修改

  /home 这是系统默认的用户主文件夹(home directory)

  /lib 放置的是在开机时会用到的函数库,以及在/bin或/sbin下面的命令会调用的函数库而已。

  /media 放置可删除的设备,包括软盘、光盘、DVD等设备都暂时挂载于此。

  /mnt 用于暂时挂载额外设备,类似与/media

  /opt 该目录用于放置第三方软件

  /root 系统管理员的主文件夹

  /sbin 存放开机过程中所需要的命令,里面包括了开机、修复、还原系统所需要的命令

  /srv 用于放置一些放置一些网络服务所需的数据

  /tmp 用于放置一般用户或者是正在执行的程产生的临时文件

  /lost+found 这个目录是使用标准ext2/ext3文件系统格式才会产生的一个目录,目的在于当文件系统发生错误时,将一些丢失的片段放置到这个目录下

  /prov 虚拟文件系统,它放置的数据都是在内存当中。

  /sys 虚拟的文件系统,用于记录与内核相关的信息。

  /usr usr是UNIX Software Resource的缩写,放置UNIX操作系统软件资源,系统默认的软件都会放置到/usr下面

  /var 用于存放常态性变动的文件,包括缓存、登录文件以及某些软件运行所产生的文件

.什么是绝对路径和相对路径?

  绝对路径:由根目录(/)开始写起的文件名或目录名称,如/home/wayne;相对路径:相对于当前路径的文件名写法,如./home/wayne。.代表当前的目录可以用./来表示,..代表上一层目录,也可以用../来表示。

.什么是文件的特殊权限:SUID,SGID,SBIT?

  文件具有SUID权限时,代表当用户执行此二进制程序时,在执行过程中用户会暂时具有程序所有者的权限;

  文件具有SGID权限时,代表用户在这个目录下面新建的文件用户组都会与该目录的用户组名相同。

  目录具有SBIT的特殊权限时,代表在该目录下用户创建的文件只有自己与root能够删除。

四、实施步骤

  1.操作文件和目录的相关命令

)ls - list directory contents 例子(显示当前目录下非隐藏文件/目录的完整信息):ls -l

)chgrp - change group ownership 改变的用户组名必须已存在于系统当中,否则会出现错误

)chown - change file owner and group 该命令可以仅仅修改文件的所有者或者用户组或同时对二者进行修改。

)chmod - change file mode bits 改变文件的Owner,Group和Others的读、写和执行的权限

).代表当前目录,..代表上一层目录,-代表前一个工作目录,~代表“目前用户身份”所在的主文件夹,~account代表account这个用户的主文件夹

)cd-change the current directory 用于切换当前目录,极为常用的目录操作,可以结合(5)中的标记进行简洁的切换

)pwd - print name of current/working directory 例子(显示当前目录):pwd

)mkdir - make directories 创建目录

)rmdir - remove empty directories 移除当前空目录(当前目录非空时无法删除该目录,可用下面的rm命令进行移除)

)cp - copy files and directories

)rm - remove files or directories 例子(强制删除完整文件(不进行询问),该操作极为危险请勿轻易尝试):rm -fr filename

)mv - move (rename) files

)rename - Rename files 用于重命名,与move不同,move只可以用于单个文件的命名,但是rename可以用于文件的批量命名。

)basename - strip directory and suffix from filenames 可用于移除完整文件名中的目录和后缀,例子:basename include/stdio.h .h ,输出:stdio

)dirname - strip non-directory suffix from file name 从完整文件名中移除非目录后缀,例子:dirname /usr/bin/sort,输出:/usr/bin

2.文件内容查阅命令

)cat - concatenate files and print on the standard output 例子(将standard input 输出到 standard output):cat 可用Crtl+C或者Ctrl+D退出

)tac - concatenate and print files in reverse 功能和cat一样,但是确实反向输出的

)nl - number lines of files 输出内容带有行号

)more - file perusal filter for crt viewing 简单浏览命令

)less - opposite of more 简单浏览命令,man page就是调用less来显示内容的

)head - output the first part of files

)tail - output the last part of files

)od - dump files in octal and other formats 可用于显示非文本文档

)touch - change file timestamps 用于改变文件的时间戳或者创建一个空文件

)umask-The user file-creation mask is set to mode umask可用于设置文件和目录的默认属性

)chattr - change file attributes on a Linux file system

)lsattr - list file attributes on a Linux second extended file system

)file - determine file type 可用于查看文件的类型

3.文件查询命令

)which - shows the full path of (shell) commands. 可以查看shell命令的绝对路径,例子:which cp

)whereis - locate the binary, source, and manual page files for a command利用数据库进行查找速度较快

)locate - find files by name 利用数据库进行查找速度较快

)find - search for files in a directory hierarchy 并非利用内建数据库进行搜索,速度较慢

五、回顾总结

  本文概述了Linux中的文件和目录,并且介绍了文件和目录的相关操作。

六、遇到的问题

  CENTOS上firefox中无法播放flash?

  那就安装一个flash插件咯,可执行下述命令:yum install flash-plugin,链接:http://www.tuicool.com/articles/QRNVvi

文章内容部分参考《鸟哥的Linux私房菜》,在此予以说明。

Linux学习2——文件与目录的更多相关文章

  1. (三)linux 学习 --操作文件和目录

    The Linux Command Line 读书笔记 - 部分内容来自 http://billie66.github.io/TLCL/book/chap05.html 文章目录 通配符 字符范围 ` ...

  2. linux学习笔记----文件与目录管理

    一.目录处理命令 cd:切换目录 pwd:显示当前目录 mkdir:新建一个新的目录 rmdir:删除一个空的目录 1)pwd:显示当前目录 pwd [-P] P:显示出当前的路径,而非使用连接(li ...

  3. Linux学习——操作文件与目录

    1. ls:列出文件及目录信息. 命令格式:ls [选项] ... 常用选项: -a 显示指定目录下所有子目录与文件,包括隐藏文件. -A 显示指定目录下所有子目录与文件,包括隐藏文件.但不列出“.” ...

  4. 轻松学习Linux之Shell文件和目录属性详解

    轻松学习Linux之Shell文件和目录属性详解 轻松学习Linux之理解Sitcky 轻松学习Linux之理解umask 轻松学习Linux之理解SUID&SGUID 本系列多媒体教程已完成 ...

  5. Linux学习之文件特殊权限详解(SetUID、SetGID、Sticky BIT)(十一)

    Linux学习之文件特殊权限详解(SetUID.SetGID.Sticky BIT) 目录 SetUID SetGID Sticky BIT SetUID SetUID简介 只有可以执行的二进制程序和 ...

  6. linux下创建文件与目录时默认被赋予了什么样的权限?

    当我们创建一个新的文件或目录的时候,他的默认权限是什么? umask--指定当前使用者在创建文件或目录的时候默认的权限值 [root@iZ288fgkcpkZ default]# umask [roo ...

  7. linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录

    转自:http://blog.csdn.net/snlying/article/details/6184102 Linux系统中scp命令的用法. scp就是secure copy的简写,用于在lin ...

  8. linux下查看文件及目录个数

    linux下查看文件及目录个数1.查看当前文件和目录总数(不包括子目录):ls -l | wc -l 2.查看当前目录下文件个数(不包括子目录):ls -l |grep "^-"| ...

  9. Linux删除乱码文件或者目录

    Linux删除乱码文件或者目录 有时在Linux下面解压一些zip或者rar文件后会产生乱码文件或者目录,这个时候使用rm不能成功删除,需要使用一些特别的方法 来进行删除,下面是我经常使用的两种方法. ...

随机推荐

  1. 代码中实际运用memcached——java

    以下文章取自:http://jameswxx.iteye.com/blog/1168711 memcached的java客户端有好几种,http://code.google.com/p/memcach ...

  2. log4net 使用与配置 每天一份log文件

    1.下载 或 在nuget安装 log4net 2. web.config (app.config) <configuration> <configSections> < ...

  3. 实现怎样支持Android重力感应器Sensor编程

    添加当重力变化时的处理函数 在创建监听器时调用的函数 doSomething(x, y, z) 是自己定义的方法. 当手机倾斜方向改变时,监听器会调用该方法. 我们要做的,就是填充该方法,用于在重力发 ...

  4. java学习笔记day01

    1.Java JDK:简称为java开发工具集 2.下载JDK后安装,可以下载绿色版本,即不用安装,直接将其放在磁盘根目录  如:C:\Java\jdk1.6.0_10 3.在任意磁盘路径下都可以编译 ...

  5. 《JavaScript 闯关记》之函数

    函数是一段代码,它只定义一次,但可以被执行或调用任意次.在 JavaScript 里,函数即对象,程序可以随意操控它们.比如,可以把函数赋值给变量,或者作为参数传递给其他函数,也可以给它们设置属性,甚 ...

  6. ASP.NET属性之AssociatedControlID

    AssociatedControlID 是用在Asp.Net 中的 Label 控件上.给label控件关联一个ASP.NET的控件,在点击 这个 LABEL的时候,所关联的ASP.NET控件会获得焦 ...

  7. WebService调用1(.Net)

    1.创建一个最简单的Web Service (1)  新建-项目-ASP.NET空WEB应用程序 (2)添加新项-WEB服务 默认会添加一个HelloWorld方法: using System; us ...

  8. iOS 获取系统目录

    //获取根目录 NSString *homePath = NSHomeDirectory(); NSLog(@"Home目录:%@",homePath); //获取Document ...

  9. spring 配置和实例

    Spring 是一个开源框架.Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能.Spring 是一个 IOC(DI) ...

  10. C - Big Number

    Description In many applications very large integers numbers are required. Some of these application ...