**
linux文件与目录管理
**
关于执行文件路径的变量:
环境变量$PATH(大写)的内容是由一堆目录组成,每个目录中间用冒号(:)来隔开,每个目录有顺序之分。
$PATH决定shell将到哪些目录中寻找命令或者程序,当你运行一个程序是,linux会在这些目录下进行搜寻、编译、链接。
自己可以加上指定路径,中间也要用冒号隔开;当环境变量更改后,在用户下次登录时会生效,如果想立即生效,则可以执行下面的语句:$source.bash_pofile
为了安全起见,不建议将“.”加入到查询目录中,因为工作目录时不固定的
,所以能够执行的命令会有变动,容易被人利用来做对系统有害的操作。
不同用户默认的PATH不同,默认能随意执行的命令也不同。
绝对路径:一定是从根目录/写起
相对路径:不是有由/写起
相对路径用起来比较方便,绝对路径正确度较好。
如果在写程序在管理系统时,务必使用绝对路径。
特殊目录:. , .. , - , ~ , ~account(某个用户的主目录)
一个文件记录的时间参数:
access time(atime):该文件被取用后更新该时间
status time(ctime):状态更改,像是权限与属性被更改后更新该时间
modification time(mtime):文件的内容数据修改后更新该时间
ls默认显示的是mtime。
在Ext2/Ext3文件系统中可以用chattr与lsattr设置和查看文件的隐藏属性。
+:增加,-:删除,=:仅有后面的参数
常见的有:
a:只能新增数据
i:完全不能更动文件(不能删除,改名,设置链接,也不能写入或者添加数据,只有root能够设置)
umask的作用:新建文件或者目录时,新文件的默认权限用umask来规范。默认目录完全权限为drwxrwxrwx,文件则为-rw-rw-rw-。
r:4,w:2,x:1
umask的分数指需要删掉的权限。022表示,user没有被拿掉任何权限,group和others被拿掉了2(即是w权限)。
特殊权限:
SUID(4):用户在执行此二进制程序,在执行过程中会暂时拥有*程序所有者的权限*(要有x权限)。
SGID(2):对二进制程序有用,也可以针对文件或者目录来设置,在执行过程中,将会获得该用户组的权限(文件:要有x权限,目录:要有r,x权限)。
SBIT(1):在该目录下创建的文件只有自己与root才能够删除。
在普通文件前添加参数。
e.g. chmod 4755 test (4代表该文件具有SUID权限)
查找文件的命令:
which或type:通过PATH变量来查找。
whereis或locate:到数据库文件查找,不实际查找文件系统(磁盘)。
find [PATH][option][action] 利用find加各种参数直接查询文件系统,来获得自己想要的文件名。
一般常用指令:
ls ,cp,rm,mv,cat,tac(反向显示),nl,more,less,tail,od(二进制读取)及后面所带的常用参数也要掌握。