本篇主要介绍Linux操作系统相关知识以及其常用命令等。
一、操作系统的基本知识
一般而言,现代计算机计算机系统是一个复杂的系统,故若程序员需要掌握该系统的每一个细节例如如何通过代码去调用音响等这些事情,那可能不再编写代码了,这种情况会严重影响程序员的开发效率。
并且管理这些部件并加以优化使用,是一件极富挑战性的工作,于是,计算安装了一层软件(系统软件),称为操作系统。它的任务就是为用户程序提供一个更好、更简单、更清晰的计算机模型,并管理刚才提到的所有设备。
操作系统的作用:
一、内核态:向下与计算机的硬件打交道,即管理、调用硬件资源等。
二、用户态:向上为用户提供系统接口,对应用程序提供支持等。
#操作系统位于计算机硬件与应用软件之间,本质也是一个软件。 #操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成, 所以,单纯的说操作系统是运行于内核态的,是不准确的。 #一:隐藏了丑陋的硬件调用接口,为应用程序员提供调用硬件资源的更好,更简单,更清晰的模型(系统调用接口)。 应用程序员有了这些接口后,就不用再考虑操作硬件的细节,专心开发自己的应用程序即可。 例如:操作系统提供了文件这个抽象概念,对文件的操作就是对磁盘的操作,有了文件我们无需再去考虑关于磁盘的读写控制(比如控制磁盘转动,移动磁头读写数据等细节)。 #二:将应用程序对硬件资源的竞态请求变得有序化 例如:很多应用软件其实是共享一套计算机硬件,比方说有可能有三个应用程序同时需要申请打印机来输出内容,那么a程序竞争到了打印机资源就打印,然后可能是b竞争到打印机资源,也可能是c,这就导致了无序,打印机可能打印一段a的内容然后又去打印c...,操作系统的一个功能就是将这种无序变得有序。
二、Linux常用命令
1、pwd --> 返回当前工作目录,直接输入pwd即可,后面不带参数。
2、ls -->即英文单词list的缩写,列出指定目录的所有文件名或者文件夹名(默认为当前工作目录下),其选项如下:
例如:
注释如下图:
3、clear --》清屏,clear作用为清除终端上的显示(类似于DOS的cls清屏功能),也可使用快捷键:Ctrl + l ( “l” 为字母 )。
4、cd ---》切换工作目录;
在使用Unix/Linux的时候,经常需要更换工作目录。cd命令可以帮助用户切换工作目录。Linux所有的目录和文件名大小写敏感
cd后面可跟绝对路径,也可以跟相对路径。如果省略目录,则默认切换到当前用户的主目录。
例如:
5、mkdir --》创建目录
通过mkdir命令可以创建一个新的目录。参数-p可递归创建目录。
需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限。例如:
注:可以通过tree来查看当前工作目录下的文件及文件夹树形结构。
6、touch --》创建文件
注:1、touch会在当前工作目录下创建hello.txt的空文件。
2、在Linux下文件没有严格意义上的后缀格式,但是加入后缀格式会显得易懂易读。
7、rm --> 删除文件,加上 -r 删除一切。
可通过rm删除文件或目录。使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。,例如:
8、cp -->拷贝文件或者目录
注:cp 只能拷贝空文件夹或者文件,若想递归拷贝则使用 -r 选项。
9、mv --》剪切或者重命名
用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。
-f | 禁止交互式操作,如有覆盖也不会给出提示 |
-i | 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件 |
-v | 显示移动进度 |
例如: