php mkdir 软链,基础命令:文件&目管理工具:touch & mkdir & cp & mv & rm & tree & 软硬链接(0518032220)...

touch 创建新文件

touch  + [OPTION] + FILE   若文件不存在,则创建一个空文件

touch test{1..6}

若文件存在,则更新三个时间戳

-a 更新atime和ctime 两个时间戳

-m 更新mtime和ctime  两个时间戳

-c 若文件存在,则更新三个时间戳,若不在,不会创建新文件,无作为。

mkdir 创建目录

-p 可以同时创建多级目录

mkdir -p dir2/dir{11..13} #创建目录dir2及下级目录dir11,dir12,dir13

-v 在创建目录时显示详细信息

-m xxx  创建同时指定权限

mkdir -m 777 dir3

手工创建家目录

mkdir /home/lisi1

cp -r /etc/skel/.[^.]* /home/lisi1

chown -R lisi1.lisi1 /home/lisi1

chmod -R 700 /home/lisi1

tree : 显示目录树

-d: 只显示目录

tree -d #显示当前目录下各子目录的结构,不显示文件

-L level:指定显示的层级数目(可与d组合使用)

tree -L 1

-P pattern: 只显示由指定pattern匹配到的路径

tree -p dir* #显示名称含有dir的目录

cp 复制文件

cp + [OPTION] + 源文件/目录 + 目标文件/目录

当源是一个文件时; 当目标文件不存时,则新建文件,并填充内容

当目标文件存在,且为一个文件时,则覆盖该文件

且为一个目录时,则将该文件放置入该目录

当源是多个文件时;当目标文件不存时,报错

当目标文件存在,且为一个文件时,报错

且为一个目录时,则将所有源目文件放置入该目录

当源是一个目录时, 要配合-r;

当目标不存在时,则创建指定名称的目录,并将源目录当中的文件复制到新目录当中

当目标文件存在,且为一个文件时,报错

且为一个目录时,则两个目录内容合并,如有同名文件,则源目录下的文件覆盖目标目录的文件。

-i 覆盖时交互式提示

-r 递归,可以复制目录

cp -r dir1 dir3/    #目录dir3已存在,目录dir1会复制到目录dir3下

-d 默认不加-d时,cp复制软链接会将源复制过去,加上-d保留链接属性,把软链接复制过去

ln -s file1 file2 #建立软链接 file2 -> file1

cp file2 file3 #file3直接复制原文件file1,file3

cp -d file2 file4 #file4将复制链接文件file2,file4 -> file1。此时不可夸目录复制,除非将源文件一起复制,因为未复制源文件,链接文件将打不开,

ll

file3

file4 -> file1

--preserv=

mode 权限不变

owner[ship] 权限及owner,group 不变

time 三个时间戳不变

xattr acl权限不变

links 链接不变

context 文件的selinux上下文关系不变

all  上述所有属性

-p  等于 --preserv=mode,owner,time

-a 等于 -rdp

-v 显示复制过程

-f 强制覆盖: 当普通用户对目标文件不可更改时,但对该目标文件所在的目录有创建及删除文件的权限,则使用-f可以强制覆盖,实际上是先删除文件,再创建

-u 只覆盖源文件比目标文件新的文件

--backup-numbered 覆盖前,先将旧文件改名为 文件名.~数字~

mv : 移动和重命名文件

mv + [OPTION] + 源文件/目录 + 目标文件/目录

源为文件,目标为目录时,将文件移到目录内,若目标目录不存在时则新建目录

源和目标同时为文件或目录时,若目标存在则覆盖,若不存在则新建目标(相当于修改源文件的名字)

常用选项:

-i: 交互式  (别名中有mv=mv-i)

-f: 强制  直接覆盖,不交互式,抵消i的作用

若要批量修改文件名可使用rename命令

rename 批量修改文件名

rename +a +b +c 把名称a改成名称b,c为需要修改的文件列表,如果一个文件就直接指定文件名

ls

1.doc  3.doc  5.doc  7.doc  a.xls  c.xls  e.xls  g.xls

2.doc  4.doc  6.doc  8.doc  b.xls  d.xls  f.xls  h.xls

rename doc txt *.doc

ls

1.txt  3.txt  5.txt  7.txt  a.xls  c.xls  e.xls  g.xls

2.txt  4.txt  6.txt  8.txt  b.xls  d.xls  f.xls  h.xls

rm : 删除

-i交互式提示(rm默认不提示,因别名中有rm='rm -i')

(在rm命令前加上路径,可直接执行,跳过别名,如:/bin/rm 命令。或在命令前加反斜杠也可,如:\rm)

-f 直接删除,不提示(与i相反)

-r 递归删除(目录与内容,直接rm只能删除文件,不能删除目录,与rf组合后可删除直接删除全部

rm dir2/* -rf     #删除dir2目录下的全部文件

rm rf *     #删除本目录下的全部内容

rm -rf / --no-preserve-root

rm 目录和文件的连接数递减删除,当链接数由1删到0时,对应的inode在位图中由占用变为空闲。

此时实际数据不会被马上删除,但当另一个文件使用此数据块时会被覆盖

bitmap 位图:inode bitmap   block bitmap

硬链接与软链接

创建硬链接

ln + 源路径 + 目的路径 (注意:源与目的要在同一文件系统下)

创建硬链接会增加额外的记录项以引用文件 ,每个目录引用相同的inode号,创建时链接数递增

删除硬连接 rm

文件要存在,至少有一个链接数

当删除硬链接,链接数会递减删除,从而释放的inode号。

释放的inode号可以被重用;数据块也会被放在空闲列表中

当链接数为零时,该文件被删除

实际是删除目录项,数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖。

创建软链接:一个符号链接指向另一个文件

ln -s + 源路径 + 目的路径

软链接可以对目录进行也 可以跨分区

软链接指向的是另一个文件的路径;其大小为指向的路径字符串的长度;不增加或减少目标文件inode的引用计数

修改软连接指向:ln -nsf 新源路径 目的路径

mkdir dir1 dir2

ln -s dir1 dir #建立软链接:dir -> dir1

ln -nsf dir2 dir    #修改软链接:dir -> dir2

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值