阿里云计算之linux入门命令学习笔记(二)

Linux 提供了丰富的命令行工具,用于系统管理、文件操作、网络管理、进程控制等。以下是一些常用的 Linux 命令及其简要说明:

切换用户

su 命令

su (substitute user) 命令用于切换用户。

su - username          # 切换到指定用户,并加载该用户的环境变量
su username            # 切换到指定用户,但不加载该用户的环境变量
su -                   # 切换到 root 用户,并加载 root 的环境变量
sudo 命令

sudo (superuser do) 命令用于以另一个用户(通常是 root)身份执行命令。

sudo command           # 以 root 用户身份执行命令
sudo -u username command  # 以指定用户身份执行命令

uname命令

uname 命令用于显示有关操作系统和硬件的信息。通过不同的选项,可以获取系统名称、内核版本、硬件架构等详细信息。以下是 uname 命令及其常用选项的详细介绍和示例:

  • uname:不带选项时,默认输出操作系统名称。
  • uname -a:显示所有信息。
  • uname -s:显示内核名称。
  • uname -n:显示网络主机名。
  • uname -r:显示内核版本。
  • uname -v:显示内核版本信息。
  • uname -m:显示硬件架构类型。
  • uname -p:显示处理器类型(某些系统上可能不可用)。
  • uname -i:显示硬件平台(某些系统上可能不可用)。
  • uname -o:显示操作系统名称。
示例
1. 显示操作系统名称
uname

输出示例:

Linux
2. 显示所有信息
uname -a

输出示例:

Linux hostname 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
3. 显示内核名称
uname -s

输出示例:

Linux
4. 显示网络主机名
uname -n

输出示例:

hostname
5. 显示内核版本
uname -r

输出示例:

5.4.0-42-generic
6. 显示内核版本信息
uname -v

输出示例:

#46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020
7. 显示硬件架构类型
uname -m

输出示例:

x86_64
8. 显示处理器类型
uname -p

输出示例:

x86_64

(注意:在某些系统上可能显示 unknown

9. 显示硬件平台
uname -i

输出示例:

x86_64

(注意:在某些系统上可能显示 unknown

10. 显示操作系统名称
uname -o

输出示例:

GNU/Linux
使用场景

uname 命令通常用于脚本和命令行中,以获取系统和内核信息。例如:

  1. 在脚本中根据内核版本执行特定操作:

    if [[ $(uname -r) == "5.4.0-42-generic" ]]; thenecho "Kernel version is 5.4.0-42-generic"
    elseecho "Different kernel version"
    fi
    
  2. 获取系统架构以下载和安装合适的软件包:

    if [[ $(uname -m) == "x86_64" ]]; thenecho "64-bit system"# 下载64位软件包
    elseecho "32-bit system"# 下载32位软件包
    fi
    

通过这些选项和示例,你可以使用 uname 命令快速获取和使用系统信息,以满足各种需求。

clear命令

clear 命令在 Linux 和其他 Unix-like 操作系统中用于清除终端屏幕。它的作用是将当前终端屏幕上的所有内容清除,并将光标移动到屏幕的左上角。这在需要清理终端屏幕以便更清晰地查看输出时非常有用。

用法

基本用法
clear

执行 clear 命令后,终端屏幕会被清空,光标回到屏幕的左上角。此命令没有任何参数或选项。

示例

  1. 在终端中执行一些命令,然后使用 clear 清除屏幕:

    ls -l
    echo "This is some text on the screen."
    clear
    

    执行 clear 后,屏幕上的所有内容会被清除,只留下一个干净的终端界面,光标在左上角。

其他相关命令

reset 命令

reset 命令用于重置终端。它不仅清除屏幕,还重置终端的所有设置。对于一些情况下,终端可能进入不可用状态,这时使用 reset 可以恢复终端的正常状态。

reset

背景原理

  • clear 命令实际上是发送一组特定的控制字符到终端,这些字符告诉终端清除屏幕。
  • clear 命令通常是 /usr/bin/clear 可执行文件,使用 tput 工具来确定终端的控制字符。

总结

clear 命令是一个简单而有效的工具,用于清除终端屏幕。它没有复杂的选项或参数,但在日常使用终端时非常有用,特别是需要清理屏幕以便更清晰地查看新的输出时。

clear

reboot命令

reboot 命令用于重新启动计算机。执行该命令将关闭计算机并重新启动操作系统。在 Linux 和其他 Unix-like 系统中,reboot 是一个常用的系统管理命令。

用法

基本用法
reboot

执行 reboot 命令会立即关闭计算机,并重新启动操作系统。在执行该命令之前,请确保保存了所有重要的工作,并关闭了正在运行的程序,以避免数据丢失。

示例

  1. 在终端中执行 reboot 命令:

    reboot
    

    系统将会立即关闭,并重新启动。

背景原理

  • reboot 命令实际上是一个系统调用,它通知操作系统关闭计算机。
  • 在执行 reboot 命令时,操作系统会依次执行一系列关机过程,包括保存未保存的数据、卸载文件系统、关闭服务等。
  • 一旦所有关机过程完成,操作系统将发送信号给计算机硬件,触发计算机重新启动。

注意事项

  • 在执行 reboot 命令之前,请确保保存了所有未保存的工作,并关闭了正在运行的程序,以免数据丢失。
  • 请谨慎使用 reboot 命令,尤其是在生产环境中,以避免造成不必要的中断。

总结

reboot 命令是在 Linux 和其他 Unix-like 系统中重启计算机的标准方式。它是管理系统的重要工具之一,但在使用时需要谨慎,以避免不必要的中断和数据丢失。

reboot

history命令

history 命令用于显示用户在当前会话中执行过的命令历史记录。在 Linux 和其他 Unix-like 系统中,history 命令是一个常用的命令行工具,可以帮助用户查看并重新执行之前执行过的命令。

用法

基本用法
history

执行 history 命令会显示当前会话中执行过的命令历史记录,默认按照执行顺序显示编号(编号从1开始),最近执行的命令在列表的底部。

显示最近的 N 条命令记录
history N

执行 history N 命令会显示最近执行的 N 条命令记录,其中 N 为一个整数,表示要显示的命令数量。

清除命令历史记录
history -c

执行 history -c 命令会清除当前会话中的所有命令历史记录。

示例

  1. 显示默认的命令历史记录:

    history
    

    输出示例:

      1  ls2  cd Documents/3  vim myfile.txt4  cat myfile.txt...
    
  2. 显示最近的10条命令记录:

    history 10
    

    输出示例:

    10  history
    11  ls
    12  cd Documents/
    13  vim myfile.txt
    ...
    
  3. 清除命令历史记录:

    history -c
    

注意事项

  • 命令历史记录保存在当前用户的家目录下的 .bash_history 文件中,每个用户都有自己的历史记录文件。
  • 使用 history 命令可以查看当前会话中的命令历史记录,但不能查看其他会话的历史记录。
  • history 命令默认显示的是当前会话的命令历史记录,当用户退出登录时,该记录将被保存到历史记录文件中,供以后查看。

总结

history 命令是一个有用的工具,可以帮助用户查看和重新执行之前执行过的命令。通过查看命令历史记录,用户可以更方便地查找和重复执行常用命令,提高命令行操作的效率。

history

shutdown命令

shutdown 命令用于安全地关闭系统或重新启动系统。在 Linux 和其他 Unix-like 系统中,shutdown 命令是管理员常用的系统管理工具之一。

用法

基本用法
shutdown [选项] 时间 [消息]
  • 选项:用于指定额外的操作参数,如 -r(重新启动)或 -h(关闭系统)等。
  • 时间:指定关闭或重启操作执行的时间。可以是一个绝对时间,也可以是相对于当前时间的延迟时间。
  • 消息:可选参数,用于指定关闭或重启的原因或附加信息。

常用选项

  • -r:重新启动系统。
  • -h:关闭系统。
  • -c:取消先前预定的关闭或重启操作。
  • -t:指定一个延迟时间,以秒为单位,在此时间后执行关闭或重启操作。

示例

  1. 关闭系统并显示关闭消息:

    shutdown -h now "System is going down for maintenance"
    
  2. 重新启动系统并设置延迟时间为10分钟:

    shutdown -r +10 "System will be rebooted in 10 minutes"
    
  3. 取消先前预定的关闭或重启操作:

    shutdown -c
    

注意事项

  • 在执行 shutdown 命令时,需要管理员权限。
  • 为了避免数据丢失,建议在关闭或重启系统之前保存所有未保存的工作。

总结

shutdown 命令是一个重要的系统管理工具,可用于安全地关闭或重新启动系统。通过指定适当的选项和时间,管理员可以有效地管理系统的运行时间,执行维护任务,并避免数据丢失。

shutdown -h now

type命令

type 命令用于显示给定命令的类型。在 Unix 和类 Unix 系统中,命令可以是内置命令、外部命令、别名或函数。type 命令可以告诉用户给定命令的类型是什么。

用法

type [选项] 命令名
  • 选项:可选,用于指定额外的操作参数。
  • 命令名:要查询类型的命令名称。

常用选项

  • -a:显示所有与给定命令名称相关的命令,包括别名、函数和外部命令。

示例

  1. 显示给定命令的类型:

    type ls
    

    输出示例:

    ls is aliased to 'ls --color=auto'
    
  2. 显示所有与给定命令名称相关的命令:

    type -a ls
    

    输出示例:

    ls is aliased to 'ls --color=auto'
    ls is /usr/bin/ls
    

注意事项

  • type 命令对于查找命令的类型和定义非常有用,可以帮助用户理解命令的来源和作用。
  • 使用 -a 选项可以查找所有与给定命令名称相关的定义,包括别名、函数和外部命令。

总结

type 命令是一个有用的工具,可用于查找给定命令的类型和定义。通过了解命令的来源和作用,用户可以更好地理解和使用命令行环境。

type ls

hostnamectl命令

hostnamectl 命令用于显示和修改系统的主机名及相关的系统信息。它是 systemd 管理系统中的一个工具,可用于管理系统的主机名、静态主机名、虚拟主机名、操作系统版本和其他相关设置。

centos7中的三种主机名

在 CentOS 7 中,主机名可以分为以下三种类型:

  1. 静态主机名(Static Hostname): 这是系统的永久主机名,通常在系统配置文件中设置。静态主机名一般在系统安装时设置,保存在 /etc/hostname 文件中。静态主机名在系统启动时被加载,并且不会随着网络或其他条件的变化而改变。关机重启后名称不失效。

  2. 临时主机名(Transient Hostname): 这是系统的动态主机名,它可以随着系统的运行而改变。临时主机名通常是根据网络配置或其他条件动态生成的,例如 DHCP 分配的主机名。临时主机名一般保存在 /etc/machine-info 文件中。关机重启后名称失效。

  3. Pretty 主机名(Pretty Hostname): 这是一个可选的用户友好型主机名,用于显示在系统的命令行提示符或其他信息中。Pretty 主机名可以包含空格和特殊字符,使其更易于阅读和识别。Pretty 主机名一般保存在 /etc/machine-info 文件中,并且可以通过 hostnamectl set-hostname 命令设置。主机名称可以包含特殊字符。

在 CentOS 7 中,可以使用 hostnamectl 命令来查看和管理系统的主机名信息,包括静态主机名、临时主机名和 Pretty 主机名。

用法

hostnamectl [选项] [命令]
  • 选项:用于指定额外的操作参数。
  • 命令:可选,用于执行特定的操作,如设置主机名等。如果省略命令,则会显示系统的主机名和相关信息。

常用选项

  • --static:显示静态主机名。
  • --transient:显示临时主机名。
  • --pretty:显示格式化的主机名。
  • --all:显示所有可用的主机名及相关信息。

常用命令

  • set-hostname NAME:设置系统的主机名为指定的名称。
  • set-icon-name ICON_NAME:设置系统的图标名称。
  • set-chassis TYPE:设置系统的机箱类型。
  • set-deployment DEPLOYMENT:设置系统的部署环境。
  • status:显示当前系统的主机名及相关信息。

示例

  1. 显示当前系统的主机名及相关信息:

    hostnamectl
    
  2. 设置系统的静态主机名:

    sudo hostnamectl set-hostname new_hostname
    
  3. 显示所有可用的主机名及相关信息:

    hostnamectl --all
    
  4. 设置系统的临时主机名

    sudo hostnamectl set-hostname my-temporary-hostname --transient
    

    这个命令将临时将主机名设置为 my-temporary-hostname。要使此更改立即生效,执行命令

    su
    

    您可能需要重新启动网络服务,具体取决于您的网络配置:

    sudo systemctl restart NetworkManager
    

    此设置的主机名将在系统重启后失效,而且不会被永久保存。

注意事项

  • 在修改主机名时,可能需要使用管理员权限(使用 sudo)。
  • 主机名的修改可能需要重新启动系统才能生效。

FQDN协议

FQDN(Fully Qualified Domain Name)是指完全限定域名,它是互联网上唯一标识主机的全局唯一标识符。FQDN 包含主机名和域名两部分,以点号分隔。FQDN 的格式通常是 hostname.domainname

FQDN 协议本身并不存在,它是一种命名约定,用于标识网络上的主机。通常情况下,FQDN 是通过 DNS(Domain Name System)系统来解析为 IP 地址,从而进行网络通信。FQDN 在 Internet 上起着重要的作用,它允许用户通过简单易记的名称来访问远程主机,而不需要记住复杂的 IP 地址。

在使用 FQDN 时,通常需要考虑以下几个方面:

  1. 主机名(Hostname): 主机名是 FQDN 的一部分,它标识了网络上的特定主机。主机名通常是由字母、数字和连字符(-)组成的字符串,且不能包含空格或其他特殊字符。

  2. 域名(Domain Name): 域名是 FQDN 的另一部分,它标识了主机所属的域。域名通常是一个层级结构,从顶级域名(Top-Level Domain,TLD)开始,例如 .com.org.net 等,然后是次级域名(Second-Level Domain)和更多的子域名(Subdomains)。

  3. DNS 解析: FQDN 通常通过 DNS 解析为 IP 地址,以便进行网络通信。DNS 是一个分布式的系统,用于将域名解析为 IP 地址,并提供其他与域名相关的信息。

  4. 配置文件: 在计算机系统中,FQDN 可能需要在配置文件中进行设置,以确保系统能够正确识别和使用主机名和域名。具体设置的方式和位置可能因操作系统和网络环境而异。

总的来说,FQDN 是一个标准化的命名约定,用于唯一标识互联网上的主机。通过使用 FQDN,用户可以方便地访问远程主机,而无需记住复杂的 IP 地址。

总结

hostnamectl 命令是一个强大的工具,可用于管理系统的主机名及相关信息。通过使用不同的选项和命令,管理员可以轻松地查看和修改系统的主机名,以及其他与主机相关的设置。

hostnamectl

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

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

相关文章

【python】成功解决“ImportError: cannot import name ‘triu’ from ‘scipy.linalg’”错误的全面指南

成功解决“ImportError: cannot import name ‘triu’ from ‘scipy.linalg’”错误的全面指南 在Python编程中,尤其是在使用scipy这个科学计算库时,可能会遇到ImportError错误,提示无法从scipy.linalg模块中导入名为triu的函数。这个错误通…

程序员职业生涯中的重要职业素养

程序员应该有什么职业素养? 作为一名程序员,职业素养在日常工作中至关重要。这不仅关系到个人职业发展的成功,也影响团队的整体效率和项目的成功。以下是几项对程序员而言尤为重要的职业素养: 1. 技术能力与学习能力 持续学习&…

浏览器原理---进程与线程

1、进程与线程的概念 从本质上说,进程和线程都是 CPU 工作时间片的一个描述: 进程描述了 CPU 在运行指令及加载和保存上下文所需的时间,放在应用上来说就代表了一个程序。线程是进程中的更小单位,描述了执行一段指令所需的时间。…

过滤器:Vue.js允许你自定义过滤器,可用于常见的文本格式化。过滤器可以用在两个地方:mustache插值和v-bind表达式

简介 Vue.js过滤器的概念 在Vue.js中,过滤器是一些用于处理和转换文本的函数。它们可以用在模板中的两个地方:mustache插值和v-bind表达式。过滤器应该被添加在JavaScript表达式的尾部,由“管道”符号表示。 过滤器的作用和优点 过滤器的主要作用是在不改变原始数据的…

Unity3D Delaunay德罗内三角算法详解

Unity3D是一款强大的游戏开发引擎,它提供了丰富的功能和工具,使开发者能够轻松创建出色的游戏和应用程序。其中,Delaunay德罗内三角算法是一种常用的计算几何算法,用于生成三角形网格,其在Unity3D中的应用也非常广泛。…

探索Linux中的rename命令:强大的文件名重命名工具

探索Linux中的rename命令:强大的文件名重命名工具 在Linux系统中,处理文件和目录时,经常需要对文件或目录进行重命名。虽然基本的mv命令可以用于此目的,但在面对需要按照特定模式进行批量重命名时,mv命令就显得有些力…

ROS系列rqt的安装以及使用方法介绍

目录 1. 安装 2. 部分工具的功能介绍及使用方法 1)rqt_gui 2)rqt_topic 3)rqt_graph 4)qt_plot 5)rqt_service_caller 6)rqt_bag 1. 安装 安装极其简单,不多介绍,直接上命令…

EDI系统的使用场景

EDI全称Electronic Data Interchange,中文名称是电子数据交换。EDI系统是专为企业间的电子数据传输而设计的,需要满足的基本功能包括:支持AS2、OFTP、SFTP等EDI传输协议,能够生成和解析符合X12、EDIFACT、VDA等EDI报文标准下的报文…

反向海淘代购系统中的API接口列表

API测试入口|代购系统演示 item_get 获得淘宝商品详情item_get_pro 获得淘宝商品详情高级版item_review 获得淘宝商品评论item_fee 获得淘宝商品快递费用item_password 获得淘口令真实urlitem_list_updown 批量获得淘宝商品上下架时间seller_info 获得淘宝店铺详情item_search…

CrossPrefetch: Accelerating I/O Prefetching for Modern Storage——论文泛读

ASPLOS 2024 Paper 论文阅读笔记整理 问题 目前计算设备和存储设备之间的性能差距仍然很大。因此,主内存缓存和缓冲区被广泛用于操作系统、用户级文件系统[32]和I/O运行时,在隐藏性能差距和减少I/O瓶颈方面发挥关键作用[23,26,3…

python运算符和表达式

目录 算数运算符 赋值运算符 关系运算符 逻辑运算符 位运算符 成员运算符 运算符优先级 易错点: 算数运算符 赋值运算符 关系运算符 int可以转换成float 逻辑运算符 可以是一个运算也可以是一个字符串 左边为空格,为假,输出为空 优…

[React]用 flushSync 同步更新 state

参考:使用 ref 操作 DOM – React 中文文档 同时操作state和ref的情况还是有的,按我的原来的处理肯定是使用setTimeout了,看到官方有解决方案,摘录下来以便查看。 源代码就不完整贴了,直接看问题代码块: …

MySQL中获取时间的方法

大家好,在MySQL数据库开发中,获取时间是一个常见的需求。MySQL提供了多种方法来获取当前日期、时间和时间戳,并且可以对时间进行格式化、计算和转换。 以下是一些常用的MySQL时间函数及其示例: 1、NOW():用于获取当前…

Mysql:通过一张表里的父子级,递归查询并且分组分级

表:gc_jzst_single_base 需求:要求返回这张表里符合条件的数据,且有父子级关系的,展示为同一组且分级,给后续业务调用 代码 WITH RECURSIVE t1 AS (SELECTsingle_id,old_build_single_id,single_name,bulid_code,1 A…

Mybatis Map接收数据tinyint(1)类型错误

Mybatis Map接收数据tinyint 1 类型错误 问题描述数据库字段Mybatis查询语句问题处理方案一方案二方案三 问题描述 Mybatis开发过程中,使用Map接收返回数据时发现tinyint(1)类型字段自动转换成了Boolean类型,导致查询的数据出现问题 数据库字段 数据库…

实验四、零比特插入《计算机网络》

但凡这句话有一点用的话也不至于一点用都没有。 目录 一、实验目的 二、实验内容 三、实验小结 一、实验目的 掌握零比特插入原理及方法使用任意编程语言实现零比特插入方法。 二、实验内容 掌握零比特插入原理及方法 点对点协议 PPP(Point-to-Point Protoco…

android apk签名

android apk签名 命令: java -jar signapk.jar platform.x509.pem platform.pk8 **.apk ***.apk note: apk密钥为: platform.pk8和platform.x509.pem 路径: build\target\product\security apk签名工具:sign…

Elasticsearch:基于多个 kNN 字段对文档进行评分

作者:来自 Elastic Madhusudhan Konda 通过具有多个 kNN 字段的最接近的文档对文档进行评分 Elasticsearch 不仅仅是一个词法(文本)搜索引擎。 Elasticsearch 是多功能搜索引擎,除了传统的文本匹配之外,还支持 k 最近…

【C++】优先级队列介绍与模拟实现

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…

Hadoop3:MapReduce之InputFormat数据输入过程整体概览(0)

一、MapReduce中数据流向 二、MapTask并行度 1、原理概览 数据块:Block是HDFS物理上把数据分成一块一块。数据块是HDFS存储数据单位。 数据切片:数据切片只是在逻辑上对输入进行分片,并不会在磁盘上将其切分成片进行存储。数据切片是MapRed…