09-linux基础命令(六)【文件管理一】


上期博客内容

Linux基础命令(六)
在这里插入图片描述

文件管理(1)


touch

touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。

参数

-a:或--time=atime或--time=access或--time=use  #只更改存取时间;
-c:或--no-create  #不建立任何文件;
-d:#<时间日期> 使用指定的日期时间,而非现在的时间;
-f:#此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;
-m:或--time=mtime或--time=modify  #只更该变动时间;
-r:#<参考文件或目录>  把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
-t:#<日期时间>  使用指定的日期时间,而非现在的时间;

示例

#创建一个已有的文件名并不会破坏原文件内容,只会刷新其时间;

    [root@CentOS7 td]# ll file 

    -rw-r--r--. 1 root root 6 Sep 23 21:23 file

    [root@CentOS7 td]# touch file

    [root@CentOS7 td]# ll file 

    -rw-r--r--. 1 root root 6 Sep 23 21:24 file

    [root@CentOS7 td]# cat file 

    hello

#创建一个空文件的方法:

    1:touch text.txt

    2: cat /dev/null > text.txt

    3:> text.txt   #并不适应所有场景

mkdir

mkdir用来创建目录;如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;
如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。

选项 :

    -Z:#设置安全上下文,当使用SELinux时有效;
    -m:#<目标属性>或--mode<目标属性>建立目录的同时设置目录的权限;
    -p:或--parents #若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;

示例

    [root@CentOS7 FIRST]# mkdir -p one/two/three

    [root@CentOS7 FIRST]# ll

    total 0
    drwxr-xr-x. 3 root root 17 Sep 24 13:15 one

    [root@CentOS7 FIRST]# tree 
    .
    └── one
        └── two
            └── three
    3 directories, 0 files

    [root@CentOS7 FIRST]# mkdir -m 700 four

    [root@CentOS7 FIRST]# ll 

    total 0
    drwx------. 2 root root  6 Sep 24 13:16 four
    drwxr-xr-x. 3 root root 17 Sep 24 13:15 one

rm

rm :可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

选项 :

    -d:#直接把欲删除的目录的硬连接数据删除成0,删除该目录;
    -f:#强制删除文件或目录;
    -i:#删除已有文件或目录之前先询问用户;
    -r或-R:#递归处理,将指定目录下的所有文件与子目录一并处理;
    --preserve-root:#不对根目录进行递归操作;
    -v:#显示指令的详细执行过程。

示例

系统默认rm是带有别名的,若要使用原rm可写为\rm

    [root@CentOS7 data]# mkdir abc

    [root@CentOS7 data]# touch abc/fili{a..c}

    [root@CentOS7 data]# ll abc

    total 0

    -rw-r--r--. 1 root root 0 Sep 24 12:52 filia
    -rw-r--r--. 1 root root 0 Sep 24 12:52 filib
    -rw-r--r--. 1 root root 0 Sep 24 12:52 filic

    [root@CentOS7 data]# rm -r abc/
    
    rm: descend into directory ‘abc/’? y
    rm: remove regular empty file ‘abc/filia’? n
    rm: remove regular empty file ‘abc/filib’? n
    rm: remove regular empty file ‘abc/filic’? n
    rm: remove directory ‘abc/’? n

    [root@CentOS7 data]# rm -f abc/
    
    rm: cannot remove ‘abc/’: Is a directory

    [root@CentOS7 data]# rm -f abc/*

    [root@CentOS7 data]# ll abc

    total 0

    [root@CentOS7 data]# rmdir abc

    [root@CentOS7 data]# 

如何正确清除垃圾文件腾出磁盘空间 :

示例 :(清除垃圾文件bigfile)

    cat /dev/null > /boot/bigfile   #先清空bigfile

    rm -f /boot/bigfile    #然后再将其删除

rm是个危险命令!谨慎操作!


rmdir

rmdir :用来删除空目录。当目录不再被使用时,或者磁盘空间已到达使用限定值,就需要删除失去使用价值的目录。利用rmdir命令可以从一个目录中删除一个或多个空的子目录.

选项

    -p或--parents:#删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
    --ignore-fail-on-non-empty:#此选项使rmdir命令忽略由于删除非空目录时导致的错误信息;
    -v或-verboes:#显示命令的详细执行过程;

示例

#递归删除父子目录
#使用-p选项
    [root@CentOS1908 data]# mkdir -p ./fi/f2/f3/f4

    [root@CentOS1908 data]# tree /data

    /data
    ├── fi
    │   └── f2
    │       └── f3
    │           └── f4
    └── script
        └── file.txt

    5 directories, 1 file

    [root@CentOS1908 data]# rmdir -p fi/f2/f3/f4/

    [root@CentOS1908 data]# tree /data

    /data
    └── script
        └── file.txt

    1 directory, 1 file

#删除非空目录及其内部所有文件
    [root@CentOS1908 data]# echo hello >> script/file.txt 

    [root@CentOS1908 data]# rm -rf script

    [root@CentOS1908 data]# ll

    total 0

file

file命令用来探测给定文件的类型。file命令对文件的检查分为文件系统、魔法幻数检查和语言检查3个过程。

选项 :

    -b:#列出辨识结果时,不显示文件名称;
    -c:#详细显示指令执行过程,便于排错或分析程序执行的情形;
    -f: #<名称文件>:指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称;
    -L:#直接显示符号连接所指向的文件类别;
    -m: #<魔法数字文件>:指定魔法数字文件;
    -v:#显示版本信息;
    -z:#尝试去解读压缩文件的内容。

示例

    [root@CentOS1908 ~]# file -L /etc/passwd

    /etc/passwd: ASCII text

    [root@CentOS1908 ~]# file -b /etc/passwd

    ASCII text

ln

ln :命令用来为文件创件连接,连接类型分为硬连接和符号连接两种,默认的连接类型是硬连接。如果要创建符号连接必须使用"-s"选项。

选项 :

    -b或--backup:#删除,覆盖目标文件之前的备份;
    -d或-F或——directory:#建立目录的硬连接;
    -f或——force:#强行建立文件或目录的连接,不论文件或目录是否存在;
    -i或——interactive:#覆盖既有文件之前先询问用户;
    -n或--no-dereference:#把符号连接的目的目录视为一般文件;
    -s或——symbolic:#对源文件建立符号连接,而非硬连接;
    -S<字尾备份字符串>或--suffix=<字尾备份字符串>#用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,预设的备份字符串是符号“~”,用户可通过“-S”参数来改变它;
    -v或——verbose:#显示指令执行过程;
    -V<备份方式>或--version-control=<备份方式>#用“-b”参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这个字符串不仅可用“-S”参数变更,当使用“-V”参数<备份方式>指定不同备份方式时,也会产生不同字尾的备份字符串;

示例

#创建软链接

    [root@CentOS1908 data]# ll

    total 0
    -rw-r--r--. 1 root root 0 Sep 25 20:24 file1
    -rw-r--r--. 1 root root 0 Sep 25 20:24 file2
    -rw-r--r--. 1 root root 0 Sep 25 20:24 file3

    [root@CentOS1908 data]# ln -s /data/file3 /data/file.txt

    [root@CentOS1908 data]# ll

    total 0
    -rw-r--r--. 1 root root  0 Sep 25 20:24 file1
    -rw-r--r--. 1 root root  0 Sep 25 20:24 file2
    -rw-r--r--. 1 root root  0 Sep 25 20:24 file3
    lrwxrwxrwx. 1 root root 11 Sep 25 20:27 file.txt -> /data/file3

#创建硬链接

    [root@CentOS8 data]# ll

    total 0
    -rw-r--r--. 1 root root 0 Sep 26 09:01 fi

    [root@CentOS8 data]# ln fi fi.txt

    [root@CentOS8 data]# ll

    total 0
    -rw-r--r--. 2 root root 0 Sep 26 09:01 fi
    -rw-r--r--. 2 root root 0 Sep 26 09:01 fi.txt

面试试题

符号链接和硬链接的区别?答:

符号(或软)链接:

1、一个符号链接指向另一个文件 
2、一个符号链接的内容是它引用文件的名称 
3、可以对目录进行 
4、可以跨分区 
5、指向的是另一个文件的路径;
6、其大小为指向的路径字符串的长度;
7、不增加或减少目标文件inode的引用计数; 

硬链接 :

1、创建硬链接会增加额外的记录项以引用文件 
2、对应于同一文件系统上一个物理文件 
3、每个目录引用相同的inode号 
4、创建时链接数递增 
5、删除文件时:rm命令递减计数的链接文件要存在,至少有一个链接数;当链接数为零时,该文件被删除; 
6、不能跨越驱动器或分区   

mail

mail :命令是命令行的电子邮件发送和接收工具.

选项

    -b<地址>#指定密件副本的收信人地址;
    -c<地址>#指定副本的收信人地址;
    -f<邮件文件>#读取指定邮件文件中的邮件;
    -i:#不显示终端发出的信息;
    -I:#使用互动模式;
    -n:#程序使用时,不使用mail.rc文件中的设置;
    -N:#阅读邮件时,不显示邮件的标题;
    -s<邮件主题>#指定邮件的主题;
    -u<用户帐号>#读取指定用户的邮件;
    -v:#执行时,显示详细的信息。

示例 :

#直接使用shell当编辑器

    mail -s "Hello from linuxde.net by shell" admin@linuxde.net
    hello,this is the content of mail.
    welcome to www.linuxde.net

试题

一个linux用户给root发邮件,要求邮件标题为”help” ,邮件正文如下:

Hello, I am 用户名,The system version is here,please help me to check it ,thanks! 操作系统版本信息

	[root@magedu ~]# mail -s help root << EOF 
	>Hello, I am `whoami`. 
	>The system version is here,please help me to check it,thanks! 
	>`cat /etc/redhat-release` 
	>EOF

id

id可以显示真实有效的用户ID(UID)和组ID(GID)。UID 是对一个用户的单一身份标识。组ID(GID)则对应多个UID.

选项 :

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

示例

[root@CentOS7 data]# id -u td
1000
[root@CentOS7 data]# id -g root
0
[root@CentOS7 data]# id td
uid=1000(td) gid=1000(td) groups=1000(td)

ip

ip :用来显示或操纵Linux主机的路由、网络设备、策略路由和隧道,是Linux下较新的功能强大的网络配置工具。

选项 :

    -s:#输出更详细的信息;
    -f:#强制使用指定的协议族;
    -4:#指定使用的网络层协议是IPv4协议;
    -6:#指定使用的网络层协议是IPv6协议;
    -0:#输出信息每条记录输出一行,即使内容较多也不换行显示;
    -r:#显示主机时,不使用IP地址,而使用主机的域名。

示例

    [root@CentOS7 data]# ip route list

    default via 192.168.30.2 dev ens33 proto dhcp metric 100 
    192.168.30.0/24 dev ens33 proto kernel scope link src 192.168.30.134 metric 100 
    192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 

文件管理命令二
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值