Linux基础知识——命令行模式下命令的执行

文章目录

  • Linux基础知识——命令行模式下命令的执行
    • 开始执行Linux命令
      • Linux基础命令的操作
      • 常用Linux命令行操作按键
      • Linux输出错误信息查看
    • Linux系统在线帮助
      • --help选项
      • man命令
      • info命令
      • 其他有用的文件文档
      • 百度搜索
    • 文本编辑器:nano
      • nano启动!
    • 正确关机方法
      • ①首先观察系统的使用状态
      • ②通知在线用户关机
      • ③数据同步关机

Linux基础知识——命令行模式下命令的执行

操作系统中,命令行模式登录后的程序被称为(Shell)。壳是操作系统提供给用户与系统进行交互的一种方式,它充当用户与操作系统内核之间的接口,负责解释用户输入的命令并将其传递给内核执行

开始执行Linux命令

可以这样执行命令

[root@chenshiren ~]# command [-options] parameter1 parameter2 .....
  • 一行命令的第一个输入部分应该是命令(command)或可执行文件(shell)的名称

  • 中括号[]用来表示可选项,加入选项设置时,通常会在选项前加上-号,例如-h。有时候,选项的完整全名会使用--符号,例如--help

  • 参数通常跟在选项后面,或者是命令本身的参数

  • 命令、选项和参数之间使用空格来进行分隔。无论有多少个空格,Shell都会将其视为一个空格

[root@chenshiren ~]# ls           -a和ls -a命令是相同的
  • 按下回车键表示要执行该命令

  • 如果命令太长,可以使用反斜杠\来转义回车键,将命令连续到下一行

[root@chenshiren ~]# ls -a \
> -l
  • 在Linux系统中,英文小写字母是不一样的,例如date( 显示日期与时间的命令)与DATE并不同
[root@chenshiren ~]# date  #显示日期和时间
[root@chenshiren ~]# DATE  #显示找不到命令
[root@chenshiren ~]# Date  #显示找不到命令

Linux基础命令的操作

显示日期与时间的命令:date

输入date即可知道Linux的系统时间

[root@chenshiren ~]# date
2024年 02月 23日 星期五 21:01:04 CST
# 时间信息表示的是2024年2月23日 星期五 21点01分04秒
# 使用的时区是中国标准时间(CST)

如果你只想显示2024年 02月 23日可以使用date的格式化输出功能

[root@chenshiren ~]# date +%Y年%m月%d日
2024年02月23日

若只想输出21:01:04

[root@chenshiren ~]# date +%H时%M分
21时03分

显示日历的命令:cal

查看这个月的日历

可以看到今日所在日期会泛白显示

image-20240223211009083

显示整年的日历

image-20240223211221376

显示2023年10月日历

image-20240223211358126

== 简单的计算机:bc==

符号名称
+加法
-减法
*乘法
/除法
^指数
%余数

简单使用一下bc计算器

[root@chenshiren ~]# bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
1+999
1000
520*1314
683280
1314/520   # 这里计算等于2是因为没有设置参数,bc计算器默认只输出整数
2
quit       # 离开计算器

如果要输出小数点后后几位,输入bc然后加上scale=number(计算到小数点后几位)命令就行了

[root@chenshiren ~]# bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
scale=5
1314/520
2.52692     
quit

在命令行模式里执行命令,会有两种主要情况:

  • 一种是该命令直接显示结果,然后回到命令提示符等待下一次命令输入;

    image-20240223213531470

  • 一种是进入该命令的环境,直到结束该命令才回到命令行界面;

    image-20240223213630675

你只要看到光标在【[root@chenshiren ~]#】这种提示符后面,那就是等待输入命令的环境

常用Linux命令行操作按键

Linux命令行模式里面有很多的功能组合键,这些按键可以辅助我们进行命令的编写与程序的中断,以下是比较常用的命令行操作安装

Tab键 (Tab Completion)

  • 功能:自动补全命令、文件名或路径。
  • 使用方法:在命令行中输入部分内容,按下Tab键可自动补齐;双击Tab键显示所有匹配项

例如:你忘记显示时间和日期(date)的命令了

[root@chenshiren ~]# da[tab]  
# 输入da 按下tab,按一下自动补齐,按两下显示所有匹配项

Ctrl+C (中断信号)

  • 功能:中断当前运行的程序。
  • 使用方法:在终端中按下Ctrl+C即可发送中断信号,强制终止程序执行

例如:假如你输入了【find /】

[root@chenshiren ~]# find / 
# 输入然后回车后屏幕会输出一堆东西,你只有按下ctrl+c才会停止

Ctrl+D (EOF或退出)

  • 功能:发送EOF信号表示输入结束;退出当前Shell会话。
  • 使用方法:按下Ctrl+D表示输入结束;在命令行中想要退出当前Shell会话时,也可以使用Ctrl+D来退出(相当于输入exit)

【Shift+Page Up】和【Shift+Page Down】相当于鼠标滚轮

  • Shift + Page Up:向上滚动终端显示的内容,相当于向上翻页查看之前的输出内容。
  • Shift + Page Down:向下滚动终端显示的内容,相当于向下翻页查看更早的输出内容。

Linux输出错误信息查看

如果你输入错误的命令,bash就会告诉你输入了错误信息

通常出现【command not found】可能原因:

  • 命令未安装
  • 命令所在路径不在环境变量PATH中
  • 命令拼写错误

Linux系统在线帮助

在Linux命令行模式下,你可以输入比如c然后按两下[TAB]按键,可以看到有那些以c开头的命令给你用。

[root@chenshiren ~]# c[TAB][TAB] # 输入c后按两下tab
Display all 136 possibilities? (y or n) # 显示有136条命令,按y查看,按n离开

可以看到在这个系统中,少说有136条命令,记得话很难记下来

在Linux系统中,几乎所有命令和配置文件都有相应的在线帮助文档可供查询

–help选项

通过在命令后加上--help可以查看该命令的简要帮助信息

例如,要查看bc命令的帮助,可以使用bc --help命令

[root@chenshiren ~]# bc --help
usage: bc [options] [file ...]-h  --help         print this usage and exit-i  --interactive  force interactive mode-l  --mathlib      use the predefined math routines-q  --quiet        don't print initial banner-s  --standard     non-standard bc constructs are errors-w  --warn         warn about non-standard bc constructs-v  --version      print version information and exit
# 可以看到可以看到bc 选项有哪些,但是没有看到scale用法说明,也没有+-*/ 那些

man命令

man命令是Linux系统中的一个手册阅读器,可以在终端查看大部分命令的手册页,可以用来查看从来没有使用过的命令。

例如,要查看bc命令的手册,可以使用man bc命令。

[root@chenshiren ~]# man bc
# 使用箭头键上下滚动浏览帮助文档,按q退出

可以通过/scale 来查找关键字

这里他讲了有四个特殊变量,分别是scale、ibase、obase和last。

scale定义了某些操作如何使用小数点后的数字,scale的默认值为0

image-20240223233340776

可以看到输入【man bc】首先映入眼帘的就是 bc(1)代表的是一般用户可使用命令

image-20240223230049300

代号代表的是什么内容
1用户在shell环境中可以操作的命令或可执行文件
2系统内核可调用的函数和工具
3库函数和函数调用
4设备文件,通常在/dev下的文件
5文件格式和规范,如 /etc/passwd
6游戏
7杂项(惯例、协议、格式、环境变量等的文档)
8系统管理员命令的文档
9跟内核相关的文件

上表内容可以通过使用【man man】来更详细的说明。如果你执行了man null 第一行就是NULL(4)

man命令输出大致分为以下几个部分:

代号内容说明
NAME显示了命令的名称
SYNOPSIS列出了命令的语法和选项的简要摘要
DESCRIPTION提供了有关命令功能和用法的详细描述
OPTIONS列出了命令可用的选项和标志,以及它们的功能描述
COMMANDS当这个程序(软件)在执行的时候,可以在此程序(软件)中执行的命令
FILES列出与命令或程序相关的文件信息
SEE ALSO列出了其他相关命令或文档,供用户进一步查阅
EXAMPLE提供了一些使用示例,帮助用户更好地理解如何使用命令

man命令常用的按键

按键干什么用的
[Page Up]向上翻页
[Page Down]向下翻页
[Home]去到第一页
[End]去到最后一页
/test向【下】查找test这个字符串
?test向【上】查找字符串
n跳转到下一个匹配搜索结果
N跳转到上一个匹配搜索结果
q退出man命令,返回终端提示符

如果你找不到手册信息可以尝试更新手册

mandb命令用于创建或更新man命令的手册页面数据库索引

[root@chenshiren ~]# mandb 

例如:查找bc命令手册概述

[root@chenshiren ~]# man -f bc
bc (1)               - An arbitrary precision calculator language
bc (1p)              - arbitrary-precision arithmetic language

例如:查找bc相关的手册信息

[root@chenshiren ~]# man -k bc
bc (1)               - An arbitrary precision calculator language
bc (1p)              - arbitrary-precision arithmetic language
bcmp (3)             - compare byte sequences
bcopy (3)            - copy byte sequence
cbc_crypt (3)        - fast DES encryption
cd-paranoia (1)      - 9.8 (Paranoia release III via libcdio) - an audio CD reading utility which includes extra data verification f...
cheese (1)           - tool to take pictures and videos from your webcam
cracklib-check (8)   - Check passwords using libcrack2
create-cracklib-dict (8) - Check passwords using libcrack2
DBI::Const::GetInfo::ODBC (3pm) - ODBC Constants for GetInfo
error (3)            - glibc error reporting functions
error_at_line (3)    - glibc error reporting functions
error_message_count (3) - glibc error reporting functions
error_one_per_line (3) - glibc error reporting functions
error_print_progname (3) - glibc error reporting functions
glibc (7)            - overview of standard C libraries on Linux
gnu_get_libc_release (3) - get glibc version and release
gnu_get_libc_version (3) - get glibc version and release
libc (7)             - overview of standard C libraries on Linux
libcbor (1)          - libcbor Documentation
Pod::Simple::Subclassing (3pm) - - write a formatter as a Pod::Simple subclass
utf8 (3pm)           - Perl pragma to enable/disable UTF-8 (or UTF-EBCDIC) in source code
xkbcomp (1)          - compile XKB keyboard description
[root@chenshiren ~]# man -f bc
bc (1)               - An arbitrary precision calculator language
bc (1p)              - arbitrary-precision arithmetic language

info命令

info命令也是软件的帮助文档的工具,它提供了一个交互式的信息浏览界面,以超文本格式显示文档内容,用户可以使用不同的快捷键来导航和查看详细信息。

通常情况下,info格式的帮助文件会被默认放置在/usr/share/info/目录中

查看info的帮助文档

[root@chenshiren ~]# info info
Next: Stand-alone Info,  Up: (dir)     # 文档描述Stand-alone GNU Info
********************
# 入门指南
This documentation describes the stand-alone Info reader which you can
use to read Info documentation.If you are new to the Info reader, then you can get started by typing
'H' for a list of basic key bindings.  You can read through the rest of
this manual by typing <SPC> and <DEL> (or <Space> and <Backspace>) to
move forwards and backwards in it.# 主要章节
* Menu:* Stand-alone Info::            What is Info?
* Invoking Info::               Options you can pass on the command line.
* Cursor Commands::             Commands which move the cursor within a node.
* Scrolling Commands::          Commands for reading the text within a node.
* Node Commands::               Commands for selecting a new node.
* Searching Commands::          Commands for searching an Info file.
* Index Commands::              Commands for looking up in indices.
* Xref Commands::               Commands for selecting cross-references.
* Window Commands::             Commands which manipulate multiple windows.
* Printing Nodes::              How to print out the contents of a node.
* Miscellaneous Commands::      A few commands that defy categorization.
* Variables::                   How to change the default behavior of Info.
* Colors and Styles::           Customize the colors used by Info.
* Custom Key Bindings::         How to define your own key-to-command bindings.
* Index::                       Global index.

info按键说明

按键干什么用
[Page Down]向下翻页
[Page Up]向上翻页
[Tab]在超链接之间移动,有超链接的地方通常会以*和下划线显示
[Enter]进入超链接
h显示帮助列表
n按下n键可以向后导航,跳转到下一个匹配项
p按下p键可以向前导航,跳转到上一个匹配项
s(/)搜索
q退出

其他有用的文件文档

/usr/share/doc/ 目录通常包含安装在系统中的各种软件的文档、说明和示例文件

这些文档文件用于帮助用户更好地了解和使用安装的软件,提供了软件的详细介绍、配置指南、使用说明、示例代码等信息

我们以【/usr/share/doc/bc】 这个软件信息来说明

[root@chenshiren bc]# ls
AUTHORS  Examples  FAQ  NEWS  README
  • README:这份文档通常包含关于软件包的基本信息、安装说明、使用方法、以及其他重要信息

  • Examples:这个目录包含了一些示例文件

  • FAQ:常见问题解答,帮助用户解决在使用软件时可能遇到的问题。

  • AUTHORS:包含了bc软件包的作者信息,列出了贡献者和开发人员的名单

  • NEWS:记录了一些更新信息

百度搜索

如题,你还可以在百度上搜索相关Linux使用文档和教程

推荐:

Linux菜鸟教程

文本编辑器:nano

nano 是一个简单易用的文本编辑器,适合初学者或者对于命令行界面不太熟悉的用户

nano启动!

要启动 Nano 编辑器,只需在终端中输入 nano 命令,后跟要编辑的文件名,如下所示:

[root@chenshiren ~]# nano csq.txt GNU nano 5.6.1                                                    csq.txt                                                            <== 光标位置[ 已读取 1]
^G 帮助         ^O 写入         ^W 搜索         ^K 剪切         ^T 执行命令     ^C 位置         M-U 撤销        M-A 设置标记
^X 离开         ^R 读档         ^\ 替换         ^U 粘贴         ^J 对齐         ^_ 跳行         M-E 重做        M-6 复制
# ^代表【Ctrl】

常用组合键作用

更完整的说明,可以在nano的界面按下【Ctrl+G】或【F1】获取帮助

组合键作用
Ctrl+G获得帮助
Ctrl+X退出编辑器
Ctrl+O保存文件
Ctrl+R读入(导入)其他文件进行编辑
Ctrl+W搜索文本
Ctrl+C显示当前光标位置
Ctrl+_输入行号,快速移动光标

正确关机方法

①首先观察系统的使用状态

看目前有谁在线,执行【who】这个命令

看网络联机状态,执行【netstat -a】这个命令

看后台执行的程序,执行【ps -aux】这个命令

②通知在线用户关机

在关机前,给在线用户一些时间来结束他们的工作,并通知他们系统将会关机

可以使用shutdown命令

  • 可以自由选择关机模式:关机或重启
  • 自定义关机信息:在关机前,可以将自己设置的信息发送给在线用户
  • 可以仅发出警告信息:吓一吓用户,不是真关机

如何使用?可以使用man shutdown了解更详细的操作

以下是shutdown简单语法:

shutdown [选项] [时间] [警告信息]
选项:
-k:不是真的关机,仅仅发出警告信息
-r:重启
-h:立刻关机
-c:取消现在进行的shutdown命令内存
时间:指定系统关机时间

例如:

# 告诉用户10分钟后关机
[root@chenshiren ~]# shutdown -h 10 "Shutdown in 10 minutes" 
# 告诉用户具体时间15:00关机
[root@chenshiren ~]# shutdown -h 15:00 "Shutdown in 15:00"
# 立刻关机
[root@chenshiren ~]# shutdown -h now
# 立刻重启
[root@chenshiren ~]# shutdown -r now
# 恐吓用户10分钟后关机
[root@chenshiren ~]# shutdown -k now "Shutdown in 10 minutes" 

③数据同步关机

sync命令是用于强制将系统中修改过的数据缓存同步到磁盘中的工具,确保文件系统的数据与存储设备保持同步,防止数据丢失或损坏

sync命令通常在关机前执行,以确保所有数据都已经写入磁盘

[root@chenshiren ~]# sync

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

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

相关文章

__proto__和protype的区别

概述&#xff1a; prototype 函数静态属性&#xff0c;非实例属性,所有实例都可以继承它 __proto__ 实例属性&#xff0c;指向实例的原型对象&#xff0c;原型对象包括构造函数和protype属性 替代 现代浏览器中可以使用Object.getPrototypeOf()来替代__proto__来获取原型对象 …

Vue3自定义组件v-model双向绑定

无能吐槽一下&#xff0c;虽然用了很多遍v-model&#xff0c;但是还是不得要领&#xff0c;每次看官网都感觉说的不是很清晰&#xff0c;在写的时候还是要查看文档&#xff0c;可能就是不理解原理&#xff0c;这次特意好好写一篇文章&#xff0c;让自己好好理解一下。 自定义一…

单线程传奇Redis,为何引入多线程?

大家都知道 Redis 的速度非常的快&#xff0c;这其中一个关键原因就是它采用了单线程模型&#xff0c;这也是它的一大独特之处。那么问题来了&#xff0c;既然单线程模型已经如此出色&#xff0c;为什么后续版本还要搞上多线程呢&#xff1f; 本文主要分析一下多线程在Redis中的…

推出新款H7-TOOL 2024版,同时发布新版固件V2.25(2024-02-24)

H7-TOOL 2024版介绍 1、开模定制外壳&#xff0c;取消了侧面的IO接口&#xff0c;汇集到一个主端口&#xff08;2 * 17P排针&#xff09;。 2、显示屏升级为2.8寸&#xff08;分辨率320*240)。 3、两个按键升级为4个按键&#xff1a;上键、下键&#xff0c;OK确认键和C取消键。…

【大数据】Flink 内存管理(二):JobManager 内存分配(含实际计算案例)

Flink 内存管理&#xff08;二&#xff09;&#xff1a;JobManager 内存分配 1.分配 Total Process Size2.分配 Total Flink Size3.单独分配 Heap Size4.分配 Total Process Size 和 Heap Size5.分配 Total Flink Size 和 Heap Size JobManager 是 Flink 集群的控制元素。它由三…

【经验分享】分类算法与聚类算法有什么区别?白话讲解

经常有人会提到这个问题&#xff0c;从我个人的观点和经验来说2者最明显的特征是&#xff1a;分类是有具体分类的数量&#xff0c;而聚类是没有固定的分类数量。 你可以想象一下&#xff0c;分类算法就像是给你一堆水果&#xff0c;然后告诉你苹果、香蕉、橙子分别应该放在哪里…

Kotlin 基本语法5 继承,接口,枚举,密封

1.继承与重写的Open关键字 open class Product(val name:String ) {fun description() "Product: $name"open fun load() "Nothing .."}class LuxuryProduct:Product("Luxury"){//继承需要调用 父类的主构造函数override fun load(): String {…

自定义 Git Hook

前言 前端同学大概都熟悉 husky 这个工具&#xff0c;他可以直接在项目中添加 git hooks&#xff0c;主要解决了 git hooks 不会同步到 git 仓库的问题&#xff0c;保证了每个开发人员的本地仓库都能执行相同的 git hooks。 但是 husky 毕竟是一个 JS 生态的工具&#xff0c;…

ONLYOFFICE桌⾯应⽤程序v8.0:功能丰富,⽀持多平台

文章目录 可填写的 PDF 表单RTL支持电子表格中的新增功能其他改进和新增功能与 Moodle 集成用密码保护 PDF 文件快速创建文档本地界面主题总结 继 ONLYOFFICE 文档 v8.0 的发布后&#xff0c;很高兴&#xff0c;因为适用于 Linux、Windows 和 macOS 的 ONLYOFFICE 桌面应用程序…

【elementUi-table表格】 滚动条 新增监听事件; 滚动条滑动到指定位置;

1、给滚动条增加监听 this.dom this.$refs.tableRef.bodyWrapperthis.dom.scrollTop 0let _that thisthis.dom.addEventListener(scroll, () > {//获取元素的滚动距离let scrollTop _that.dom.scrollTop//获取元素可视区域的高度let clientHeight this.dom.clientHeigh…

Matlab/simulink基于MPPT风光储微电网建模仿真(持续更新)

​ 2.Matlab/simulink基于MPPT风光储微电网建模仿真&#xff08;持续更新&#xff09; 1.Matlab/simulink基于vsg的风光储调频系统建模仿真&#xff08;持续更新&#xff09;

QT 打包命令 windeployqt 在windows平台应用

本文以qt6.2.4 MSVC2019 为例&#xff0c;描述打包过程。 前置条件&#xff1a;已经生成了可执行文件&#xff0c;比如xxx.exe 1.在搜索框输入QT,点击QT6.2.4(MSVC 2019 64-bit) 以你实际安装的版本为准。 2.出现如下黑屏命令行 3.在QT 项目文件下新建一个打包文件夹&#x…

VIO第2讲:IMU标定实验

VIO第2讲&#xff1a;IMU标定实验 文章目录 VIO第2讲&#xff1a;IMU标定实验5 IMU标定实验5.1 仿真数据产生5.1.1 c代码分析5.1.2 生成ros包数据 5.2 Allan方差实验&#xff08;港科大imu_utils&#xff09;5.2.1 安装5.2.2 运行 5.3 Allan方差实验&#xff08;matlab代码kali…

Vue局部注册组件实现组件化登录注册

Vue局部注册组件实现组件化登录注册 一、效果二、代码1、index.js2、App.vue3、首页4、登录&#xff08;注册同理&#xff09; 一、效果 注意我这里使用了element组件 二、代码 1、index.js import Vue from vue import VueRouter from vue-router import Login from ../vie…

基于SVM的功率分类,基于支持向量机SVM的功率分类识别,Libsvm工具箱详解

目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 Libsvm工具箱详解 简介 参数说明 易错及常见问题 完整代码和数据下载链接:基于SVM的功率分类,基于支持向量机SVM的功率分类识别资源-CSDN文库 https://download.csdn.net/download/abc991835105/88862836 SVM应用实例, 基于…

虚拟机的四种网络模式对比

nat网络地址转换 nat网络 桥接 内网模式 仅主机

【Java】java异常处理机制(实验五)

目录 一、实验目的 二、实验内容 三、实验小结 一、实验目的 1、理解java的异常处理机制 2、掌握try catch结构和thow和thows关键字的用法 二、实验内容 1、编写一个程序&#xff0c;输入某个班某门课程成绩&#xff0c;统计及格人数、不及格人数及课程平均分。设计一个异…

通天星CMSV6 车载视频监控平台信息泄露漏洞

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

【Python-语法】

Python-语法 ■ Python基础■ 数据类型■ 注释 单行注释&#xff0c;多行注释■ 编码方式 ■■■■■ ■ Python基础 ■ 数据类型 ■ 注释 单行注释&#xff0c;多行注释 ■ 编码方式 ■ ■ ■ ■ ■

【深度学习】微调通义千问模型:LoRA 方法,微调Qwen1.8B教程,实践

官网资料: https://github.com/QwenLM/Qwen/blob/main/README_CN.md 文章目录 准备数据运行微调设置网络代理启动容器执行 LoRA 微调修改 finetune/finetune_lora_single_gpu.sh运行微调 执行推理 在本篇博客中&#xff0c;我们将介绍如何使用 LoRA 方法微调通义千问模型&#…