<返回更多

Linux系统基本操作以及常用命令

2020-06-25    
加入收藏

linux终端介绍与Bash Shell应用

Linux终端介绍

Linux终端有两种,分别是桌面终端和远程终端,桌面终端根据不同的桌面分为GNOME桌面的GNOME Terminal、KDE桌面的Konsole Terminal。而远程终端有基于SSH2协议的SecureCRT、XShell。

GNOME Ternimal

Linux系统基本操作以及常用命令

 

SecureCRT

Linux系统基本操作以及常用命令

 

如果想要知道当前使用是哪个终端,可以使用tty命令查看终端

Linux系统基本操作以及常用命令

 

其中/dev/pts/1表示第一个终端,/dev/pts/2表示第二个终端。

如果你在SecureCRT上也登录了centos7.8,那么当输入tty命令时将会输出/dev/pts/3,即表示第三个终端

Linux系统基本操作以及常用命令

 

在操作终端的过程中有一些常用的快捷键

Ctrl+Shift+N:快速打开一个终端

Ctrl+Shift+ +:终端字体放大

Ctrl+Shift+ -:终端字体减小

在一台服务器的多个终端之间是可以进行通讯。例如可以使用echo message > 终端 发送指定的消息。

首先同时打开两个终端/dev/pts/1和/dev/pts/2然后在/dev/pts/1上使用命令echo ittimeline.net >/dev/pts/2时,第二个终端/dev/pts/2收到了消息ittimeline.net

Linux系统基本操作以及常用命令

 

shutdown命令用于关机,该命令必须使用root用户执行,普通用户(例如guanglei)无法执行该命令。

使用命令shutdown +10 实现十分钟后关机,该命令会向所有的终端广播消息

Linux系统基本操作以及常用命令

shutdown +10

其他终端也收到10分钟之后关机的消息

Linux系统基本操作以及常用命令

 

如果想要终止可以使用shutdown -c取消关机,在输入该命令之前需要使用Ctrl+c中断命令shutdown +10的执行。

Linux系统基本操作以及常用命令

 

当取消关机时,该命令也会发送广播消息给所有的终端

Linux系统基本操作以及常用命令

 

如果想要通过终端广播消息,可以使用命令wall ”message“实现

当在终端设备/dev/pst/1上使用命令wall "boss is comming"时,此时/dev/pst/2和/dev/pst/3都收到了该消息

Linux系统基本操作以及常用命令

 


Linux系统基本操作以及常用命令

wall message

Linux Shell 介绍

Linux Shell提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令并提交到内核去执行。Shell实际上是一个命令解释器,它通过解释用户输入的命令并提交给内核执行。Shell有自己的编程语言,它允许用户编写由Shell命令组成的程序。Shell编程语言具有常用编程语言(C/C++)的许多特点,比如说它也有循环结构和分支控制等等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。

Shell执行命令的流程当用户输入命令时会提交到Shell,Shell会判断该命令是否是内部命令,如果是内部命令,则直接执行系统内核对应的功能调用,如果是外部命令,Shell会在系统中查找该命令对应的执行程序并加载到内存中执行。

Linux系统基本操作以及常用命令

 

内部命令是在系统启动时就加载到内存中,是常驻内存,所以执行效率高。外部命令是系统软件的功能,用户需要时才会从硬盘加载到内存中。

可以通过type command来查看当前执行的命令是内部命令还是外部命令。

例如当执行命令type pwd时输出pwd是shell 内嵌,即内部命令。而当执行命令type cat时输出cat 命令对应的路径/usr/bin/cat,即外部命令。

[root@ittimeline ~]# type pwd
pwd 是 shell 内嵌
[root@ittimeline ~]# type cat
cat 是 /usr/bin/cat

后期在进行Linux系统管理(文件目录、用户、权限、磁盘、软件、网络等等)都是通过Shell实现的。

Shell 提示符

当以root用户登录系统时,Shell命令提示会显示[root@ittimeline ~]#

[root@ittimeline ~]# 

而当以普通用户guanglei登录时,Shell命令提示符会显示[guanglei@ittimeline ~]$

[guanglei@ittimeline ~]$ 

因此如果在Shell命令提示符中看到$表示该用户是普通用户,如果看到#表示该用户是系统管理员root用户。

如果想要从root用户切换到普通用户guanglei,可以使用su - guanglei

[root@ittimeline guanglei]# su - guanglei
上一次登录:二 6月 23 12:46:18 CST 2020pts/3 上
[guanglei@ittimeline ~]$ whoami
guanglei

Shell命令提示符[root@ittimeline ~]#表示的含义[用户名@主机名 当前所在目录],其中~表示用户的家目录,而#表示root用户,$表示普通用户。

Bash Shell

如果想要知道系统支持哪些Shell类型,可以通过命令cat /etc/shells查看

[root@ittimeline ~]# cat /etc/shells 
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh

如果想要知道当前系统具体使用的是哪种Shell,取决于用户配置,可以通过命令head -1 /etc/passwd查看/etc/passwd文件的第一行

[root@ittimeline ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash

通过命令可以查看到当前root用户使用的Shell是Bash Shell。

Linux基本命令常用操作

Linux命令组成

Linux命令由命令、【选项】和【参数】三部分组成,其中命令就是具体执行的命令,例如pwd,whoami,head等等,而选项是影响到命令的一些行为操作,通常是以-或者是--实现,参数就是命令作用的对象。

以命令ls -al /home/guanglei为例,其中ls命令查看文件列表,-a选项是显示所有文件,包含隐藏文件(.开头的文件就是隐藏文件),l表示文件的详细信息。参数/home/guanglei 就是命令作用的路径。

[root@ittimeline ~]# ls -al /home/guanglei/
总用量 32
drwx------. 15 guanglei guanglei 4096 6月  23 09:48 .
drwxr-xr-x.  3 root     root       22 6月  23 07:29 ..
-rw-------.  1 guanglei guanglei  215 6月  23 12:52 .bash_history
-rw-r--r--.  1 guanglei guanglei   18 4月   1 10:17 .bash_logout
-rw-r--r--.  1 guanglei guanglei  193 4月   1 10:17 .bash_profile
-rw-r--r--.  1 guanglei guanglei  231 4月   1 10:17 .bashrc
drwx------. 14 guanglei guanglei 4096 6月  23 07:41 .cache
drwxr-xr-x. 14 guanglei guanglei  261 6月  23 09:48 .config
drwx------.  3 guanglei guanglei   25 6月  23 07:35 .dbus
drwxr-xr-x.  2 guanglei guanglei    6 6月  23 09:48 Desktop
drwxr-xr-x.  2 guanglei guanglei    6 6月  23 09:48 Documents
drwxr-xr-x.  2 guanglei guanglei    6 6月  23 09:48 Downloads
-rw-------.  1 guanglei guanglei   16 6月  23 07:35 .esd_auth
-rw-------.  1 guanglei guanglei  620 6月  23 09:48 .ICEauthority
drwx------.  3 guanglei guanglei   19 6月  23 07:35 .local
drwxr-xr-x.  4 guanglei guanglei   39 6月  23 07:20 .mozilla
drwxr-xr-x.  2 guanglei guanglei    6 6月  23 09:48 Music
drwxr-xr-x.  2 guanglei guanglei    6 6月  23 09:48 Pictures
drwxr-xr-x.  2 guanglei guanglei    6 6月  23 09:48 Public
drwxr-xr-x.  2 guanglei guanglei    6 6月  23 09:48 Templates
drwxr-xr-x.  2 guanglei guanglei    6 6月  23 09:48 Videos

ls命令详解

ls命令的作用查看当前目录下有哪些文件,其语法就是ls 目录/文件,如果不加路径参数,默认就是查看当前路径下的内容

例如这里使用普通用户guanglei登录后查看/home/guanglei目录下的文件列表

[guanglei@ittimeline ~]$ ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

使用pwd命令可以查看当前用户所在的路径

[guanglei@ittimeline ~]$ pwd
/home/guanglei

使用 ls -l 选项可以查看当前路径文件列表的详细信息

[guanglei@ittimeline ~]$ ls -l
总用量 0
drwxr-xr-x. 2 guanglei guanglei 6 6月  23 09:48 Desktop
drwxr-xr-x. 2 guanglei guanglei 6 6月  23 09:48 Documents
drwxr-xr-x. 2 guanglei guanglei 6 6月  23 09:48 Downloads
drwxr-xr-x. 2 guanglei guanglei 6 6月  23 09:48 Music
drwxr-xr-x. 2 guanglei guanglei 6 6月  23 09:48 Pictures
drwxr-xr-x. 2 guanglei guanglei 6 6月  23 09:48 Public
drwxr-xr-x. 2 guanglei guanglei 6 6月  23 09:48 Templates
drwxr-xr-x. 2 guanglei guanglei 6 6月  23 09:48 Videos

这里为了更加具体的了解文件的详细信息,首先使用命令cd Documents切换到Documents目录下,然后使用touch file.txt创建一个空的文本文件,接下来使用命令ls -l file.txt查看file.txt的文件详细信息

[guanglei@ittimeline ~]$ cd Documents/
[guanglei@ittimeline Documents]$ touch file.txt
[guanglei@ittimeline Documents]$ ls -l file.txt
-rw-rw-r--. 1 guanglei guanglei 0 6月  23 13:30 file.txt

ls -l file.txt命令输出如下

-rw-rw-r--. 1 guanglei guanglei 0 6月  23 13:30 file.txt

使用命令echo "hello world" >file.txt往file.txt写入字符串helloworld,然后再次使用ls -l file.txt查看文件详细信息。

[guanglei@ittimeline Documents]$ echo "hellworld" > file.txt 
[guanglei@ittimeline Documents]$ ls -l file.txt 
-rw-rw-r--. 1 guanglei guanglei 10 6月  23 13:35 file.txt

Linux下/dev目录是用于存放各种设备文件,如果想要查看不同类型的文件,可以使用命令ls -l /dev查看,CentOS系统中不同的颜色表示不同的文件类型。

颜色代表内容举例蓝色目录/etc黑色文件/etc/passwd浅蓝色链接/etc/grub2.cfg红色压缩包boot.tar.gz绿色可执行文件/etc/init/d/network黑底黄字设备文件/dev/sda

ls -a选项用于列出指定目录下的所有文件,包括以.开头的隐藏文件,如果存在两个点代表着父目录,一个点表示当前目录。

ls -a 查看/home/guanglei/下的所有文件

[guanglei@ittimeline ~]$ ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos
[guanglei@ittimeline ~]$ ls -a
.   .bash_history  .bash_profile  .cache   .dbus    Documents  .esd_auth      .local    Music     Public     Videos
..  .bash_logout   .bashrc        .config  Desktop  Downloads  .ICEauthority  .mozilla  Pictures  Templates

ls -ld 查看指定目录的详细信息

查看/root目录的详细信息

[guanglei@ittimeline ~]$ ls -ld /root/
dr-xr-x---. 5 root root 221 6月  23 12:58 /root/

查看/home/guanglei目录的详细信息

[guanglei@ittimeline ~]$ ls -ld /home/guanglei/
drwx------. 15 guanglei guanglei 4096 6月  23 09:48 /home/guanglei/

ls -S 查看文件目录,并且以文件的大小排序(默认是降序)

查看/root目录,并且按照文件大小排序

[root@ittimeline ~]# ls -lS /root/
总用量 8
-rw-r--r--. 1 root root 1852 6月  23 07:33 initial-setup-ks.cfg
-rw-------. 1 root root 1804 6月  23 07:29 anaconda-ks.cfg

alias命令详解

在Shell中,ls -l和ll执行的结果是等价的

[root@ittimeline ~]# ll
总用量 8
-rw-------. 1 root root 1804 6月  23 07:29 anaconda-ks.cfg
-rw-r--r--. 1 root root 1852 6月  23 07:33 initial-setup-ks.cfg
[root@ittimeline ~]# ls -l
总用量 8
-rw-------. 1 root root 1804 6月  23 07:29 anaconda-ks.cfg
-rw-r--r--. 1 root root 1852 6月  23 07:33 initial-setup-ks.cfg

当使用type命令查看ll时输出结果显示ll是ls -al的别名

[root@ittimeline ~]# type ll
ll 是 `ls -l --color=auto' 的别名

那么如何创建一个别名呢?这里以常用的编辑网卡配置为例,CentOS7中编辑网卡配置,通常会使用命令vim
/etc/sysconfig/network-scripts/ifcfg-ens33来编辑网卡配置文件ifcfg-ens33。为了实现同样的作用,我们可以使用alias命令来创建一个别名,其格式类似于编程语言中变量的声明,alias 变量名=变量值,其中变量值需要使用""包含起来,而变量名通常是英文开头。

[root@ittimeline ~]# alias vimens33="vim /etc/sysconfig/network-scripts/ifcfg-ens33"

当别名创建完成后就可以使用vimens33来快速编辑网卡配置文件ifcfg-ens33

[root@ittimeline ~]# vimens33
  
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="f474f5ec-6f09-43b5-bfd9-88750562441f"
DEVICE="ens33"
ONBOOT="yes"
IPV6_PRIVACY="no"            

如果想要删除别名,可以使用命令unalias 命令别名。

[root@ittimeline ~]# unalias vimens33
[root@ittimeline ~]# vimens33
bash: vimens33: 未找到命令...

而alias命令创建的别名在服务器重启后会丢失。

如果想要别名永远有效,可以使用命令vim .bashrc来编辑.bashrc用户配置文件,将alias定义的别名存储在该文件中。

在使用vim .bashrc编辑.bashrc文件时,此时vim处于命令模式,可以按i键进入编辑模式。

[root@ittimeline ~]# vim .bashrc 

当编辑文件时,系统已经存在如下别名

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

然后将ens33的别名追加到已有别名的后面

Linux系统基本操作以及常用命令

 

别名追加完成以后输入:wq保存.bashrc修改的内容,然后使用命令source .bashrc重新加载配置,需要注意的是该命令只在当前终端刷新.bashrc的配置。如果是其他已经打开的终端无法使用,则需要再次使用source .bashrc重新加载配置文件

[root@ittimeline ~]# source .bashrc 

刚才编辑的.bashrc文件位于/root目录下,因此别名vimens33只会对root用户有效,普通用户(例如guanglei)则是无效的

Last login: Tue Jun 23 13:26:10 2020 from 192.168.0.115
[guanglei@ittimeline ~]$ vimens33
bash: vimens33: 未找到命令...
[guanglei@ittimeline ~]$ 

如果想要所有用户都能使用别名(例如ens33),则需要在修改/etc目录下的bashrc文件。

[root@ittimeline ~]# vim /etc/bashrc

在使用vim编辑该文件时,首先下滑到文件的末尾,然后按i键由命令模式切换到编辑模式,然后添加别名vimens33的配置

alias vimens33="vim /etc/sysconfig/network-scripts/ifcfg-ens33"
Linux系统基本操作以及常用命令

添加vimens33配置

配置添加完成后按esc退出编辑模式,然后按:wq保存文件,再使用命令source /etc/bashrc重新加载配置。

[root@ittimeline ~]# source /etc/bashrc 

然后重新使用普通用户(guanglei)登录,输入别名vimens33便可以实现快速修改网卡配置

[guanglei@ittimeline ~]$ vimens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="f474f5ec-6f09-43b5-bfd9-88750562441f"
DEVICE="ens33"
ONBOOT="yes"
IPV6_PRIVACY="no"
~                       
Linux系统基本操作以及常用命令

通过ens33别名修改网卡

cd命令详解

cd命令用于切换目录,其用法就是cd 目录

可以使用cd ~切换到用户的家目录

root用户使用cd ~和cd切换到家目录

[root@ittimeline ~]# cd ~
[root@ittimeline ~]# pwd
/root
[root@ittimeline ~]# cd
[root@ittimeline ~]# pwd
/root

普通用户guanglei使用cd ~和cd切换到家目录

[guanglei@ittimeline ~]$ cd ~
[guanglei@ittimeline ~]$ pwd
/home/guanglei
[guanglei@ittimeline ~]$ cd
[guanglei@ittimeline ~]$ pwd
/home/guanglei

cd ..可以切换到上一级目录

guanglei用户切换到/home/guanglei的上一级目录

[guanglei@ittimeline ~]$ pwd
/home/guanglei
[guanglei@ittimeline ~]$ cd ..
[guanglei@ittimeline home]$ pwd
/home

cd .进入到当前目录

[guanglei@ittimeline home]$ pwd
/home
[guanglei@ittimeline home]$ cd .
[guanglei@ittimeline home]$ pwd
/home

cd - 返回切换前的目录

[guanglei@ittimeline home]$ pwd
/home
[guanglei@ittimeline home]$ cd -
/home/guanglei
[guanglei@ittimeline ~]$ cd -
/home

history命令详解

在Shell中可以通过上下键来切换之前输入的命令,除此以外可以使用history获取输入的历史命令

[guanglei@ittimeline home]$ history
    1  ifconfig
    2  tty
    3  tty
    4  echo ittimeline.net >/dev/pts/2
    5  shutdown +10
    6  clear
    7  tty
    8  clear
    9  tty
   10  walk "boss is coming"
   11  whoami
   12  exit
   13  su root
   14  su - root
   15  su root
   16  eixt
   17  exit
   18  clear
   19  su guanglei
   20  clear
   21  clear
   22  su -guanglei
   23  clear
   24  su - guanglei
   25  ls
   26  pwd
   27  ls -l
   28  cd Documents/
   29  touch file.txt
   30  ls -l file.txt
   31  echo "hellworld" > file.txt 
   32  ls -l file.txt 
   33  ls /dev
   34  clear
   35  ls -l /dev
   36  clear
   37  cd ../
   38  pwd
   39  clear
   40  ls
   41  ls -a
   42  ls /
   43  clear
   44  ls .
   45  ls 
   46  ls -ld /root/
   47  ls -ld /home/guanglei/
   48  ls /home/guanglei/
   49  ls -l /home/guanglei/
   50  ls -ld /home/guanglei/
   51  pwd
   52  ls -lS /root/
   53  clear
   54  vimens33
   55  clear
   56  cd ~
   57  pwd
   58  cd
   59  pwd
   60  cd ..
   61  pwd
   62  cd -
   63  pqd
   64  clear
   65  pwd
   66  cd .
   67  pwd
   68  cler
   69  clear
   70  history

如果想要在history命令的输出结果中查找历史的命令,可以使用如下方法:

  1. 光标上下键切换输入过的命令
  2. ctrl+r 进入命令搜索模式, 输入某条命令的关键字,找出来对应的命令,然后按右方向键并回车就能够执行命令
  3. !num 执行指定编号的历史命令,例如!26就会执行history历史命令的第二十六条命令
[guanglei@ittimeline network-scripts]$ !26
pwd
/etc/sysconfig/network-scripts
  1. !字符串 会搜索历史命令中最近一个以xxx字符串开头的命令,例如 !who

当输入!who,history会匹配到whoami命令

[guanglei@ittimeline network-scripts]$ !who
whoami
guanglei

Linux常用快捷键

  1. Ctrl+c (^C)终止前台运行程序

例如在使用ping baidu.com 检查网络连接时,如果网络通常,则会一直输出接收的数据包信息,如果想要此时停止接收数据,则此时可以使用快捷键Ctrl+c来终止前台运行的ping程序

[guanglei@ittimeline network-scripts]$ ping baidu.com
PING baidu.com (39.156.69.79) 56(84) bytes of data.
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=50 time=27.7 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=2 ttl=50 time=27.8 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=3 ttl=50 time=29.7 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=4 ttl=50 time=28.2 ms
^C
--- baidu.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 27.797/28.414/29.781/0.833 ms
[guanglei@ittimeline network-scripts]$ 
  1. Ctrl+d(^d) 退出,等价于exit在远程连接终端时如果想要退出当前登录的账户,可以使用快捷键Ctrl+d来退出,也可以使用exit命令退出当前登录的账户。使用Ctrl+d退出当前登录用户使用exit命令退出当前登录用户
  2. Ctrl+l 清屏,等价于clear命令如果在终端上执行某条命令时的输出结果占满屏幕,此时可以使用快捷键Ctrl+l或者是clear命令来实现清除屏幕的输出结果。

使用clear或者快捷键Ctrl+L清除屏幕

Linux系统基本操作以及常用命令

 

  1. Ctrl+a 跳到命令行的开头
  2. Ctrl+e 跳到命令行的结尾
  3. Ctrl+u 将光标处到命令行开头的内容删除
  4. Ctrl+k 将光标处到命令行末尾的内容删除
  5. Ctrl+r 搜索历史命令,可以利用好关键词
  6. !$ 引用上一个命令的最后一个参数

当首先执行cat /etc/hosts后,再执行vim !$后,上一个命令的最后一个参数/etc/hosts会传入到vim命令中并被得到执行

[guanglei@ittimeline ~]$ cat /etc/hosts
  7.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
[guanglei@ittimeline ~]$ vim !$
vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
~                                                                                        
  1. Tab命令补全命令和和文件
    当在Shell中输入命令时,如果记不住命令的完整名字,此时可以使用Tab键来补全命令
    例如当执行whoami时只需要输入wh,然后使用Tab补全后系统会列出wh开头的命令。
[guanglei@ittimeline ~]$ wh
whatis    whereis   which     while     whiptail  who       whoami    

Tab补全命令还有一种应用场景就是补全路径,例如在使用cd切换路径时,如果忘记某个完整路径,可以使用Tab来补全

[guanglei@ittimeline ~]$ cd /home/guanglei/

Linux系统时间管理

在Linux中有硬件时钟与系统时钟两种时钟。硬件时钟指的是主板上的时钟设备,也就是通常可以在BIOS中设定的时钟,可以在root用户登录后使用hwclock命令查看

[root@ittimeline guanglei]# hwclock
Thu 25 Jun 2020 11:57:39 AM CST  -0.037282 seconds

CST (China Standard Time):中国标准时间GMT(Greenwich Mean Time):格林威治时间UTC(Universal Time Coordinated):世界标准时间

系统时钟指的是Linux Kernel中的时钟,所有Linux相关的指令与函数都是读取系统时钟的设定。当Linux系统启动时,系统时钟会去读取硬件时钟的设定,然后系统时钟独立运作。系统时间可以通过date命令查看。

[guanglei@ittimeline ~]$ date 
Thu Jun 25 11:57:38 CST 2020

date除了可以显示系统时间外,还可以修改系统时间,在使用date 命令修改时间之前,首先需要了解时间的格式,可以通过命令date --help查看date命令的帮助信息

下面是截取的日期格式说明

  %%    一个文字的 %
  %a    当前locale 的星期名缩写(例如: 日,代表星期日)
  %A    当前locale 的星期名全称 (如:星期日)
  %b    当前locale 的月名缩写 (如:一,代表一月)
  %B    当前locale 的月名全称 (如:一月)
  %c    当前locale 的日期和时间 (如:2005年3月3日 星期四 23:05:25)
  %C    世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20)
  %d    按月计的日期(例如:01)
  %D    按月计的日期;等于%m/%d/%y
  %e    按月计的日期,添加空格,等于%_d
  %F    完整日期格式,等价于 %Y-%m-%d
  %g    ISO-8601 格式年份的最后两位 (参见%G)
  %G    ISO-8601 格式年份 (参见%V),一般只和 %V 结合使用
  %h    等于%b
  %H    小时(00-23)
  %I    小时(00-12)
  %j    按年计的日期(001-366)
  %k   hour, space padded ( 0..23); same as %_H
  %l   hour, space padded ( 1..12); same as %_I
  %m   month (01..12)
  %M   minute (00..59)
  %n    换行
  %N    纳秒(000000000-999999999)
  %p    当前locale 下的"上午"或者"下午",未知时输出为空
  %P    与%p 类似,但是输出小写字母
  %r    当前locale 下的 12 小时时钟时间 (如:11:11:04 下午)
  %R    24 小时时间的时和分,等价于 %H:%M
  %s    自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数
  %S    秒(00-60)
  %t    输出制表符 Tab
  %T    时间,等于%H:%M:%S
  %u    星期,1 代表星期一
  %U    一年中的第几周,以周日为每星期第一天(00-53)
  %V    ISO-8601 格式规范下的一年中第几周,以周一为每星期第一天(01-53)
  %w    一星期中的第几日(0-6),0 代表周一
  %W    一年中的第几周,以周一为每星期第一天(00-53)
  %x    当前locale 下的日期描述 (如:12/31/99)
  %X    当前locale 下的时间描述 (如:23:13:48)
  %y    年份最后两位数位 (00-99)
  %Y    年份
  %z +hhmm              数字时区(例如,-0400)
  %:z +hh:mm            数字时区(例如,-04:00)
  %::z +hh:mm:ss        数字时区(例如,-04:00:00)
  %:::z                 数字时区带有必要的精度 (例如,-04,+05:30)
  %Z                    按字母表排序的时区缩写 (例如,EDT)

其中比较常用的日期格式有

%F 完整日期格式,等价于 %Y-%m-%d

%y 年份最后两位数位 (00-99)

%Y 年份

%m month (01..12)

%d 按月计的日期(例如:01)

%M minute (00..59)

%H 小时(00-23)

%S 秒(00-60)

date除了可以显示时间以外,还可以通过date -s "STRING" 把时间设置成字符串所描述的时间

将日期修改为指定的时间

[root@ittimeline ~]# date -s "2020-6-25 12:17 "
2020年 06月 25日 星期四 12:17:00 CST
[root@ittimeline ~]# date
2020年 06月 25日 星期四 12:17:00 CST

显示完整日期

[root@ittimeline ~]# date "+%F"
2020-06-25

显示完整日期和时间

[root@ittimeline ~]# date "+%Y-%m-%d %H:%M:%S" 
2020-06-25 12:32:34
[root@ittimeline ~]# date "+%Y/%m/%d %H:%M:%S"   
2020/06/25 12:32:42

显示时间

[root@ittimeline ~]# date "+%H:%M:%S"
12:30:42

date -d 显示字由字符串描述的时间,而不是当前时间

例如查看当前时间的下个月的时间

[root@ittimeline ~]# date
2020年 06月 25日 星期四 12:34:37 CST
[root@ittimeline ~]# date -d "+1 months"
2020年 07月 25日 星期六 12:34:45 CST

使用time命令测试命令运行的时间

[root@ittimeline ~]# time ls -al /etc/
real    0m0.010s
user    0m0.005s
sys     0m0.005s

real 表示实际使用时间,user表示用户状态使用时间,sys表示内核状态使用时间。实际使用时间=用户状态使用时间+内核状态使用时间

Linux帮助命令的使用

由于CentOS7.8在企业运维的应用场景基本都是基于字符界面的命令使用。如果在使用命令时不知道怎么使用,这时就可以通过帮助命令来了解命令的使用方法。常用的查看帮助信息的命名有如下几个

  1. 通过man命令查看
[root@ittimeline ~]# man find
Linux系统基本操作以及常用命令

man find


在使用man 命令时使用/ keyword可以搜索指定的关键字,搜索关键字时使用n跳转到下一个匹配结果,p返回上一个匹配结果,退出使用q。
2. 命令的--help选项

通过--help选项查看find命令的帮助信息,通过输出结果显示对比man命令,--help显示的帮助信息就少很多了。

[root@ittimeline ~]# find --help
Linux系统基本操作以及常用命令

find --help

开关机命令以及7个启动级别

Linux的开关机以及重启命令

Linux下常用的关机、重启命令有shutdown、init、reboot

shutdown主要是用于关机、重启和定时关机。该命令只用root用户能够使用,普通用户无法使用shutdown -r表示重启计算机shutdown -r 时间 表示定时重启shutdown -h表示关机,shutdown -h 时间 表示定时关机shutdown -c 取消关机

使用shutdown -h +10实现10分钟后关机,然后立即使用shutdown -c 取消关机

[root@ittimeline ~]# shutdown -h +10
Shutdown scheduled for 四 2020-06-25 13:20:26 CST, use 'shutdown -c' to cancel.
[root@ittimeline ~]# 
Broadcast message from root@ittimeline.net (Thu 2020-06-25 13:10:26 CST):

The system is going down for power-off at Thu 2020-06-25 13:20:26 CST!

^C
[root@ittimeline ~]# shutdown -c

Broadcast message from root@ittimeline.net (Thu 2020-06-25 13:10:31 CST):

The system shutdown has been cancelled at Thu 2020-06-25 13:11:31 CST!

[root@ittimeline ~]# 

如果想要立即关机可以使用shutdown -h now实现,关机以后需要从VMware WorkStation Pro 中启动虚拟机。

Linux系统基本操作以及常用命令

 

而且关机以后所有的客户端连接(例如这里的SecureCRT)都会关闭,

Linux系统基本操作以及常用命令

 

待虚拟机中的系统开机之后点击会话重新连接。

Linux系统基本操作以及常用命令

 

Linux系统的启动级别

Linux系统的启动级别主要作用是切换系统的运行级别,通过init命令加上数字0-6之间的7个数字来进行切换。该命令也只能是root用户使用0:系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,此时机器处于关闭状态。1:单用户模式:root权限,用于系统维护,禁止远程登录,就像windows下的安全模式登录2:多用户模式,没有NFS和网络支持3:完整的多用户文本模式,有NFS和网络,登录后进入控制台的命令行模式4:系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情,例如在笔记本电脑电池耗尽时,可以切换到这个模式做一些设置。5:图形化模式,登录后进入图形GUI模式,例如CentOS7.8就会进入GNOME桌面6:重启模式,默认运行级别不能为6,否则不能正常启动,运行init 6机器就会重启。

在Linux系统的日常使用中,通常使用init 0来进行关机,init 3进入字符界面,init 5进入图形界面(前提条件是安装了图形界面)。如果是从init3切换到init5,通常是在系统内置的虚拟终端进行。

当使用普通用登录时,默认打开终端登录的用户也是普通用户,此时可以使用 命令su root命令和密码来切换成root用户

Linux系统基本操作以及常用命令

 

然后输入命令init 3回车后进入字符界面,然后输入普通用户的账号和密码就可以登录

Linux系统基本操作以及常用命令

 

然后便可以输入相关的命令进行操作了

Linux系统基本操作以及常用命令

 

如果想要切换回图形界面只需要输入命令init 5并输入root用户密码后便可以切换成图形界面,因为之前的CentOS7.8安装了图形化界面GNOME。

Linux系统基本操作以及常用命令

图形界面

如果图形界面卡顿时可以修改默认的启动级别为字符界面CentOS7不在使用/etc/inittab文件进行默认的启动级别设置,而是使用比sysvinit的运行级别更为自由的target替代。其中第三运行级别用multi-user.target替代,第五运行级别用graphical.target替代。

设置默认启动级别为3,即字符界面,该设置重启后生效

[root@ittimeline ~]# systemctl set-default multi-user.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
[root@ittimeline ~]# 

使用shutdown -r now命令重启系统后发现CentOS7.8是在字符界面下启动

Linux系统基本操作以及常用命令

 

设置默认启动级别为5,即图形化界面,该设置重启后生效

[root@ittimeline ~]# systemctl set-default  graphical.target 
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.

如果想要查看当前系统的运行级别,可以通过runlevel命令或者是systemctl get-default查看

如果systemctl get-default输出的结果是graphical.taget表示当前的运行级别是图形化界面

[root@ittimeline ~]# systemctl get-default
graphical.target

runlevel命令可以查看系统启动级别的切换过程

[root@ittimeline ~]# runlevel
5 3
[root@ittimeline ~]# init 5
[root@ittimeline ~]# runlevel
3 5
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>