当前位置: 首页 > news >正文

第2章 Linux 中执行命令

第2章 Linux 中执行命令

命令格式

 命令 [选项]  [参数....]

在linux 中命令分为内部命令和外部命令。

ctrl+l 可以清屏

查看帮助的命令

在使用命令之前,我们可以通过帮助来查看这个命令的格式和使用方式。在 Linux 中有两个帮助命令, help 和 man

help

例如 cd 这个命令我只知道命令的名称,不知道的使用方式。此时就可以使用 help 来查看,使用的格式为:

 # help 命令名称​[root@bogon ~]# help cdcd: cd [-L|[-P [-e]] [-@]] [dir]Change the shell working directory.Change the current directory to DIR.  The default DIR is the value of theHOME shell variable.​# 还可以使用 --help 的方式来查看帮助[root@bogon ~]# ls --helpUsage: ls [OPTION]... [FILE]...List information about the FILEs (the current directory by default).Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.​

man

man 是 manual(手册)的简写。它的使用方式为:

 man 命令名称

例如我们通过 man 来查看 ls 命令的使用:

 # man ls​LS(1)                                       User Commands                                       LS(1)​NAMEls - list directory contents​SYNOPSISls [OPTION]... [FILE]...

说明:进入这个使用的帮助信息后,按向下箭头可以向下滚动一行,按向上箭头可以往前滚动一行。按空格键可以向下翻页,按q键退出帮助。

IP 地址指令

获取IP地址

 [root@bogon ~]# nmcli --helpUsage: nmcli [OPTIONS] OBJECT { COMMAND | help }​​# 查看网络设备[root@bogon ~]# nmcli deviceDEVICE  TYPE      STATE                   CONNECTION ens160  ethernet  connected               ens160     lo      loopback  connected (externally)  lo​[root@bogon ~]# nmcli dDEVICE  TYPE      STATE                   CONNECTION ens160  ethernet  connected               ens160     lo      loopback  connected (externally)  lo ​# 注意:上面中的 ens160 就是我的网卡设备名称,你们的名称有可能和我不一样,要用你们自己的名称​​# 使用ens160[root@bogon ~]# nmcli connection ens160Error: argument 'ens160' not understood. Try passing --help instead.[root@bogon ~]## 上面的命令报错了,原因是没有指定 OBJECT,正确的使用如下;[root@bogon ~]# nmcli device connect ens160Device 'ens160' successfully activated with '1f212fa6-bb52-3c62-ab97-66818fb871a1'.​

日期 date

 [root@bogon ~]# date --helpUsage: date [OPTION]... [+FORMAT]or:  date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]​​[root@bogon ~]# dateSun Oct 29 03:20:26 PM CST 2023

说明:上面命令执行后在输出的内容中有一个 CST 的,它表示的是中国是区,UTC 世界时区, CST = UTC + 8

如果希望显示的日期是我们习惯的日期,则需要按照如下的命令格式来指定。

 [root@bogon ~]# date +%Y/%m/%d2023/10/29

如果希望显示年-月-日 小时:分:秒,如果实现?

 [root@bogon ~]# date +%Y-%m-%d %H:%M:%Sdate: extra operand ‘%H:%M:%S’Try 'date --help' for more information.

上面的命令执行后报错了。原因在于我们的格式部分有了空格。如果解决?

解决的方式是把格式化的内容放在引号中:

 [root@bogon ~]# date "+%Y-%m-%d %H:%M:%S"2023-10-29 15:31:43​[root@bogon ~]# date '+%Y-%m-%d %H:%M:%S'2023-10-29 15:32:18

在 Linux 中单引号和双引号都可以使用。

如果希望设置时区,则可以使用 timedatectl 来操作。

 [root@bogon ~]# timedatectl --helptimedatectl [OPTIONS...] COMMAND ...​Query or change system time and date settings.​Commands:status                   Show current time settingsshow                     Show properties of systemd-timedatedset-time TIME            Set system timeset-timezone ZONE        Set system time zonelist-timezones           Show known time zonesset-local-rtc BOOL       Control whether RTC is in local timeset-ntp BOOL             Enable or disable network time synchronization​​​[root@bogon ~]# timedatectl statusLocal time: Sun 2023-10-29 15:34:08 CSTUniversal time: Sun 2023-10-29 07:34:08 UTCRTC time: Sun 2023-10-29 07:34:08Time zone: Asia/Shanghai (CST, +0800)System clock synchronized: yesNTP service: activeRTC in local TZ: no

修改时区

 [root@bogon ~]# timedatectl set-timezone Asia/Shanghai

用户切换

用户切换需要使用 su 命令来实现它的使用格式为:

 [root@bogon ~]# su --help​Usage:su [options] [-] [<user> [<argument>...]]

由于我们在安装 Redhat 时已经添加了一个叫 redhat 的普通用户。我们再在就在 root 用户和 redhat 这两个用户之间来进行切换。

  1. 从root 用户切换到 redhat 普通用户

     [root@bogon ~]# su -l redhat[redhat@bogon ~]$ ​[root@bogon ~]# su redhat[redhat@bogon root]$ ​

    记住:在 Linux 中执行后没有信息就是最好的消息

    @ 前面表示当前登录用户的名称,而 @ 后面表示主机名称

    切换成功后,命令提示符发生以下的变化:

    1. 由 [root@bogon] 变为了 [redhat@bogon]

    2. 中括号后的 # 号变为了 $ 符号(# 表示超级用户的提示符,而 $ 表示是普通用户的命令提示符)

  2. 再从普通用户 redhat 切换到超级用户 root 中

     [redhat@bogon ~]$ su -l rootPassword: [root@bogon ~]# 

    说明:当从普通用户切换到超级用户时,要求输入超级用户的登录密码,在输入密码过程中不会有任何的提示信息,我们输入正确的密码即可。

注意:在切换用户时带有 -l 选项和不带 -l 选项的区别是带了后在切换用户的同时也会切换用户的环境,否则不会切换用户环境只会切换用户

 [redhat@bogon ~]$ su -lPassword: [root@bogon ~]# ​# 注意:如果 su 后面不带用户名,默认就会切换到 root 用户

问:切换用户后,如果想回到之前的用户怎么做?

答:我们可以使用 exit 命令来退出当前用户的登录状态。

 [root@bogon ~]# exitlogout[redhat@bogon ~]$ ​

设置主机名称

通常我们为了区分以及后面搭建集群时可以更好的标识一个虚拟机,我们都会给当前的系统指定方机名称。

指定主机名称通过 hostnamectl 命令来实现。

命令格式:

 [root@bogon ~]# hostnamectl --helphostnamectl [OPTIONS...] COMMAND ...​Query or change system hostname.​Commands:status                 Show current hostname settingshostname [NAME]        Get/set system hostnameicon-name [NAME]       Get/set icon name for hostchassis [NAME]         Get/set chassis type for hostdeployment [NAME]      Get/set deployment environment for hostlocation [NAME]        Get/set location for host​

查看当前的主机名称:

 # 查看主机名称的状态[root@bogon ~]# hostnamectl statusStatic hostname: (unset)                                 Transient hostname: bogonIcon name: computer-vmChassis: vm 🖴Machine ID: 5c5bb57619564f628a3f3f51cb63f773Boot ID: 0a3d61c8bed54836abe384268495b33dVirtualization: vmwareOperating System: Red Hat Enterprise Linux 9.2 (Plow)     CPE OS Name: cpe:/o:redhat:enterprise_linux:9::baseosKernel: Linux 5.14.0-284.11.1.el9_2.x86_64Architecture: x86-64Hardware Vendor: VMware, Inc.Hardware Model: VMware Virtual PlatformFirmware Version: 6.00​# 获取主机名称[root@bogon ~]# hostnamectl hostnamebogon

如果希望修改主机名称为 redhat01 则执行如下的命令:

 [root@bogon ~]# hostnamectl hostname redhat01[root@bogon ~]# hostnamectl hostnameredhat01[root@bogon ~]# ​

从上面的命令执行后的效果可以发现:主机名称已经修改成功,但是在命令提示符上显示的还是原来的名称。要想它也跟着变化我们需要重启服务。

获取当前路径 pwd

我们可以使用 pwd 命令来获取当前用户所在路径

 [root@bogon ~]# pwd/root[root@bogon ~]# cd /home/redhat[root@bogon redhat]# pwd/home/redhat

相关文章:

第2章 Linux 中执行命令

第2章 Linux 中执行命令 命令格式 命令 [选项] [参数....] 在linux 中命令分为内部命令和外部命令。 ctrll 可以清屏 查看帮助的命令 在使用命令之前&#xff0c;我们可以通过帮助来查看这个命令的格式和使用方式。在 Linux 中有两个帮助命令&#xff0c; help 和 man help…...

python3.8 安装缺少ssl、_ctypes模块解决办法

问题 安装pyhton3.8安装默认不依赖ssl 运行Flask项目时报错&#xff1a; Traceback (most recent call last):File "/usr/local/python3/bin/flask", line 8, in <module>sys.exit(main())File "/usr/local/python3/lib/python3.8/site-packages/flask…...

鸿蒙开发-UI-页面路由

鸿蒙开发-UI-组件 鸿蒙开发-UI-组件2 鸿蒙开发-UI-组件3 鸿蒙开发-UI-气泡/菜单 文章目录 一、基本概念 二、页面跳转 1.router基本概念 2.使用场景 3.页面跳转参数传递 三、页面返回 1.普通页面返回 2.页面返回前增加一个询问框 1.系统默认询问框 2.自定义询问框 总…...

【Git】多个托管平台Git账户配置

目录 多个托管平台GIt账户如何配置SSH 路由配置验证 用户名邮箱配置验证 多个托管平台GIt账户如何配置 通常情况&#xff0c;公司会搭建自己的gitlab代码托管服务或者将代码托管到第三方平台上&#xff0c;而我们自己的开源项目通常托管到Github上&#xff0c;每个托管平台都有…...

vue2 图片懒加载vue-lazyload 插件

1、npm install vue-lazyload --save 2、在项目的主文件&#xff08;例如 main.js&#xff09;中引入和使用插件&#xff1a; import Vue from vue import VueLazyload from vue-lazyloadVue.use(VueLazyload) 3、现在&#xff0c;你可以在需要懒加载图片的组件中使用 v-laz…...

element-ui button 组件源码分享

element-ui button 源码分享&#xff0c;基于对源码的理解&#xff0c;编写一个简单的 demo&#xff0c;主要分三个模块来分享&#xff1a; 一、button 组件的方法。 1.1 在方法这块&#xff0c;button 组件内部通过暴露 click 方法实现&#xff0c;具体如下&#xff1a; 二、…...

Spring实现事务(一)

Spring事务 .什么是事务事务的操作Spring中事务的实现准备工作创建表创建项目,引入Spring Web, Mybatis, mysql等依赖配置文件实体类 编程式事务(手动写代码操作事务)声明式事务(利用注解自动开启和提交事务) . 什么是事务 事务是⼀组操作的集合, 是⼀个不可分割的操作 在我们…...

获取依赖aar包的两种方式-在android studio里引入 如:glide

背景&#xff1a;我需要获取aar依赖到内网开发&#xff0c;内网几乎代表没网。 一、 如何需要获取依赖aar包 方式一&#xff1a;在官方的github中下载,耗时不建议 要从开发者网站、GitHub 存储库或其他来源获取 ‘com.github.bumptech.glide:glide:4.12.0’ AAR 包&#xff…...

vue3-深入组件-依赖注入

Prop 逐级透传问题 通常情况下&#xff0c;当我们需要从父组件向子组件传递数据时&#xff0c;会使用 props。 如果是多层级嵌套的组件&#xff0c;如何从一级传递到 3 级甚至更远呢。 若使用 props 则必须将其沿着组件链逐级传递下去&#xff0c;这会非常麻烦&#xff0c;所…...

【项目日记(七)】第三层: 页缓存的具体实现(上)

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:项目日记-高并发内存池⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你做项目   &#x1f51d;&#x1f51d; 开发环境: Visual Studio 2022 项目日…...

深入解剖指针篇(2)

目录 指针的使用 strlen的模拟实现 传值调用和传址调用 数组名的理解 使用指针访问数组 一维数组传参的本质 冒泡排序 个人主页&#xff08;找往期文章&#xff09;&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 指针的使用 strlen的模拟实现 库函数strlen的功能是求字符串…...

【知识点】Java常用

文章目录 基础基础数据类型内部类Java IOIO多路复用重要概念 Channel **通道**重要概念 Buffer **数据缓存区**重要概念 Selector **选择器** 关键字final 元注解常用接口异常处理ErrorException JVM与虚拟机JVM内存模型本地方法栈虚拟机栈 Stack堆 Heap方法区 Method Area (JD…...

MySQL篇—迁移数据目录到新的本地路径

☘️博主介绍☘️&#xff1a; ✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux&#xff0c;也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章&#xff0c;并且也会默默的点赞收藏加关注❣…...

【FPGA】高云FPGA之IP核的使用->PLL锁相环

FPGA开发流程 1、设计定义2、设计输入3、分析和综合4、功能仿真5、布局布线6、时序仿真7、IO分配以及配置文件&#xff08;bit流文件&#xff09;的生成8、配置&#xff08;烧录&#xff09;FPGA9、在线调试 1、设计定义 使用高云内置IP核实现多路不同时钟输出 输入时钟50M由晶…...

程控设备和电脑通信的总线和协议选择

文章目录 程控设备都通过什么协议和总线和电脑通信?工控设备都使用什么通信协议与电脑通信?各种工控设备通信协议的优缺点如何选择适合工控设备的通信协议?各种工控设备通信总线的优缺点如何判断一种总线是否适合特定的应用场景?程控设备都通过什么协议和总线和电脑通信? …...

鸿蒙开发-UI-组件导航-Navigation

鸿蒙开发-UI-组件 鸿蒙开发-UI-组件2 鸿蒙开发-UI-组件3 鸿蒙开发-UI-气泡/菜单 鸿蒙开发-UI-页面路由 文章目录 目录 一、基本概念 二、页面显示模式 1.自适应模式 2.单页面模式 3.分栏模式 三、标题栏模式 1.Mini模式 2.Full模式 四、菜单栏 五、工具栏 六、案例 …...

Codeforces Round 922 (Div. 2)(A~D)补题

A题考虑贪心&#xff0c;要使使用的砖头越多&#xff0c;每块转的k应尽可能小&#xff0c;最小取2&#xff0c;最后可能多出来&#xff0c;多出来的就是最后一块k3&#xff0c;我们一行内用到的砖头就是 m 2 \frac{m}{2} 2m​下取整&#xff0c;然后乘以行数就是答案。 #inclu…...

Seata下载与配置、启动

目录 Seata下载Seata配置启动Seata Seata下载 首先&#xff0c;我们需要知道我们要使用哪个版本的seata&#xff0c;这就要查看spring-cloud-alibaba版本说明&#xff0c;找到我们对应的seata。 spring-cloud-alibaba版本说明: 地址链接 下面是部分版本说明&#xff1a; s…...

什么是TCP三次握手、四次挥手?

1、三次握手 你(客户端)给一个朋友(服务器)打电话&#xff0c;告诉他你想开始对话。这就像是发送一个SYN(同步序列编号)信号&#xff0c;表示你想开始建立连接。(client向server发送syn&#xff0c;seqx&#xff0c;此时client验证client发送能力正常。client置为SYN SENT状态)…...

C++程序在开机自启和定时器执行时遇到的问题和解决方法

遇到的错误如下&#xff1a; Camera is created.load vfvlog.[dll/so] failed for dll[/vfvlog.so] unexistedLoadDbgConfig, LoadFile fail, err:-3, errno: No such file or directoryqt.qpa.xcb: could not connect to displayqt.qpa.plugin: Could not load the Qt platfo…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

LangFlow技术架构分析

&#x1f527; LangFlow 的可视化技术栈 前端节点编辑器 底层框架&#xff1a;基于 &#xff08;一个现代化的 React 节点绘图库&#xff09; 功能&#xff1a; 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...