冬季实战营第二期:Linux操作系统实战入门

简介: 冬季实战营第二期:这期我们学到了很多东西有Linux文本处理、Linux系统管理、Linux磁盘管理、Linux文件与权限操作、Linux文件管理,更多详情内容查看正文。

Linux文本处理入门深入解析动手实操

学习并使用Linux系统中的文本编辑工具Vim以及文本处理命令。

vim的三种操作模式

命令模式、输入模式和底线命令模式

在命令模式下,快捷键gg表示移动游标到第一行,快捷键nG表示移动游标到第n行,快捷键Ctrl+o表示快速回到上一次光标所在位置等。

输入模式就没有什么好讲的了,直接在命令模式下按i或a键就进入了输入模式。

底线命令模式中保存并退出:wq(加一个感叹号表示强制保存退出),将文件的行号显示出来 :set nu,等基础的命令。

文本文件查看命令cat

cat命令一般用于查看内容比较少的文件。以下是cat操作的一些参数:

more:more命令从前向后分页显示文件内容。

less:less命令可以对文件或其它输出进行分页显示,与moe命令相似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动。

head:head命令用于查看文件开头指定行数的内容。

tail:tail命令用于查看文档的后N行或持续刷新内容。

stat:用来显示文件的详细信息,包括inode、atime、mtime、ctime等。

wc:wc命令用于统计指定文本的行数、字数、字节数。

file:file命令用于辨识文件类型。

diff:diff命令用于比较文件的差异。

grep:grep命令用于查找文件里符合条件的字符串。

sed:sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用。

awk:和 sed 命令类似,awk 命令也是逐行扫描文件(从第 1 行到最后一行),寻找含有目标文本的行,如果匹配成功,则会在该行上执行用户想要的操作;反之,则不对行做任何处理。

cut:cut命令主要用来切割字符串,可以对输入的数据进行切割然后输出。

tr:tr命令用于对来自标准输入的字符进行替换、压缩和删除。

Linux系统管理入门深入解析动手实操

体验了Linux中常用的系统工作命令以及系统状态检测命令。

学习到了对Linux服务器进行系统管理、进程管理的命令,了解到Shell命令中的变量、管道符(|)、重定向(>)等知识。

常用系统工作命令

echo:echo命令用于在终端输出字符串或变量提取后的值。

date:date命令用于显示和设置系统的时间和日期。时间格式的部分控制字符命令如下:

date "+%r":显示当地时间下的 12 小时时钟的时间 (如:11:11:04 下午)

date "+%U":显示一年中的第几周,以周日为每星期第一天(如:00-53)

date "+%W":显示一年中的第几周,以周一为每星期第一天(如:00-53)

wget:在终端中下载文件。部分参数使用命令如下:

wget -b:后台下载

wget -P:下载到指定目录,如果指定路径不存在会自动创建

wget -r:递归下载

ps:ps命令用于查看系统中的进程状态。部分参数使用命令如下:

ps -a:显示现行终端机下的所有程序,包括其他用户的程序

ps -e:列出程序时,显示每个程序所使用的环境变量

ps -f:显示当前所有的进程

top:top命令动态地监视进程活动与系统负载等信息。

输出视图中分为两个区域,一个统计信息区,一个进程信息区。

统计信息区:

第一行信息依次为:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。

第二行信息依次为:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。

第三行信息依次为:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。

第四行信息依次为:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。

第五行信息依次为:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、预加载内存量。

进程信息区:

列名 含义

PID 

进程ID
USER  进程所有者的用户名
PR  进程优先级
NI  nice值。负值表示高优先级,正值表示低优先级
VIRT  进程使用的虚拟内存总量,单位kb
RES  进程使用的、未被换出的物理内存大小,单位kb
SHR  共享内存大小,单位kb
进程状态D:不可中断的睡眠状态R:正在运行S:睡眠T:停止Z:僵尸进程
%CPU  上次更新到现在的CPU时间占用百分比
%MEM  进程使用的物理内存百分比
TIME+  进程使用的CPU时间总计,单位1/100秒
COMMAND  命令名

pidof:pidof命令用于查询指定服务进程的PID值。

kill:kill命令用于终止指定PID的服务进程。

killall:killall命令用于终止指定名称的服务对应的全部进程。

系统状态检测命令

ifconfig:ifconfig命令用于获取网卡配置与网络状态等信息。

命令输出说明:

第一部分的第一行显示网卡状态信息。

eth0表示第一块网卡。

UP代表网卡开启状态。

RUNNING代表网卡的网线被接上。

MULTICAST表示支持组播。

第二行显示网卡的网络信息。

inet(IP地址):172.16.132.195。

broadcast(广播地址):172.16.143.255。

netmask(掩码地址):255.255.240.0。

RX表示接收数据包的情况,TX表示发送数据包的情况。

lo表示主机的回环网卡,是一种特殊的网络接口,不与任何实际设备连接,而是完全由软件实现。与回环地址(127.0.0.0/8 或 ::1/128)不同,回环网卡对系统显示为一块硬件。任何发送到该网卡上的数据都将立刻被同一网卡接收到。

uname:uname命令用于查看系统内核与系统版本等信息。

free:free用于显示当前系统中内存的使用量信息。

who:who 命令显示关于当前在本地系统上的所有用户的信息。

last: last 命令用于显示用户最近登录信息。

history:history命令用于显示历史执行过的命令。

Linux磁盘管理入门深入解析动手实操

学习并体验了Linux系统中常用的磁盘管理命令。

磁盘管理命令

df命令:该命令检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

du命令:查看磁盘使用空间。du与df命令不同点在于,du命令用于查看文件和目录磁盘的使用空间。

fdisk命令:该命令用于磁盘分区。

Linux文件与权限入门深入解析动手实操

学习了Linux系统中常用的文件目录管理和文件权限管理命令。我学习到了怎么创建文件或者文件夹,同时怎么查看文件夹下面有什么内容,查看当前在什么目录下面的目录,ls命令用于显示指定工作目录下的内容等,还有copy复制目录。

文件目录管理命令

ls: ls命令用于显示指定工作目录下的内容。

pwd:获取当前工作目录的绝对路径。

cd:cd命令用于切换工作目录。

touch:touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

mkdir:mkdir命令用于新建子目录。-p参数确保目录名称存在,不存在的就新建一个。

rm:rm命令用于删除一个文件或者目录。

cp: cp命令主要用于复制文件或目录。

mv: mv命令用来为文件或目录改名、或将文件或目录移入其它位置。

rename:rename命令用字符串替换的方式批量改变文件名。rename命令有C语言和Perl语言两个版本,这里介绍C语言版本的rename命令,不支持正则表达式。

文件权限

ls -l命令可以查看Linux系统上的文件、目录和设备的权限。

第1位表示存档类型,d表示目录,-表示一般文件。

第2~4位表示当前用户的权限(属主权限)。

第5~7位表示同用户组的用户权限(属组权限)。

第8~10位表示不同用户组的用户权限(其他用户权限)。

第11位是一个半角句号.,表示SELinux安全标签。

用户权限每组三位,rwx分别表示读、写、执行权限,对应八进制表示为4、2、1。

chmod命令:chmod命令用于修改文件权限mode,-R参数以递归方式对子目录和文件进行修改。

chown命令:chown命令修改文件的属主和属组;-R参数以递归方式对子目录和文件进行修改;ls -l命令显示的第三列和第四列就是文件的属主和属组信息。

chgrp命令:chgrp命令用于修改文件的属组。

Linux文件管理入门深入解析动手实操

学习了Linux系统中常用的文件管理命令。

磁盘管理命令

cat命令:该命令用于连接文件并打印到标准输出设备上。

cmp命令:该命令用于比较两个文件是否有差异。当相互比较的两个文件完全一样时,该指令不会显示任何信息。否则会标示出第一个不同之处的字符和列数编号。当不指定任何文件名称,或文件名为"-",则cmp指令会从标准输入设备读取数据。

diff命令:该命令用于比较文件的差异。diff命令以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。

file命令:该命令用于辨识文件类型。

find命令:该命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

本期小知识:更新系统时间,与网络时间同步

a. 安装ntp校时工具

yum -y install ntp

b. 用ntpdate从时间服务器更新时间

ntpdate time.nist.gov

目录
相关文章
|
2天前
|
存储 Linux C语言
Linux:冯·诺依曼结构 & OS管理机制
Linux:冯·诺依曼结构 & OS管理机制
9 0
|
1天前
|
存储 Shell Linux
操作系统实战(一)(linux+C语言)
本篇文章重点在于利用linux系统的完成操作系统的实验,巩固课堂知识
|
1天前
|
Linux Shell
Linux操作系统下查找大文件或目录的技巧
Linux操作系统下查找大文件或目录的技巧
|
2天前
|
算法 Ubuntu Linux
为什么Linux不是实时操作系统
本文探讨了Linux为何不是实时操作系统(RTOS)。实时性关乎系统对事件的确定性响应时间,而Linux虽能保证调度执行的实时任务,但无法确保中断响应时间、中断处理时间和任务调度时间的确定性。中断响应时间受中断屏蔽时间影响,Linux中无法确保;中断处理时间因不支持中断嵌套而不确定;任务调度时间虽快,但调度点的限制影响实时性。Linux的定位是通用操作系统,追求平均性能而非绝对实时性。为改善实时性,Linux提供了不同抢占模型,如可抢占内核(Low-Latency Desktop)和PREEMPT-RT补丁,后者接近硬实时但牺牲了吞吐量。PREEMPT-RT正逐渐成为Linux实时增强的标准。
10 1
为什么Linux不是实时操作系统
|
2天前
|
存储 Ubuntu Linux
xenomai3+linux构建linux实时操作系统-基于X86_64和arm
Xenomai是一个实时性解决方案,通过在Linux上添加实时内核Cobalt来增强实时性能。它有三个主要部分:libcobalt(用户空间实时库)、Cobalt(内核空间实时内核)和硬件架构特定层(ipipe-core或dovetail)。ipipe-core适用于Linux 5.4以下版本,而dovetail用于5.4及以上版本。本文介绍了在X86 Ubuntu环境下,如何编译Xenomai内核,搭建应用环境,包括配置、编译、安装和实时性测试。对于其他硬件架构,如ARM和ARM64,步骤类似。文章还提到了Xenomai与Linux内核版本的兼容性和实时性测试结果。
11 0
xenomai3+linux构建linux实时操作系统-基于X86_64和arm
|
2天前
|
消息中间件 测试技术 Linux
linux实时操作系统xenomai x86平台基准测试(benchmark)
本文是关于Xenomai实时操作系统的基准测试,旨在评估其在低端x86平台上的性能。测试模仿了VxWorks的方法,关注CPU结构、指令集等因素对系统服务耗时的影响。测试项目包括信号量、互斥量、消息队列、任务切换等,通过比较操作前后的时戳来测量耗时,并排除中断和上下文切换的干扰。测试结果显示了各项操作的最小、平均和最大耗时,为程序优化提供参考。注意,所有数据基于特定硬件环境,测试用例使用Alchemy API编写。
9 0
linux实时操作系统xenomai x86平台基准测试(benchmark)
|
2天前
|
缓存 安全 Linux
Linux入门基本指令(2)
Linux入门基本指令(2)
8 0
|
2天前
|
Linux Windows
Linux入门基本指令(1)-2
Linux入门基本指令(1)
8 1
|
2天前
|
Linux 数据安全/隐私保护 Windows
Linux入门基本指令(1)-1
Linux入门基本指令(1)
12 1
|
3天前
|
数据挖掘 Linux vr&ar
Linux命令实战:解决日常问题的利器
Linux命令实战:解决日常问题的利器