1.4 文件管理命令

绝对路径和相对路径

    绝对路径:路径的写法一定由根目录/写起;

[root@CentOS6 ~]#cat /data/dir1/dir2/test.txt 
hello world!

    相对路径:路径的写法不是由/写起。相对路径意指相对于当前工作目录的路径;

[root@CentOS6 dir1]#cat dir2/test.txt 
hello world!
    相对路径的用途:方便切换路径等;

    绝对路径的用途:对于文件名的正确性来说,绝对路径的正确度要比较好。

目录相关命令

    特殊目录:

        .          :代表此层目录
        ..         :代表上一层目录
        -          :代表前一个工作目录
        ~         :代表“目前用户身份”所在的主文件夹

        ~[用户]:代表account这个用户的主文件夹(account是个账户名称)

    所有目录下面都会存在的两个目录,分别是“.”与“..”,分别代表此层与上层目录的意思。根目录中的上一层目录与根目录自己是同一个目录。

    常用命令:

    cp命令主要用于复制文件或目录。

    语法:cp [选项] 文件 [文件]

[root@contos7 ~]#cp -a /etc/profile.d/env.sh /data
[root@contos7 ~]#ls /data
env.sh  

    cp命令在CentOS中被默认设置为“cp -i”的别名,以避免误操作的发生。

    选项

-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。

    file命令用于辨识文件类型。

    语法:file [选项] [文件]

[root@contos7 ~]#file /data/env.sh 
/data/env.sh: ASCII text

    选项

-b:列出辨识结果时,不显示文件名称。
-c:详细显示指令执行过程,便于排错或分析程序执行的情形。
-f[名称文件]:指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格                       式为每列一个文件名称。
-L:直接显示符号连接所指向的文件的类别。

   id命令用于显示用户的ID,以及所属群组的ID。

    语法:id [选项] [用户]

[root@contos7 ~]#id jiangbowen 
uid=1000(jiangbowen) gid=1000(jiangbowen) groups=1000(jiangbowen)

    选项

-g或--group  显示用户所属群组的ID。
-G或--groups   显示用户所属附加群组的ID。
-n或--name   显示用户,所属群组或附加群组的名称。
-r或--real       显示实际ID。

-u或--user     显示用户ID。

    ln命令的功能是为某一个文件在另外一个位置建立一个同步的链接。

    语法:ln [选项] [源文件] [目标文件]

[root@CentOS6 data]#ln Zero.txt /data/Zero.hard
[root@CentOS6 data]#ln -s Zero.txt /data/Zero.soft
[root@CentOS6 data]#ll /data
total 61440
-rw-r--r--. 2 root root 31457280 Mar 31 13:53 Zero.hard
lrwxrwxrwx. 1 root root        8 Mar 31 13:55 Zero.soft -> Zero.txt
-rw-r--r--. 2 root root 31457280 Mar 31 13:53 Zero.txt

    选项

-b:删除,覆盖以前建立的链接
-d:允许超级用户制作目录的硬链接
-f:强制执行
-i:交互模式,文件存在则提示用户是否覆盖
-n:把符号链接视为一般目录
-s:软链接(符号链接)

-v:显示详细的处理过程

    lsblk命令用于列出所有可用快设备信息,但不会列出RAM信息。

[root@contos7 ~]#lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0   50G  0 part /
├─sda3   8:3    0    2G  0 part [SWAP]
├─sda4   8:4    0    1K  0 part 
└─sda5   8:5    0   30G  0 part /data
sr0     11:0    1 1024M  0 rom  
NAME : 块设备名。
MAJ:MIN : 主要和次要设备号。
RM : 设备是否可移动设,0是不可移动设备,1是可移动设备。
SIZE : 设备的容量大小信息。
RO : 设备是否为只读,0只读,1。
TYPE :块设备是否是磁盘或磁盘上的一个分区。

MOUNTPOINT : 本栏指出设备挂载的挂载点。

    lsof(list open files)是一个列出当前系统打开文件的工具。

COMMAND:进程的名称
PID:进程标识符
USER:进程所有者
FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等
TYPE:文件类型,如DIR、REG等
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识)

NAME:打开文件的确切名称

    mv命令用来为文件或目录改名、或将文件或目录移入其它位置。

    语法:mv [选项] 源文件 目标文件

[root@contos7 ~]#mv /etc/hosts /data
[root@contos7 ~]#ls /data/
env.sh  file1  file1.link  hosts

    mkdir命令用于建立名称为 dirName 之子目录。

[root@CentOS6 data]#mkdir -p dir1/dir2/dir3
[root@CentOS6 data]#tree
.
└── dir1
    └── dir2
        └── dir3

3 directories, 0 files

    语法:mkdir [-p] 文件

    passwd命令用来更改使用者的密码。

    语法:passwd [选项] [用户]

[root@contos7 ~]#passwd -d jiangbowen
Removing password for user jiangbowen.
passwd: Success

-d:删除密码
-f:强制执行
-k:更新只能发送在过期之后
-l:停止账号使用
-S:显示密码信息
-u:启用已被停止的账户
-x:设置密码的有效期
-g:修改群组密码

-i:过期后停止用户账号

    rename命令用于批量修改文件名。

    语法:rename [选项] 原表达式 替换表达式 文件

[root@CentOS6 data]#ls
file0.txt   file12.txt  file15.txt  file18.txt  file20.txt  file4.txt  file7.txt
file10.txt  file13.txt  file16.txt  file19.txt  file2.txt   file5.txt  file8.txt
file11.txt  file14.txt  file17.txt  file1.txt   file3.txt   file6.txt  file9.txt
[root@CentOS6 data]#rename ".txt" ".conf" file*.txt
[root@CentOS6 data]#ls
file0.conf   file13.conf  file17.conf  file20.conf  file5.conf  file9.conf
file10.conf  file14.conf  file18.conf  file2.conf   file6.conf
file11.conf  file15.conf  file19.conf  file3.conf   file7.conf
file12.conf  file16.conf  file1.conf   file4.conf   file8.conf

    rm命令用于删除一个文件或者目录。

    语法:rm [选项] 文件

[root@CentOS6 data]#ls
file0.conf   file13.conf  file17.conf  file20.conf  file5.conf  file9.conf
file10.conf  file14.conf  file18.conf  file2.conf   file6.conf
file11.conf  file15.conf  file19.conf  file3.conf   file7.conf
file12.conf  file16.conf  file1.conf   file4.conf   file8.conf
[root@CentOS6 data]#rm -f file*.conf
[root@CentOS6 data]#ls
[root@CentOS6 data]#

    选项

-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。

-r 将目录及以下之档案亦逐一删除。

    rmdir命令删除空的目录。

    语法:rmdir [-p] 文件夹

[root@CentOS6 data]#tree
.
└── dir1
    └── dir2
        └── dir3

3 directories, 0 files
[root@CentOS6 data]#rmdir -p dir1/dir2/dir3/
[root@CentOS6 data]#ls
[root@CentOS6 data]#

    readlink命令用于打印链接文件的源文件。

    语法:readlink 链接文件

[root@contos7 ~]#readlink /data/file1.link 
/data/makedir/file1

    tree命令用于以树状图列出目录的内容。

    语法:tree [选项] [目录]

[root@CentOS6 data]#tree
.
└── dir1
    └── dir2
        └── dir3

3 directories, 0 files

    选项

-a 显示所有文件和目录。
-D 列出文件或目录的更改时间。
-g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
-l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
-s 列出文件或目录大小。

-t 用文件和目录的更改时间排序。

    stat命令用于显示inode内容。 

    语法:stat [选项] 文件

[root@CentOS6 data]#stat /data
  File: `/data'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 803h/2051d	Inode: 2           Links: 3
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-03-31 17:37:59.341157567 +0800
Modify: 2018-03-31 17:37:54.827153917 +0800
Change: 2018-03-31 17:37:54.827153917 +0800

    选项

-f:不显示文件本身的信息,显示文件所在文件系统的信息
-L:显示符号链接

-t:简洁模式,只显示摘要信息

    shred命令用于彻底覆盖后删除文件,以达到销毁数据的作用。

    语法:shred [选项] 文件

[root@contos7 ~]#ls /data/
env.sh  file1.link  hosts  makedir
[root@contos7 ~]#shred /data/env.sh 
[root@contos7 ~]#ls /data/
env.sh  file1.link  hosts  makedir
     选项

-f:必要时修改权限以使目标可写
-n:N 覆盖N 次,而非使用默认的3 次
--random-source=文件 从指定文件中取出随机字节
-s:N 粉碎数据为指定字节的碎片(可使用K、M 和G 作为单位)
-u:覆盖后截断并删除文件
-v:显示过程信息
-z, --zero 最后一次使用0 进行覆盖以隐藏覆盖动作

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值