操作系统--Linux学习

来源:互联网 发布:php小项目源码 编辑:程序博客网 时间:2024/06/06 17:02

一、Linux的历史

操作系统大致出现的与二十世纪五十年代,当时操作系统是批量处理,没有用户交互的能力,将数据读取后然后传输到打印机或者其他文件。

到了二十世纪六十年代,开始出现交互式计算机,能够实现用户与计算机的交互,还能够满足多个不同终端用户对主机进行操作。这就是分时操作系统。很多人开始开发分时操作系统,当时的“Multics”项目技术先进但开发不顺利,开发时间太长,市场上的占有率也不高。然后从这个项目退出的贝尔实验室团队自己开发了一个操作系统—-UNIX。 (实现了TCP/IP协议栈后十分流行)

但后来UNIX变得商业化,很多人都没办法使用它,然后Linus Torvalds (Linux之父)开发了最初的Linux系统。然后再很多人的贡献下,1992–1993年时Linux具备了挑战UNIX的实力。后来经过很多开发过程逐渐成为一个稳定的系统。

相比Windows 而言,Linux是免费的,而所使用的软件大多是开源的,安全性也相对高一些。

操作方面,新手入门困难,但上手后有非常高的效率。

Linux 学习路径

计算机概论与硬件相关知识

Linux初级知识

Linux 系统安装
Linux图形界面使用
Linux常用命令

Linux中级知识

Linux用户及文件系统管理
Linux软件安装配置
Linux网络管理
Linux系统维护
Shell 编程初步

Linux高级知识

Linux服务器领域:
数据库、防火墙、DNS服务器、VPN服务器、Web服务器、Mail服务器、FTP服务器、Samba服务器、NFS服务器、LAMP服务器、集群服务器……
Linux程序开发:
Shell高级编程、Linux C/C++ 程序开发、 Linux内核基础、嵌入式开发、Linux驱动开发

Linux内核研究
操作系统开发
……..

二、基本概念及操作

Shell(壳) 与 Linux / Unix (核)

“壳”用来接收和解析命令,“核”用来实现完成命令。

1.快捷键
【Tab】 : 补全命令, 有时候命令忘记了,输入一部分时用Tab来补全其他可能的选择。

【Ctrl + C】: 终止当前命令或程序,但不会关闭Shell(黑色框框)

【Ctrl + D】 : 退出终端 (黑色框框)

【Ctrl + S】 : 暂停

【Ctrl + Z】 : 后台运行, fg恢复到前台

【Ctrl + A】 : 光标移到至输入开头,相当于Home键

【Ctrl + E】 : 光标移动至输入末尾,相当于End键

其他还有很多。。。

↑ 可以转换到历史命令,就是刚才输入过得命令,提高效率。

  1. 通配符

    • 与 ? 是通配符, 寻找类似的名字。

【 * 】 : 匹配0或多个字符
【 ? 】 : 匹配任意一个字符
【 [list] 】 : 匹配括号中的任意一个字符
【 [!list] 】 : 除了括号中的字符外的其他字符
【 [0-9] 】: 匹配0 - 9 中的单一一个字符
【 {‘hello’,‘world’}】: 匹配括号中的任意一个或多个字符串
【 {1..10}】 : 匹配括号中的全部字符

3.获取帮助命令

【man】 (Manual page)
用来查看详细的使用方式。 例如 man man 就是用来查看man的详细说明。

三、用户及文件权限管理

1.【who am i】 查看当前用户

2.root账户是Linux中权利最高的,能够进行新建/添加 用户等。

root 权限,系统权限的一种,与 SYSTEM 权限可以理解成一个概念,但高于 Administrator 权限,root 是 Linux 和 UNIX 系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权力,所有对象他都可以操作,所以很多黑客在入侵系统的时候,都要把权限提升到 root 权限,用 Windows 的方法理解也就是将自己的非法帐户添加到 Administrators 用户组。更比如安卓操作系统中(基于 Linux 内核)获得 root 权限之后就意味着已经获得了手机的最高权限,这时候你可以对手机中的任何文件(包括系统文件)执行所有增、删、改、查的操作。

3.创建用户
由于一般登录的账户都是普通级别(比如Tom账户),创建用户需要root权限,所以需要采用【sudo】命令。
如在Tom账户下创建Bob账户,需要使用【sudo】命令时,必须知道Tom用户的登录密码且Tom用户必须在sudo用户组。(如何判断在不在? 看后续)

输入: 【sudo adduser Bob】
然后设置密码,然后一直回车完成后续。。。。

Bob账户就创建好了。

现在你还在Tom账户,那么你想试一试Bob用户,该怎么转换用户?

使用【su】命令

输入: 【su -l Bob】

完成。。。

  1. 用户组 (查看是否在sudo组)

Linux中的每个用户都属于一个用户组,共享资源,也有自己的资源。就行就行Bob和Tom是兄弟俩那么他们是一个用户组,住在一个家里有同样的爸爸妈妈,但是他们各自还有自己的房间别人不能随便乱进。

输入: 【groups Tom】

现在,刚才创建的Bob不属于sudo用户组,而Tom属于。要将Bob加入sudo该如何做?

输入: 【sudo usermod -G sudo Bob】

5.删除用户

输入 : 【sudo deluser Bob –remove-home】

6.Linux 文件权限管理

查看文件权限
【ls】 : 显示当前目录下的文件 【ls -l】 可以看到文件的权限参数。

变更文件所有者
假如在Tom用户下创建一个hhh文件,用【touch】命令 。

输入: 【touch hhh】
输入: 【sudo chown Bob hhh】

就把文件hhh的所有者从 Tom 改变为Bob了。

四、Linux目录结构及文件基本操作
【cd】 : 进入文件/目录
【touch】 : 新建空白文件
【mkdir】: 新建空目录
【cp】 : 复制文件、目录
【rm】: 删除文件 【rm -f】 强制删除文件
【rm -r】: 删除目录
【mv】: 移动文件, 也可以用于重命名
【rename】: 进行批量重命名
【cat】: 查看文件
【more或less】: 分页查看文件, 内容太多的时候不会一次显示,可翻页。
【file】: 查看文件类型
【vim】: 使用vim进行文本编辑。 【需要学习一些vim编辑器】
【vimtutor】: vim编辑器的一个学习教程。简单粗暴有效。。。
【gcc】: 调用C语言的编译器 【gcc -o xxx xxx.c】 就编译了C程序,然后 【./xxx】就执行了C程序。

五、环境变量

变量
输入 :【declare tmp】 创建了一个tmp变量
输入: 【tmp=hello】 为变量赋值‘hello’
输入: 【echo $tmp】 读取变量的值
显示: hello

环境变量
常有的环境变量有3种:

1.我们创建的 2.Shell自带的 3.自定义变量中导出的

简单的说,顾名思义:一个变量在一定范围(环境下)内能否使用,能使用就是有效的环境变量,否则无效。

六、 文件系统操作及磁盘管理
【df】 和【df -h】 查看磁盘可用容量,磁盘已用容量。
【du】和【du -h】 查看目录的容量

以下命令存在危险性,可能由于操作失误造成数据丢失,最好虚拟环境下使用。

创建虚拟磁盘
【dd】 : 在Linux中一切皆文件。 就算硬件的驱动也一样像普通文件,而该命令作用是转换和复制文件。

….未完

0 0
原创粉丝点击