diff --git a/操作系统/后端程序员必备的Linux基础知识.md b/操作系统/后端程序员必备的Linux基础知识.md index 35edec37..727b90f4 100644 --- a/操作系统/后端程序员必备的Linux基础知识.md +++ b/操作系统/后端程序员必备的Linux基础知识.md @@ -1,8 +1,31 @@ + + +- [一 从认识操作系统开始](#一-从认识操作系统开始) + - [1.1 操作系统简介](#11-操作系统简介) + - [1.2 操作系统简单分类](#12-操作系统简单分类) +- [二 初探Linux](#二-初探linux) + - [2.1 Linux简介](#21-linux简介) + - [2.2 Linux诞生简介](#22-linux诞生简介) + - [2.3 Linux的分类](#23-linux的分类) +- [三 Linux文件系统概览](#三-linux文件系统概览) + - [3.1 Linux文件系统简介](#31-linux文件系统简介) + - [3.2 文件类型与目录结构](#32-文件类型与目录结构) +- [四 Linux基本命令](#四-linux基本命令) + - [4.1 目录切换命令](#41-目录切换命令) + - [4.2 目录的操作命令(增删改查)](#42-目录的操作命令增删改查) + - [4.3 文件的操作命令(增删改查)](#43-文件的操作命令增删改查) + - [4.4 压缩文件的操作命令](#44-压缩文件的操作命令) + - [4.5 Linux的权限命令](#45-linux的权限命令) + - [4.6 Linux 用户管理](#46-linux-用户管理) + - [4.7 Linux系统用户组的管理](#47-linux系统用户组的管理) + - [4.8 其他常用命令](#48-其他常用命令) + + > 学习Linux之前,我们先来简单的认识一下操作系统。 ## 一 从认识操作系统开始 -### 1.1 操作系统简介 +### 1.1 操作系统简介 我通过以下四点介绍什么操作系统: @@ -12,7 +35,7 @@ - **操作系统分内核与外壳(我们可以把外壳理解成围绕着内核的应用程序,而内核就是能操作硬件的程序)。** ![操作系统分内核与外壳](https://user-gold-cdn.xitu.io/2018/7/3/1645ee3dc5cf626e?w=862&h=637&f=png&s=23899) -### 1.2 操作系统简单分类 +### 1.2 操作系统简单分类 1. **Windows:** 目前最流行的个人桌面操作系统 ,不做多的介绍,大家都清楚。 2. **Unix:** 最早的多用户、多任务操作系统 .按照操作系统的分类,属于分时操作系统。Unix 大多被用在服务器、工作站,现在也有用在个人计算机上。它在创建互联网、计算机网络或客户端/服务器模型方面发挥着非常重要的作用。 @@ -22,7 +45,7 @@ ![Linux](https://user-gold-cdn.xitu.io/2018/7/3/1645eeb8e843f29d?w=426&h=240&f=png&s=32650) -## 二 初探Linux +## 二 初探Linux ### 2.1 Linux简介 @@ -33,7 +56,7 @@ ![Linux](https://user-gold-cdn.xitu.io/2018/7/3/1645ef0a5a4f137f?w=270&h=376&f=png&s=193487) -### 2.2 Linux诞生简介 +### 2.2 Linux诞生简介 - 1991年,芬兰的业余计算机爱好者Linus Torvalds编写了一款类似Minix的系统(基于微内核架构的类Unix操作系统)被ftp管理员命名为Linux 加入到自由软件基金的GNU计划中; - Linux以一只可爱的企鹅作为标志,象征着敢作敢为、热爱生活。 @@ -48,7 +71,7 @@ ![Linux发行版本](https://user-gold-cdn.xitu.io/2018/7/3/1645efa7048fd018?w=548&h=274&f=png&s=99213) -## 三 Linux文件系统概览 +## 三 Linux文件系统概览 ### 3.1 Linux文件系统简介 @@ -75,31 +98,31 @@ Linux文件系统的结构层次鲜明,就像一棵倒立的树,最顶层是 - **/usr :** 用于存放系统应用程序; - **/opt:** 额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把tomcat等都安装到这里; - **/proc:** 虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息; -- **/root:** 超级用户(系统管理员)的主目录(特权阶级^o^); -- **/sbin:** 存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig等; -- **/dev:** 用于存放设备文件; -- **/mnt:** 系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统; -- **/boot:** 存放用于系统引导时使用的各种文件; +- **/root:** 超级用户(系统管理员)的主目录(特权阶级^o^); +- **/sbin:** 存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig等; +- **/dev:** 用于存放设备文件; +- **/mnt:** 系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统; +- **/boot:** 存放用于系统引导时使用的各种文件; - **/lib :** 存放着和系统运行相关的库文件 ; -- **/tmp:** 用于存放各种临时文件,是公用的临时文件存储点; -- **/var:** 用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等; -- **/lost+found:** 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里。 +- **/tmp:** 用于存放各种临时文件,是公用的临时文件存储点; +- **/var:** 用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等; +- **/lost+found:** 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里。 -## 四 Linux基本命令 +## 四 Linux基本命令 下面只是给出了一些比较常用的命令。推荐一个Linux命令快查网站,非常不错,大家如果遗忘某些命令或者对某些命令不理解都可以在这里得到解决。 Linux命令大全:[http://man.linuxde.net/](http://man.linuxde.net/) ### 4.1 目录切换命令 -- **`cd usr`:** 切换到该目录下usr目录 -- **`cd ..(或cd../)`:** 切换到上一层目录 -- **`cd /`:** 切换到系统根目录 -- **`cd ~`:** 切换到用户主目录 -- **`cd -`:** 切换到上一个所在目录 +- **`cd usr`:** 切换到该目录下usr目录 +- **`cd ..(或cd../)`:** 切换到上一层目录 +- **`cd /`:** 切换到系统根目录 +- **`cd ~`:** 切换到用户主目录 +- **`cd -`:** 切换到上一个所在目录 -### 4.2 目录的操作命令(增删改查) +### 4.2 目录的操作命令(增删改查) 1. **`mkdir 目录名称`:** 增加目录 2. **`ls或者ll`**(ll是ls -l的缩写,ll命令以看到该目录下的所有目录和文件的详细信息):查看目录信息 @@ -114,35 +137,35 @@ Linux命令大全:[http://man.linuxde.net/](http://man.linuxde.net/) 4. **`mv 目录名称 新目录名称`:** 修改目录的名称(改) - 注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作。mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。后面会介绍到mv命令的另一个用法。 + 注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作。mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。后面会介绍到mv命令的另一个用法。 5. **`mv 目录名称 目录的新位置`:** 移动目录的位置---剪切(改) 注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作。另外mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。 6. **`cp -r 目录名称 目录拷贝的目标位置`:** 拷贝目录(改),-r代表递归拷贝 - 注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归 + 注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归 7. **`rm [-rf] 目录`:** 删除目录(删) - 注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了增强大家的记忆, 无论删除任何目录或文件,都直接使用`rm -rf` 目录/文件/压缩包 + 注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了增强大家的记忆, 无论删除任何目录或文件,都直接使用`rm -rf` 目录/文件/压缩包 -### 4.3 文件的操作命令(增删改查) +### 4.3 文件的操作命令(增删改查) 1. **`touch 文件名称`:** 文件的创建(增) 2. **`cat/more/less/tail 文件名称`** 文件的查看(查) - - **`cat`:** 只能显示最后一屏内容 - - **`more`:** 可以显示百分比,回车可以向下一行, 空格可以向下一页,q可以退出查看 - - **`less`:** 可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看 + - **`cat`:** 查看显示文件内容 + - **`more`:** 可以显示百分比,回车可以向下一行, 空格可以向下一页,q可以退出查看 + - **`less`:** 可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看 - **`tail-10` :** 查看文件的后10行,Ctrl+C结束 - 注意:命令 tail -f 文件 可以对某个文件进行动态监控,例如tomcat的日志文件, 会随着程序的运行,日志会变化,可以使用tail -f catalina-2016-11-11.log 监控 文 件的变化 + 注意:命令 tail -f 文件 可以对某个文件进行动态监控,例如tomcat的日志文件, 会随着程序的运行,日志会变化,可以使用tail -f catalina-2016-11-11.log 监控 文 件的变化 3. **`vim 文件`:** 修改文件的内容(改) vim编辑器是Linux中的强大组件,是vi编辑器的加强版,vim编辑器的命令和快捷方式有很多,但此处不一一阐述,大家也无需研究的很透彻,使用vim编辑修改文件的方式基本会使用就可以了。 **在实际开发中,使用vim编辑器主要作用就是修改配置文件,下面是一般步骤:** - vim 文件------>进入文件----->命令模式------>按i进入编辑模式----->编辑文件 ------->按Esc进入底行模式----->输入:wq/q! (输入wq代表写入内容并退出,即保存;输入q!代表强制退出不保存。) + vim 文件------>进入文件----->命令模式------>按i进入编辑模式----->编辑文件 ------->按Esc进入底行模式----->输入:wq/q! (输入wq代表写入内容并退出,即保存;输入q!代表强制退出不保存。) 4. **`rm -rf 文件`:** 删除文件(删) 同目录删除:熟记 `rm -rf` 文件 即可 @@ -183,7 +206,7 @@ Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.g ### 4.5 Linux的权限命令 - 操作系统中每个文件都拥有特定的权限、所属用户和所属组。权限是操作系统用来限制资源访问的机制,在Linux中权限一般分为读(readable)、写(writable)和执行(excutable),分为三组。分别对应文件的属主(owner),属组(group)和其他用户(other),通过这样的机制来限制哪些用户、哪些组可以对特定的文件进行什么样的操作。通过 **`ls -l`** 命令我们可以 查看某个目录下的文件或目录的权限 + 操作系统中每个文件都拥有特定的权限、所属用户和所属组。权限是操作系统用来限制资源访问的机制,在Linux中权限一般分为读(readable)、写(writable)和执行(excutable),分为三组。分别对应文件的属主(owner),属组(group)和其他用户(other),通过这样的机制来限制哪些用户、哪些组可以对特定的文件进行什么样的操作。通过 **`ls -l`** 命令我们可以 查看某个目录下的文件或目录的权限 示例:在随意某个目录下`ls -l`