您的位置:首页 > 运维架构 > Linux

Linux文件和目录管理

2016-01-21 13:46 363 查看
1.绝对路径和相对路径
绝对路径:路径的写法是由根目录“/” 引起的
相对路径:路径的写法不是由根目录“/”引起的

命令
cd:其后什么都不跟,直接进入根目录;其后跟目录名,则会直接切换到指定目录下
cd - :进入到上一次目录
pwd:打印现在所在路径
.:当前目录
..:上一级目录

mkdir【-p】:创建目录【-p创建目录的上一级目录不存在时不会报错,创建的当前目录存在时也不会报错】
rmdir:删除空目录,只能删除一级(rm 既可以删除目录又可以删除文件)
rm:【-r】 表示删除前会询问是否删除,y or n,自动一层一层往外删,但每次都会询问
rm:[-f] 强制删除
rm本身代表删除的是文件,只有加上 -r 才可以删除目录
常用 :rm -rf

2.环境变量PATH
which:用于查找某个命令的绝对路径
alias:设置命令或文件的别名
echo:表示输出
mv:用于移动目录或文件,还具有重命名的作用; mv /bin/ls /root/ (前者为移动目标,后者为目的地——将ls 移动到 root的下一级目录下):当目标文件不存在时,就会把源文件(目录)重命名为目标名(包括路径);当目标文件存在时,就会问是否覆盖,当目标目录存在时,则会把源文件或目录移动到该目录中。可以用作文件或者目录改名

在PATH 中加入值:PATH = $PATH:/root
之所以不用使用命令的绝对路径是因为环境变量的作用

cp(copy):cp【选项】【来源文件】【目的文件】

选项:
-r:复制一个目录
-i:安全选项,会询问

touch:如果有这个文件,就改变文件的访问时间,如果没有,则创建这个文件
echo '' content'' > 123:把content写入到文件123 中;>>是追加在末尾
cat:用于读一个文件,并把独处的内容打印到当前屏幕

3.几个与文档相关的命令
cat:查看一个文件的内容并显示在屏幕上,
选项:①-n:行号也显示在屏幕上
②-A:显示所有内容,包括特殊字符(每行最后的$付)
tac:和cat一样,只是先显示最后一行,依次向上
more:解决一屏不能显示全部的内容的问题,按空格键可以继续看下一屏,q退出
less:可以实现上翻、下翻,j —下移,k-上移
more 和 less :/查找字符,n 指下一个
head 【-n a】显示前 a 行,如果没有其选项,则显示前10行
tail:显示后十行,【-na】显示后a行;【-f】动态的显示后十行(指查看内容在不断变化的情况)

4.文件的所属主和所属组

5.Linux文件属性
当用 ls -l查看目录文件时
第一列:包含文件的类型、所属主、所属组以及其他用户对该文件的权限(第一列共11位,有的是10位,没有最后一位)
第一位:描述文件的类型
①d:目录
②-:普通文件
③l:表示链接文件
④b:表示文件为块设备
⑤c:串行端口设备文件(字符设备文件),如键盘、鼠标
⑥s:套接字文件,用于进程之间的通信
其后9位:前3位为所属主(user)的权限,中间3位为所属组(group)的权限,最后3位为其他非本群组用户的权限,r:可读;w:可写;x:可执行。对于一个目录来讲,打开一个目录就代表执行这个目录,只有有x权限才可以打开

第二列: 表示链接占用的节点,如果是目录,那这个数值与该目录下是子目录数量有关
第三列:文件所属主
第四列:文件的所属组
第五列:文件的大小
第678列:文件最后一次呗修改的时间,一次为月份、日期以及时间
第九列:文件名

6.更改文件的权限
groupadd:增加一个用户组

chgrp【组名】【文件名/目录名】:更改文件或目录的所属组,在给目录更改所属组时,要加上【-R】选项才可以级联更改子目录及子文件
useradd:创建一个用户
chown【-R】账户名 文件名 或者 chown 【-R】账户名:组名 文件名:更改文件的所属主,-R只适用于更改目录的所属主
权限数值:r = 4 ; w = 2; x =1
chmod:更改文件的权限 chmod 【-R】数值 文件名;一个目录的默认权限是755,一个文件的权限是644
也可以chmod u = rwx,og = rx file,u :user;g = group;o = other ;a = all,也可以用加减:u-x,o+w...
umask:更改默认权限,用umask umask xxx(3个数字)
规则:用户建立为普通文件,权限最大值为666
用户建立为目录,最大为777
计算:对应权限减去umask数值对应的权限,不可数值相减,因为有时前者并未有的权限则不需要减,如果减了则计算权限值出错
修改文件特殊属性:
chattr:chattr【+-=】【Asaci】[文件名或目录名]
+:增加;- : 减少;=:设定
A:增加该属性后,表示文件或目录的atime将不可被修改
s:增加该属性后,会将数据同步写入磁盘中
a:表示只能追加不能删除,非root用户不能设定该属性。给目录增加此权限时,只能在里面创建文件,而不能删除文件。给文件增加此权限时,只能追加内容<<, 而不能写入<内容
c:表示自动压缩该文件,读取时 自动解压
i表示文件不能被删除、重命名、设定链接、写入以及新增数据。如果给一个目录增加了此属性,则不可以在此目录下新建、删除文件
lsattr:读取文件或目录的特殊权限
选项【-a】:包含隐藏文件 【-R】连同子目录的数据一同列出

7.在Linux下搜索文件
which:只能用来查找PATH环境变量中出现的路径下的可执行文件
whereis【-bmsu】【文件名称】:类似于模糊查找,只要包含需要查找的名称则会显示出来 。选项: -b:只查找binary文件;-m只查找说明文件manual路径下的文件;-s:只查找source来源文件;-u:朝赵没有说明文档的文件
locate--不常用,与whereis相似,但不管是目录名还是文件名,都会搜索出来,所以不适合精准搜索
find【路径】【参数】:
参数:-atime +n/-n:表示访问执行时间大于或小于n天的文件 Access time
-ctime +n/-n:表示写入、更改inode属性(如更改所有者、权限或者链接)时间大于或小于n天的文件 create time
-mtime +n/-n:表示写入时间大于或小于n天的文件 modified time;岁文件内容改变而改变
mtime是针对文件内容的改变而改变,createtime是针对文件内容、所有者、权限或链接设置时随iNode内容的改变而改变(inode:结构体);所以,文件的ctime改变 Mtime未必改变
df -i :查看各个分区的iNode总数以及使用情况
stat [文件路径]:查看文件的atime、ctime ,Mtime,这三个time属性值都放在了inode中,若mtime、atime被修改,那么inode一定会改,既然inodegaile,那么ctime也跟着要改了
选项:
-name 文件名:表示直接查找该文件名的文件
-type 类型(fbcdls):通过文件类型查找文件

8.Linux文件系统的简介
ext2:高效稳定,但不是日志文件系统
ext3:带有日志功能,可以跟踪记录文件系统的变化,并将变化内容写入日志
ext4:支持最大文件系统容量和单个最大 文件大小
Linux文件系统在Windows中是不能识别的,但在Linux系统中可以挂载Windows文件系统

9.Linux文件类型
文件类型:
-:一般类型的文件,如:纯文本二建和二进制文件;纯文本文件可以通过cat、more、less等工具直接查看内容,而二进制人间不能
d:目录,相当于Windows下的文件夹
l:link链接文件,类似于Windows下的快捷方式
设备(device):块设备b(block):存储数据,一提供系统存取的接口设备,简称硬盘;字符设备c(character),如键盘、鼠标
文件后缀名:
在Linux系统中,文件的后缀名没有具体意义,加不加无所谓,只是为了便于区分。在新的Linux系统中,文件名最长可达256个字符
Linux链接文件:当系统要读一个文件时,就会先读inode table,然后根据inode中的信息到块区域将数据取出来
硬链接(hard links): 直接再建立一个inode链接到文件放置的块区域,即进行硬链接时该文件内容没有任何变化,只是增加了一个指向这个文件的inode。删除源文件后文件大小不变,说明只是复制了一个inode信息。 限制:不能跨文件系统,因为不同的文件系统有不同的inode table ;不能链接目录
软链接(symbolic links):建立一个独立的文件,当读到这个链接文件时,它会把读取行为转发到该文件所链接的文件上。当删除链接文件时,源文件不会受到影响。当删除源文件时,链接文件无法打开
硬链接比较安全,但是限制太多,所以软连接使用方向更广

ln【-s】【来源文件】【目的文件】:加上-s就是软链接,不加就是硬链接;

-P:mkdir 上一级目录存在时,不提示错误
-r:代表目录 rm、cp
-R:代表子目录级联 chown,chgrp,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: