Linux命令简介

1 Linux系统的命令概述

  • 在 Linux 操作系统中,凡是在字符操作界面中输入能够完成特定操作和任务的字符串都可以称为命令。
  • 严格来说,命令通常只代表实现某一类功能的指令或程序的名称。

1.1 Shell

  • Linux 命令的执行必须依赖于 Shell 命令解释器。
  • Shell 实际上是在 Linux 操作系统中运行的一种特殊程序,它位于操作系统内核与用户之间,负责接收用户输入的命令并进行解释,将需要执行的操作传递给系统内核执行,Shell 在用户和内核之间充当了“翻译官”的角色。

在这里插入图片描述

  • 当用户登录到 Linux 系统时,会自动加载一个 Shell 程序,以便给用户提供可以输入命令的操作系统。Bash 是 Linux 操作系统中默认使用的 Shell 程序,文件位于/bin/bash。

1.2 Linux命令分类

根据 Linux 命令与 Shell 程序的关系,Linux 命令一般分为以下两种类型:

  • 内部命令
  • 外部命令
内部命令外部命令
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令Linux系统中能够完成特定功能的脚本或二进制程序
属于Shell的一部分属于Shell解释器程序之外的命令
没有单独对应的系统文件每个外部命令对应了系统中的一个文件
自动载入内存,可以直接使用必须知道其对应的文件位置,有Shell加载后才能执行

1.3 Linux命令

  • 格式:命令字 [选项] [参数] 操作对象
    • 命令字、选项、参数之间用空格分开,多余的空格将被忽略。
    • [ ]括起来的部分表示可以省略,即命令行可以只有命令字,也可以只有命令字、选项,或者只有命令字、参数。
  • 命令字
    • 命令字即命令名称,是整条命令中最关键的一部分。在 Linux 的字符操作界面中,使用命令字唯一确定一条命令,因此在输入命令时一定要确保输入的命令字正确。
    • 在 Linux的命令环境中,无论是命令名还是文件名,对英文字符的处理是区分大小写的,操作时需要注意。
  • 选项
    • 选项的作用是调节命令的具体功能,决定这条命令如何执行。同一个命令字配合不同的选项使用时,可以获得相似但具有细微差别的功能。
    • 命令使用的选项有如下一些特性:
      • 不同的命令字能够使用的选项也会不同(选项的个数和内容)。
      • 选项的数量可以是多个,也可以省略。同时使用多个选项时,选项之间使用空格分隔。若不使用选项,将执行命令字的默认功能。
      • 使用单个字符的选项时,一般在选项前使用“-”符号(半角的减号符)引导,称为短格式选项,如“-l”。多个单字符选项可以组合在一起使用,如“-al”等同于“-a -l”。
      • 使用多个字符的选项时,一般在选项前使用“–”符号(两个半角的减号符)引导,称为长格式选项,如“–help”。
    • 有些命令字对于同一功能会同时提供长、短两种格式的选项。长格式的选项意义明确,容易记忆,而短格式的选项结构简单、输入快捷。两种格式可以混用。
  • 注意:
    • Linux区分大小写,参数有多个的时候,可以分开写,也可以合并写,参数如果用简写使用-开头,如果写单词全拼,用–开头。
    • 命令帮助:对于不熟悉的命令和参数,可以使用帮助来查看。如:命令 --help;除了–help之外,还有一个帮助命令,这个命令显示的信息更完整,这个命令是:man 命令。

在实际使用 Linux 命令行的过程中,“选项”和“参数”的称谓经常混淆,甚至前后顺序也允许颠倒,但一般不会影响命令的执行效果,所以很多时候并不做严格区分。

1.4 编辑Linux命令行

编辑Linux命令行的辅助操作

  • Tab 键:自动补齐
    该功能只能向后补齐,且必须以已输入的部分字符开头,能够唯一定位一个命令字或文件、目录名,否则可按两次 Tab键,系统将输出可用的名称列表。
  • 反斜杠“\”:强制换行
  • Ctrl+U组合键:清空至行首
  • Ctrl+K组合键:清空至行尾
  • Ctrl+L组合键:清屏
  • Ctrl+C组合键:取消本次命令编辑

2 Linux系统的命令帮助

2.1 使用help命令

  • help 命令本身是 Linux Shell 中的一个内建指令,其用途是查看各 Shell 内部命令的帮助信息。
  • 使用 help 命令时,只需要添加内部命令的名称作为参数即可。
  • 例如,执行“help pwd” 命令可以查看 Shell 内部命令 pwd 的帮助信息(pwd 命令用于显示当前用户所在的工作目录)。

2.2 使用“–help”选项

  • 对于大多数 Linux 外部命令,可以使用一个通用的命令选项“–help”来显示对应命令字的格式及选项等帮助信息。若该命令字没有“–help”选项,一般只会提示简单的命令格式。
  • 例如,执行“ls --help”命令可以查看 ls 命令的帮助信息(ls 命令用于显示文件或目录列表信息)

2.3 使用man手册

  • man 手册页(Manual Page)是 Linux 操作系统中最为常用的一种在线帮助形式,绝大部分的外部软件在安装时为执行程序、配置文件提供了详细的帮助手册页。这些手册页中的信息按照特定的格式进行组织,通过统一的手册页浏览程序 man 进行阅读。
  • 例如,执行“man file”命令可以查看 file 命令的手册页信息(file 命令用于判断文件的类型)
  • 在阅读 man 手册页时将以全屏的文本方式显示,并且提供了交互式的操作环境。
  • 按↑、↓方向键可以向上、向下滚动一行文本内容;按 Page Up 键和 Page Down 键可以向上、向下翻页显示;按 Q 键或 q 键可以随时退出手册页的阅读环境;按/键后可以对手册内容进行查找,如输入“/-v”可以查找到“-v”选项的帮助信息,若找到的结果有多个,还可以按 n 键或N 键分别向下、向上进行定位选择。
  • 如果需要将 man 手册页的内容保存成文本文件以便在其他系统中查看,可以结合 col命令去除手册页中的格式控制字符,并将显示结果保存为新的文件。
    man ls | col -b > lshelp.txt
    • col 是一个命令程序,用于过滤文本中的一些特殊控制字符
    • 管道:用竖杠符号“|”表示,用于将前面命令的屏幕输出结果作为后面命令的操作对象(输入)
    • 重定向输出:用大于符号“>”表示,前面的命令成功执行以后,其屏幕输出结果将保存到“>”号后边指定的文件中,而不是直接输出到屏幕,因此称为重定向

3 Linux系统的基础命令

3.1 查看系统版本

  • 语法 : cat /etc/*release
  • *release 表示显示任意以release结尾的文件

3.2 date命令

用于打印或设置系统的日期和时间,能够显示当前时间,支持多种时间格式的自定义输出,可以设置系统时间(需要管理员权限)。

  • 基本语法:
    date [选项]… [+格式]
    date [选项] [MMDDhhmm[[CC]YY][.ss]]
  • 显示当前时间:
    直接输入 date 即可显示当前的系统时间。
  • 设置系统时间:
    通过格式 date -s “YYYYMMDD hh:mm:ss” 可以设置具体的日期和时间。

3.3 hwclock命令

hwclock命令用于显示与设定硬件时钟

  • 语法:
    hwclock [–adjust][–debug][–directisa][–hctosys][–show][–systohc][–test][–utc][–set --date=<日期与时间>]
  • 参数:
    –adjust  hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用–adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。
    –debug  显示hwclock执行时详细的信息
    –directisa  hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟
    –hctosys  将系统时钟调整为与目前的硬件时钟一致
    –set --date=<日期与时间>  设定硬件时钟
    –show  显示硬件时钟的时间与日期
    –systohc  将硬件时钟调整为与目前的系统时钟一致
    –test  仅测试程序,而不会实际更改硬件时钟
    –utc  若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。
  • 查看硬件时钟:hwclock
  • 设置硬件时钟时间(将系统时间写入硬件时钟):hwclock --systohc
  • 从硬件时钟读取时间,设置系统时间:hwclock --hctosys

3.4 Linux系统硬件时钟和系统时间

在Linux系统中,硬件时钟(也称为实时时钟或RTC, Real-Time Clock)和系统时间(也称为软件时钟或内核时钟)是两个不同的概念,它们各自扮演着重要的角色。

3.4.1 硬件时钟 (RTC)

  • 定义:
    硬件时钟是指计算机主板上的一个物理时钟装置,它即使在计算机关闭或断电的情况下也能保持运行。RTC通常由一个小的电池供电,确保时间信息不会丢失。
  • 功能:
    • 主要负责保存系统的当前时间和日期,以便在系统启动时提供一个初始的时间设置。
    • 它在系统未启动时也能保持准确的时间,从而为系统提供了重启后的基本时间参考。
  • 特点:
    • 在系统未启动时也能保持准确的时间。
    • 一般存储的是协调世界时(UTC),但也可以配置为本地时间(这取决于系统的设置)。
    • 通过 hwclock 命令可以查看和设置硬件时钟。

3.4.2 系统时间

  • 定义:
    系统时间是由操作系统内核维护的一个虚拟时钟,它依赖于CPU的时钟周期来计时。当系统启动时,它会根据硬件时钟初始化,并且在系统运行期间持续更新。
  • 功能:
    用于记录和管理所有与时间相关的操作,如文件的时间戳、日志记录、定时任务等。它是Linux系统中所有应用程序和服务获取当前时间的主要来源。
  • 特点:
    • 只在系统运行时有效;一旦系统关闭或重启,这个时钟就会停止计时。
    • 系统时间通常是基于协调世界时(UTC),然后根据系统的时区设置转换为本地时间。
    • 系统时间可以通过网络时间协议(NTP)进行同步,以确保与互联网标准时间服务器的时间一致。
    • 通过 date 和 timedatectl 命令可以查看和设置系统时间。

3.4.3 两者区别

  • 电源依赖性:硬件时钟在系统关闭后仍然保持工作,而系统时间则依赖于系统的运行状态。这意味着硬件时钟可以在系统未通电的情况下继续计时,而系统时间则会在系统关闭后停止。
  • 准确性:硬件时钟可能会有轻微的漂移,尤其是在长时间未校准的情况下。相比之下,系统时间可以通过NTP服务定期与外部时间服务器同步,因此通常更加准确。
  • 初始化:系统启动时,硬件时钟的时间会被用来初始化系统时间。之后,系统时间会独立运行,并可能通过NTP等方式进行调整,而不再直接依赖硬件时钟。
  • 作用范围:硬件时钟仅用于保存基本的时间信息,而系统时间则涉及到整个操作系统的各种时间敏感型操作,如文件系统的时间戳、日志记录、计划任务执行等。

3.4.5 时间不同步的危害

硬件时钟和系统时间不同步可能会给Linux系统带来一系列问题,影响系统的稳定性和可靠性:

  • 日志记录错误
  • 计划任务执行失败
  • 文件系统和数据库一致性问题
  • 网络通信问题
  • 应用程序行为异常
  • 审计和合规性问题

3.4.6 时间同步

为了确保系统时间的准确性,通常建议采取以下措施:

  • 启动时同步
    在系统启动时,使用 hwclock --hctosys 将硬件时钟的时间复制到系统时间。这一步骤确保了系统启动时能够获得一个相对准确的时间起点。
  • 运行时同步
    在系统运行期间,使用NTP服务(如 ntpd 或 systemd-timesyncd)来定期同步系统时间。这有助于保持系统时间与全球标准时间的一致性,特别是在网络连接可用的情况下。
  • 关机时同步
    在系统关闭前,使用 hwclock --systohc 将系统时间写回到硬件时钟,以确保下一次启动时的时间是准确的。这对于那些不经常连接到互联网的系统尤为重要,因为它们无法通过NTP服务来频繁校正时间。

如果在生产环境中,不建议写一个定时器自动同步硬件时钟脚本。如果时间更新跳跃幅度太大,请仔细评估时间更新后是否会对已运行系统造成影响,避免同步后依赖于时间戳的系统业务出现重大问题。

3.5 清屏命令

clear:用于清除终端屏幕上的内容,使屏幕变得干净整洁。这在终端显示的信息过多,或者你想要一个全新的工作界面时非常有用。

3.6 logout命令

logout:用于退出系统(注销)

3.7 shutdown命令

shutdown 命令可以用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机。

  • 语法:shutdown [-t seconds] [-rkhncfF] time [message]
  • 参数说明:
    • -t seconds : 设定在几秒钟之后进行关机程序。
    • -k : 并不会真的关机,只是将警告讯息传送给所有使用者。
    • -r : 关机后重新开机。
    • -h : 关机后停机。
    • -n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机。
    • -c : 取消目前已经进行中的关机动作。
    • -f : 关机时,不做 fsck 动作(检查 Linux 档系统)。
    • -F : 关机时,强迫进行 fsck 动作。
    • time : 设定关机的时间。
    • message : 传送给所有使用者的警告讯息。

3.7.1 关机

shutdown -h 指定时间,此处-h参数是halt的缩写。

  • shutdown -h now 代表立刻关机
  • shutdown -h 10 代表10分钟以后关机
  • shutdown -h 20:00:00 代表晚上八点整关机
  • poweroff:立刻关机

3.7.2 重启

shutdown -r 指定时间,-r是reboot的缩写,代表重启
reboot本身也是一个重启命令

  • shutdown -r now 代表立刻重启
  • shutdown -r 10 代表10分钟以后重启
  • shutdown -r 20:00:00 代表晚上八点整重启
  • reboot 代表立即重启

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

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

相关文章

WebRTC与RTSP|RTMP的技术对比:低延迟与稳定性如何决定音视频直播的未来

引言 音视频直播技术已经深刻影响了我们的生活方式&#xff0c;尤其是在教育、医疗、安防、娱乐等行业中&#xff0c;音视频技术成为了行业发展的重要推动力。近年来&#xff0c;WebRTC作为一种开源的实时通信技术&#xff0c;成为了音视频领域的重要选择&#xff0c;它使得浏览…

多通道振弦式数据采集仪MCU安装指南

设备介绍 数据采集仪 MCU集传统数据采集器与5G/4G,LoRa/RS485两种通信功能与一体的智能数据采集仪。该产品提供振弦、RS-485等的物理接口&#xff0c;能自动采集并存储多种自然资源、建筑、桥梁、城市管廊、大坝、隧道、水利、气象传感器的实时数据&#xff0c;利用现场采集的数…

Vue3 + Element Plus表格筛选样式设置

如果弹出框挂载在 body 下&#xff08;而非组件内部&#xff09;&#xff0c;scoped 样式无法生效&#xff0c;这时就需要使用全局样式。 强制全局样式 1、添加全局样式文件&#xff08;或在原有的文件中添加以下内容&#xff09; src/assets/global.scss /* 全局强制样式覆…

vue--ofd/pdf预览实现

背景 实现预览ofd/pdf超链接功能 业务实现 pdf的预览 实现方式&#xff1a; 直接使用 <iframe :src"${url}#navpanes0&toolbar0" /> 实现pdf的预览。 navpanes0 隐藏侧边栏toolbar0 隐藏顶部工具栏 使用pdf.js&#xff0c;代码先行&#xff1a; <tem…

【C++20新特性】ranges::sort()使用方法,优势,注意点

以下是关于 ranges::sort() 的详细说明&#xff1a; 1. ranges::sort() 的使用方法 ranges::sort() 是 C20 引入的基于范围&#xff08;Ranges&#xff09;的排序函数&#xff0c;其语法更简洁&#xff0c;支持直接操作容器或范围对象。 (1)基本用法 #include <vector&g…

深入理解设计模式之适配器模式

深入理解设计模式之适配器模式 1. 适配器模式概述 适配器模式(Adapter Pattern)是一种结构型设计模式&#xff0c;它允许将一个类的接口转换为客户端所期望的另一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的类能够协同工作&#xff0c;扮演了"转换器&quo…

【数据结构 · 初阶】- 快速排序

目录 一. Hoare 版本 1. 单趟 2. 整体 3. 时间复杂度 4. 优化&#xff08;抢救一下&#xff09; 4.1 随机选 key 4.2 三数取中 二. 挖坑法 格式优化 三. 前后指针&#xff08;最好&#xff09; 四. 小区间优化 五. 改非递归 快速排序是 Hoare 提出的一种基于二叉树…

第2周 PINN核心技术揭秘: 如何用神经网络求解偏微分方程

1. PDEs与传统数值方法回顾 (Review of PDEs & Traditional Numerical Methods) 1.1 什么是偏微分方程 (Partial Differential Equations, PDEs)? 偏微分方程是描述自然界和工程领域中各种物理现象(如热量传播、流体流动、波的振动、电磁场分布等)的基本数学语言。 1.…

Neo4j(二) - 使用Cypher操作Neo4j

文章目录 前言一、Cypher简介二、数据库操作1. 创建数据库2. 查看数据库3. 删除数据库4. 切换数据库 三、节点、关系及属性操作1. 创建节点与关系1.1 语法1.2 示例 2. 查询数据2.1 语法2.2 示例 3. 更新数据3.1 语法3.2 示例 4. 删除节点与关系4.1 语法4.2 示例 5. 合并数据5.1…

RabbitMQ的Web管理页面给我看懵了,这都什么意思啊

文章目录 OverviewTotalsMessage RatesQueued Messages NodesChurn StatisticsPorts and ContextsExport DefinitionsImport Definitions ConnectionsChannelsExchangesQueuesAdmin他们之间的关联 在上一篇文章中我们讲到了如何在Windows中安装Rabbitmq&#xff0c; 小白也能搞…

安全基础与协议分析

5.1 Web安全基础 5.1.1 Web安全基础概览&#xff08;一、二&#xff09; Web安全的核心目标是保护Web应用及其数据免受攻击&#xff0c;涵盖以下关键领域&#xff1a; 攻击面&#xff1a; 前端漏洞&#xff08;XSS、CSRF&#xff09;。 后端漏洞&#xff08;SQL注入、RCE&a…

STM32项目实战:ADC采集

STM32F103C8T6的ADC配置。PB0对应的是ADC1的通道8。在标准库中&#xff0c;需要初始化ADC&#xff0c;设置通道&#xff0c;时钟&#xff0c;转换模式等。需要配置GPIOB的第0脚为模拟输入模式&#xff0c;然后配置ADC1的通道8&#xff0c;设置转换周期和触发方式。 接下来是I2C…

第十四章:数据治理之数据源:数据源的数据接入、业务属性梳理及监控

本章开始&#xff0c;将进入9大模块的介绍。第一个模块我们先介绍&#xff1a;数据源。数据源是整个数据中台数据的来源&#xff0c;是一个起点。更好的管理好数据源这个起点&#xff0c;是数据治理的一个好的开始。 在【数据&#xff1a;业务生数据&#xff0c;数据生“万物”…

【C/C++】多线程开发:wait、sleep、yield全解析

文章目录 多线程开发&#xff1a;wait、sleep、yield全解析1 What简要介绍详细介绍wait() — 条件等待&#xff08;用于线程同步&#xff09;sleep() — 睡觉&#xff0c;定时挂起yield() — 自愿让出 CPU 2 区别以及建议区别应用场景建议 3 三者协作使用示例 多线程开发&#…

阿里云CDN刷新预热--刷新URL

文章目录 一、全英文URL刷新预热二、掺杂中文的URL刷新预热2.1 对带中文URL进行编码2.2 预热刷新 三、CDN刷新-核心作用与价值3.1 核心作用3.2 核心价值3.3 典型使用场景 *最后我想说&#xff1a;请你不要相信我说的每一句话&#xff0c;这只是我的个人经验* 一、全英文URL刷新…

Oracle 19c DG备库报错ORA-00313、ORA-00312、ORA-27037

Oracle 19c DG备库报错ORA-00313、ORA-00312、ORA-27037 错误排查问题处理错误排查 DG同步完成后,DG Broker show database发现以下告警信息: Database Warning(s):ORA-16826: apply service state is inconsistent with the DelayMins propertyORA-16789: standby redo log…

开源与闭源之争:AI时代的创新博弈与未来抉择

在人工智能技术狂飙突进的今天&#xff0c;开源与闭源之争已不再局限于技术圈的讨论&#xff0c;而是演变为一场关乎技术伦理、商业格局乃至人类文明走向的深度博弈。当Meta的Llama 3开源模型下载量突破百万&#xff0c;当OpenAI的GPT-5继续加固技术壁垒&#xff0c;这场没有硝…

NIFI的处理器:JSLTTransformJSON 2.4.0

该处理器使用JSLT转换FlowFile JSON有效负载的格式。使用转换后的内容创建新的FlowFile&#xff0c;并将其路由到“成功”关系。如果JSLT转换失败&#xff0c;则将原始FlowFile路由到“失败”关系。 需要注意的是&#xff0c;编译JSLT转换可能相当昂贵。理想情况下&#xff0c…

MySQL 索引失效及其解决办法

一、前言 在数据库优化中,索引(Index)是一项至关重要的技术手段,可以显著提升查询性能。然而,在实际开发过程中,MySQL 索引并不总是如预期生效。本文将从原理出发,系统地介绍索引失效的常见场景及其解决方案,帮助开发者有效规避性能陷阱。 二、索引基础回顾 MySQL 支…

趋势触发策略

趋势触发策略(TS版)是一种基于TrendTriggerFactor(TTF)的交易策略,通过柱状图颜色变化指示市场趋势的强度,并根据TTF的穿越信号进行买卖操作。 TTF是通过计算买方力量和卖方力量的差值除以两者之和的一半再乘以100得到的。 当TTF大于100时,柱状图显示为绿色,表示市场…