1 引子
众所周知,Linux系列知识极其重要,公司面试、实际开发都需要用到。最近看了一些资料之后,发觉自己很多地方没有掌握到位,于是开始逐一查阅,顺便整理了这个懒人版供大家参考。
每个需要详细了解问题下面需要的信息都给出了相应的参考链接,有些还配上了实际操作,相信你认真看完本文之后对于UNIX操作系统基础能有一个更加清晰的认识。
2 正文
(1)什么是操作系统?什么是UNIX操作系统?什么是Linux操作系统?它们之间的关系是怎样的?
- 操作系统:控制计算机硬件和软件资源,对作业进行合理的调度,以供用户方便使用的一组软件的集合。
- UNIX操作系统,是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统。
- Linux,即GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
- Linux继承了Unix以网络为核心的设计思想,它能运行主要的UNIX工具软件、应用程序和网络协议。
(2)UNIX操作系统有哪些典型的分支?
Linux,Mac OS X,BSD系列与 Solaris
(3)什么是Shell?内置变量$$、$*、$@、$?、$#的具体含义是什么?
shell是一个命令语言解释器,是用户和UNIX内核直接的接口,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。用户在提示符下输入的命令都由shell先解释然后传给UNIX核心。
- $$ 是shell脚本运行的当前进程ID号
- $* 是以一个单字符串显示所有向shell脚本传递的参数
- $@ 是传递给shell脚本的所有参数列表
- $? 显示最后命令的退出状态,0表示没有错误,其他表示有错误
- $# 是传给脚本的参数个数
(4)常用的Shell命令,如ls、cd、dd、pwd、ps、cp、chown、chmod、mkdir等的具体用法。
Unix常用命令: http://kimi.it/23.html
ls 列出目录下的文件
- cd 改变当前目录
- dd 用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换(cc已被用来代表CComplier)
- pwd 查看当前工作目录
- ps显示系统中当前运行的进程状态
- cp 复制文件
- chown 更换所有者
- mkdir 创建一个目录
- chmod 改变文件访问权限
(5)什么是内部命令?什么是外部命令?它们的区别是什么?
- 这篇文章里面还提到了hash缓存表的存在,例子也很好,值得一看。linux的命令分为内部命令和外部命令
内部命令在系统启动时就调入内存,是常驻内存的,所以执行效率高。