admin管理员组

文章数量:1558102

2.1/2.2 系统目录结构

2.3 ls命令

2.4 文件类型

2.5 alias命令

2.6 相对和绝对路径

2.7 cd命令

2.8 创建和删除目录mkdir/rmdir

2.9 rm命令

2.10 环境变量PATH

2.11 cp命令

2.12 mv命令

2.13 文档查看cat/more/less/head/tail

2.14 文件和目录权限chmod

2.15 更改所有者和所属组chown

2.16 umask

 

一、系统目录结构

1、安装目录树命令:yun install -y tree

显示常用目录命令:tree+目录名称

2、常用命令都储存在bin目录中

(1)bin:sbin中的命令都是root用户使用的,而bin中的命令是普通用户使用的。(会经常使用该目录)

(2)boot:储存的系统启动相关的文件,例如gurb等

(3)dev:Linux系统中特有的设备文件,例如:鼠标,硬盘等(黄颜色的文件均为设备文件)。

(4)etc:系统的配置文件所在目录(会经常使用该目录)

(5)home:用户的家目录

(6)lib、lib64:储存着系统的库文件

(7)media:媒介目录,默认为空,若插入U盘,则自动放入该目录

(8)mnt:临时挂着目录,光驱或者新增硬盘可挂载在该目录

(9)opt:有些会把oracle安装在该目录

(10)proc:系统启动的一些进程

(11)root:root用户的家目录

(12)run:进程产生的临时文件,一重启就会消失的文件

(13)srv:默认为空,储存服务相关的文件

(14)sys:储存内核相关的文件,一般不会使用或修改该文件

(15)tmp:系统的临时文件

(16)usr:储存用户所建立或用户所使用的文件(会经常使用该目录)

(17)var:属于常用的文件/var/log,储存各类日志文件(会经常使用该目录)

 

二、ls命令

1、ls -l:把文件详细信息列出来,包括文件使用权限等

2、ls -i:记录文件储存于磁盘的哪一个区域,有对应的inode编号

3、ls -lh:人性化的将文件大小1326B显示为1.3K

4、ls -la:查看目录下所有隐藏的文件,文件前方带.表示隐藏文件(“.”当前目录,“..”当前目录的上一级目录)

5、ls-ld:显示文件夹信息,索引节点(index inode简称为“inode”)是Linux中一个特殊的概念,具有相同的索引节点号的两个文本本质上是同一个文件(除文件名不同外):该目录下有三个索引节点相同

6、ls -a:显示当前目录下包括隐藏文件在内的所有文件列表

7、ls -lta:修改最后一次编辑的文件,最近修改的文件显示在最上面

8、ll:ls -l的别名,功能相同。

 

三、文件的属性字段

文件属性字段总共有10个字母组成,第一个字符表示文件类型

字母“-”表示该文件是一个普通文件

字母“d”表示该文件是一个目录

字母“l”表示该文件是一个链接文件

字母“b" 表示该文件是块设备文件(block),一般置于/dev目录下,设备文件是普通文件和程序访问硬件设备的入口,一类特殊文件。

字母“c”表示该文件是一个字符设备文件(character)

字母“p”表示该文件为命令管道文件。与shell编程有关的文件。

字母“s”表示该文件为sock文件。与shell编程有关的文件。

第1字符的后面9个字母表示该文件或目录的权限位。其中前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限

r表是读 (Read) 、w表示写 (Write) 、x表示执行 (eXecute)

第2字段:文件硬链接数

如果一个文件不是目录,此时这一字段表示这个文件所具有的硬链接数

第3字段:文件(目录)拥有者

第4字段:文件(目录)拥有者所在的组

第5字段: 文件所占用的空间(以字节为单位)

第6字段:文件(目录)最近访问(修改)时间

第7字段:文件名

 

四、alias命令(涉及部分shell相关知识)

表示该命令是由命令加选项的组合形成的新的命令,原始命令的别名

alias luo=‘ls -lha’  ,运行luo这个命令时,实际上运行的是ls -lha命令,可以用unalisa luo来取消对该命令的别名建立。

1、Which用来查看一个文件所在路径的命令

 

五,相对和绝对路径

     所有文件都有其对应的路径,以根“/”开始的路径都是绝对路径;相对于当前目录查看该目录下的文件路径即为相对路径

pwd:查看当前文件所在目录位置(显示相对路径)

 

六、cd命令

由当前目录切换至cd命令后的目录

cd(cd~)进入当前用户的家目录

cd -进入用户上一次所在目录

cd ..进入当前目录下的上一级目录

 

七、创建和删除目录mkdir、 rmdir

1、mkdir创建目录

通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。并且,所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名,即同一个目录下不能有同名的(区分大小写)。

-m, --mode=模式,设定权限<模式> (类似 chmod)

-p, --parents  递归创建目录,可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;

-v, --verbose     每次创建新目录都显示信息

2、rmdir删除目录(目录中包含目录时不能删除)

例如:rmdir luo001

 

八、rm命令

删除文件或者非空目录

rm -f:不询问直接强制删除文件或目录

rm -rf:递归删除目录及目录中的文件(慎用)

 

九、环境变量PATH

1、关于PATH的作用:

PATH说简单点就是一个字符串变量,当输入命令的时候Linux会去查找PATH里面记录的路径。比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,但其实ls这个命令根本不在这个两个目录下,事实上当你输入命令的时候LINUX会去/bin,/usr/bin,/sbin等目录下面去找你此时输入的命令,而PATH的值恰恰就是/bin:/sbin:/usr/bin:……。其中的冒号使目录与目录之间隔开。

2、修改环境变量

方法一:PATH=$PATH:/tmp/

方法二:新建终端时tmp中命令不生效,可用命令:vi /etc/profile进去修改环境变量,末尾加PATH=$PATH:/tmp/,使每次开机都去加载tmp中的命令

 

十、cp命令

拷贝命令:cp+被拷贝文件名称+拷贝至的文件名称

拷贝目录时需要加r,即cp -r +被拷贝目录名称+目标目录名称

当目标目录已经存在时,拷贝会将源目录,直接放到目标目录下方去,如果目标目录不存在,会将源目录直接拷贝过来并改一个名字。

 

十一、mv命令

1、命令格式:

    mv [选项] 源文件或目录 目标文件或目录

2、命令功能:

视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

3、命令参数:

-b :若需覆盖文件,则覆盖前先行备份。

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

-u :若目标文件已经存在,且 source 比较新,才会更新(update)

-t  : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

4.命令实例:

实例一:文件改名

命令:mv test.log test1.txt

实例二:移动文件

命令:mv test1.txt test3

实例三:将文件log1.txt,log2.txt,log3.txt移动到目录test3中。

命令:

mv log1.txt log2.txt log3.txt test3

mv -t /opt/soft/test/test4/ log1.txt log2.txt  log3.txt

实例四:将文件file1改名为file2,如果file2已经存在,则询问是否覆盖

命令:mv -i log1.txt log2.txt

实例五:将文件file1改名为file2,即使file2存在,也是直接覆盖掉。

命令:mv -f log3.txt log2.txt

实例六:目录的移动

命令:mv dir1 dir2

 

十二、文档查看命令cat、more、less、head、tail

1、cat,显示文件中所有内容

2、more和less

(1)more命令

more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。

参数:

+n      从笫n行开始显示

-n       定义屏幕大小为n行

+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示 

-c       从顶部清屏,然后显示

-d       提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能

-l        忽略Ctrl+l(换页)字符

-p       通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似

-s       把连续的多个空行显示为一行

-u       把文件内容中的下画线去掉

Enter    向下n行,需要定义。默认为1行

Ctrl+F   向下滚动一屏

空格键  向下滚动一屏

Ctrl+B  返回上一屏

q       退出more

(2)less命令

less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

less+文件名称:空格往后翻页、ctrl+B翻页往前,支持方向键翻页、关键字高亮显示等功能。

3、head命令

查看文件头10行

head -n 2:查看文件开头开始的前两行

4、tail命令

查看文件尾10行

tail -n 2:查看文件末尾两行

十三、文件或目录权限chmod

第1字符的后面9个字母表示该文件或目录的权限位。其中前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限

r表是读 (Read) 、w表示写 (Write) 、x表示执行 (eXecute)

r=4 w=2 x=1   即rwx=7  rw-r—r--=644

第2字段:文件硬链接数

如果一个文件不是目录,此时这一字段表示这个文件所具有的硬链接数

第3字段:文件(目录)拥有者

第4字段:文件(目录)拥有者所在的组

第5字段: 文件所占用的空间(以字节为单位)

第6字段:文件(目录)最近访问(修改)时间

第7字段:文件名

例如:chmod 700 2.txt ,修改2.txt文件的所属者权限

-R,--recursive

可递归遍历子目录,把修改应到目录下所有文件和子目录

u=所属用户

g=所属组

o=其他用户

chmod a+x file     给所有用户增加file文件的执行权限

十四、更改所有者和所属组chown

chown luo 2.txt 修改2.txt文件的所属者为luo

chgrp luo file 修改file文件的所属组为luo

chown -R  luo:luo1  /tmp/luo  递归修改/tmp/luo目录下所属者名称为luo,所属组名称为luo1。

十五、umask

      在linux系统中,我们创建一个新的文件或者目录的时候,这些新的文件或目录都会有默认的访问权限,umask命令与文件和目录的默认访问权限有关。若用户创建一个文件,则文件的默认访问权限为 -rw-rw-rw- ,创建目录的默认权限 drwxrwxrwx ,而umask值则表明了需要从默认权限中去掉哪些权限来成为最终的默认权限值。

      可以看到umask值为0002,其中第一个0与特殊权限有关,可以暂时不用理会,后三位002则与普通权限(rwx)有关,其中002中第一个0与用户(user)权限有关,表示从用户权限减0,也就是权限不变,所以文件的创建者的权限是默认权限(rw),第二个0与组权限(group)有关,表示从组的权限减0,所以群组的权限也保持默认权限(rw),最后一位2则与系统中其他用户(others)的权限有关,由于w=2,所以需要从其他用户默认权限(rw)减去2,也就是去掉写(w)权限,则其他人的权限为rw - w = r,则创建文件的最终默认权限为  -rw-rw-r-- 。同理,目录的默认权限为 drwxrwxrwx ,则d rwx rwx rwx - 002 = (d rwx rwx rwx) - (- --- --- -w-) = d rwx rwx r-x,所以用户创建目录的默认访问权限为 drwxrwxr-x

 

 

 

转载于:https://my.oschina/u/4095803/blog/3023915

本文标签: 文件目录