net_程序猿

导航

Linux文件与目录管理-

本系列的博客来自于:http://www.92csz.com/study/linux/

在此,感谢原作者提供的入门知识

这个系列的博客的目的在于将比较常用的liunx命令从作者的文章中摘录下来,供自己学习和复习之用。

 

绝对路径:路径的写法一定由根目录”/”写起,例如/usr/local/mysql 这就是绝对路径。

相对路径:路径的写法不是由根目录”/”写起,例如,首先用户进入到/ 然后再进入到home ,命令为 cd /home 然后 cd test 此时用户所在的路径为 /home/test 。第一个cd命令后跟 /home 第二个cd命令后跟test,并没有斜杠,这个test是相对于/home 目录来讲的,所以叫做相对路径

pwd 这个命令打印出当前所在目录

cd 进入到某一个目录

./ 指的是当前目录

../ 指的是当前目录的上一级目录。

 

mkdir 创建一个目录,其语法为 mkdir [-mp] [目录名称]

-m:这个参数用来指定要创建目录的权限,该参数不常用,所以笔者不做重点解释。

-p:递归创建目录。

 

rm 删除目录或者文件

-f 强制的意思,如果不加这个选项,当删除一个不存在的文件时会报错。

-i 这个选项的作用是,当用户删除一个文件时会提示用户是否真的删除。(默认已经是)

-r 当删除目录时,加该选项,如果不加这个选项会报错

 

which 用来查找一个命令的绝对路径

alias 用来设置指令的别名。语法:alias[别名]=[指令名称],例如 alias rm='rm -i' ,即当我们使用rm命令时,实际上是使用的是rm –i ,而用绝对路径的/bin/rm 则不会被alias,该命令在以后章节中会详细介绍。

ls 查看某个目录或者某个文件,是list的简写。

-a 全部的档案都列出,包括隐藏的。这些隐藏文件的文件名是以.开头的。

-l 详细列出文件的属性信息,包括大小、创建日期、所属主所属组等等。ll 这个命令等同于ls –l 。

-d 后边跟目录,如果不加这个选项则列出目录下的文件,加上后只列车目录本身。

 

cp copy的简写,即拷贝。格式为 cp [选项] [ 来源文件 ] [目的文件] 

-d 这里涉及到一个“连接”的概念。连接分为软连接和硬连接。在以后的章节中会详细解释,现在你只要明白这里的软连接跟windows中的快捷方式类似即可。如果不加这个-d 则拷贝软连接时会把软连接的目标文件拷贝过去,而加上后,其实只是拷贝了一个连接文件(即快捷方式)。

 -r 如果你要拷贝一个目录,必须要加-r选项,否则你是拷贝不了目录的。

-i 如果遇到一个存在的文件,会问是否覆盖。(默认已经使用)

-u 该选项仅当目标文件存在时才会生效,如果源文件比目标文件新才会拷贝,否则不做任何动作。

 

mv 移动的意思,是move的简写。格式为 mv [ 选项 ] [源文件] [目标文件],下面介绍几个常用的选项。

-i 和cp的-i 一样,当目标文件存在时会问用户是否要覆盖。在Redhat/CentOS系统中,我们使用的mv其实是mv –i

-u 和上边cp 命令的-u选项一个作用,当目标文件存在时才会生效,如果源文件比目标文件新才会移动,否则不做任何动作。

目标文件不存在的话,相当于是重命名。

 

cat 比较常用的一个命令,即查看一个文件的内容并显示在屏幕上。

-n 查看文件时,把行号也显示到屏幕上。

-A 显示所有东西出来,包括特殊字符

 

tac 其实是cat的反写,同样的功能也是反向打印文件的内容到屏幕上。

 

less 作用跟more一样,但比more好在可以上翻,下翻。空格键同样可以翻页,而按”j”键可以向下移动(按一下就向下移动一行),按”k”键向上移动。在使用more和less查看某个文件时,你可以按一下”/”键,然后输入一个word回车,这样就可以查找这个word了。如果是多个该word可以按”n”键显示下一个。另外你也可以不按”/”而是按”?”后边同样跟word来搜索这个word,唯一不同的是,”/”是在当前行向下搜索,而”?”是在当前行向上搜索。

head head后直接跟文件名,则显示文件的前十行。如果加 –n 选项则显示文件前n行。

tail 和head一样,后面直接跟文件名,则显示文件最后十行。如果加-n 选项则显示文件最后n行。

-f 动态显示文件的最后十行,如果文件是不断增加的,则用-f 选项

 

【文件的所属主和所属组】

Linux文件属性不仅规定了所属主和所属组,还规定了所属主(user)、所属组(group)以及其他用户(others)对该文件的权限。你可以通过ls -l 来查看这些属性。

【linux文件属性

上例中,用ls –l 查看当前目录下的文件时,共显示了9列内容(用空格划分列)

第1列,包含的东西有该文件类型和所属主、所属组以及其他用户对该文件的权限。

第2列,表示为连接占用的节点(inode),若为目录时,通常与该目录地下还有多少目录有关系,关于连接(link)在以后章节详细介绍。

第3列,表示该文件的所属主。

第4列,表示该文件的所属组。

第5列,表示该文件的大小。

第6列、第7列和第8列为该文件的创建日期或者最近的修改日期,分别为月份日期以及时间。

第9列,文件名。如果前面有一个. 则表示该文件为隐藏文件。

 

更改文件的权限

1)更改所属组 chgrp

语法:chgrp [组名] [文件名]

使用groupadd命令,即增加一个用户组。

-R 只作用于目录,作用是级联更改

 

2)更改文件的所属主 chown

语法:chown [ -R ] 账户名 文件名

chown [ -R ] 账户名:组名 文件名

这里的-R选项只作用于目录,作用是级联更改,即不仅更改当前目录,连目录里的目录或者文件全部更改。

useradd 用来增加一个用户

可以使用如下方法同时更改所属主和所属组

chown –R user1:testgroup test 这样把test连同test目录下的test2 的所属主以及所属组都改变了。

 

3)改变用户对文件的读写执行权限 chmod(重要)

在linux中为了方便更改这些权限,linux使用数字去代替rwx ,具体规则为r: 4 w:2 x:1 -:0 

chmod 语法: chmod [-R] xyz 文件名 (这里的xyz,表示数字)

-R 选项作用同chown,级联更改。

值得提一下的是,在linux系统中,默认一个目录的权限为 755,而一个文件的默认权限为644.

chmod 还支持使用rwx的方式来设置权限。!从之前的介绍中我们可以发现,基本上就九个属性分别是(1)user (2)group (3)others 三群啦!那么我们就可以藉由 u, g, o 来代表三群的属性!此外, a 则代表 all 亦即全部的三群!同时修改多个权限,中间用逗号分隔。

 

posted on 2016-01-11 17:30  net_程序猿  阅读(191)  评论(0编辑  收藏  举报