首页 > 其他分享 >第十六天

第十六天

时间:2024-03-10 21:23:13浏览次数:16  
标签:tmp 第十六 xargs 文件 命令 txt find

第十六天

  1. inode是什么?

    inode是linux文件系统中用于存储文件元数据的数据结构,包括但不限于:文件大小、所有者、用户组、权限模式、时间戳(如创建时间、修改时间和访问时间)、链接数以及指向文件实际数据块的指针。每个文件和目录在文件系统中都有一个唯一的inode号码,尽管用户通常通过文件名来引用文件,但在操作系统内部,它使用inode来识别并跟踪文件
    
    
    
  2. 查找 7天以前的文件

find . -type f -mtime +7

3 .查找出*.txt文件,批量移动到/tmp目录

find . -type f -name "*.txt" -exec mv {} /tmp/ \;
find ./ -type f -name "*.txt" | xargs mv -t  /tmp
  1. 将以oldboy开头的行找出来?
grep -r '^oldboy' .
grep '^abc' *

5.将全部内容显示,但不要显示空行


grep -v '^$'  文件名



[root@master ~]# vi 2.log
[root@master ~]# grep -v '^$' 2.log
djfasdf
sdjkfkasb
sdjkfhukas
fjskhfkas
sjkfhbsdgfwe
ksfksb
ejhfkase
jkehfkae
jkfnsekh
ksebjfkaejsb
jkehiae 
jkehfkase
khfkasehke
ekjhfkseghf'
sejbfjesg
ehjfjgse'
ejkrhkaehf
nekhfkuse
sejnkfheih
bnerfjkheuk
aenjkfhekg
bjeghfuieb
jkfhseghfiwe
hjaeshieubwauiet
ekjieht
nfehie

  1. 利用linux什么命令真正统计目录的大小?

    du -sh 目录名
    
    
    
    [root@master ~]# du -sh /etc/passwd
    8.0K	/etc/passwd
    
    

系统特殊符号分别说下什么意思? 重点掌握 为写脚本铺垫

!:条件语句中代表逻辑非
>:追加,覆盖
>>:追加末尾 不覆盖

<<:用于向命令提供多行输入

&&:只有当前面的命令成功执行时,后面的命令才会被执行
||:只有当前面的命令执行失败时,后面的命令才会被执行

^:用于去除特殊字符的特殊意义
$:变量引用

''创建字面字符串,其中的内容会被原样解释,不进行任何变量展开、命令替换或其他特殊字符处理
"" 创建字符串,但是允许对其中的变量和命令替换进行解析和扩展


小结

xargs

xargs 是一个 Unix 和类 Unix 操作系统中的实用工具,它的主要作用是将标准输入(stdin)中的参数列表转换成小块分段,并传递给其他命令进行执行。这样可以避免因为参数列表过长而导致的问题。

xargs 命令经常与其他命令(如 find、grep、ls 等)一起使用,用于处理大量的文件或数据。它的主要优点在于可以灵活地处理输入数据,特别是当数据中包含特殊字符(如空格、引号等)时,xargs 可以正确地进行处理。

xargs 命令的常用选项包括:

-n:指定每次执行命令时使用的最大参数数量。例如,xargs -n 1 command 将逐个执行 command 的一个参数。
-I:将命令中指定的占位符字符串替换为标准输入中的参数。例如,xargs -I {} command {} 将使用标准输入中的参数替换 {}。
-t:在执行命令之前,将要执行的命令打印到标准错误输出。这有助于调试和查看将要执行的命令。
-p:在执行每个命令之前提示用户确认。这可以确保在执行重要操作之前得到用户的许可。
-0:当 stdin 含有特殊字符(如空格、引号等)时,将其还原为一般字符,以确保参数的正确传递。





find ./ -type f -name "*.txt" | xargs mv -t  /tmp
您提供的命令组合是正确的,用于在当前目录(./)及其子目录中查找所有 .txt 结尾的文件,并将它们移动到 /tmp 目录中。这里是命令的分解:

find ./ -type f -name "*.txt":这个命令会在当前目录(./)及其子目录中查找所有类型为文件(-type f)且文件名以 .txt 结尾(-name "*.txt")的文件。

|:这是一个管道符号,用于将前一个命令的输出作为下一个命令的输入。

xargs mv -t /tmp:xargs 命令会将 find 命令的输出(即文件名列表)作为参数传递给 mv 命令。mv 命令的 -t 选项允许您指定目标目录,之后列出要移动的文件。这样,所有通过管道传递的文件名都会被移动到 /tmp 目录中。

请注意,如果您使用的是 GNU 版本的 find 和 xargs(这在大多数 Linux 发行版中都是默认的),那么您的命令应该能够正常工作。然而,如果您的系统上 xargs 不支持 -t 选项(例如,在一些老版本的 Unix 或 BSD 系统中),您可能需要稍微修改命令。

在不支持 -t 选项的系统中,您可以使用如下命令:

bash
find ./ -type f -name "*.txt" | xargs -I {} mv {} /tmp/
这里,-I {} 选项告诉 xargs 使用 {} 作为替换字符串,mv {} /tmp/ 则将每个找到的文件移动到 /tmp 目录中。

在运行此类命令之前,请确保 /tmp 目录存在且您有足够的权限来移动文件到该目录。此外,如果 /tmp 目录中已存在与要移动的文件同名的文件,它们将被覆盖。如果您不想覆盖文件,您可能需要添加一些逻辑来检查并处理这种情况。




find ./ -type f -name "*.txt" | xargs cp -t  /tmp
您的命令组合是正确的,用于在当前目录(./)及其子目录中查找所有 .txt 结尾的文件,并将它们复制到 /tmp 目录中。这里是命令的分解:

find ./ -type f -name "*.txt":这个命令会在当前目录(./)及其子目录中查找所有类型为文件(-type f)且文件名以 .txt 结尾(-name "*.txt")的文件。

|:这是一个管道符号,用于将前一个命令的输出作为下一个命令的输入。

xargs cp -t /tmp:xargs 命令会将 find 命令的输出(即文件名列表)作为参数传递给 cp 命令。cp 命令的 -t 选项允许您先指定目标目录,然后列出要复制的文件。这样,所有通过管道传递的文件名都会被复制到 /tmp 目录中。

请确保 /tmp 目录存在且您有足够的权限来复制文件到该目录。如果 /tmp 目录中已存在与要复制的文件同名的文件,并且您使用的是 GNU coreutils 版本的 cp,那么默认情况下,cp 命令会询问您是否要覆盖这些文件。如果您不希望被提示,您可以使用 -f 选项来强制覆盖:

bash
find ./ -type f -name "*.txt" | xargs cp -t /tmp -f
此外,如果您的 xargs 或 cp 命令版本不支持 -t 选项,您可以使用以下替代方法:

bash
find ./ -type f -name "*.txt" | xargs -I {} cp {} /tmp/
这里,-I {} 选项告诉 xargs 使用 {} 作为替换字符串,cp {} /tmp/ 则将每个找到的文件复制到 /tmp 目录中。

在运行此类命令之前,请确保您了解它的行为,并准备好处理任何可能的文件覆盖或权限问题。




.. 返回上一级
. 当前目录

~ 返回家目录

- 2个目录快速切换




标签:tmp,第十六,xargs,文件,命令,txt,find
From: https://www.cnblogs.com/nwq1101/p/18064838

相关文章

  • 代码随想录 第十六天 | ● 104.二叉树的最大深度 559.n叉树的最大深度 ● 111.二叉树
    leetcode:104.二叉树的最大深度-力扣(LeetCode)思路:递归判断每次左右节点的是否存在,存在自然加一,return的1就是这样,判断子节点的左右两端是否有节点,统计有的节点数量,也就是左右的高度classSolution{publicintmaxDepth(TreeNoderoot){//后序遍历if......
  • Leetcode刷题第十六天-链表
    24:两两交换链表中的节点链接:24.两两交换链表中的节点-力扣(LeetCode)虚拟头节点#Definitionforsingly-linkedlist.#classListNode:#def__init__(self,val=0,next=None):#self.val=val#self.next=nextclassSolution:defswap......
  • 第十六期产品测试沙龙在深圳前海成功举办!
        2024年2月25日下午,为响应深圳市政府提出的“激发创新活力,提升发展质量”的号召,深圳测试协会第十六期沙龙深圳前海深港青年梦工场成功举办! 本次沙龙以“测试驱动·质量引领”为主题进行开展,沙龙以专家线上和线下分享的方式进行。通过国内产品测试专家优秀实践分享、......
  • 第十六节:各种排序算法总结和性能测试
    一.        二.        三.         !作       者:Yaopengfei(姚鹏飞)博客地址:http://www.cnblogs.com/yaopengfei/声     明1:如有错误,欢迎讨论,请勿谩骂^_^。声     明2:原创博客请在转载......
  • 代码随想录算法训练营第十六天 | 104.二叉树的最大深度| 559.n叉树的最大深度|222.完
    222.完全二叉树的节点个数 已解答简单 相关标签相关企业 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中......
  • 代码随想录算法训练营第十六天| 104.二叉树的最大深度 559.n叉树的最大深度 111.二
    104.二叉树的最大深度  题目链接:104.二叉树的最大深度-力扣(LeetCode)n叉树也一样思路:我的普通递归方法classSolution{public:intdepth(TreeNode*node,intd){intl=0,r=0;if(node->left==NULL&&node->right==NULL)returnd;if(node-......
  • 第十六天: 利用 sudo 实现授权、PAM、时间同步
    一、sudo组成sudo即superuserdo,允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录和管理时间,同样也提高了安全性sudo特性:sudo能够授权指定用户在指定主机上运行某些命令。如果未授权用户尝试使用sudo,会提......
  • 第十六天:ssh服务
    一、ssh服务介绍ssh:secureshellprotocol,22/tcp,安全的远程登录,实现加密通信,代替传统的telnet协议具体的软件实现:OpenSSH:ssh协议的开源实现,CentOS默认安装dropbear:另一个ssh协议的开源项目的实现SSH协议版本v1:基于CRC-32做MAC,不安全;man-in-middle......
  • UCB Data100:数据科学的原理和技巧:第十六章到第二十章
    十六、交叉验证和正则化CrossValidationandRegularization译者:飞龙协议:CCBY-NC-SA4.0学习成果认识到需要验证和测试集来预览模型在未知数据上的表现应用交叉验证来选择模型超参数了解L1和L2正则化的概念基础在特征工程讲座结束时(第14讲),我们提出了调......
  • 大话 JavaScript(Speaking JavaScript):第十六章到第二十章
    第十六章:变量:作用域、环境和闭包原文:16.Variables:Scopes,Environments,andClosures译者:飞龙协议:CCBY-NC-SA4.0本章首先解释了如何使用变量,然后详细介绍了它们的工作方式(环境、闭包等)。声明变量在JavaScript中,您在使用变量之前通过var语句声明变量:varfoo;foo......