可以这样学习linux命令

2023-11-06

通过综合练习,可以强化linux命令的学习。

带着问题学习linux命令及其相关知识,是十分有效的方法。

我们通过查询当前目录下的子目录这个问题,学习与训练linux 中一些重要命令。

综合练习强于单个命令的分散学习,知识的串联,可以打通知识结点,巩固已学知识!

本讨论关注的重要知识点:

命令;选项;参数;重定向;管道;文件及文件类型;Linux三剑客

前期准备:

以root身份在xshell中登录成功。

在/home/zhang3目录下创建一些文件(压缩文件、普通文件、目录等)

后续的所有操作都是在此目录中。

在前篇文章(Linux centos7查看目录下的目录的方法_qq_36142959的博客-CSDN博客)中,介绍了6种方法,简单实用,推荐多了解。我们在此基础上,拓展一下。以问题为起点,学习其他linux命令及方法。

1.通过压缩文件查找目录

在压缩文件学习中,常用的打包压缩命令有:gzip、zip、tar等。

在用gzip压缩文件时,不能压缩目录,仅能压缩普通文件。此方法的思路就是:我们把当前目录进行压缩,不能压缩的就是目录。把此思路用命令表达出来,就完成了我们的小目标。

命令:

gzip -q ./* |xargs ls | grep -v .gz

管道(|)处理是运用shell命令最重要的方式!

一次命令处理不一定满足要求,通过管道,把第一次的处理结果再送给后一个命令处理。如仍未满足要求,再利用管道方法继续。

常和管道方法相随的命令是grep。xargs命令也有强大功能!

在本命令中,-q选项是安静模式,不输出各种提示与错误信息。

第一项命令是采用安静模式压缩当前目录。通过管道把结果送入下一条命令。

第二项命令是把前一项命令结果查询显示出来。不加xargs命令,不能正确执行。本命令执行结果有多余信息,还需要再次处理。

第三项命令是搜索不包括.gz的文件,结果如下。

压缩当前目录,可以写作.、./、./*

用ls命令查看当前目录,一般文件都进行了压缩。而目录及其内容没有变化。

如果不需要对当前目录下的文件压缩,可以通过解压命令还原已压缩的文件。

gunzip  *.gz

2.利用file命令查询目录

file命令不常用。主要功能是判断一个文件是哪一文件类型。通常是:  file  文件名

对于把file命令用于多个文件,会有多个执行结果。

利用此命令查询当前目录下的目录,仍需要管道及grep命令

file  ./* | grep  "directory"

第一项命令的结果,信息太多,我们需要过滤一下。

3.利用sed命令查询目录

sed命令主要功能是处理文件中的行。匹配上的行可以增删改查。

为了查询目录,我们可以先为目录添加一个/标记。

命令:

ls -p |sed -n '/\/$/p'

ls -F不同文件不同标识结尾,ls -p只能给文件夹加标识“/”

\/是转义字符,表示/就是真正的/。

4.利用awk命令查询目录

awk命令主要功能是处理文本文件中的行及行中字段。为了验证awk功能强大,此处尝试利用此命令查询目录。

ls -F |awk  '/\/$/'

ls -l ,输入结果中第二列中大于1的是目录(没有硬链接的情况下,如有硬链接此结果不准)

ls -l | awk '{if($2>1) print $0}'

5.利用for循环查询目录

我们利用ls可以查出当前目录下很多文件。再利用for循环对每一个文件进行识别,看是不是目录。主要知识点有反引号的使用、变量及变量调用、条件判断、echo打印输出等

可以一行录入:

for dir in `ls ./`;do if [ -d $dir ];then echo $dir;fi;done

也可以分行输入:

for dir in `ls ./`

do

        if [ -d $dir ];then

                echo $dir

        fi

done

6.编写shell脚本查询目录

编写一个查询给定目录中的目录的shell脚本,可以录入一个目录,执行脚本,查询出结果。

利用for循环编写比较简单。下面列出一个简单的脚本,仅供参考。

#! /bin/bash

# find directory

read -p "录入一个目录:" dir

echo `ls $dir` >t1.txt

for _dir in `cat t1.txt`

do

         if [ -d $_dir ];then

                   echo $_dir

         fi

done

执行脚本,录入当前目录,结果如下

根据颜色查询目录

此方法不可行。

为什么不能根据颜色查询目录?

一般情况下,用ls查看目录内容,可看到不同文件有不同的颜色显示,如目录常常显示为蓝色,压缩文件为红色,可执行文件为绿色,软链接文件为天蓝色,等等。

当看到列出目录这个话题时,首先想到的是找出蓝色文件,一一列出来就是目录列表了。

通过人眼判断可以快速找到结果,但用系统命令通过颜色列出目录名称不可能!原因在于,颜色不是目录的自身属性,而是shell解释器根据个人好恶添加上去的。查询结果显示不同颜色主要是方便查看,更易识别判断。当不需要时可以随时取消。所以不能通过颜色反推目录!

我们可以设置ls --color

为查询结果添加不同颜色,也可以不加此选项而取消颜色显示!!

其他文件如何设置的颜色数值,可查询文件: /etc/DIR_COLORS

其中,DIR:1;34 目录:高亮,蓝色

如果哪位高手可以实现根据颜色查询目录,欢迎指导!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

可以这样学习linux命令 的相关文章

  • App Engine 上的 Django 与 webapp2 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 配置tomat的server.xml文件并自动生成mod_jk.conf

    我在用apache 2 2 15 and tomcat6 6 0 24 on CentOS 6 4并希望使用 tomcat 服务器的功能 通过添加以下内容自动生成 mod jk conf 文件
  • Scrapy 文件管道不下载文件

    我的任务是构建一个可以下载所有内容的网络爬虫 pdfs 在给定站点中 Spider 在本地计算机和抓取集线器上运行 由于某种原因 当我运行它时 它只下载一些但不是全部的 pdf 通过查看输出中的项目可以看出这一点JSON 我已经设定MEDI
  • Intel 上的 gcc 中的 _mm_pause 用法

    我参考过这个网页 https software intel com en us articles benefitting power and performance sleep loops https software intel com
  • Python3将模块从文件夹导入到另一个文件夹

    我的结构字典是 mainFolder folder1 init py file1 py file2 py folder2 init py file3 py file4 py setup py init py 我需要将 file4 py 从f
  • Python speedtest.net,或等效的[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 是否有一个 Python 库可以实现 SpeedTest net 测试或等效的互联网连接速度测试 GitHub上有一个项目叫速度检查 https gi
  • 在 Python 中从 Excel 复制 YEARFRAC() 函数

    因此 我使用 python 来自动执行一些必须在 Excel 中执行的重复任务 我需要做的计算之一需要使用yearfrac 这在Python中被复制了吗 I found this https lists oasis open org arc
  • 如何知道python运行脚本的路径?

    sys arg 0 给我 python 脚本 例如 python hello py 返回 sys arg 0 的 hello py 但我需要知道 hello py 位于完整路径中的位置 我怎样才能用Python做到这一点 os path a
  • 我可以用关闭的文件对象做什么?

    当您打开文件时 它存储在一个打开的文件对象中 该对象使您可以访问该文件的各种方法 例如读取或写入 gt gt gt f open file0 gt gt gt f
  • Pandas 字典键到列[重复]

    这个问题在这里已经有答案了 我有一个像这样的数据框 index column1 e1 u c680 5 u c681 1 u c682 2 u c57 e2 u c680 6 u c681 2 u c682 1 u c57 e3 u c68
  • Python在没有pandas的情况下解码excel表

    我正在尝试在 python 中读取 excel 文件而不使用pandas or xlrd 我一直在尝试将结果转换为bytes to utf 8没有任何成功 xls 文件中的数据 colA colB colC spc 1D0 20190705
  • Flymake的临时文件可以在系统临时目录下创建吗?

    我目前正在使用以下代码在 emacs 中连接 Flymake 和 Pyflakes defun flymake create temp in system tempdir filename prefix make temp file or
  • Snakemake:将多个输入用于具有多个子组的一个输出的规则

    我有一个工作管道 用于下载 比对和对公共测序数据执行变体调用 问题是它目前只能在每个样本的基础上工作 i e作为每个单独测序实验的样本 如果我想对一组实验 例如样本的生物和 或技术复制 执行变体调用 则它不起作用 我试图解决它 但我无法让它
  • 获取多个同名请求参数

    我的问题是给定的代码 from flask import Flask request app Flask name app route def hello return str request values get param None a
  • 数据损坏 C++ 和 Python 之间的管道

    我正在编写一些代码 从 Python 获取二进制数据 将其通过管道传输到 C 对数据进行一些处理 在本例中计算互信息度量 然后将结果通过管道传输回 Python 在测试时 我发现如果我发送的数据是一组尺寸小于 1500 X 1500 的 2
  • 如何检测一个二维数组是否在另一个二维数组内?

    因此 在堆栈溢出成员的帮助下 我得到了以下代码 data needle s which is a png image base64 code goes here decoded data decode base64 f cStringIO
  • AWS 将 MQTT 消息存储到 DynamoDB

    我构建了一个定期发送 MQTT 消息的 python 脚本 这是发送到后端的 JSON 字符串 Id 1234 Ut 1488395951 Temp 22 86 Rh 48 24 在后端 我想将 MQTT 消息存储到 DynamoDB 表中
  • 从 Django 运行 shell 命令

    我正在 Django 中开发一个网页 使用 apache 服务器 需要调用 shell 命令来启用 禁用一些守护进程 我尝试这样做 os system service httpd restart 1 gt HOME out 2 gt HOM
  • Linux 为一组进程保留一个处理器(动态)

    有没有办法将处理器排除在正常调度之外 也就是说 使用sched setaffinity我可以指示线程应该在哪个处理器上运行 但我正在寻找相反的情况 也就是说 我想从正常调度中排除给定的处理器 以便只有已明确调度的进程才能在那里运行 我还知道
  • 使用 python 将 CSV 文件上传到 Microsoft Azure 存储帐户

    我正在尝试上传一个 csv使用 python 将文件写入 Microsoft Azure 存储帐户 我已经发现C sharp https blogs msdn microsoft com jmstall 2012 08 03 convert

随机推荐

  • Echarts图导出到excel(excel导入图片)

    参照博文echart图导出到pdf 将前台传到后台的二十四位字节编码生成图片 然后将图片导出到excel中 public static void exportEchartsImg HttpServletResponse response L
  • 用云渲染好还是自己搭建传统渲染农场好?

    今天云渲染小编就和大家说说云渲染以及它和传统渲染农场的区别 以及用云渲染好还是自己搭建传统渲染农场好 一 什么是云渲染 云渲染什么意思 首先云渲染是一种依托于云计算的云端服务 用户将本地文件提交到云端服务器 云端计算机集群完成渲染 再将渲染
  • WinForm教程(一)App.config等配置文件

    最近又回到用WinForm开发项目 难免少不了跟数据库打交道 平时也会在App config中写连接字串 但没有仔细深究过 当然除了写数据库字串 肯定还能写别的 我们无论在控制台程序还是窗体程序 都会遇见他 乘代码敲累之际 写篇博客平缓下
  • IFRAME 元素语法

    IFRAME 元素语法 创建内嵌浮动框架 成员表 下面的表格列出了 iframe 对象引出的成员 请单击左侧的标签来选择你想要查看的成员类型 标签属性 属性 描述 ALIGN align 设置或获取表格排列 ALLOWTRANSPARENC
  • linux下使用glob()实现打开任意目录下的所有文件

    linux下使用glob 实现打开任意目录下的所有文件 使用递归 参考了linux glob函数详解的实例4 编程思路 第一次调用glob获取当前目录下所有非隐藏文件 若此次目录文件下没有非隐藏文件 但却可能只有隐藏文件 接着第二次调用gl
  • pandas之汇总和计算描述统计

    文章目录 一 简介 二 汇总和计算描述统计 2 1 sum 值的总和 2 1 1 直接求和 df sum 2 1 2 对行求和 df sum axis 1 2 2 类sum 2 3 相关系数 协方差 2 3 1 DataFrame计算相关系
  • 总结使用libwebsockets开发接入层

    作者 邹祁峰 邮箱 Qifeng zou job hotmail com 博客 http blog csdn net qifengzou 日期 2015 12 13 2015 12 14 转载请注明来自 祁峰 的CSDN博客 1 引言 We
  • 苹果核 - Tangram 1.0技术架构

    上一篇文章介绍了Tangram的开发思路和发展历程 本文将对Tangram 1 0的技术架构做一个概括性的说明 读者如果要了解更多的技术细节可以访问Tangram主页查看详细文档 Tangram作为一个面向常规业务产品的解决方案由3个部分组
  • idea使用gerrit提交报错:missing Change-Id in commit message footer

    异常表现 commit push直接推送正常 commit push 勾选Push to Gerrit 报错 提示 remote remote Processing changes refs 1 remote Processing chan
  • STL之栈

    一 什么是栈 栈也是一种操作 或者说运算 受到限制的特殊线性表 其插入和删除操作都限制在表的一端进行 这一端被称为 栈顶 top 相对的另一端称为 栈底 bottom 两种操作 1 进栈 PUSH 或者 压栈 2 出栈 POP 栈的特点是
  • Android中必须学习的八大开源项目

    欢迎Follow我的GitHub 关注我的CSDN 其余参考Android目录 转载请注明出处 http blog csdn net xiaole0313 article details 52562041 1 Ghost 微影 一款纯粹的在
  • 伺服速度控制模式接线图_PLC采用转矩、位置、速度模式控制伺服电机的方法

    原标题 PLC采用转矩 位置 速度模式控制伺服电机的方法 今天为大家讲解的是关于PLC控制伺服电机三种方式 一 转矩控制 二 位置控制 三 速度模式 一 转矩控制 转矩控制方式是通过外部模拟量的输入或直接的地址的赋值来设定电机轴对外的输出转
  • top-K 算法总结

    问题描述 有 N N gt 1000000 个数 求出其中的前K个最小的数 又被称作topK问题 1 最基本思路 将N个数进行完全排序 从中选出排在前K的元素即为所求 有了这个思路 我们可以选择相应的排序算法进行处理 目前来看快速排序 堆排
  • 【APT检测——论文精读】SLEUTH: Real-time Attack Scenario Reconstruction from COTS Audit Data

    2017 USENIX Security 顶会 Abstract 提出了一种实时重建企业主机攻击场景的方法和系统 为了满足问题的可扩展性和实时性需求 我们开发了一个平台中立的 基于主存的 并使用依赖图来抽象审计数据 然后 我们提出了有效的
  • redux成员、store成员、redux的数据流转、redux如何配合react-redux使用?react-redux的常用API、react-redux、redux和vuex的区别是什么?

    文章目录 前言 一 redux 1 redux三大原则 2 redux的安装 3 redux成员 4 store成员 5 数据流动 6 redux操作流程 7 action里处理异步 8 combineReducers提取reducer 二
  • java实验:电商购物平台(demo)

    课程融合之电商购物平台 将之前所学的知识都融合起来运用 是我目前做过最复杂的项目 不出意外会长期更新 文章目录 前言 实验内容 根据电商购物平台项目需求说明书的要求 抽象出电商购物平台中商品类目类和商品类 并用数组模拟商品数据库 完成商品信
  • vue el-table动态表格表头+对应数据

    vue el table动态表格创建 动态渲染表头 动态匹配表头对应数据 在这里插入代码片
  • SQLmap常用命令/使用教程

    SQLmap是一款自动化SQL注入神器 用于SQL注入漏洞的检测和利用 支持多种数据库 检测位置 u 指定url GET请求 p 指定参数 url包含多个参数时 指定参数 data 指定POST请求参数 cookie 指定cookie参数
  • 线性代数06 矩阵的逆以及求法

    我们已经了解了对于方程组来说 如何根据他的系数矩阵的变化 来实现高斯 诺尔当消元算法 并可以快速的判断方程组的解的情况 这样看上去非常的完美 但是我们在线性代数中 还有一个非常重要的部分就是矩阵的运算 似乎除了初等变换以外 现在目前还对任何
  • 可以这样学习linux命令

    通过综合练习 可以强化linux命令的学习 带着问题学习linux命令及其相关知识 是十分有效的方法 我们通过查询当前目录下的子目录这个问题 学习与训练linux 中一些重要命令 综合练习强于单个命令的分散学习 知识的串联 可以打通知识结点