一、Linux的哲学思想
- 一切都是一个文件。(包括硬件,文本,二进制,源代码)
- 系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
- 当遇到复杂任务,通过不同功能用途的程序组合起来完成。
- 避免令人困惑的用户界面就是没有复杂的图形界面。
- 连配置文件都存储在文本中,方便增删改查。
- 不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型。
二、关于shell
1、什么是shell
shell是Linux系统中后台运行的一种特殊程序也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。
用户使用应用程序发布指令,比如使用浏览器访问网页;
shell去通知操作系统需要进行什么样的操作(相当于解释层);
内核相当于操作系统去指挥硬件;
硬件才能工作,否则无法交互。
2、各种shell环境
bash是linux里面默认的shell程序,位于/bin/bash。csh、ksh 语言不同,比如中文英文都是交流的语言。
3、shell与内、外部命令
(1)shell 分为内部命令 和外部命令,一般先执行内部命令,再执行外部命令。
| 内部命令 | 外部命令 |
|---|---|
| 集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
| 属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
| 没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
| 自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行 |
(2) help命令可以查看内部命令
(3)可以使用type 命令来区分内外部命令
外部命令存放于 echo $PATH, 一个一个找,找到为止,找不到就报无命令
(4)hash 缓存空间
hash命令负责显示与清除命令运行时系统优先查询的哈希表(hash table)。
当执行hash命令不指定参数或标志时,hash命令向标准输出报告路径名列表的内容。此报告含有先前hash命令调用找到的当前shell环境中命令的路径名。而且还包含通过正常命令搜索进程调用并找到的那些命令。
| 选项 | 说明 |
|---|---|
| -d<指令> | 在哈希表中清除某个命令记录 |
| -r | 清除哈希表中的所有记录 |
| -l | 显示哈希表中的命令 |
| -p<指令> | 将具有完整路径的命令加入到哈希表中 |
| -t<指令> | 显示哈希表中命令的完整路径 |
三、命令与命令行格式
- 在 Linux 操作系统中,凡是在字符操作界面中输入能够完成特定操作和任务的字符串都 可以称为命令。
- 严格来说,命令通常只代表实现某一类功能的程序的名称。
格式:
命令字 空格 [选项] 空格 [参数]
命令字、选项、参数各自的意思及具体使用方法:
-
命令字
是整条命令中最关键的一部分,唯一确定。
-
选项
短格式选项:使用“-”符号引导,通常是一个字母;
长格式选项:使用“--”符号引导,通常是完整的单词。
-
参数
命令字的处理对象,可以是文件名、目录(路径)名或用户名等内容,个数可以是零到多个。
“;”可以隔开命令 “,”执行多个命令
四、帮助命令
1.help
2、man
man分九个章节默认打开第一章节。
查看命令:man 1 命令/可执行程序 (1可以省略不写,因为默认打开第一章节)
查看文件格式:man 5 系统文件名
例 man 5 passwd
3、info
五、总结
Linux是运维必须要掌握的操作系统,所有一切都是文件的理念,让它在操作有着独特的便利。
shell是Linux的翻译官,它将人类的高级语言与二进制语言进行互相翻译。
命令格式:命令字 空格 [选项] 空格 [参数]
帮助命令则有三种,分别是help ,man和info,但一般遇到不会的,除了help,直接百度可能更快。