Linux是一种类unix内核的操作系统,另一种基于unix内核的操作系统有常见的macos,他们都有别于windows。
其中linux系统的应用场景从服务器到PC,再到嵌入式系统,因为其优异的稳定性和开源性,所以受到很多人的追捧,而linux在发展中,也产生了不同的衍生版本,但他们都是基于linux内核:
而linux因为其优异的稳定性和开源社区的支持,受到大量用户的追捧,以下是linux和windows的比较:
比较 | Windows | Linux |
界面 | 界面统一,外壳程序固定所有 Windows 程序菜单几乎一致,快捷键也几乎相同 | 图形界面风格依发布版不同而不同,可能互不兼容。GNU/Linux 的终端机是从 UNIX 传承下来,基本命令和操作方法也几乎一致。 |
驱动程序 | 驱动程序丰富,版本更新频繁。默认安装程序里面一般包含有该版本发布时流行的硬件驱动程序,之后所出的新硬件驱动依赖于硬件厂商提供。对于一些老硬件,如果没有了原配的驱动有时很难支持。另外,有时硬件厂商未提供所需版本的 Windows 下的驱动,也会比较头痛。 | 由志愿者开发,由 Linux 核心开发小组发布,很多硬件厂商基于版权考虑并未提供驱动程序,尽管多数无需手动安装,但是涉及安装则相对复杂,使得新用户面对驱动程序问题(是否存在和安装方法)会一筹莫展。但是在开源开发模式下,许多老硬件尽管在Windows下很难支持的也容易找到驱动。HP、Intel、AMD 等硬件厂商逐步不同程度支持开源驱动,问题正在得到缓解。 |
使用 | 使用比较简单,容易入门。图形化界面对没有计算机背景知识的用户使用十分有利。 | 图形界面使用简单,容易入门。文字界面,需要学习才能掌握。 |
学习 | 系统构造复杂、变化频繁,且知识、技能淘汰快,深入学习困难。 | 系统构造简单、稳定,且知识、技能传承性好,深入学习相对容易。 |
软件 | 每一种特定功能可能都需要商业软件的支持,需要购买相应的授权。 | 大部分软件都可以自由获取,同样功能的软件选择较少。 |
文件
Linux不同于windows的最大一点就是linux中的编排处处皆文件,像这样:
而文件的后缀名只是用作个人做区分,不像windows中那样不同的后缀代表着该软件有不同的执行功能。
Linux的结构下只存在两种东西:目录和文件
这里说明一下整个linux文件树的结构:
· /boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。
· /etc:存放所有的系统需要的配置文件和子目录列表,更改目录下的文件可能会导致系统不能启动。
· /lib:存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
· /sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中
指令集合:
· /bin:存放着最常用的程序和指令
· /sbin:只有系统管理员能使用的程序和指令。
外部文件管理:
· /dev :Device(设备)的缩写, 存放的是Linux的外部设备。注意:在Linux中访问设备和访问文件的方式是相同的。
· /media:类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。
· /mnt:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
临时文件:
· /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
· /lost+found:一般情况下为空的,系统非法关机后,这里就存放一些文件。
· /tmp:这个目录是用来存放一些临时文件的。
账户:
· /root:系统管理员的用户主目录。
· /home:用户的主目录,以用户的账号命名的。
· /usr:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
· /usr/bin:系统用户使用的应用程序与指令。
· /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
· /usr/src:内核源代码默认的放置目录。
运行过程中要用:
· /var:存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)。
· /proc:管理内存空间!虚拟的目录,是系统内存的映射,我们可以直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件来做修改。
扩展用的:
· /opt:默认是空的,我们安装额外软件可以放在这个里面。
· /srv:存放服务启动后需要提取的数据(不用服务器就是空)
以下说明一些常用的命令:
· ls(英文全拼:list files): 列出目录及文件名
· cd(英文全拼:change directory):切换目录
· pwd(英文全拼:print work directory):显示目前的目录
· mkdir(英文全拼:make directory):创建一个新的目录
· rmdir(英文全拼:remove directory):删除一个空的目录
· cp(英文全拼:copy file): 复制文件或目录
· rm(英文全拼:remove): 移除文件或目录
· mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
Linux系统中使用以下命令来查看文件的内容:
· cat 由第一行开始显示文件内容
· tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
· nl 显示的时候,顺道输出行号!
· more 一页一页的显示文件内容
· less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
· head 只看头几行
· tail 只看尾巴几行
shell
以上就是一些常用的命令了,我们在linux中将这些命令输入的地方是一个叫shell的环境,windows中的“window”在linux系统中略显鸡肋,shell才是linux的精髓:
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
简单一点来说就是我们人类输入的命令是只有我们能看得懂的,但是机器却不知道,所以shell程序将这个高级语言翻译成了linux内核能够明白的机器码指令,完成完成实际功能的执行
以上就是一种常见的shell,叫做bash,是一般发行版本linux默认的shell,还有其他shell,比如常见的zsh等等。
我们一般输入命令的地方都是shell环境,于是我想到同样的输入环境vim,一般在linux中,不是在shell里输入命令,就是通过vim打开各种文件,完成源码修改等等。
Vim
vim 是一个程序开发工具而不是文字处理软件。
每当你进入vim的时候,都是默认“命令模式”,然后通过命令模式中各种强大功能的快捷键,就可以完成各种操作
要进行编辑文字工作的时候,使用i,a,o进入“输入模式”。这样就可以像正常情况下进行录入了。
当你完成了录入之后,通过esc返回到命令模式,才是输入:进入的是“底线命令模式”,比如我们常用的“:wq”完成整个文件的保存退出,以及一些跳转功能,都是通过底线命令中的:来完成的。
以下提供一张常用的vim命令速查表,也切记不要的命令模式中随意键入,否则可能会进行一些删除和修改的操作:
以上就是一些对linux常见知识的说明,和一些常见的内容,感谢阅读。
想了解更多关于我们金翅创客实验室的内容,请关注微信公众号:金翅创客。
原创声明:本文内容均为本人原创作品。请任何和个人、组织,在经过本人授权后,方可转载。