Linux操作系统简介
- 什么是操作系统
操作系统(OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基
石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出在这里插入代码片
设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。 - Linux简介
Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户、多任务、支持多线程和多
CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支
持。它除了在服务器操作系统方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有
着长足的进步。
Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统
的安全。在很多企业网络中,为了追求速度和安全,Linux操作系统不仅仅是被网络运维人员当作
服务器使用。
Linux与其他操作系统相比 ,具有开放源码、没有版权、技术社区用户多等特点 ,开放源码使得
用户可以自由裁剪,灵活性高,功能强大,成本低。 - Linux特点
一切都是文件
Linux是一款免费的操作系统
Linux支持多用户,多任务
支持多种平台
具有非常强大的网络功能
简化开发过程,较强的移植性 - 发行版本
严格的来讲,Linux 只是一个系统内核,即计算机软件与硬件通讯之间的平台。一些组织或厂家将
Linux 内核与GNU软件(系统软件和工具)整合起来,并提供一些安装界面和系统设定与管理工
具,这样就构成了一个发型套件,目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、
Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。 - Linux应用领域
Linux 服务器 : 目前Linux服务器是当前最广泛的应用。
桌面应用:新版本的Linux系统特别在桌面应用方面进行了改进,达到相当的水平
嵌入式系统:由于Linux系统开放源代码,功能强大、可靠、稳定性强、灵活而且具有极大的伸缩
性,因此,在嵌入式应用的领域里LINUX操作系统都有很广阔的应用市场。
Linux 操作系统结构
一个典型的Linux操作系统组成为:Linux内核,文件系统,命令行shell,图形界面和桌面环境,并包
各种工具和应用软件。
Linux内核: Linux操作系统的核心代码,是Linux系统的最底层,提供了系统的核心功能并允许进程
以一种有序的方式访问硬件。
文件系统:通常指称管理磁盘数据的系统,可将数据以目录或文件的型式存储。每个文件系统都
有自己的特殊格式与功能
shell命令:Shell是一个命令行解释器,它使得用户能够与操作系统进行交互,负责接收用户命
令,然后调用相应的应用程序,并根据用户输入的指令来反馈给用户指定的信息。
应用软件:包含桌面系统和基础的软件操作工具等。
文件系统结构
在任何一个操作系统中,文件系统都是其重要的组件,用于组织和管理计算机存储设备上的大量文
件,并提供用户交互接口。Linux同样具备完善的文件系统。Linux的文件组织模式犹如一颗倒置的树,
所有存储设备作为这颗树的一个子目录。将根(/)作为整个文件系统的唯一起点,其他所有目录都从
该点出发。
linux下的目录结构
主要目录功能
- /bin目录
/bin目录包含了引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。这些命令都是二进
制文件的可执行程序(bin是binary----二进制的简称),多是系统中重要的系统文件。 - /sbin目录
/sbin目录类似/bin,也用于存储二进制文件。因为其中的大部分文件多是系统管理员使用的基本的系
统程序,所以虽然普通用户必要且允许时可以使用,但一般不给普通用户使用。 - /etc目录
/etc目录存放着各种系统配置文件,其中包括了用户信息文件/etc/ passwd,系统初始化文件/etc/rc
等。linux正是因为这些文件才得以正常地运行。 - /root目录
/root 目录是超级用户的目录。 - /lib目录
/lib目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文件。这些文件
包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副本,故可以使得可执行
文件变得更小,节省空间。 - /dev目录
/dev目录存放了设备文件,即设备驱动程序,用户通过这些文件访问外部设备。比如,用户可以通过
访问/dev/mouse来访问鼠标的输入,就像访问其他文件一样。 - /usr文件系统
/usr 是个很重要的目录,通常这一文件系统很大,因为所有程序安装在这里。本地安装的程序和其他
东西在/usr/local 下,因为这样可以在升级新版系统或新发行版时无须重新安装全部程序。 - /var文件系统
/var 包含系统一般运行时要改变的数据。通常这些数据所在的目录的大小是要经常变化或扩充的。 - /home
普通用户的默认目录,在该目录下,每个用户拥有一个以用户名命名的文件夹。
绝对路径和相对路径
绝对路径和相对路径都是在Linux中用来描述一个文件位置的描述方法
绝对路径:指文件在文件系统中以根目录为起始点的准确位置描述。例如“/usr/bin/gnect”就是绝对
路径。
相对路径:指相对于用户当前位置为起始点,对一个文件位置的逐层描述。例如,用户处在usr目
录中时,只需要“games/gnect”就可确定这个文件。在相对路径描述时 . 表示当前目录, … 表示上一
级目录。
环境变量
环境变量一般是指在操作系统中用来指定操作系统运行 环境 的一些参数,比如系统目录位置等。如果
将一个目录设置为环境变量目录,那么这个目录下的文件在任何目录下都可以查找到。
临时设置环境变量: export PATH="$PATH:/your_dir_path"
永久设置环境变量:修改etc下的profile文件,输入vi /etc/profile,将上述语句添加进去
编译器使用
vi使用
Vi是一个著名的功能强大的文本编辑器,它是Linux中最基本的编辑器,虽然不像图形界面编辑器那样
美观,没有使用鼠标那样方便。但vi编辑器在系统管理、服务器配置工作中永远都是无可替代的。
插入模式: 用来输入文本内容,在这种模式下摁 esc 键进入命令模式
命令模式:命令操作,命令模式又包含底行命令,即在vi底部命令行输入命令。在命令模式下键
入 ‘:’ 即进入底行命令输入
Vi常用命令
操作命令
i 在当前字符的左边插入
o 在当前行下面插入一个新行
h 向前移动一个字符
j 向下移动一行
k 向上移动一行
l 向后移动一个字符
b 移动到当前单词的开始
e 移动到当前单词的结尾
w 移动到下一个单词
0:光标移动到行首
删除自光标位置至行尾的所有字符,进入插入模式
c0 删除自光标位置至行首的所有字符,进入插入模式
cc 删除当前行进入插入模式
u 撤销操作
ctrl-r 反撤销
底行命令
:n 跳转到底n行
:w 保存
:w filename 存入文件filename 中
:w! filename 强制性存入文件filename 中
:q 退出
:q! 强行退出
:set nu 显示行号
/word 查找内容
:%s/hello/nihao/g 将所有的hello 替换为nihao
:5,8s/hello/nihao/g 将5-8行的hello 替换为nihao
shell命令
我们在Linux终端命令行下输入的命令称为shell命令,是通过shell解释器解释后由系统执行。shell解释
器也是一代一代进化的,我们现在所使用的shell是 bash shell。 在服务器系统操作维护中,shell命令
起到了很重要的作用,因为服务器操作往往没有图形界面,或者通过远程命令控制完成,这时候shell
命令可以帮助我们实现很多功能。
shell命令基本格式有三部分,每部分之间有空格,选项与选项,参数与参数之间也有空格。(多个选项
可以写在一起):
命令 [选项] [参数]
基础命令
| 作用 | 命令及常用选项 |
|---|---|
| 关闭重启系统 | shutdown |
| 临时管理员权限 | sudo |
| 作用 | 命令及常用选项 |
|---|---|
| 帮助说明 | man |
| 退出终端 | exit |
| 清空屏幕 | clear |
| 查看文件绝对路径 | pwd |
| 切换工作目录 | cd |
| 查看文件 | ls , ls -l , ls -a |
| 打印内容 | echo |
| 创建目录 | mkdir -p |
| 删除目录 | rmdir |
| 创建文件 | touch |
| 复制文件 | cp -r |
| 移动文件 | mv |
| 删除文件 | rm -rf |
| 查找文件 | find |
| 查看文件信息 | file |
| 查看文件内容 | cat |
| 查看文件前 n 行 | head |
| 查看文件后n行 | tail |
| 对比文件差异 | diff |
| 查询文件内容信息 | wc |
| 查找文件里符合条件的字符串 | grep |
| 修改文件权限 | chmod |
| 创建链接文件 | ln , ln -s |
| 显示当前时间 | date |
| 查看磁盘使用情况 | df |
| 显示当前用户 | whoami |
| 作用 | 命令及常用选项 |
| 查找服务程序位置 | witch |
| 查找命令文件及关联目录 | whereis |
shutdown : 默认情况为1分钟后关机, +n 表示n分钟后关机,在这个过程中shutdown -c 可以取
消。shutdown -h now表示立即关机
sudo:在命令前书写,表示已以管理员权限运行这个命令。
man:使用man命令可以找到特定的联机帮助页,并提供简短的命令说明。
exit : 关闭一个终端,通过ctrl+alt +t ,shift+ctrl + t , shift+ctrl+n 都可以快速打开一个终端
clear:等同于ctrl-l,清空屏幕
pwd:pwd命令用于显示用户在文件系统中的当前位置。
cd:用于改变工作目录,参数为绝对路径或者相对路径。
ls : 查看目录下的文件列表 -l 展示详细信息,-a展示隐藏文件(Linux下 . 开头的为隐藏文件)
echo :标准输出一段文字在显示器上,-n表示输出后不换行
重定向符
file
file
< file
含义 实例
将file文件重定向为输出源, echo “hello world” > out.txt,将执行结果,
新建模式 写到out.txt文件中,若有同名文件将被删除
将file文件重定向为输出源, ls /usr >> Lsoutput.txt,将ls /usr的执行结果,
追加模式 追加到Lsoutput.txt文件已有内容后
将file文件重定向为输入源 wc < file1,将file1中的内容作为输入传给wc命令
mkdir : 创建一个目录,-p用户创建多层目录
rmdir : 删除一个空目录
touch : 创建一个文件
cp : 复制文件/文件另存, -r 可以复制文件目录
mv: 移动文件/文件重命名
rm : 删除文件,-rf 用于删除目录