linux的目录管理与文件

本文详细介绍了Linux系统中关于目录及文件的增删改查操作,包括pwd、cd、mkdir、rmdir、rm等命令的使用。同时,讨论了文件的属性、权限管理、文件查找、文件系统类型如Ext2、Ext3以及不同类型的文件,如正规文件、目录、连接档和设备档。此外,还涵盖了文件的属性操作如chown、chgrp和chmod,以及文件查找命令如find、locate和whereis。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、目录及文件的增删改查

pwd:打印当前所在目录

cd:进入到某一个目录。

                                  ./ 表示当前目录 

                                  ../ 表示进入上一级目录

                                  cd ~或者cd进入家目录

mkdir:创建一个目录

                                  -p 递归创建目录

                                  -m 指定目录的权限

rmdir:删除一个目录,不能删除不为空的目录

                                  -p 递归删除,即删除上一级目录

rm:删除一个目录或者文件

                                  -f 强制删除

                                  -i 用户删除文件或目录时,会进行提示

                                  -r 删除目录,可以删除不为空的目录

                                  -rf 删除文件和目录,切记不能跟‘/’

which:查找一个命令的绝对路径,只能查找path环境变量中出现的可执行文件

alias:设置指令别名  alias rm='rm -i'

绝对路径:路径由根目录‘/’开始写

相对路径:

当我们执行某个命令时,并没有写该命令的绝对路径,而是直接写该命令的名称,why? 因为设置了环境变量

echo $PATH :查看所有的环境变量

PATH="$PATH":/root :添加一个路径到环境变量

ls:查看某个文件或者目录

                                    -a 查看全部的文件或者目录包括隐藏文件和.  ..

                                    -A 查看全部的文件或者目录不包括  ..

                                    -l 查看文件的详细属性信息:大小、创建日期、属主、属组等

                                    -d 后面跟目录,只显示此目录,不显示目录下的文件

cp:复制文件   格式:cp [选项][源文件][目的文件]

                                    -d 如果复制软连接时,没有使用此选项,则将软连接的目标文件一起复制;否则只复制链接文件

                                    -r 复制目录

                                    -i 询问是否覆盖

mv:移动文件或者目录 格式mv[选项][源文件][目标文件]

                                    -i 当目标文件存在时,询问是否覆盖

                                    -几种情况:

                                                     (1)目标文件是目录且存在

                                                     (2)目标文件是目录且不存在

                                                     (3)目标文件是文件且存在

                                                     (4)目标文件是文件且不存在

cat:查看文件并显示在屏幕上

                                    -n 显示行号

                                    -A 显示特殊字符

tac:反向打印文件的内容到屏幕上

more:分屏显示文件的内容,空格键翻页,q退出,只可以下翻不能上翻

less:与more类似,但可以上翻和下翻

head:显示文件的前几行,默认10行

                                     -n 设置显示前几行

tail:显示文件的后几行,默认10行

                                     -n 设置显示后几行

2、文件的属性操作和查找

一个linux文件或者目录都会有一个所属组和所属主,属主即文件的拥有者,属组即文件的拥有者所属的组。作用:如果有一个文件file1,只能被user1和user2访问,那么可以为user1和user2创建一个组group1,那么user1和user2就可以都访问文件了

ls -l  或ll命令:查看文件的属性

             (1)文件类型:d目录;-文件;l链接文件;b块设备文件;c串口设备文件;s套接字文件

             (2)属主权限、属组权限、其他用户权限   r  w  x:读写执行

             (3)连接所占用的节点

             (4)属主是谁

             (5)属组是谁

             (6)创建或者修改时间

             (7)文件名,如有.表示为隐藏文件

chgrp:更改所属组  chgrp[组名][文件名]

chown:更改所属主   chown[属主名][文件名] 

            -R 值用作目录,不仅更改目录的属主,级联操作,目录下的文件的属主也要更改         

chmod:更改权限   chmod [-R][xyz][文件名];权限用数字代表如:rwr r-x --r :751 三个为一组

            -R级联更改

chmod

u

g

o

a

+(加入)

-(减去)

=(设定)

r

w

x

档案或者目录

unmask:默认情况下,目录权限和文件权限分别为:776、664 。这个值由unmask确定

语法:unmask xyz

含义:表示需要减掉权限。如:unmask 001    rwx rwx rwx-(--x)=rw-rw-rw-

chattr:修改文件的额特殊属性      chattr[+-=][权限][文件或目录]

                 A:不能修改文件的atime值

                 S:将数据同步写入磁盘中

                 a:只能追加不能删除,只有root用户才能修改

                 c:读取时自动解压

                 i:文件不能被删除、重命名、设定连接、写入、增加数据

lsattr:显示文件或目录的特殊属性

                -a 隐藏文件也列出

                -R 递归列出

查找文件:

locate 与whereis :通过预先生成的一个文件列表库,去查找文件的路径

stat:查看文件的详细信息

文件的三个时间:

          (1) access time,atime:在读取或者执行文件时更改

          (2)modified time,mtime:在写入文件随文件的内容的更改而改变

          (3)create time,ctime:在写入文件或者更改文件属性时(属组、属主、连接、权限、inode)改变

find :格式 find[路径][参数]

         -atime +n :访问或执行大于n天的文件

         -ctime +n:写入、更改属性大于n天的文件

         -mtime +n:写入时间大于n天的文件呢   

         -name:直接查找该文件名的文件

         -type:通过文件类型查找

3、文件系统

搞计算机的应该都知道windows的系统格式化硬盘时会指定格式,fat 或者 ntfs。linux的文件系统格式为Ext2,或者Ext3 。早期的linux使用Ext2格式,目前的linux都使用了Ext3。 Ext2文件系统虽然是高效稳定的但是,随着Linux系统在关键业务中的应用,Linux文件系统的弱点也渐渐显露出来了,因为Ext2文件系统是非日志文件系统这在关键行业的应用是一个致命的弱点。Ext3文件系统是直接从Ext2文件系统发展而来,Ext3文件系统带有日志功能,可以跟踪记录文件系统的变化,并将变化内容写入日志,写操作首先是对日志记录文件进行操作,若整个写操作由于某种原因 (如系统掉电) 而中断,系统重启时,会根据日志记录来恢复中断前的写操作,而且这个过程费时极短目前Ext3文件系统已经非常稳定可靠它完全兼容Ext2文件系统用户可以平滑地过渡到一个日志功能健全的文件系统中来这实际上了也是ext3日志文件系统初始设计的初衷

Linux文件系统在windows中是不能识别的,但是在linux系统中你可以挂载的windows的文件系统,linux目前支持MS-DOSVFATFATBSD等格式如果你使用的是Redhat或者CentOS,那么你不要妄图挂载NFS格式的文件到linux下,因为它不支持NFS。虽然有些版本的linux支持NFS,但不建议使用,因为目前的技术还不成熟

Ext3文件系统为Redhat/CentOS默认使用的文件系统,除了Ext3文件系统外,有些linux发行版例如SuSE默认的文件系统为reiserFS Ext3 独特的优点就是易于转换,很容易在 Ext2 Ext3 之间相互转换,而具有良好的兼容性,其它优点 ReiserFS 都有,而且还比它做得更好如高效的磁盘空间利用和独特的搜寻方式都是Ext3 所不具备的,速度上它也不能和 ReiserFS相媲美,在实际使用过程中,reiserFS 也更加安全高效,据说反删除功能也不错

ReiserFS 的优势在于,它是基于 B*Tree 快速平衡树这种高效算法的文件系统,例如在处理小于 1k 的文件比 Ext3 10 再一个就是 ReiserFS 空间浪费较少,它不会对一些小文件分配 inode,而是打包存放在同一个磁盘块 () 中,Ext2/Ext3 是把它们单独存放在不同的簇上,如簇大小为 4k,那么 2 100 字节的文件会占用 2 个簇,ReiserFS 则只占用一个当然 ReiserFS 也有缺点,就是每升级一个版本,都要将磁盘重新格式化一次

【linux文件类型

在前面的内容中简单介绍了普通文件(-),目录(d)等,在linux文件系统中,主要有以下几种类型的文件

1)正规文件(regular file):就是一般类型的文件,当用ls –l 查看某个目录时,第一个属性为”-“的文件就是正规文件,或者叫普通文件正规文件又可分成纯文字文件(ascii)和二进制文件(binary纯文本文件是可以通过cat, more, less等工具直接查看内容的,而二进制文件并不能例如我们用的命令/bin/ls 这就是一个二进制文件

2)目录(directory):这个很容易理解,就是目录,跟windows下的文件夹一个意思,只不过在linux中我们不叫文件夹,而是叫做目录。ls –l 查看第一个属性为”d”。

3)连接档(link):ls –l 查看第一个属性为 “l”,类似windows下的快捷方式这种文件在linux中很常见,而且笔者在日常的系统运维工作中用的很多,所以你要特意留意一下这种类型的文件在后续章节笔者会介绍

4)设备档(device):与系统周边相关的一些档案,通常都集中在 /dev 这个目录之下!通常又分为两种:区块 (block) 设备档 :就是一些储存数据,以提供系统存取的接口设备,简单的说就是硬盘啦!例如你的一号硬盘的代码是 /dev/hda1 等等的档案啦!第一个属性为 “ b “;字符 (character) 设备档 :亦即是一些串行端口的接口设备,例如键盘鼠标等等!第一个属性为 “ c “。

* linux 文件后缀名

对于后缀名这个概念,相信你不陌生吧linux系统中,文件的后缀名并没有具体意义,也就是说,你加或者不加,都无所谓但是为了容易区分,linux爱好者们都习惯给文件加一个后缀名,这样当用户看到这个文件名时就会很快想到它到底是一个什么文件例如1.sh, 2.tar.gz, my.cnf, test.zip等等,如果你首次接触这些文件,你也许会感到很晕,没有关系,随着学习的深入,你就会逐渐的了解这些文件了笔者所列举的几个文件名中1.sh代表它是一个shell script 2.tar.gz 代表它是一个压缩包,my.cnf 代表它是一个配置文件,test.zip 代表它是一个压缩文件

另外需要你知道的是,早期Unix系统文件名最多允许14个字符,而新的Unix或者linux系统中,文件名最长可以到达 256 个字符!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值