Linux:第五章课后习题及答案

news2024/9/24 17:17:48

第五章 Linux常用命令

Q1:常用的文本内容显示命令有哪些?区别是什么?

  • 文本内容显示的命令有cat,more,less, head,tail
  • cat:显示文本文件, 也可以把几个文件 内容附加到另一个文件中。如果没有指定 文件,或者文件为“-”,那么就从标准输入 读取。
    • cat [选项] [文件]
    • 【例5.1】 显示/etc/inittab文件的内容。 [root@rhel ~]# cat /etc/inittab
    • 【例5.2】 把textfile1文件的内容加上行号后输 入到textfile2文件中。 [root@rhel ~]# cat -n textfile1 > textfile2
    • 【例5.3】 使用cat命令创建mm.txt。 [root@rhel ~]#cat >mm.txt<Hello >Linux >EOF //在此输入字符EOF,会自动回到shell提示符界面
  • more:分页显示文本文件, 其最基本的按键就是按空 格键就显示下一页内容,按[b]键返回显示 上一页内容。
    • more [选项] [文件名]
    • 【例5.4】 分页显示/etc/services文件的内容。 [root@rhel ~]# more /etc/services
    • 【例5.5】 逐页显示testfile文件内容,如有连续两行以上 空白行则以一行空白行显示。 [root@rhel ~]# more -s testfile
    • 【例5.6】 从第20行开始显示testfile文件的内容。 [root@rhel ~]# more +20 testfile
    • 【例5.7】 一次两行显示/etc/passwd文件内容。 [root@rhel ~]# more -2 /etc/passwd
  • less:回卷显示文本文件
    • less [选项] [文件名]
    • 【例5.8】 回卷显示/etc/services文件的内容。 [root@rhel ~]# less /etc/services
  • head:显示指定文件的前几行, 默认缺省设置为10 行
    • head[选项][文件]
    • 【例5.9】 查看/etc/passwd文件的前100个字节数据内容。 [root@rhel ~]# head –c 100 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nol
    • 【例5.10】 查看/etc/passwd文件的前3行数据内容。 [root@rhel ~]# head -3 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin
  • tail:显示指定文件的末尾几行,默认缺省设置为10 行
    • tail [选项] [文件名]
    • 【例5.11】查看/etc/passwd文件末尾3行数据内容。 [root@rhel ~]# tail -3 /etc/passwd news:x:9:13:News server user:/etc/news:/bin/bash distcache:x:94:94:Distcache:/:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin
    • 【例5.12】 查看文件/etc/passwd末尾100字节的数据内容。 [root@rhel ~]# tail -c 100 /etc/passwd er:/etc/news:/bin/bash distcache:x:94:94:Distcache:/:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin

Q2:常用的文本处理命令有哪些?区别是什么?

  • 文本处理的命令有 sort,uniq,cut, comm,diff
  • sort:对文本中的内容进行排序,并将结果输出到标准输出中
    • sort [选项][文件]
    • 【例5.13】 将文件textfile1数据排序,并显示在屏幕上。 [root@rhel ~]# sort textfile1
    • 【例5.14】 读取textfile1文件内容,以倒序排序该文件并显 示在屏幕上。 [root@rhel ~]# sort -r textfile1
  • uniq:将重复行从文件中删除
    • uniq [选项] [文件]
    • 【例5.15】 查看文件file3中重复的数据内容。 [root@rhel ~]# cat file3 aaa aaa bbb [root@rhel ~]# uniq -d file3 aaa //file3文件中重复行数据的内容为aaa
    • 【例5.16】 查看文件file3中不重复的数据内容。 [root@rhel ~]# uniq -u file3 bbb //file3文件中不重复行数据的内容为bbb
  • cut: 从文件每行中显示出选定的字节、字符或字段
    • cut [选项] [ 文件 ]
    • 【例5.17】 显示文件/etc/passwd中的用户登录名和用户名全 称字段,这是第1个和第5个字段,由冒号隔开。 [root@rhel ~]# cut -f 1,5 -d: /etc/passwd root:root bin:bin daemon:daemon adm:adm lp:lp ……
  • comm: 逐行比较两个已排过序的文件
    • comm [选项] [文件1] [文件2]

  • diff:逐行比较两个文本文件,列出其不同之处。可以事先不排序
    • diff [选项] [文件1] [文件2]
    • 【例5.20】 比较file1和file2文件,列出其不同之处。 [root@rhel ~]# cat file1 a aa [root@rhel ~]# cat file2 a bb //查看文件file1和file2的文件内容 [root@rhel ~]# diff file1 file2 2c2 < aa --- > bb //可以看到file1和file2文件的不同处是第二行的aa和bb

Q3:使用什么命令能显示当前计算机的内核版本?

  • uname -r

Q4:使用什么命令能清除计算机屏幕信息?

  • clear

Q5:使用什么命令可以以倒序方式排序文件内容?

  • sort -r [文件名]

补充:

文件和命令查找

  • 命令有grep、find, locate
  • grep: 查找文件中符合条件的字符串
    • grep [选项] [查找模式] [文件名]
    • 【例5.21】 在文件kkk中搜索匹配字符“test file”。 [root@rhel ~]# grep 'test file' kkk
    • 【例5.22】 显示所有以d开头的文件中包含“test”的行数据内容。 [root@rhel ~]# grep 'test' d*
    • 【例5.23】 在/root/aa文件中找出以b开头的行内容。 [root@rhel ~]#grep ^b /root/aa
    • 【例5.24】在/root/aa文件中找出不是以b开头的行内容。 [root@rhel ~]# grep -v ^b /root/aa
    • 【例5.25】在/root/kkk文件中找出以le结尾的行内容。 [root@rhel ~]# grep le$ /root/kkk
    • 【例5.26】 查找sshd进程信息。 [root@rhel ~]# ps –ef|grep sshd
  • find: 列出文件系统内符合条件的文件
    • find [路径] [选项]
    • 【例5.27】 查找/boot目录下的启动菜单配置文件grub.cfg。 [root@rhel ~]# find /boot -name grub.cfg
    • 【例5.28】 查找/目录下所有以“.conf”为扩展名的文件。 [root@rhel ~]# find / -name '*.conf‘
    • 【例5.29】 列出当前目录及其子目录下所有最近20天内更改 过的文件。 [root@rhel ~]# find . -ctime -20
  • locate: 在数据库中查找文件
    • locate [选项][范本样式]
    • 【例5.34】 查找httpd.conf文件。 [root@rhel ~]# locate httpd.conf
    • 【例5.35】 显示找到几个httpd.conf文件 。 [root@rhel ~]# locate -c httpd.conf

系统信息显示

  • 命令有uname、hostname、free、 du
  • uname: 显示计算机及操作系统相关信息
    • uname [选项]
    • 【例5.36】 显示操作系统的内核发行号。 [root@rhel ~]# uname -r 3.10.0-327.el7.x86_64
    • 【例5.37】 显示计算机硬件架构名称。 [root@rhel ~]# uname -m X86_64
    • 【例5.38】 显示操作系统的全部信息。 [root@rhel ~]# uname -a Linux rhel 3.10.0-327.el7.x86_64 #1 SMP Thu Oct 29 17:29:29 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
  • hostname: 显示或修改计算机主机名
    • hostname [选项] [主机名|-F <文件>] 设置主机名
    • hostname [选项] 显示格式化主机名
  • free:查看内存信息
    • free [选项]
    • 【例5.41】 查看系统的物理内存和交换分区使用情况。 [root@rhel ~]# free
    • 【例5.42】 以MB为单位查看系统的物理内存和交换分区使 用情况。 [root@rhel ~]# free -m
    • 【例5.43】 显示系统的物理内存加上交换分区总的容量。 [root@rhel ~]# free -t
  • du: 显示目录或文件的磁盘占用量
    • du [选项] [文件|目录]
    • 【例5.44】 显示文件/etc/inittab的磁盘占用量。 [root@rhel ~]# du /etc/inittab
    • 【例5.45】 显示/root目录磁盘占用量。 [root@rhel ~]# du –s /root
    • 【例5.46】 以MB为单位显示/root目录磁盘占用量。 [root@rhel ~]# du –sh /root

日期与时间

  • 命令有cal、date、 hwclock
  • cal:显示日历信息
    • cal [选项] [[[日] 月] 年]
    • 【例5.47】 显示本月的月历。 [root@rhel ~]# cal
    • 【例5.48】 显示公元2001年年历。 [root@rhel ~]# cal 2001
    • 【例5.49】 显示公元2007年9月的月历。 [root@rhel ~]# cal 9 2007
    • 【例5.50】 以星期一为每周的第一天的方式显示本月的日历。 [root@rhel ~]# cal -m
    • 【例5.46】 以1月1日起的天数显示今年的年历。 [root@rhel ~]# cal -jy
  • date: 显示和设置系统日期和时间
    • date [选项] [显示时间格式](以+开头,后面 接格式)
    • 【例5.52】 显示当前计算机上的日期和时间。 [root@rhel ~]# date
    • 【例5.53】 设置计算机日期和时间为2028年2月2日19点14分。 [root@rhel ~]# date 0202191428
    • 【例5.54】 按照指定的格式显示计算机日期和时间。 [root@rhel ~]# date +'%r%a%d%h%y'
    • 【例5.55】 设置计算机时间为上午9点16分。 [root@rhel ~]# date -s 09:16:00
    • 【例5.56】 设置计算机时间为2024年4月14日。 [root@rhel ~]# date -s 240414

  • hwclock:查看和设置硬件时钟
    • hwclock [选项]
    • 【例5.57】 查看硬件时间。 [root@rhel ~]# hwclock
    • 【例5.51】 以系统时间更新硬件时间。 [root@rhel ~]# hwclock -w
    • 【例5.52】以硬件时间更新系统时间。 [root@rhel ~]# hwclock -s

信息交流

  • 这些命令有echo、mesg、wall、 write
  • echo:在显示器上显示文字
    • echo [选项] [字符串]
    • 【例5.60】 将一段信息写到标准输出。 [root@rhel ~]# echo Hello Linux Hello Linux
    • 【例5.61】 将文本“Hello Linux”添加到新文件notes中。 [root@rhel ~]# echo Hello Linux > notes [root@rhel ~]# cat notes Hello Linux //查看文件notes,可以看到文件中的内容为hello Linux
    • 【例5.62】 显示$HOME变量的值。 [root@rhel ~]# echo $HOME /root
  • mesg:允许或拒绝写消息
    • mesg [选项]
    • 【例5.63】 显示当前的消息许可设置。 [root@rhel ~]# mesg is y //允许本地网络上的所有主机发送消息到自己的主机
    • 【例5.64】 只允许root用户发送消息到自己的主机。 [root@rhel ~]# mesg n [root@rhel ~]# mesg is n
  • wall: 对全部已登录用户发送信息
    • wall [消息]
    • 【例5.66】 向所有用户发出“下班以后请关闭计算机。” 的信息。 [root@rhel ~]# wall '下班以后请关闭计算机' [root@rhel ~]# Broadcast message from root@rhel (pts/1) (Sun Jun 3 05:38:14 2012): 下班以后请关闭计算机
  • write:向用户发送消息
    • write [用户] [终端名称]
    • 【例5.67】 在tty2终端上向tty3终端上的root用户发送信息。 [root@rhel ~]# write root tty3 hello //在tty2终端上输入要发送的信息,输入完毕,希望退出发送状态 时,按组合键[Ctrl+c]即可 [root@rhel ~]# Message from root@rhel on tty2 at 05:39 ... hello EOF //在终端tty3上,用户root会接收到以上信息,要结束时,按 [Ctrl+c]组合键即可

其他命令

  • clear:清除计算机屏幕信息
  • uptime:显示系统已经运行的时间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/672584.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第一章 AlexNet网络详解

系列文章目录 第一章 AlexNet网络详解 第二章 VGG网络详解 第三章 GoogLeNet网络详解 第四章 ResNet网络详解 第五章 ResNeXt网络详解 第六章 MobileNetv1网络详解 第七章 MobileNetv2网络详解 第八章 MobileNetv3网络详解 第九章 ShuffleNetv1网络详解 第十章…

python绘画多边形(turtle)

目录 前言 正三角形 正四边形 正多边形 总结&#xff1a; 前言 事情的起因是&#xff0c;我今天心血来潮想让openai生成路飞的图像看效果怎么样&#xff0c;他是这样回我的。 我这一想&#xff0c;这不稳了吗&#xff0c;这么轻松。结果…… import turtle# 定义画笔颜色…

【Visual Studio】报错 C1083,使用 C++ 语言,配合 Qt 开发串口通信界面

知识不是单独的&#xff0c;一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏&#xff1a;Visual Studio。 文章目录 问题解决方案Ref. 问题 使用 C 语言&#xff0c;配合 Qt 开发串口通信界面时&#xff0c;报错代码 C1083。 复制一下错误信息&#xff0c;方便别人…

【C语言进阶】编译链接

文章目录 &#x1f4d6;程序的两种环境 &#x1f516;翻译环境&#x1f516;执行环境 &#x1f4d6;详解翻译环境&#x1f516;从人的角度去看编译链接&#x1f516;预编译&#x1f516;编译&#x1f516;汇编&#x1f516;链接&#x1f516;符号表的作用 &#x1f4d6;执行环境…

外贸订单管理平台有哪些?

外贸订单的管理是外贸出口业务中非常重要的一项管理工作&#xff0c;订单能否实现准时交付则需要涉及到各种流程顺畅的支持。那么外贸订单管理平台有哪些&#xff1f;有孚盟软件。 首先&#xff0c;外贸订单管理平台主要是解决外贸公司的订单查询与管理&#xff0c;面对大量不…

2.4G无线收发芯片 XL2400,SOP8封装,外挂MCU使用

XL2400 芯片是工作在 2.400~2.483GHz 世界通用 ISM 频段的单片无线收发芯片。该芯片集成射频收发机、频率收生器、晶体振荡器、调制解调器等功能模块&#xff0c;并且支持一对多组网和带 ACK 的通信模式。发射输出率、工作频道以及通信数据率均可配置。芯片已将多颗外围贴片阻容…

mysql错误-1055 - Expression #1 of SELECT list is not in GROUP BY clause 解决方案

目录 业务场景发现问题表结构表数据sql查询 分析问题验证 解决问题方案一方案二方案三 注意事项 业务场景 当遇到数据库重复数据&#xff0c;就要将数据进行分组&#xff0c;取其中一条来展示&#xff0c;此时就要用到group by语句。 但当mysql的版本高于5.7时&#xff0c;在执…

ESP32设备驱动-TCA9548A-I2C多路复用器驱动

TCA9548A-I2C 多路复用器驱动 文章目录 TCA9548A-I2C 多路复用器驱动1、TCA9548A介绍2、硬件准备3、软件准备4、驱动实现4.1 TCA9548A总线复用实现4.2 驱动多个OLED显示屏4.3 驱动多个BME280传感器在本文中,将介绍如何使用 TCA9458A I2C 多路复用器扩展 I2C 总线端口。 如果你…

【Python 基础篇】Python 列表及列表常用函数

文章目录 一. 什么是列表二. 列表的创建和访问2.1 创建列表2.2 访问列表元素 三. 列表的操作3.1 修改列表元素3.2 列表的添加和删除元素3.2.1 添加元素3.2.2 删除元素 3.3 列表的排序3.4 判断元素是否在列表中 四. 列表的常用函数和方法五. 总结 一. 什么是列表 在Python中&am…

CLO-GitHub网站注册登录

一、GitHub GitHub是一个面向开源及私有软件项目的托管平台&#xff0c;仅支持Git作为唯一的版本库格式进行托管。 二、登录官网 网站&#xff1a;https://github.com/ 2.1 注册Sign up Enter your Email&#xff08;输入邮箱地址&#xff09;->Continue-> ->Create a…

HCIP网络笔记分享——VLAN及MPLS多标签协议交换

第三部分 HCIA回顾一、MPLS多协议标签交换1、标签交换2、静态LSP搭建3、LDP协议4、本地LDP会话建立的过程 二、MPLS VPN的配置使用MPLS VPN 三、实际情况配置1、VLAN第一步&#xff1a;创建VLAN第二步&#xff1a;将接口划入VLAN第三步&#xff1a;配置trunk干道 2、U/T标记3、…

AI绘画基于 Kaggle 10 分钟搭建 Stable Diffusion(保姆级教程)

AI绘画基于 Kaggle 10 分钟搭建 Stable Diffusion&#xff08;保姆级教程&#xff09; 一、引言二、安装教程1. 注册 Kaggle2. Edit My Copy3. 进行手机号的验证4. 打开 “internet off” 开关&#xff0c;并选择显卡5. 开启 session&#xff0c;运行脚本 三、主界面介绍四、注…

车辆派遣管理系统——需求

文章目录 一、背景二、用户的特点三、系统范围四、系统体系结构系统总体架构描述&#xff1a; 五、数据库设计E-R图数据字典 六、工作量估算七、项目燃尽图 一、背景 车辆派遣管理系统是提供对车辆派遣高效管理的系统&#xff0c;自动生成结算结果&#xff1b;可以有效节约车辆…

侯捷——1.C++面向对象高级开发 总结

侯捷——1.C面向对象高级开发 总结 前面的几个视频没有总结&#xff0c;等以后有空再补 7. Class with pointer member(s) —— string 类 该string类&#xff0c;内含指针&#xff0c;所以要自己写构造函数和析构函数&#xff0c;不能使用默认的构造函数和析构函数。 包含…

MHA部署

目录 高可用集群MHA 环境准备 设置服务器免密通联 修改主机名和hosts文件(四台) 四台服务器相同操作 四台服务器相同操作-关闭防火墙 四台服务器-免密配置-生成密钥 四台服务器-免密配置-复制密钥 将authorized_keysau文件发送给node2/3/4 测试是否免密登陆其他主机 …

0018-TIPS-pawnyable : NULL-Pointer-Dereference

原文 NULL Pointer Dereference 题目下载 环境宽松限制 启动选项中可以看到&#xff0c;SMAP在被攻击的机器上被禁用。除非禁用 SMAP&#xff0c;否则无法利用本章中讨论的 NULL 指针取消引用。 还可以尝试启动该内核并输入以下命令&#xff1a; $ cat /proc/sys/vm/mmap_mi…

chatgpt赋能python:Python文件打包:了解基本概念和步骤

Python文件打包&#xff1a; 了解基本概念和步骤 Python开发现在已经越来越成为了一种主流开发方式&#xff0c;然而&#xff0c;当我们的代码在多个环境中运行时&#xff0c;我们可能会遇到各种问题。Python文件打包就起到了非常重要的作用&#xff0c;它可以把我们的代码和环…

java ArrayList()常用详解

文章目录 java ArrayList()常用详解构造方法构造一个具有指定初始容量的空列表构造具有指定初始容量的空列表 常用方法指定的元素追加到此列表的末尾泛型 用来约束集合中存储数据的数据类型在次列表中的指定位置插入指定的元素返回此列表中指定位置的元素删除该列表中指定位置的…

spring 解决循环依赖

spring 解决循环依赖 1、什么是循环依赖&#xff1f; 循环依赖其实就是循环引用&#xff0c;也就是两个或则两个以上的bean互相持有对方&#xff0c;最终形成闭环。比如A依赖于B&#xff0c;B依赖于C&#xff0c;C又依赖于A。如下图&#xff1a; spring的单例对象的初始化主要…

DAC0832

芯片简介&#xff1a; DAC0832是采样频率为八位的D/A转换芯片&#xff0c;集成电路内有两级输入寄存器&#xff0c;使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式。D/A转换结果采用电流形式输出。若需要相应的模拟电压信号&#xff0c;可通过一个高输入阻抗的线性运算放…