Linux学习2——文件与目录
一、写在前面
在本节将介绍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——文件与目录的更多相关文章
- (三)linux 学习 --操作文件和目录
The Linux Command Line 读书笔记 - 部分内容来自 http://billie66.github.io/TLCL/book/chap05.html 文章目录 通配符 字符范围 ` ...
- linux学习笔记----文件与目录管理
一.目录处理命令 cd:切换目录 pwd:显示当前目录 mkdir:新建一个新的目录 rmdir:删除一个空的目录 1)pwd:显示当前目录 pwd [-P] P:显示出当前的路径,而非使用连接(li ...
- Linux学习——操作文件与目录
1. ls:列出文件及目录信息. 命令格式:ls [选项] ... 常用选项: -a 显示指定目录下所有子目录与文件,包括隐藏文件. -A 显示指定目录下所有子目录与文件,包括隐藏文件.但不列出“.” ...
- 轻松学习Linux之Shell文件和目录属性详解
轻松学习Linux之Shell文件和目录属性详解 轻松学习Linux之理解Sitcky 轻松学习Linux之理解umask 轻松学习Linux之理解SUID&SGUID 本系列多媒体教程已完成 ...
- Linux学习之文件特殊权限详解(SetUID、SetGID、Sticky BIT)(十一)
Linux学习之文件特殊权限详解(SetUID.SetGID.Sticky BIT) 目录 SetUID SetGID Sticky BIT SetUID SetUID简介 只有可以执行的二进制程序和 ...
- linux下创建文件与目录时默认被赋予了什么样的权限?
当我们创建一个新的文件或目录的时候,他的默认权限是什么? umask--指定当前使用者在创建文件或目录的时候默认的权限值 [root@iZ288fgkcpkZ default]# umask [roo ...
- linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录
转自:http://blog.csdn.net/snlying/article/details/6184102 Linux系统中scp命令的用法. scp就是secure copy的简写,用于在lin ...
- linux下查看文件及目录个数
linux下查看文件及目录个数1.查看当前文件和目录总数(不包括子目录):ls -l | wc -l 2.查看当前目录下文件个数(不包括子目录):ls -l |grep "^-"| ...
- Linux删除乱码文件或者目录
Linux删除乱码文件或者目录 有时在Linux下面解压一些zip或者rar文件后会产生乱码文件或者目录,这个时候使用rm不能成功删除,需要使用一些特别的方法 来进行删除,下面是我经常使用的两种方法. ...
随机推荐
- quick-cocos2d-x android返回键监听并实现原生退出对话框
这两天最终闲了一下,就顺手又把quick捡起来又学了学,一直都认为quick比cocos2dx那套lua绑定要方便很多,今天试了下android返回键的监听,还是挺好弄的,所以就有了这篇. 首先说明一 ...
- python 笔记1--基础类型
list 操作 append() 添加最外面 insert(pos,content) 插入指定地方 pop() 删除最外面 pop(pos) 删除指定地方 list中可以有list,且能用二维数组的方 ...
- putty保持连接不自动段开
经常在网上看到有人说自己利用putty工具登录服务器总是连接不上,这样的情况自己在刚接触putty时也遇到过.在 Connection 里面有个 Seconds between keepaliaves ...
- Hello World 老调重谈
namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine( ...
- Javascript进阶篇——(函数)笔记整理
这节是根据慕课网和JavaScript DOM编程艺术一书加起来做的笔记 什么是函数如果需要多次使用同一段代码,可以把它们封装成一个函数.函数(function)就是一组允许在你的代码里随时调用的语句 ...
- 检查DISPLAY设置时Xlib出现No protocol specified错误
退出到root用户,执行xhost +命令后,再次切换到Oralce用户,执行runInstaller命令,错误消失
- Spring整合Hibernate 二 - 声明式的事务管理
Spring大战Hibernate之声明式的事务管理 Spring配置文件: 添加事务管理类的bean: <bean id="txManager" class="o ...
- python 和 c# 连接数据库 (Access)
模块pypyodbc 1.3.3下载: https://pypi.python.org/pypi/pypyodbc/ 安装:解压文件找到pypyodbc.py复制到python安装目录Lib文件夹 ...
- PHP读取CSV大文件导入数据库的示例
对于数百万条数据量的CSV文件,文件大小可能达到数百M,如果简单读取的话很可能出现超时或者卡死的现象. 为了成功将CSV文件里的数据导入数据库,分批处理是非常必要的. 下面这个函数是读取CSV文件中指 ...
- c#局域网聊天软件的实现
本软件是基于大学寝室局域网聊天的思路.c#源代码如下: using System; using System.Drawing; using System.Collections; using Syst ...