Linux基础篇—初识shell
一、shell是什么?
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。
我们可以使用SHELL实现对Linux系统的大部分管理例如: 文件管理、 用户管理、权限管理、磁盘管理、软件管理、网络管理
二、使用步骤
1. 两种方式
使用Shell的两种方式: 输入命令 效率低 适合少量的工作
Shell Script 效率高 适合完成复杂,重复性工作
查看用户默认shell
cat /etc/passwd
查看用户当前使用shell类型
echo $SHELL
查看系统支持shell类型
cat /etc/shells
2. shell 命令语法
(1) 命令名 【选项】【参数】 命令名,整条shell命令的主体;选项,会影响会微调命令的行为,通常以 -, --;参数,命令作用的对象。
(2) 选项是对命令的特别定义,以减号(-)开始,多个选项可以用一个减号(-)连起来,如ls -l -a 与ls -la 相同。
(3) 参数提供命令运行的信息,或者是命令执行过程中所使用的文件名。使用分号(;)可以将两个命令隔开,这样可以实现一行中输入多个命令。命令的执行顺序和输入的顺序相同。注意事项: (1)Linux区分大小写。 (2)要在一个命令行上输入和执行多条命令,可使用分号来分隔命令。 (3)断开一个长命令行,可使用反斜杠 \,以实现将一个较长的命令分成多行表达,以增强命令的可读性。 (4)换行后,shell自动显示提示符 “>”。
3. bash基本特性
1、自动补全<tab>
ls /etc/sysconfig/network-scripts/
ls /etc/sysconfig/network-scripts/ifcfg-ens33
cat /etc/sysconfig/network-scripts/ifcfg-ens33
2、 快捷键
^C 终止前台运行的程序 //ping 10.18.40.100
^D 退出 等价exit
^L 清屏
^A光标移到命令行的最前端 //编辑命令
^E 光标移到命令行的后端 //编辑命令
^U 删除光标前所有字符 //编辑命令
^K删除光标后所有字符 //编辑命令
^R 搜索历史命令,利用关键词
Alt+. 引用上一个命令的最后一个参数,等价于!$
ESC .引用上一个命令的最后一个参数,等价于!$
ls /etc/sysconfig/network-scripts/ifcfg-ens33
cat ESC .
3、历史命令
history
a. 光标上下键
b. ^R //搜索历史命令(输入一段某条命令的关键字:必须是连续的)
c. !220 //执行历史命令中第220条命令
!字符串 //搜索历史命令中最近一个以xxxx字符开头的命令,例如!cat
!$ //引用上一个命令的最后一个参数
示例1:
ls /root /home
cd !$
结果:cd /home
示例2:
ls /root /home
touch !$/file1
结果:touch /home/file1
示例3:
systemctl restart crond
ls
date
!sy
4、通配符
通配符又称多义符。在描述文件时,有时在文件名部分用到一些通配符,以加强命令的功能。
在Linux中有以下基本的通配符:
?:表示该位置可以是一个任意的单个字符。
*:表示该位置可以是若干个任意字符。
三、Linux获得帮助
-
命令 --help
ls --help
用法:ls [选项]… [文件]…
ls 常见选项
-a all,查看目录下的所有文件,包括隐藏文件
-l 长列表显示
-h human 以人性化方式显示出来
-d 只列出目录名,不列出其他内容
-t 按修改时间排序
-S 按文件的Size排序
-r 逆序排列reverse
-i 显示文件的inode号(索引号) -
man 手册名 (针对命令帮助,针对配置文件帮助,针对函数帮助)
功能:显示帮助手册
语法:
man [选项] 命令名称
常用选项:
-f :只显示出命令的功能而不显示其中详细的说明文件
-w:不显示手册页,只显示将被格式化和显示的文件所在位置。
四、总结
以上就是今天Linux技术篇—初识shell的部分内容,本文仅仅简单介绍了shell的使用,而shell提供了大量快速便捷地处理方法。