=============Linux文件系统目录=============

/:根目录。

/binbinbinary的缩写,此目录存放的是常用的命令,不能关联至独立分区,OS启动时会用到的程序。

/sbin存放系统管理员使用的管理类的基本命令,不能关联至独立分区,OS启动时会用到的程序。

/boot该目录存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。引导文件、内核文件(vmlinuz)、引导加载器(BootLoadergrub)都在此目录。

/devdevdevice的缩写,设备文件及特殊文件存储位置。在Linux中,访问设备的方式和访问文件的方式相同。

/etc配置文件目录(纯文本文件)。

/home普通用户家目录。

/root管理员的家目录

/lib基本共享库文件,以及内核模块文件(/lib/modules)。

/lib64专用于x86_64系统上的辅助共享库文件存放位置。

/media便携式移动设备挂载点,如光驱、U盘等,可以挂载到此目录。

/mnt临时文件系统挂载点

/opt第三方应用程序的安装位置

/proc用于输出内核与进程信息相关的虚拟文件系统,该目录的内容在内存里。

/run/var/run目录一样,存放的是一些服务的pid

/srv系统上运行的服务用到的数据。

/sys存放的是与硬件驱动程序相关的信息。

/tmp临时文件存放目录

/usr类似于WindowsProgram Files目录

/usr/bin系统用户使用的应用程序

/usr/sbin管理员使用的比较高级的管理程序和系统守护程序。

/usr/src内核源代码存放的位置

/var存放的是不断扩充且经常修改的目录,包括日志文件或pid文件。


相对路径和绝对路径

相对路径:当前目录的路径

绝对路径:访问文件或目录均从根目录开始

=============常用命令介绍=============

1ls命令。list的缩写,语法:ls  [选项]  [文件或目录]

常用选项:-a:显示所有文件,包括隐藏的文件

-l:长格式,显示详细信息

-d:查看目录熟悉

-hhuman,以人类识别的方式显示

-i:显示inode

-t:按修改时间排序

-Z:显示文件或目录的安全上下文标签

ls外,还有ll命令

blob.png

blob.png

2、文件类型。

blob.png

使用ls -l 文件,可以查看文件的全部信息。其中第一段-:-rwxr-xr-x中的第1个字符表示文件类型。常见的文件类型有:

:普通文件

d:目录

b:块设备文件(block

c:字符设备文件(character

l:符号连接文件(Symbolic link file

p:命令管道(pipe

s:套接字文件(socket

3alias命令

设置命令别名。系统默认的命名:

blob.png

自定义一个别名:语法:alias  自定义的命令名字='命令'

[root@myblog ~]#alias haha='ls -l'

blob.png

删除别名:unalias  名字,比如上面自定义了haha这个命令,可以使用unalias haha删除。

blob.png

4cd命令

cdchange directory,切换目录。用法:cd  目录

cd:回到当前用户的家目录

cd –:回到上一所在的目录

cd ~:回到当前用户的家目录

cd ..:回到当前目录的上一级目录

cd的其他用法,可以参考man  cd

5、创建和删除目录命令

mkdir:创建目录。

mkdir 目录名 -pv

blob.png

rmdir:删除目录,只能删除空目录。

rm:可以删除目录、文件。

rm -rf

-f:删除时不提示,强制删除,-r:递归删除目录。

6、环境变量PATH

查看系统环境变量:echo  $PATH

blob.png

可以在/etc/profile中添加自定义的环境变量,此文件为全局配置,对所有用户均生效。比如:设置jdk的环境变量

blob.png

profile类的文件:

1、设置环境变量

2、运行命令或脚本

bashrc类的文件:

1、设定本地变量

2、定义命令别名

blob.png

7cp命令

cpcopy,复制。语法:cp  [选项] [源文件] [目标文件]

常用选项:

-r:递归复制,用于复制目录

-p:保留文件属性

-a:归档复制,常用于备份

8mv命令,移动命令。语法:mv [选项]  [源文件或目录]  [目标文件或目录]。有4种情况:

目标文件是目录,但该目录不存在

目标文件是目录,但该目录存在

目标文件是文件,但该文件不存在

目标文件是文件,但该文件存在

9、文档查看命令:cattacheadtail

·cat 文件:全部文件内容显示在屏幕上。

-n:显示行号

-A:显示所有内容,包括特殊符号。

·tac:跟cat差不多,只是从最后一行往前显示。

·more:文件内容过多时,一屏一屏的显示,而不是全部一次显示。按空格键,显示下一屏;Ctrl+D向上翻屏,Ctrl+F向下翻屏(跟空格键),按q则退出。

·less:跟more差不多。按空格键翻页,按j键向下移动一行,按k键向上移动。使用/word,回车,可以查找word字符串,继续按n键就显示下一个word。使用?word跟使用/一样,只是?向前搜索,/向后搜索。

·head:显示文件前10行。-n 数字:显示文件前“数字”行。n可以省略。

head -n 50 文件名:显示文件前50

head  -100 文件名:显示文件前100行。

·tail:查看文件最后10行。

tail  -n 数字 文件名

tail -f 文件名:动态查看文件。

=============文件属主属组和权限=============

1、文件属主属组:使用ll文件可以显示文件的详细属性,如下图


blob.png

·文件权限:用9个符号表示,每3个符号为一组。

读:r ,写:w,可执行:x,没有什么权限:。前3位表示属主的权限,4-6位表示属组权限,7-9位表示除属主属组之外其他人的权限。

可读也可以用4表示,可写用2表示,可执行用1表示。

用一个3个二进制位表示属主、属组、其他人权限。

000  –>  没有权限(0

001  –>  可执行权限(1x

010  –>  可写权限(2w

011  –> 可写可执行权限(3wx

100  –>  可读权限(4r

101  –>  可读可执行权限(5rx

110  –>  可读可写权限(6rw

111  –>  可读可写可执行权限(7rwx

这就是权限的全部组合。

·umask:遮罩码,默认是0022

blob.png

目录的默认权限为777,文件的默认权限为666

目录的实际权限:777-umask

文件的实际权限:777-umask

注意:如果计算结果文件权限结果有可执行权限,则结果加011

设置umask 0033

创建一个文件,touch  haha

那么此文件的权限为:666-033=633,但文件默认情况是没有执行权限的,结果是644633+011=644

blob.png

文件隐藏权限:

设置隐藏权限:chattr  [+|-选项]  文件|目录

选项:

i:无法修改文件,如果目录设置了此权限,则仅能修改其目录中的文件,而不能创建或删除文件。

a:只能追加内容,无法覆盖或删除内容

S:文件内容在变更后立即同步到硬盘

s:彻底从硬盘中删除,不可恢复

A:不再修改文件或目录的atime

b:不再修改文件或目录的存储时间

D:检查压缩文件中的错误

d:使用dump命令备份时忽略本文件或目录

c:默认对文件或目录进行压缩

u:删除文件后依然保留其在磁盘中的数据,方便日后恢复

t:让文件系统支持尾部合并

X:可以直接访问压缩文件中的内容

查看文件或目录隐藏权限:lsattr  文件或目录

文件访问控制列表:

setfacl:设置文件ACL规则,语法:setfacl  [选项文件|目录

选项:

-R:递归设置

-m:针对普通文件

blob.png

删除ACLsetfacl -b 文件|目录

blob.png

查看ACLgetfacl  文件|目录

blob.png

文件特殊权限SUIDSGIDSBIT

·SUID:让二进制程序的执行者临时拥有属主的权限(仅对有执行权限的二进制程序有效)。

SUIDs表示,也可以用4表示。原文件有x权限时,添加SUID后,x变为s,如果原文件没有x权限,添加后用S表示。

·SGID:让二进制程序的执行者临时拥有属组的权限(仅对有执行权限的二进制程序有效)。某个目录中创建的文件自动继承该目录的用户组。

SUIDs表示,也可以用2表示。

·SBIT:粘滞位。目录中的文件只能被其所有者可以删除,其他人不能删除,用t1表示。如果原文件有x权限,设置后为t,如果原文件没有x权限,设置后为T。

设置SUID

blob.png

test.txt文件没有x权限,设置SUID后属主权限为rwS

blob.png

设置SGID

blob.png

设置SBIT

blob.png

用数字表示权限,设置演示:

[root@localhost ~]# touch test2

[root@localhost ~]# chmod 4777 test2

1个数字:表示特殊权限

2个数字:属主权限

3个数字:属组权限

4个数字:其他人权限

blob.png

blob.png

上图,文件权限后面有.+两种。

.:表示没有设置ACL

+:表示已经设置ACL

软连接:类似于windowns的快捷方式,原文件删除后,连接文件打不开。做软连接尽量用绝对路径。

ln  [选项原文件  目标文件

选项:

-s:创建软连接(默认是创建硬链接)

-f:强制创建

-i:覆盖前询问

-v:显示创建过程

硬链接:两个文件的inode是一样的。删除原文件不会影响连接文件。不支持对目录做硬链接。

blob.png

blob.png

find命令:查找命令

find [选项] [查找路径] [查找条件] [处理动作]

查找路径:指定具体路径,默认为当前目录

查找条件:可以根据文件名、文件大小、类型、权限等进行查找,默认为找出指定路径下的所以文件

处理动作:对符合条件的文件做什么操作,默认为输出到屏幕。

查找条件:

1、根据文件名查找

-name 文件名

-iname  文件名:不区分大小写

-regex "模式"

2、根据属主属组查找

-user 用户名

-group  组名

-uid  UID

-gid  GID

-nouser:无属主

-nogroup:无属组

3、根据文件类型查找:-type 类型

f:普通文件,b:块设备,p:管道,d:目录,s:套接字文件

l:符号链接,c:字符设备

4、根据文件大小查找:-size [+ | – | ] 数字单位

数字前无符号,表示(数字-1,数字],如:

-size 3k:表示大于2k,小于等于3k

-size -3k:表示[0k,2k],大于等于0k,小于等于2k

-size +3k:表示(3,),大于3K

5、根据时间戳查找:

天:-atime-mtime-ctime

分钟:-amin-mmin-cmin

例如,3天:

-33天之内,也就是[03

3[34),34天,包括3天,但不包括4

+33天之前,也就是[4,无穷大)

6、根据权限查找:-perm [/|-] 权限

/权限:任何一类(ugo)对象的权限中只要有一位匹配即可。

权限:每一类对象必须同时拥有指定的权限才匹配。

处理动作:

-print:默认处理动作,显示至屏幕。

-ls:类似ls -l

-delete:删除找到的文件

-fls 文件名:查找到的所有文件的长格式信息保存到文件中

-ok 命令 {} \;  :对查找到的文件执行指定的命令,执行命令前提示用户。

-exec 命令 {} \;  :对查找到的文件执行指定的命令,执行命令前不提示用户。

注意:find传递找到的文件至后面的指定的命令时,查找到所有符合条件的文件一次性传递给后面的命令。

有些命令不能接收过多的参数,可以使用:find  | xargs  命令

例1:查找/etc/目录下所有用户都没有写权限的的文件。

blob.png

2查找/etc/目录下,最近一周内修改过,且不属于root用户的所有文件和目录

blob.png

3查找/etc/目录中至少有一类用户没有执行权限的文件。

blob.png

·Linuxwindows互传文件:安装lrzsz包,使用lzsz命令即可。

yum install lrzsz -y

分类: Linux基础

发表评论

电子邮件地址不会被公开。 必填项已用*标注