1987 年,安德鲁·塔能鲍姆教授开发了 MINIX,这是一个类 UNIX 操作系统,用于教学目的。MINIX 的设计简单且模块化,使其成为学习操作系统原理的宝贵工具。1991 年,芬兰学生 Linus Torvalds 开始开发 Linux 内核,作为 MINIX 的替代品。Linux 内核是一个免费和开源的操作系统内核,一经发布,便引起了社会强烈的反响,在大家的努力下,于1994年Linux的1.0版本正式发布。结合当时的GNU运动,最终合在一起称为了GNU/Linux,以一只企鹅Tux作为吉祥物。 从此以后,各式各样的基于Linux发行版就开始出现:
流行的 Linux 发行版有
- Debian
- Ubuntu
- Red Hat Enterprise Linux
- CentOS
- Fedora
这里我们以安装虚拟机的方式在我们的电脑上安装Linux操作系统,我们选用Ubuntu作为教程。
文件系统
在Linux中,所有的文件都是位于根目录下的,我们可以直接输入命令来查看目录下的所有文件:
#只显示文件名称,且不显示隐藏文件
ls
#显示隐藏文件以及文件详细信息
ll
文件是最基本的内容,我们可以使用ls命令列出当前目录中所有的文件,参数-a表示包含所有的隐藏文件,-l表示列出详细信息:
test@ubuntu-server:~$ ls -al
创建文件夹:
test@ubuntu-server:~$ mkdir test
如果我们希望对文件的属性进行修改,比如我们现在希望将某个文件的写权限给关闭,可以使用chmod命令来进行文件属性修改,我们先创建一个test文件,使用touch命令来创建文件,使用mkdir命令来创建目录:
test@ubuntu-server:~$ touch test
test@ubuntu-server:~$ ll test
-rw-rw-r-- 1 test test 0 Jan 24 09:32 test
文件创建之后的默认权限为可读可写,接着我们来将其修改为只读:
test@ubuntu-server:~$ chmod a-w test
test@ubuntu-server:~$ ll test
-r--r--r-- 1 test test 0 Jan 24 09:32 test
如果我们想修改文件的拥有者或是所属组,可以使用chown和chgrp命令:
test@ubuntu-server:~$ sudo chown root test
test@ubuntu-server:~$ sudo chgrp root test
接着我们来看文件的复制、移动和删除。文件的复制使用cp命令:
test@ubuntu-server:~/study$ cp ../test test
mv命令不仅能实现文件的移动,还可以实现对文件重命名操作:
test@ubuntu-server:~/study2$ mv test test1
使用rm
进行删除操作,rm -rf /*是删除根目录下所有的文件:
test@ubuntu-server:~$ rm -r study2
test@ubuntu-server:~$ touch 1.txt 2.txt 3.txt
test@ubuntu-server:~$ rm *.txt
文件的搜索使用find命令:
test@ubuntu-server:~$ sudo find /etc -name passwd
系统管理
使用lsblk来查看所有块设备的信息:
test@ubuntu-server:~$ lsblk
通过df命令查看当前磁盘使用情况:
test@ubuntu-server:~$ df -m
输入ps可以查看当前运行的一些进程,添加-ef查看所有的进程:
test@ubuntu-server:~$ ps
test@ubuntu-server:~$ ps -ef
输入shutdown表示关机,而且可以指定时间关机,添加now表示立即关机:
test@ubuntu-server:~$ sudo shutdown
vim编辑器
Ubuntu中内置了Vi编辑器的升级版Vim,我们这里就讲解Vim编辑器的使用,vim编辑器有三种模式:
- 命令模式:此模式下可以输入任意的命令进行操作,所有的输入都被看做命令输入。
- 编辑模式:此模式下输入的任何内容都会以文本编辑方式写入到文件中。
- 末行模式:此模式下用于输入一些复杂命令,会在最后一行进行复杂命令的输入。
直接输入vim文件名称
来使用Vim编辑器对文本文件进行编辑:
test@ubuntu-server:~$ vim hello.txt
~
~
~
~
~
"hello.txt" [New File] 0,0-1 All
可以发现此时输入内容是无法完成的,因为默认进入之后为命令模式,
我们可以直接按下键盘上的i,此命令表示进行插入操作,会自动切换到编辑模式,而这时我们所有的输入内容都可以直接写到文件中了,如果我们想回到命令模式,按下Esc键即可。在我们编辑完成之后,需要进入到末行模式进行文件的保存并退出,按下:
进入末行模式,再输入wq即可保存退出。
除了i以外,我们也可以按下a表示从当前光标所在位置之后继续写,与i不同的是,i会在光标之前继续写,o会直接跳到下一行,而A表示在当前行的最后继续写入,I表示在当前行的最前面继续写入。
在末行模式下,常用的复杂命令有:
- :set number 开启行号
- :w 保存
- :wq或:x 保存并关闭
- :q 关闭
- :q! 强制关闭
我们可以输入/或是?在末行模式中使用搜索功能,比如xxx:
/xxx
要将当前行中的xxx全部替换为zzz,那么可以这样写:
:s/xxx/zzz/g