linux 文件管理相关知识

  1. 切换当前文件目录

利用cd指令,后面加想进入的文件夹,可以多个,用/隔开

也可以用cd加绝对路径进到指定目录的文件夹中

cd还可以配合一些东西一起用

cd ~是切换到home下

cd / 是切换到根目录

cd ..是回退到上一级

cd -是回到上次的目录

  1. 创建文件夹

利用mkdir可以创建文件夹,无选项可直接在当前文件目录下创建文件夹,-p选项可以文件夹套文件夹

(1,2在实验报告二有详细说明,这边就不多写了)

  1. 删除文件夹

 

利用rmdir可以删除文件夹

rm用于删除文件

常用选项:
-f, --force 强制删除。忽略不存在的文件,不提示确认
-i 在删除前需要确认
-r, -R, --recursive 递归删除目录及其内容
-v, --verbose 详细显示进行的步骤
默认时,rm 不会删除目录。使用--recursive(-r 或-R)选项可删除每个给定的目录,以及其下所有的内容。

  1. 关于权限

Linux权限分三个部分:文件属于的用户、文件属于的用户组、其他用户

 r   读      4

 w   写      2

 x   运行    1

由此可见,上面rwxr-xrw- 对应的数字是756;

  1. 拷贝文件

cp指令可以拷贝文件到指定区域,如下截图,被拷贝的文件不会在原来的文件夹中丢失。若拷贝地点已经有了一个同名文件会提示是否覆盖,在Linux里,是输入y或yes,否输入n或no

 

cp 的选项有-p -f,
-p可以完整的把文件复制过来,小文件夹也会带过来

-f会强制覆盖,不管拷贝去的地点有没有该文件

  1. 移动文件

mv移动文件,和cp语法类似,但移动后源文件夹将不再存在改文件

 

  1. 查找文件

       Find和locate

 

 

locate语法

locate [-d ][--help][--version][范本样式...]

参数:

  • -b, --basename -- 仅匹配路径名的基本名称
  • -c, --count -- 只输出找到的数量
  • -d, --database DBPATH -- 使用 DBPATH 指定的数据库,而不是默认数据库 /var/lib/mlocate/mlocate.db
  • -e, --existing -- 仅打印当前现有文件的条目
  • -1 -- 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到 的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的 权限资料。
  • -0, --null -- 在输出上带有NUL的单独条目
  • -S, --statistics -- 不搜索条目,打印有关每个数据库的统计信息
  • -q -- 安静模式,不会显示任何错误讯息。
  • -P, --nofollow, -H -- 检查文件存在时不要遵循尾随的符号链接
  • -l, --limit, -n LIMIT -- 将输出(或计数)限制为LIMIT个条目
  • -n -- 至多显示 n个输出。
  • -m, --mmap -- 被忽略,为了向后兼容
  • -r, --regexp REGEXP -- 使用基本正则表达式
  • --regex -- 使用扩展正则表达式
  • -q, --quiet -- 安静模式,不会显示任何错误讯息
  • -s, --stdio -- 被忽略,为了向后兼容
  • -o -- 指定资料库存的名称。
  • -h, --help -- 显示帮助
  • -i, --ignore-case -- 忽略大小写
  • -V, --version -- 显示版本信息

find语法

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

参数说明 :

find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。

expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。

-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件

-amin n : 在过去 n 分钟内被读取过

-anewer file : 比文件 file 更晚被读取过的文件

-atime n : 在过去n天内被读取过的文件

-cmin n : 在过去 n 分钟内被修改过

-cnewer file :比文件 file 更新的文件

-ctime n : 在过去n天内被修改过的文件

-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name

-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写

-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写

-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。

-type c : 文件类型是 c 的文件。

d: 目录

c: 字型装置文件

b: 区块装置文件

p: 具名贮列

f: 一般文件

l: 符号连结

s: socket

-pid n : process id 是 n 的文件

你可以使用 ( ) 将运算式分隔,并使用下列运算。

exp1 -and exp2

! expr

-not expr

exp1 -or exp2

exp1, exp2

  1. 创建文件链接

 

用ln -s 创建一个软连接

可发现二者大小不同,但指向同一个东西,因为he是个软连接,类似于一个指针标识符指向hello.sh的位置

写入一定数据后,dd->dhf.sh大小不变,可见dd并不会改变大小,一个类似指针的文件,指向了dhf.sh

有软连接就有硬链接,他们的区别就是硬链接没有-s,ln后直接加要建立链接的文件

 

软连接和硬链接都可以执行sh文件,但二者大小不同,且当源文件hello.sh删除后,软连接会报错标红,因为他查询到的地址已经没有东西了,从而无法执行,而硬链接不会,这就好比浅拷贝和深拷贝的区别,一个是指向对方,另一个是复制一份出来后指向。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值