文件管理-文件和目录相关命令

目录

  1. 文件相关命令
    1.1. touch
    1.2. rename
    1.3. file
  2. 目录相关命令
    2.1. mkdir
    2.2. rmdir
  3. 管理文件目录相关命令
    3.1. cp
    3.2. mv
    3.3. rm
    3.4. shred
    3.5. tree

文件相关命令

touch创建文件
[root@centos7 data]#touch f11.txt
[root@centos7 data]#ls f11.txt
f11.txt
rename
  • 批量修改文件名

# 将所有z?.txt的文件的文件名中的 .txt的字符替换成.bak

[root@centos7 test4]#rename '.txt' '.bak' z?.txt

file
  • 检查文件的类型,然后确定适当的打开命令或应用程序使用
[root@centos7 data]#file test_link
test_link: symbolic link to `/etc/fstab'
[root@centos7 data]#
[root@centos7 data]#
[root@centos7 data]#file /bin/cat
/bin/cat: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=797f79d6d2dc5a84cdc3c21df400f65569ce9a92, stripped

目录相关命令

mkdir 创建目录
  • -p: 存在于不报错,且可自动创建所需的各目录
  • -v: 显示详细信息
  • -m MODE: 创建目录时直接指定权限
rmdir 删除空目录 (很少用,一般都用rm)
  • -p: 递归删除父空目录
  • -v: 显示详细信息

管理文件目录相关命令

cp复制文件和目录
  • cp [options] src des
  • cp -t des src
相关选项
cp选项说明
-i覆盖前提示
–n不覆盖,注意两者顺序
-r, -R递归复制目录及内部的所有内容
-a归档,相当于-dR --preserv=all 且保留属性
-v–verbose 详细信息
-f–force
-u–update 只复制源比目标更新文件或目标不存在的文件
cp命令的多种情况
src des不存在存在且为文件存在且为目录
一个文件des的目录必须存在,然后才新建文件并从SRC填充至DESsrc覆盖des在des中新建同名文件,然后将SRC内容填充
多个文件ERRORERROR在des中新建同名文件,然后将SRC内容填充
目录必须使用-R选项在des中新建同名目录,然后将SRC目录中的所有文件复制至DES中ERROR在des中新建同名目录,然后将SRC目录中的所有文件复制至DES中
# src 单个文件,des不存在,且路径不存在

[root@centos7 /]#cp /etc/fstab /data/cptest/
cp: cannot create regular file ‘/data/cptest/’: Not a directory


# src 单个文件,des存在且为文件

[root@centos7 cptest]#touch fstab
[root@centos7 cptest]#cp /etc/fstab /data/cptest/fstab 
cp: overwrite ‘/data/cptest/fstab’? y
[root@centos7 cptest]#ll
total 4
-rw-r--r-- 1 root root 595 Aug 13 16:21 fstab
[root@centos7 cptest]#

# src 单个文件,des存在且为目录

[root@centos7 cptest]#mkdir /fstab
[root@centos7 cptest]#
[root@centos7 cptest]#mkdir fstab
[root@centos7 cptest]#cp /etc/fstab /data/cptest/fstab/
[root@centos7 cptest]#cd fstab/
[root@centos7 fstab]#ll
total 4
-rw-r--r-- 1 root root 595 Aug 13 16:24 fstab

mv
  • 移动和重命名文件
语法
  • mv [OPTION]… [-T] SOURCE DEST
  • mv [OPTION]… SOURCE… DIRECTORY
  • mv [OPTION]… -t DIRECTORY SOURCE…

第三种方式可以用来做rm别名,防止误删除
定义别名
rm 删除某个文件湿rm =mv 把文件放入/data/trash/中,可以部分防止误删除
alias rm=“mv -t /data/trash”
写入硬盘则写入相应的.bashrc中

rm
  • -r : 递归,删除文件夹里的子文件夹里的数据,删除文件夹必须加
  • -f : 强制删除,不询问

当正在删除的文件还其他进程占用,文件确实删除,但不释放磁盘空间,直到进程结束

删除大文件的方法
rm -f bigfile
>bigfile
  • 用0填充bigfile ,迅速让大文件的大小为0,然后再rm -f 删除
相对安全的方法shred命令
  • shred -zv -n 6 bigfile
  • -u 覆盖之后删除
  • -z 对该文件填充0
  • -n 后跟具体覆盖次数,6为6次覆盖
[root@centos7 dir1]#shred -zvu -n 6 bigdata 
shred: bigdata: pass 1/7 (random)...
shred: bigdata: pass 2/7 (aaaaaa)...
shred: bigdata: pass 3/7 (000000)...
shred: bigdata: pass 4/7 (555555)...
shred: bigdata: pass 5/7 (ffffff)...
shred: bigdata: pass 6/7 (random)...
shred: bigdata: pass 7/7 (000000)...
shred: bigdata: removing
shred: bigdata: renamed to 0000000
shred: 0000000: renamed to 000000
shred: 000000: renamed to 00000
shred: 00000: renamed to 0000
shred: 0000: renamed to 000
shred: 000: renamed to 00
shred: 00: renamed to 0
shred: bigdata: removed
tree显示目录树
  • -d: 只显示目录
  • -L level:指定显示的层级数目
  • -P pattern: 只显示由指定pattern匹配到的路径
[root@centos7 home]#tree
.
├── ansible
├── bash
├── gentoo
├── git
├── hacker
├── harry
├── help
├── jack
├── kittycat
├── mage
├── mysql
├── nginx
├── shelltest1
├── testshell
├── tom
├── tomcat
├── tommy
├── tommy1
├── usertest110
├── usertest111
├── varnish
├── wang
├── www
└── zhu
    ├── at.allow
    ├── Desktop
    ├── Documents
    ├── Downloads
    ├── Music
    ├── Pictures
    ├── Public
    ├── Templates
    ├── Videos
    ├── zaaa
    ├── zhu1
    ├── zhu2
    └── zhu3

32 directories, 5 files
[root@centos7 home]#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值