设为首页收藏本站
查看: 3049|回复: 0

[脚本语言] 3.7 处理目录

[复制链接]
  • TA的每日心情
    无聊
    2024-1-15 21:13
  • 签到天数: 907 天

    [LV.10]以坛为家III

    发表于 2022-8-16 22:14:07 | 显示全部楼层 |阅读模式
    3.7 处理目录
             在Linux中,有些命令(比如cp命令)对文件和目录都有效,而有些只对目录有效。创建新目录需要使用一个特殊命令,
    3.7.1 创建目录
            在Linux中创建目录很简单,用mkdir命令即可
           
            系统创建了一个名为New_Dir的新目录,注意,新目录长列表是以d开头的。这表示New_Dir并不是文件,而是一个目录
            可以根据需要批量地创建目录和子目录。但是,如果你想单单靠mkdir命令来实现,就会得到下面的错误消息
           
            要想同时创建多个目录和子目录,需要加入-p参数
           
            mkdir命令的-p参数可以根据需要创建缺失的父目录。父目录是包含目录树中下一级目录的目录
    3.7.2 删除目录
            删除目录之所以很棘手,是有原因的。删除目录时,很有可能会发生一些不好的事情,shell会尽可能防止我们捅娄子。删除目录的基本命令是rmdir。
           
            默认情况下,rmdir命令只删除空目录,因为我们在New_Dir目录下创建了一个文件my_file,所有rmdir命令拒绝删除目录
            要解决这一问题,的先把目录中的文件删掉,然后才能在空目录上使用rmdir命令
           
            rmdir并没有-i选项来询问是否要删除目录,这也是为什么说rmdir只能删除空目录还是有害处的原因
            也可以在整个非目录上使用rm命令。使用-r选项使得命令可以向下进入目录,删除其中的文件,然后在删除目录本身。
           
            这种方法同样可以向下进入多个子目录,当需要删除大量目录和文件时,整个一点尤为有效。
           
            这种方法虽然可行,但是很难用。注意,你依然要确认每个文件是否要被删除。如果该目录有很多文件和子目录,这将非常琐碎。
            一口气删除目录及其所有内容的终极大法就是使用带有-r参数和-f参数的rm命令
           
            rm -rf命令既没有警告信息,也没有声音提示。这肯定是一个危险的工具,尤其是在拥有超级用户权限的时候。务必谨慎使用。
    3.8 查看文件内容
            file命令是一个随手可得的便捷工具。它能够探测文件的内部,并决定文件是什么类型的
           
            上面例子中的文件是一个test(文本)文件,file命令不仅能确定文件中包含的文本信息,还能确定该文本文件的字符编码,ASCII。
            下面例子中的文件是一个目录,因此,以后可以使用file命令作为另一种区分目录的方法
           
            第三个file的例子种展示了一个类型为符号链接的文件,注意,file命令甚至能够告诉你它链接到了那个文件上
           
            下面的例子展示了file命令对脚本文件的返回结果。尽管这个文件是ASCII text,但因为它是一个脚本文件,所有可以在系统上执行(运行)
           
            最后一个例子是二进制可执行程序。file命令能够确定该程序编译时所面向的平台以及需要何种类型的库
           
    3.8.2 查看整个文件
            如果手头有一个很大的文本文件,你可能会想看看里面是什么内容。在Linux上有3个不同的命令可以完成这个任务
            1.cat命令
           
            这个功能在检查脚本时很有用。如果只想给有文本的行加上行号,可以用-b参数,-n参数会给所有的行加上行号
           
            最后,如果不想让制表符出现,可以用-T参数
           
            -T参数会用^I字符组合去替换文中的所有制表符
            2.more命令
            cat命令的主要缺陷时,一旦运行,你就无法控制后面的操作。为了解决这个问题,开发人员编写了more命令,more命令会显示文本的内容,但会显示每页数据之后停下来如
           
            图中屏幕底部more命令显示了一个标签,其表明你仍然在more程序中以及你现在在这个文件文中中的位置。这是more命令的提示符。
            3.less命令
            more命令的升级版,提供了一些极为实用的特性,能够实现在文本文件中前后翻动。而且还有一些高级搜索功能。less命令的操作和more命令基本一样,一次显示一屏的文件文本。除了支持和more命令相同的命令集。它嗨包括更多选项。其中一组特性就是less命令能够识别上下键以及上下翻页键(假设你的终端配置正确)。
    3.8.3 查看部分文件
            通常你要查看的数据要么在文本文件头,要么在文本文件尾。如果这些数据实在大型文件的起始部分,那你就的等cat或more加载完整个文件之后才能看到。如果数据是在文件的末尾(如日志文件),那可能需要翻过成千上万行的文本才能到最后的内容,在Linux有解决这两个问题的专用命令
            1.tail命令
            tail命令会显示最后几行的内容(文件的“尾部”)。默认情况下,它会显示文件的末尾10行
           
            现在看到整个文件,再看看tail命令浏览最后10行的效果
           
            可以向tail命令中加入-n参数来修改所显示的行数。在下面的例子中,通过加入-n 2使tail命令只显示文件的最后两行
           
            -f参数是tail命令的一个突出特性。它允许你在其他进程使用该文件时查看文件的内容。tail命令会保持活动状态,并不断显示添加到文件中的内容。这是实时检测系统日志的绝妙方式
            2.head命令
            head命令,顾名思义,会显示文件开头那些行的内容。默认情况下,它会显示文件前10行的文本
           
            类似于tail命令,它也支持-n参数,这样就可以指定想要显示的内容了。这两个命令都允许你在破折号后面输入想要显示的行数
           
            文件的开头通常不会改变。因此head命令不像tail命令那样支持-f参数特性。head命令是一种查看文件起始部分内容的便捷方法。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?注册

    x

    评分

    1

    查看全部评分

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    红盟社区--红客联盟 

    Processed in 0.058569 second(s), 23 queries.

    站点统计| 举报| Archiver| 手机版| 黑屋 |   

    备案号:冀ICP备20006029号-1 Powered by HUC © 2001-2021 Comsenz Inc.

    手机扫我进入移动触屏客户端

    关注我们可获取更多热点资讯

    Honor accompaniments. theme macfee

    快速回复 返回顶部 返回列表