第一章 操作系统
1.1 介绍
操作系统这东西,就是安装在硬件之上 的一个“大型的软件”,软件之上,我们又可以安装各种小的应用程序。比如我们常用的安卓手机Android系统,苹果手机的iOS系统,笔记本电脑的Windows系统,我们都可以在上面安装各种自己心仪的软件。他们之间的关系可以用下面的图片来表示。
操作系统的发展从二十世纪七十年代到2019年,虽然时间不长,但也经历了一个非常坎坷的过程,经历了多个兴衰交替,最终windows以直观的可视化界面与形象的用户交互赢得了广大的市场,但与其相对的,相对于Linux系统,Windows系统也有不可忽视的缺陷存在。Linux系统可视化虽然不强,但其安全性与运行速度确实也在吸引着不少用户,而且随着近些年Linux系统也出现了可视化界面的版本,更是为其吸引了一大批用户。比如基于Linux系统实现的ubantu,本文主要介绍ubantu中的各种命令以及操作。
1.2 应用
1.2.1 Linux在个人桌面领域的应用
此领域是传统linux应用最薄弱的环节,传统linux由于界面简单、操作复杂、应用软件少的缺点,一直被windows所压制,但近些年来随着ubuntu、fedora等优秀桌面环境的兴起,同时各大硬件厂商对其支持的加大,linux在个人桌面领域的占有率在逐渐的提高。
典型代表:ubuntu、fedora、suse linux
1.2.2 Linux在服务器领域
linux在服务器领域的应用是其重要分支
linux免费、稳定、高效等特点在这里得到了很好的体现,但早期因为维护、运行等原因同样受到了很大的限制,但近些年来linux服务器市场得到了飞速的提升,尤其在一些高端领域尤为广泛
典型代表:
· Red Hat公司的AS系列
· 完全开源的debian系列
· suse EnterPrise 11系列等
1.2.3 Linux在嵌入式领域
近些年来linux在嵌入式领域的应用得到了飞速的提高linux运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百KB等特点,使其近些年来在嵌入式领域的应用得到非常大的提高。
主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、等都是其应用领域,得到了摩托罗拉、三星、NEC、Google等公司的大力推广。
1.3 Windows和Linux文件系统区别
在 windows 平台下,打开“计算机”,我们看到的是一个个的驱动器盘符,每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形。
但是在 Linux 下,我们是看不到这些驱动器盘符,我们看到的是文件夹(目录),ubuntu没有盘符这个概念,只有一个根目录/,所有文件都在它下面。
1.4 ubantu的安装
建议将ubantu放在虚拟机上运行,虚拟机推荐使用VMware Workstation,下载地址:https://my.vmware.com/cn/web/vmware/downloads,搜索即可下载。而ubantu为开源的系统,可以在官网上进行免费下载,但官网上提供的为最新版本,想要以往版本的还需去网上自行寻找,下载地址:https://www.ubuntu.com/index_kylin#download-content
第二章 基本命令
2.1 关于文件
文件的路径可以分为相对路径与绝对路径,从目录开始描述的路径为绝对路径,如:cd/home/t.txt。相对路径为从当前位置开始描述的路径,即目标路径相对于当前路径的位置,"."表示当前目录,".."表示上一级目录,即父目录。
文件权限就是文件的访问控制权限,即哪些用户和组群可以访问文件以及可以执行什么样的操作。Unix/Linux系统是一个典型的多用户系统,不同的用户处于不同的地位,对文件和目录有不同的访问权限。为了保护系统的安全性,Unix/Linux系统除了对用户权限作了严格的界定外,还在用户身份认证、访问控制、传输安全、文件读写权限等方面作了周密的控制。在 Unix/Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。
Ctrl+Alt+t 可以快捷调出ubantu的终端界面,输入cd回车进入家目录,ls -lh回车之后为下图:
读权限(r) 对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。
写权限(w) 对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
可执行权限(x) 对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。
通常,Unix/Linux系统只允许文件的属主(所有者)或超级用户改变文件的读写权限。
第1个字母代表文件的类型:“d” 代表文件夹、“-” 代表普通文件、“c” 代表硬件字符设备、“b” 代表硬件块设备、“s”表示管道文件、“l” 代表软链接文件。 后 9 个字母分别代表三组权限:文件所有者、用户者、其他用户拥有的权限。
每一个用户都有它自身的读、写和执行权限。
2.2 一些命令
1. --help 用于Linux命令自带的帮助信息,可以查看Linux的用法以及参数。比如:ls --help 如下:
2. Tab 非常实用的tab键,它可以帮助我们对命令实现自动补全,如果有两个或两个以上相似的命令,它会列出选项供我们选择,直到可以定位到唯一的命令。
3. history 可以将历史的命令全部列出,上下键翻看。
4. ls 查看文件信息,列出当前目录下的所有内容。如:
�在Unix/Linux系统中,也同样允许使用特殊字符来同时引用多个文件名,这些特殊字符被称为通配符。
5. ls>t.txt 将ls的输出结果写入到t.txt文件中,如果文件不存在将自动创建,但是重复写入每次都会覆盖之前内容。
6. ls>>t.txt 会追加内容进文件中,文件不存在也会创建。
7. | 这是管道的直观表现形式。管道的作用是一个命令的输出可以通过管道作为另一个命令的输入。左塞(读)右取(写)。
8. clear 清屏命令,将当前终端的命令以及结果清空。也可以用Ctrl+l来清屏。
9. cd 即change directory,更改目录,后面跟上目录名称,不会显示目录下的文件以及文件夹,如cd vmhahaha:
cd后面可跟绝对路径,也可以跟相对路径。如果省略目录,则默认切换到当前用户的主目录。
10. pwd 显示当前路径,如:
11. mkdir 创建一个新的目录,添加参数-p可以递归创建一个包含多个子目录的文件夹。但新目录名不可与当前已有的目录重名,且用户需对该目录具有写的权限。如:
12. touch 创建一个文件,文件类型自定义。如:
13. cat 显示出文件中的所有内容。如:
13. rm 删除文件 ,可以加入参数。
如:
14. rmdir 删除一个目录,且必须离开目录,并且目录必须为空目录,不然提示删除失败。参数-p可实现递归删除。
15. ln 建立链接文件,linux链接文件类似于Windows下的快捷方式。链接文件分为软链接和硬链接。软链接:软链接不占用磁盘空间,源文件删除则软链接失效,硬链接:硬链接只能链接普通文件,不能链接目录。
使用格式:
硬链接: ln 源文件 链接文件 软连接: ln-s 源文件 链接文件
如果没有-s选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s选项是更常见的形式。注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
16. grep 文本搜索 ,Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式,grep打印包含模式的所有行。
grep一般格式为:grep [-选项] ‘搜索内容串’文件名
grep搜索内容串可以是正则表达式。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
grep常用正则表达式:
17. find 查找文件,find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。
常用用法:
如:
18. cp 拷贝文件,cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令。
使用格式:
cp [options] source dest
或:
cp [options] 文件... 目标目录
常用选项说明:
如:
19. mv 移动文件,用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名,
用法格式:
mv [选项] 源文件或目录 目标文件或目录
常用选项说明:
如:
20. tar 归档管理,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。
tar使用格式:tar [参数] 打包文件名 文件
tar命令很特殊,其参数前面可以使用“-”,也可以不使用。
常用参数:
如:
21. gzip 文件压缩解压,tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。
gzip使用格式如下:
gzip [选项] 被压缩文件
常用选项:
如:
tar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项(-z)可以调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程。
压缩用法:tar -cvzf 压缩包包名 文件1 文件2 ...
-z :指定压缩包的格式为:file.tar.gz
如:
解压用法: tarzxvf 压缩包包名
-z:指定压缩包的格式为:file.tar.gz
解压到指定目录:-C(大写字母“C”)
如:
22. bzip2 文件压缩解压,tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样),tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz2。在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。
压缩用法:tar -jcvf 压缩包包名 文件...(tar jcvf bk.tar.bz2 *.c)
解压用法:tar -jxvf 压缩包包名 (tar jxvf bk.tar.bz2)
23. zip、unzip 文件压缩解压,通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。
压缩文件:zip [-r] 目标文件(没有扩展名) 源文件
解压文件:unzip -d 解压后目录文件 压缩文件
24. which 查看命令位置