使用linux的shell 命令来操作linux的文件
1.linux的文件系统是一个单根目录结构
根目录 表示为一个反斜杠 /
和win的区别: 只有单根
2.家目录:
/root ==> 根用户的家目录
/home/username ==> 普通用户的家目录
3.当前工作目录
绝对路径 /
相对路径 从当前工作目录开始
获取当前工作目录
使用命令 pwd
pwd: print current working directory

/home/liyang/testfiledirectory 绝对路径
~/testdirectory 绝对路径
其中的波浪号~代表的就是/home/liyang
testdirectory 相对路径
Linux的根目录下的文件
/bin 存放的是一些可执行程序
/etc 存放的是一些配置文件信息
/proc 存放的是一些进程文件
/home 普通用户的家目录的上级目录
如何改变当前工作目录
使用cd命令
cd : change current working directory
回到上一级目录 : cd ..
回到上一次cd的结果: cd -
相当于cd OLDPWD 原理就是 根据env环境变量的OLDPWD切换文件路径
创建一个空目录&删除一个目录
mkdir dirname
rmdir filename
需要注意的是,不能删除非空目录

显示目录下面的所有文件
使用命令ls
ls可以显示当前目录下的所有文件

显示 根目录下的所有文件 ls /

使用ls命令时,默认不显示 .开头的文件(隐藏文件)

若要显示隐藏文件,需要加参数-a
ls -a

其中.代表当前目录 ..代表上一级目录

ls -l 显示详细目录文件信息

其中显示的时间是最后修改时间,4096一列显示的是文件大小
最开始的字符部分表示文件类型
d开头代表的是目录
-开头的代表的是文件
c开头的代表的是字符设备文件
b开头的代表的是块设备文件
l开头的代表的是软链接(存储的是是另一个文件的路径,类似于windows的快捷方式)
软链接的大小由路径的长度决定

文件标识符后的九位标识符
第一个rwx代表的是文件所有者的权限
r read 读
w write 写
x 执行
第二个rwx代表的是文件所有组的组内成员的权限
第三个rwx代表的是其他用户的权限

目录的存储原理
删除文件回修改目录的内容 所以和写权限有关
添加文件也是一样
链接的存储原理
权限标志位后的数字表示的是硬链接的数量
在硬盘中,不同的文件对应同一片硬盘区域,例如有2个文件共享同一片硬盘区域,则硬链接数量就是2.
故而,如果修改其中的一个文件,其他文件所占用的磁盘空间区域也会发生改变。
若新创建一个目录,其硬链接数默认为2.
例如新建一个newdir目录,则实际上newdir和newdir/.是共享同一片磁盘区域的
文件系统是通过硬链接联系在一起的。
在一个目录下创建子目录,是会增加该目录的硬链接数量的。
引用计数:
硬链接数从1->0时,要回收磁盘空间。
普通文件也是有硬链接数,普通文件的硬链接数至少为1。
ls的其他参数
ls -l
ls -lh humanreadable 增加文件大小单位表示
帮助手册
man XXX
查看某命令的具体解释说明
例如 man ls

q 退出
h 查阅操作快捷键
b 向前
f 向后
/查找内容
删除文件与目录的写权限有关。
文件的拷贝
cp - copy files and directories
cp file1 file2
将file1的内容拷贝到file2

如果目标是一个文件 ,则直接拷贝生成对应的文件。
如果目标文件已存在,则直接覆盖已有的文件。
如果目标是一个目录,则拷贝源文件到目标目录下。

ubuntu在进行文件复制操作时默认不会提示
如果需要有提示(同名文件覆盖),则需要添加-i参数
cp -i file1 file2

拷贝命令的一些参数
-r参数
copy directories recursively 递归地进行拷贝
拷贝目录和目录下的所有文件(按照树的结构进行)
tree 命令 可以按照树的的结构显示文件
安装命令:sudo apt install tree

拷贝的原理
src --读取--> dst


在进行文件拷贝操作时,是需要有对源文件的读权限的。

拥有src的读权限,dst的写权限,才可将源文件顺利复制。
剪切
mv - move (remove) files
$ mv file1 file5 重命名 (但如果目标文件已存在,则会覆盖原有的文件)

$ mv file1 dir2

将目录剪切到目录下 (并不需要添加-r递归参数)

目录存储的是对应文件的地址
剪切操作的-i和-f参数和cp是一样的,并不需要-r参数。
删除操作
rm -remove files or directories

rm命令在不添加参数的情况下不能删除文件夹。
若要删除文件夹及 目录下的所有文件,需要添加-r参数。
-r 递归删除
-f 强制删除
-i 删除时有提示
注意:禁止在roo权限下,使用rm -rf命令
删库跑路 rm -rf /*
chmod 修改权限
所有者 r w x
所有者所在组 r w x
其他用户 r w x
rw-rw-r--
chmod文字设定法
chmod - change file mode bits
$chmod [who] [+|-|=] [perm]
u 所有者 + 增加 r
g 组 - 删除 w
o 其他 = 权限设置为 x
a 所有
rwxrwxr-x ==设置为==> --x-w-r--
则命令为:
chmod u=x filename
chmod g=w filename
chmod o=r filename
也可以组合操作:
chmod ug+r filename
chmod go+x filename
或者一步到位直接设定
chmod u=x,g=w,o=r filename
chmod数字设定法
把权限视为3位8进制
r w x
高 中 低 3位
对应4 2 1
例如:
rwx rwx r_x 数字表示即为775
r_x r__ r__ 数字表示即为544
故而 rwx rwx r_x ====> --x -w- r--
使用数字表示法即为chmod 124 filename
文件创建的掩码

掩码 002 写权限
修改掩码 umask 0
0000
每次新建文件时,权限要受到掩码的影响
文件的查找
find命令
find -search for files in a directory hierachy
$ find 起始目录 查找表达式
使用find命令时,至少要有该目录的读权限
按名字进行查找
-name

Linux采用了索引,搜索速度更快.
按索引查找,以空间换时间
通配符
用特殊字符来取代文件名中的部分字符
*星号字符可以匹配任意多个字符

?问号可以匹配任一字符

添加方括号[]表示匹配任一范围内的字符



按照其他条件进行查找
按用户进行查找
-user
find . -user test
按组进行查找
-group
按用户id进行查找
-uid
按用户组id进行查找
-gid
按权限进行查找
-perm
例如:
find . -perm 775
find . -perm 664
按大小查找:
-size
默认以字节为文件大小的单位
查找空目录或者空文件
find . -empty

和find . -size 0的区别在于:
-empty会显示空目录 , 空目录的大小为4k
按时间进行查找
天 分钟
atime amin 访问
ctime cmin 状态修改
mtime mmin 内容修改
查找修改时间超过20分钟的文件
find . -mmin +20

查找修改时间小于15分钟的文件
find . -mmin -15

查找结果的与或非
-a 与
-o 或
! 非
或:

与:

非:
find . ! -mmin -30


本文详细介绍了Linux文件系统的单根目录结构,包括根目录、家目录和当前工作目录的概念。讲解了如何使用pwd、ls、cd、mkdir、rmdir等命令进行目录操作,以及如何查看和更改文件权限。此外,还探讨了文件的硬链接和软链接,以及find命令的使用方法,包括按名称、用户、权限、大小和时间进行查找。最后,提到了文件的拷贝、移动和删除操作,以及umask和chmod在文件权限管理中的作用。
6325

被折叠的 条评论
为什么被折叠?



