第2章 Linux 中执行命令

第2章 Linux 中执行命令

命令格式

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

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

ctrl+l 可以清屏

查看帮助的命令

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

help

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

 # help 命令名称
 ​
 [root@bogon ~]# help cd
 cd: cd [-L|[-P [-e]] [-@]] [dir]
     Change the shell working directory.
     
     Change the current directory to DIR.  The default DIR is the value of the
     HOME shell variable.
 ​
 # 还可以使用 --help 的方式来查看帮助
 [root@bogon ~]# ls --help
 Usage: 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)
 ​
 NAME
        ls - list directory contents
 ​
 SYNOPSIS
        ls [OPTION]... [FILE]...

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

IP 地址指令

获取IP地址

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

日期 date

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

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

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

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

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

 [root@bogon ~]# date +%Y-%m-%d %H:%M:%S
 date: 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 --help
 timedatectl [OPTIONS...] COMMAND ...
 ​
 Query or change system time and date settings.
 ​
 Commands:
   status                   Show current time settings
   show                     Show properties of systemd-timedated
   set-time TIME            Set system time
   set-timezone ZONE        Set system time zone
   list-timezones           Show known time zones
   set-local-rtc BOOL       Control whether RTC is in local time
   set-ntp BOOL             Enable or disable network time synchronization
 ​
 ​
 ​
 [root@bogon ~]# timedatectl status
                Local time: Sun 2023-10-29 15:34:08 CST
            Universal time: Sun 2023-10-29 07:34:08 UTC
                  RTC time: Sun 2023-10-29 07:34:08
                 Time zone: Asia/Shanghai (CST, +0800)
 System clock synchronized: yes
               NTP service: active
           RTC 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 root
     Password: 
     [root@bogon ~]# 

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

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

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

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

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

 [root@bogon ~]# exit
 logout
 [redhat@bogon ~]$ 
 ​

设置主机名称

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

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

命令格式:

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

查看当前的主机名称:

 # 查看主机名称的状态
 [root@bogon ~]# hostnamectl status
    Static hostname: (unset)                                 
 Transient hostname: bogon
          Icon name: computer-vm
            Chassis: vm 🖴
         Machine ID: 5c5bb57619564f628a3f3f51cb63f773
            Boot ID: 0a3d61c8bed54836abe384268495b33d
     Virtualization: vmware
   Operating System: Red Hat Enterprise Linux 9.2 (Plow)     
        CPE OS Name: cpe:/o:redhat:enterprise_linux:9::baseos
             Kernel: Linux 5.14.0-284.11.1.el9_2.x86_64
       Architecture: x86-64
    Hardware Vendor: VMware, Inc.
     Hardware Model: VMware Virtual Platform
   Firmware Version: 6.00
   
 ​
 # 获取主机名称
 [root@bogon ~]# hostnamectl hostname
 bogon

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

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

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

获取当前路径 pwd

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

 [root@bogon ~]# pwd
 /root
 [root@bogon ~]# cd /home/redhat
 [root@bogon redhat]# pwd
 /home/redhat
  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

璀云霄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值