访问Liunx命令行

文化   2024-07-31 20:50   北京  


正文共:2666 字 29 图,预估阅读时间:3 分钟

简单来讲,Liunx是一个操作系统不太准确,操作系统的组成是内核+应用软件。内核,是承上启下,处于中间层。所有应用软件都要基于此内核进行开发(系统调用)。不同内核的系统调用接口有可能不一样,所以,带来一个新问题:应用程序的跨平台(内核)。所以,各厂商组织起来,定了一个标准:POSIX(Portable Operating System Interface,可移植操作系统接口),解决了应用程序的跨平台问题,所以,现在开发程序只需要开发一次就好了(源代码)。

CentOS8:Liunx内核+应用程序。

所以准确来说:Liunx只是一个内核,因为内核不提供和用户的交互功能,所以需要一个程序提供这种功能,这种程序分为两种:命令行(Command-Line Interface,CLI)和图形界面(Graphical User Interface,GUI)

  • 命令行(CLI):提供CLI的交互程序,通称为shell,rhel这个分支,主要使用bash这个shell。

  • 图形化(GUI):很复杂的应用程序,所以一般服务器不用,为了保证稳定性,不安装图形化。

1、shell

默认情况下,登录之后(输入完账号和密码),会默认打开一个bash程序,即我们所看到的界面:

Bash程序有一个提示符意思是:

[当前登录账号@hostname 当前所在路径(~:当前用户的家目录)]当前用户是什么类型的用户(#:表示超级管理员,$:表示普通用户)

  • 可以看到多种shell,默认采用的是bash这个shell。

cat /etc/shells

这里会有四个shell,并显示其路径,其实这四个是同一个bash。

  • 查看当前使用的shell

echo $SHELL

  • 基于当前shell所运行的进程。

ps

  • 查看命令提示符格式,方括号里的提示符由PS1变量展示,可以修改。

echo $PS1

2、终端

用户和主机进行交互的设备,称为终端。

(1)物理终端

  • 一个键盘、一个鼠标、一个显示器都是一个物理终端。

  • 设备文件:/dev/console

dev目录下都是设备,console文件是代表其中一个终端设备。

(2)虚拟终端

  • tty:直接连接的终端。附加在物理终端上,以软件方式虚拟出来的终端。

  • 设备文件:/dev/tty*,直接输入tty为当前Shell使用的终端。

(3)模拟终端

  • pts:纯软件饰演的终端,与图形终端窗口或远程登录会话的相关终端。比如:在图形界面下打开的terminal,使用SSH、telnet等远程打开的界面。

  • 设备文件:/dev/pts/*

(4)虚拟终端切换

如果有图形环境,共有6个控制台,图形界面运行在第一个;文本界面运行在第二至第六个。如果没有图形环境,则只有5个虚拟控制台,全是文本界面。rhel5之前版本,有7个虚拟控制台,前六个为文本界面,第七个为图形界面。

  • 切换其他的界面使用Ctrl+Alt+f键

当前是第一个界面,使用Ctrl+Alt+F2键切换到第二个界面,输入用户名和密码。

同样的操作,也可以切换到其他界面,也可以Ctrl+Alt+F1切回到最开始的界面即可。如果想查看当前界面是哪个页面,输入tty查看。

  • 查看有哪些用户登录到当前系统使用who命令,如果是远程接入,后面会显示其IP地址。

3、命令行

(1)命令 [选项] [参数]

命令:一个程序,是一个可执行文件,包含可执行的程序代码,通过bash来运行。

选项:关于程序的选项,一般都会有默认动作,所以选项为可选。

参数:程序处理数据,一般是文件,向命令提供数据

*注意:命令,选项,参数之间都要用空格隔开,多选项之间和多参数之间也是用空格隔开,一行内执行多个命令,使用分号隔开。

(2)在shell中的两种命令

一个是内建命令:是shell自带,找不到,比如:cd命令,使用which cd是找不到的。另一个是外部命令:非shell自带,外部的一个可执行文件。

  • 查看命令的类型,是内建的还是外部的使用type,比如:type echo(echo后带参数表示为直接打印后面的参数)

这里可以看出echo 是一个内建命令。这里也可以看一下type cat(cat命令表示查看文件内容)。

这里可以看出cat是一个外部命令。

  • 查找命令的可执行文件在哪,使用which,比如查看ls的可执行文件:which ls(ls命令的意思是列出目录内容)

  • 查找关键字文件在哪使用whereis,比如查看ls的关键字文件:whereis ls

(3)PATH变量

执行命令时,会在PATH变量指定的路径,从左到右去寻找,直到找到为止,如果没找到,会提示寻找不到这个命令。Shell搜寻到的外部命令的路径会被缓存下来,下次就不会去在此搜索了,查看环境变量的命令为:echo $PATH。

这里的echo一般用于打印后面的参数,在这里添加了$,表示后边为变量。这里的结果用冒号分隔的多个路径,意思是在执行命令时,通过PATH变量值给定的路径依次去寻找。如果找到了显示命令文件对应的程序文件,比如ls命令在/user/bin/中,如果没有找到则返回命令没有找到。

当找到命令后,因为shell搜寻到的外部命令会缓存,使用hash可以查看已经缓存的命令。使用hash -r清除变量缓存,比如:ls命令移动到当前目录(./)下,使用mv /usr/bin/ls ./(mv表示命令文件的移动,相当于“剪切“),如果缓存存在,还会到./下去找ls这个命令,找不到就会报错,这时,就需要清除缓存,重新寻找。

4、Linux内核

应用程序的不同版本要依赖不同版本的内核,如果内核崩溃了,整个操作系统就崩溃了。内核不要随意升级,比如:最开始装了1.0版本程序要依靠2.0版本内核,如果要将程序升级到3.0,而且3.0程序要依靠3.2版本内核,如果升级,是不行的。如果升级成了不稳定版本,很容易崩溃。Liunx的官方网站:http://www.kernel.org

(1)查看当前系统内核:uname -a

直接查看当前系统内核的版本号:uname -r

(2)内核模块

Liunx基于模块化加载运行,比如:驱动当作一个模块的方式加载。

使用lsmod查看当前已经加载的模块,默认情况下没有加载usb驱动,当插入一个U盘,就自动加载了lsmod |grep usb_storage

5、命令演示

关闭计算机:shutdown

马上关机:shutdown -h 0

11点开始关机:shutdown -h 11:00

注意:使用直接断掉电源的方式关闭Liunx系统是很危险的行为,Linux与Windows不同,其后台运行着许多进程,强制关机会导致进程数据丢失,使系统处于不稳定的状态,甚至在某些系统中会损坏硬件设备,使用shutdown命令,系统管理员会通知所有登录过的用户系统将要关闭,并且login指令会被冻结,即新用户不能再登录。

  • 调用shutdown -h命令:halt

  • 重启计算机,使用权限为系统管理员:reboot

  • 退出系统,使用权限为所有用户:exit

  • 查看当前用户:id

  • 显示近期用户或终端的登录情况:last

第一列表示用户名;第二列表示终端位置;第三列表示登录ip或者内核;第四列表示开始时间;第五列表示结束时间(still login in 表示还未退出,down表示正常关机,crash表示强制关机);第六列表示持续时间。

  • 查看当前主机名:hostname

  • 修改主机名:hostnamectl set-hostname jsjxxs

  • 查看当前路径:pwd

  • 查看日期时间:date

  • 查看2023年的日历:cal 2023

  • 清屏:clear或使用快捷键ctrl+l

6、alias

查看当前全部alias(别名)

alias

给cp命令设置一个别名,当我们执行cp命令时,实际执行cp -i命令。

cp,默认覆盖不提醒,加上-i选项,表示提醒。

alias cp=’cp -i’

在命令前面加上“\”,表示不使用别名,就是用最原始的cp命令。

\cp

删除别名

unalias cp

7、tab键补全

输入命令、选项、参数时,可以通过tab键补全功能来减轻输入压力。键入内容如果足够使其唯一,按一次tab键即可补全,如果键入内容不够使其唯一,按两次tab键,即可显示以输入字符开头的所有命令。Tab也可以补全路径,这里建议不要输入手工输入完整路径,很容易出错,中间错一个字母,路径就不对了。

8、历史记录

在每个用户的家目录,都有自己的历史记录文件:.bash_history,登录shell时,会从登录用户的家目录中,读取.bash_history文件。登录后,执行的命令历史记录,会记录到缓存中,登出时,将缓存中的历史记录追加方式写到.bash_history中。

  • 查看历史记录:history

  • 立即将缓存中的记录:写入文件:history -a

  • 清除历史:history -c

  • history命令输出的条数:echo $HISTSIZE

  • 历史文件路径:echo $HISTFILE

  • 可以上下查阅历史记录:上下箭头

  • 在当前命令行中左右移动光标:左右箭头

  • 表示上一个命令的最后一段字符:!$

9、快捷键

  • esc+.:将上一命令的最后一个参数复制到当前命令行光标处,重复使用,可以继续到更早的命令。

  • alt+.:将上一命令的最后一段字符复制到当前。

  • ctrl+r:在历史记录中搜索某一模式的命令。

  • ctrl+a:光标定位到命令行首。

  • ctrl+e:光标定位到命令行尾。

  • ctrl+左箭头:跳到命令行中前一字开头。

  • ctrl+右箭头:跳到命令行中下一字末尾。

  • ctrl+c:截断(退出)进程。


长按二维码
关注我们吧

       

           
更多推荐
           

在VMware安装一台CentOS虚拟机
       

铁军哥
高级网络规划设计师,中国电信高级技术规划工程师,天翼云认证高级解决方案架构师,H3C认证网络工程师。 继续加油,努力传播知识,影响更多人!
 最新文章