锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

从零基础入门Linux系统

时间:2023-04-22 09:37:01 高含量氧变送器jy5101a7b0bs41变送器pb2081转速变送器ge在线ph变送器压力变送器ks42jy131变送器

从零开始Linux系统

目录
第一章:Linux简介 1
一、Linux是什么 1
二、Unix和Linux的发展史 1
三、开源软件介绍 4
四、Linux的应用场景 5
第二章:Linux安装和部署 8
一、 虚拟机的安装和使用 8
二、Linux分区相关原理 16
三、CentOS 6.8的安装流程 20
四、CentOS 7.5 的安装流程 35
五、远程管理Linux操作系统 43
第三章:初学者Linux服务器管理建议 44
一、学习Linux的注意事项 44
二、服务器管理建议 46
第四章:Linux常用命令 52
一、文件和命令使用规范 52
二、文件管理命令 52
三、权限管理命令 58
四、查询相关命令 61
五、压缩相关命令 64
六、帮助相关命令 65
七、关机重启命令 68
八、常见的网络命令 69
九、系统资源查看命令 75
十、挂载命令 77
第五章:vi & vim 编辑器 80
第六章:软件安装 84
一、软件安装包介绍 84
二、二进制安装包-rpm管理命令 86
三、二进制安装包-yum管理命令 88
四、二进制安装包-软件验证&软件修复 91
五、源代码软件包安装相关操作 94
六、软件包安装附带安装程序-webmin 96
七、扩展 99
第七章:用户管理 100
一、用户和组的类型 100
二、用户及组相关文件 100
三、用户和组的相关命令 102
四、其他相关命令 105
第八章:权限管理 106
第九章:磁盘管理-硬件 114
第九章:磁盘管理-磁盘管理基础 119
第九章:磁盘管理-高级磁盘管理 130
第十章:Shell编程-基础篇 144
第十一章:Shell编程-高级篇 166
一、正则表达式 166
二、字符截取和替换命令 167
三、条件判断 176
四、流程控制 179
第十二章:备份管理 185
1要备份哪些数据? 185
二、备份策略常见 185
备份模式 186
四、备份案例 188
五、定期计划任务 188
第十三章:系统启动管理: 191
一、CentOS 6启动流程 191
二、CentOS 7启动流程 193
三、CentOS 6 和 CentOS 7 比较启动过程 195
第十四章:服务启动管理 197
一、检查服务和系统状态 197
二、服务的管理 198
三、Target 和 Runlevel 的关系 199
四、日志管理 200

第一章:Linux简介
宏福学校 Linux运维 云计算课程
版本:V 1.0
一、Linux是什么
Linux一套免费使用和自由传播的类别Unix支持多用户、多任务、多线程和多线程的操作系统CPU操作系统。它可以运行主要UNIX支持32位和64位硬件的工具软件、应用程序和网络协议。Linux继承了Unix以网络为核心的设计理念是一个性能稳定的多用户网络操作系统。
Linux操作系统诞生于1991年10月5日(第一次正式公布时间)。Linux有很多不同Linux版本,但它们都使用了Linux内核。Linux可安装在手机、平板电脑、路由器、视频游戏控制台、台式电脑、大型电脑、超级电脑等各种计算机硬件设备中。
严格来讲,Linux这个词本身只表示Linux但事实上,人们已经习惯了使用内核Linux描述整个基础Linux各种发行版本的核心开发,如:Red Hat、CentOS、Ubuntu、deepin等。
二、Unix和Linux的发展史
3.1 Unix发展历程
需求:麻省理工学院1965(MIT)决定开发大型分时计算机系统,命名为: MULTICS。试图连接计算机史上最大的分时计算机系统 1000 支持部终端机 300 分时计算机系统同时由用户推出。她面临的是,操作系统的分时概念仍在探索学术和研究机构,计算机硬件也面临着重新设计的双重挑战。

项目合作:麻省理工学院(MIT)、通用公司(GE)、AT&T(贝尔实验室)
?需求:麻省理工科
?硬件:通用公司
?软件:贝尔实验室

结果:1969 年,MULTICS 经过四年的战斗,贝尔实验室决定退出该计划,该计划仍未达到原规划设计的理想状态。功能未达到原设计的理想 MULTICS 或者安装在通用公司 GE 645 麻省理工学院使用大型计算机。草草结束~

创世纪:1969 年贝尔实验室成员退出 MULTICS 在规划的同时,贝尔实验室本身并没有一个完捷的交互式计算机服务环境。许多工程师也在努力改善程序设计环境, Ken Thompson、Dennis Ritchie 当时与同事起草了一个新的档案系统架构,即早期的档案系统 UNIX 操作系统的前身。

游戏的开始:1969年,当时 Ken Thompson 忙着使用 Fortran 语言将是原来的 Multics 在系统中开发的名称 "Space Travel"的 game 转移到 GECOS System 上开发测试。当时 GECOS System 大型计算机 CPU Time 相当昂贵(一秒要 75 于是 Ken Thompson 必须寻找替代的开发环境。 Ken Thompson 便与 Dennis Ritchie 将程序设计转移到连手 PDP-7 型计算机。当时这个系统只能支持 2 用户使用。当时,新的操作系统被命名为UNICS,之后大家都拿谐音叫她 “UNIX”。

C语言的诞生:由于之前的操作系统是用B语言编写的,对操作效率影响很大,不易移动。所以,当时Dennis Ritchie重构新的编程语言:C语言之后,两个人用C对Unix重新编写,直到更新V5发布为正式版本,最终确定名称Unix,时间1973年。

因为当时AT&T贝尔实验室是美国的通信霸主,受当时法律(反托拉斯法)的限制,无法从事计算机系统的销售,这意外地是由贝尔实验室开发的Unix不能卖,只能自己用或者免费开源给别人用,但是当时贝尔实验室还不错。~

分崩离析的霸主:10年后的1984年,根据反垄断法,强迫1495亿美元的巨头进行反托拉斯法AT&T该公司分为七家独立的区域网络公司,结束了长期以来有线电话行业的垄断业务,同时也没有以前的行业限制,可从事有线电话以外的业务;AT&T我发现以前不在乎的钱已经发展成了一项巨大的业务,所以我决定Unix商业化增加了公司的收入,但事与愿违~

BSD出生:十年足以发生很多事情,因为当时Unix许多组织接触到开源代码的方式Unix,最赚钱的是伯克利大学,它根据自己的需要使用和修改,并添加了大量的新内容Uinx以至于形成了自己独立的版本:BSD,中间发生了很多事情,在这个过程中出现了几项强大的发明:tar、vi编辑器等。

失败的"胜诉":AT&T伯克利之间终于迎来了一场旷世大战(版权问题),AT&T最后,我赢了官司,但我输给了时间,因为诉讼时间太长了。Windows抢占了大部分市场份额。

结局:Unix被AT&T以8000万美元的价格出售,后续几次易手,最终形成了永久授权方式,从此衍生出大量的Unix发行版
2. Unix主要发行版本

  1. Linux发展历程
    Linux 一套完整的版权 AT&T 无关的 UNIX-like OS。原始核心程序的创作者来自芬兰 Linus Benedict Torvalds(他仍然是核心程序的维护者)。操作系统中的大部分系统工具来自 RMS 行之多年的 GNU 计划结果和其他自由软件写作计划生成的软件,如 X Windows、KDE、 Gnome 等待窗口接口。由于构成操作系统的主要部分被追求 GPL 版权,所以市场上有相当多的发行版本,目前比较知名 RedHat、Debian 等等。也因此,这套操作系统,可说是包含了无数自由软件作者的共同心血。事实上,这样一个操作系统就是这样一个操作系统 RMS 多年来想要达成的宿愿 – “Free UNIX”。所以,RMS 我一直认为我改名了 “GNU/Linux”。所以,也有人用 GNU/Linux 叫这个操作系统。

RMS(理查德·斯托曼)
GUN计划的创始人『如果我喜欢一个程序,我应该和其他喜欢这个程序的人分享』

作者:林纳斯·本纳第克特·托瓦兹

  1. Linux主流发行版

  2. RedHat介绍系列版本
    服务器版:
    RedHat 6.x 内核:2.6.x
    RedHat 7.x 内核:3.10.x
    社区版:
    CentOS 6.x 内核:2.6.x
    CentOS 7.x 内核:3.10.x
    个人版:
    Fedora 内核:最新版
    官方网站内核版:https://www.kernel.org/
    三、开源软件介绍
    什么是开源软件:
    ?使用自己:您可以根据软件作者的意愿选择是否收费
    ?研究自己:源代码开放,可以自己阅读
    ?改进分布自有:可修改源代码,自有传播,或改进后销售(销售增加功能)

最大的生产环境应用集合:
?LAMP=Linux Apache MySQL PHP
?LNMP=Linux Nginx MySQL PHP
?LNAMP=Linux Apache Nginx MySQL PHP
?LNTMJ=Linux Nginx Tomcat MySQL Java
四、Linux的应用场景

  • 基于Linux的服务器有哪些?
    网站:https://www.netcraft.com/

  • 基于Linux兴起的云计算技术

  • Linux在电影娱乐行业

  • Linux的其他应用

  • 第二章:Linux安装和部署
    宏福学校 Linux运维+云计算课程
    版本:V 1.0
    一、虚拟机的安装和使用
    VMware Workstation是一款功能强大的桌面虚拟计算机软件,可以提供给用户在单一的桌面上同时运行多个相同或者不同的操作系统,方便专业人员进行开发、部署、测试等工作;简单来说就是通过VMware 创建出虚拟的硬件设备,然后再使用虚拟的硬件设备进行操作系统的安装和运行,从而满足同时运行多个操作系统的需求。

    1.1 VMware Workstation的安装
    1.1.1 注意事项:
    虚拟机软件更新很快,所以使用哪个版本的都可能有,目前来说VMware 10版本之后的都可以满足我们的需求,越高的版本支持的虚拟机配置越高、功能越多,根据自身需求进行选择。
    1.1.2 软件来源和版本:
    官网:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html
    类型:分为Windows版和Linux版本(当然也有MAC OS X版本:VMware Fusion版)

    1.1.3 安装流程:

    类型选择:典型是较为简洁的硬件选择模式,可以快速的创建一个虚拟硬件环境
    自定义则是一个专业的硬件配置选择模式,可以认为选择更多的设备参数和类型。

    注意:安装路径尽量选择非系统盘下的目录,而且尽量不要使用中文名字的目录。

    至此我们的虚拟机软件就安装完成了,后续根据自己的需求进行虚拟机的安装和使用即可
    1.1.4 网络设置:

    VMware Workstation 中所安装的虚拟机与外部进行网络连接的方式有三种:桥接模式、仅主机模式(自定义)、NAT模式;三种模式的工作原理各不相同,配置方式也不一样。

    连接方式对比:
    连接方式 宿主网卡 能否连接宿主 能否连接宿主局域网 能否连接互联网
    桥接模式 有线&无线网卡 能 能 能
    仅主机模式 VMnet 1 能 不能 不能
    NAT模式 VMnet 8 能 不能 能

    1.2 VMware Workstation的使用
    快照功能:可以将虚拟机的某一时刻永久保存下来,当以后有需要时,可以快速的恢复到快照当时的状态,适合反复使用的实验环境。

    挂起功能:虚拟机开启后,如果遇到紧急事件需要暂时停止虚拟机运行,而且保留当前虚拟机的运行状态,等有时间时再接着运行的话,可以使用挂起功能,将虚拟机暂停。

    硬件调整功能:由于虚拟机所使用的硬件设备都是虚拟设备,所有虚拟机的硬件参数都是可以调整的,但是需要注意,必须在虚拟机停止工作的状态下才能调整,暂停状态下也是无法调整的。

    文件共享功能:提供了将宿主机指定文件夹映射到虚拟机内的功能,使虚拟机内外可以更为方便的进行文件传输。

    VMware Tools:是一个功能十分强大的虚拟机辅助工具,我们常用到的功能就是,在安装了此工具后,可以自由的在宿主机和虚拟机之间进行文件传输,而且不用借助文件共享功能;桌面模式下还能自由切换键鼠;并且桌面模式下能后自由调整虚拟机的分辨率。
    二、Linux的分区相关原理
    2.1 为什么要进行磁盘分区
    现在的磁盘设备存储空间都非常大,为了方便管理我们将磁盘划分为一个一个小的空间来使用,这样既便于管理,又有利于数据的安全,还能节省数据查询时间。
    易于管理和使用
    当磁盘不划分分区时,往往所有东西都是放在一起的,就像一个没有做任何隔断的大房间,空间虽大,但是不利于管理和合理使用,所以合理划分分区是我们使用磁盘的第一个重要步骤。
    有利于数据安全
    当磁盘没有划分分区时,所有数据存放在同一个空间中,当有一个文件遭受病毒入侵时,其他文件也是无法避免的,但划分过分区后,可以减少这种情况的发生,让数据更加安全。
    节省文件查找时间
    当所有数据保存在一个没有划分分区的空间中时,由于内容较多,查询起来非常缓慢,每次都需要从头到尾查看一遍,非常浪费时间,划分分区可以将不同分类的数据保存在不同的分区,加快数据查询的效率
    2.2 如何进行磁盘分区
    2.2.1 常见的两种分区规范
    MBR分区表:1983年出现的分区规范,识别最大磁盘空间到2TB,大于2TB无法管理。

    GPT分区表:又称GUID分区表,新一代分区管理规范,识别最大磁盘空间到18EB,以目前的磁盘生产水平远远超出需求。

    当我们所需要管理的磁盘不大于2TB时,可以选择使用MBR分区表进行分区划分,但是当大于2TB时,必须选择GPT分区表进行管理,否则无法识别到所有的磁盘空间。
    

    2.2.2 MBR分区表分区规范
    分区类型:
    主分区、扩展分区、逻辑分区
    分区数量限制:
    主分区:小于等于4个,分区编号1-4
    扩展分区:可以没有,最多1个,分区编号1-4
    逻辑分区:扩展分区下的分区结构,默认不限个数,分区编号5-∞
    注意事项:
    主分区+扩展分区最多4个
    扩展分区无法直接保存数据,其主要作用是创建逻辑分区

    2.2.3 GPT分区表分区规范
    分区类型:所有分区都一样,没有类型区分
    分区数量:理论没有数量限制,但windows操作系统最大支持128个分区,so…

    2.3 磁盘设备和分区命名规范
    2.3.1 磁盘命名:
    sd:对SATA、SCSI、SAS等接口类型的磁盘命名前缀,后续用a-z表示第几块磁盘
    hd:对IDE接口类型的磁盘命名前缀,后续用a-z表示第几块
    例如:
    sda:表示STAT等接口的第一块磁盘
    hdc:表示IDE接口的第三块磁盘
    2.3.2 分区命令规范:
    在指定磁盘后使用序号命令分区顺序:1-n
    MBR:
    主分区:sda1 - sda4
    扩展分区:sda1 - sda4
    逻辑分区:sda5 - sdan
    GPT:
    sda1 - sdan
    2.4 什么是格式化
    将磁盘划分成分区之后我们还需要对分区空间进行进一步规划才能正常使用,我们需要为每一个分区安装一套数据管理软件,用来管理需要存储的数据,安装这套管理软件的过程叫做安装文件系统,又称之为高级格式化,顺带着有清除所有数据的功能,so…以后不要再说格式化是为了删除所有数据。

    文件系统类型分类:
    windows:FAT16、FAT32、exFAT、NTFS
    Linux:EXT3、EXT4、XFS

    2.5 分区挂载
    就像windows中一样,所有磁盘都需要指定一个盘符才能正常使用,盘符相当于是分区的入口,windows中用a-z字母作为盘符。而在Linux中我们使用目录作为分区的入口,将分区和盘符关联起来的方式称之为叫挂载。

    首先我们来了解下Linux中的目录结构:

    三、CentOS 6.8的安装流程
    3.1 安装流程

    自定义模式下硬件参数设置简单,适合绝大多数虚拟机,自定义模式下可以设置更多的硬件参数信息,适合相对专业的虚拟机硬件设置。

    切记,此处一定要选择稍后安装,若选择了第二项则会导致操作系统自行安装,无法人为选择系统安装流程

    根据需要选择对应操作系统和发行版本,已经对应发行版的具体平台

    虚拟机的存放位置尽量不要在系统盘目录下,否则会导致操作系统因为空间不足导致无法运行

    注意:此处设置的磁盘大小为虚拟机使用磁盘大小的上限,并非是直接将物理存储空间分配给虚拟机,类似的内存、硬盘、CPU等都是给虚拟机设置一个上限。

    虚拟硬件设备设置完成后再选择对应要安装的操作系统的镜像位置,并将虚拟光驱的启动连接勾选上

    1. “Install or upgrade an existing system”: 安装或升级现有系统
    2. “Install system with basic video driver”: 安装系统并安装基本的显卡驱动
    3. “Rescue installed system”: 进入系统修复模式
    4. “Boot from local drive”: 从本地磁盘启动(不安装)
    5. “Memory test”: 存储介质检测

    跳过安装介质检测过程,无需对安装介质(光盘)进行检查

    注意:此处选择的语言类型为安装流程中所使用语言,并非是安装后操作系统运行所使用的语言

    键盘类型:固定美式英语键盘(其他国家笔记本除外)

    选择基础存储设备,即使用本地存储设备,指定的存储设备一般指网络上的专业存储设备

    千万注意数据安全,虚拟机上没问题,但是真实设备一定要记得确认数据是否保存。

    主机名尽量保持默认状态,否则后续有些实验会受到影响;主机名修改没有明确的严格规定,根据实际需求进行设置即可,例如:bj01-web03

    时区选择亚洲上海,将本页面中使用UTC时间的复选框取消掉,否则时间会出现时区误差;UTC:世界协调时间,中国上海所在时区为UTC+8

    密码三原则:复杂性、时效性、易记性
    复杂性:要求密码拥有足够多的字符类型,字母大小写、数字、符号等 + 密码长度
    时效性:要求密码周期性进行更新,保证密码的安全性
    易记性:其实,复杂的密码不易记,易记的密码不复杂~

    在保证数据安全的前提下,选择对应的模式进行分区格式化

    由于前期没有学习磁盘管理,暂时选用标准分区即可

    boot分区并不是必须单独划分的分区,单独划分的主要目的是为了保证分区损坏时不会导致操作系统和引导文件同时损坏丢失;boot分区存放的是操作系统启动引导文件,CentOS 6.x 建议划分200M即可,CentOS 7.x 建议划分500M

    swap分区即交换分区,其主要作用是在操作系统真实内存(物理内存)不足时,将物理内存中一部分数据暂存到swap分区中,保证物理内存始终都有可用空间的的一种机制;swap分区:该分区没有挂载点,无法认为进行数据存取,并且swap分区必须创建。

    有且仅能有一个根分区,根分区大小根据实际情况而定,自定义或者使用剩余所有空间;至于除了以上三个分区以外的其他分区,可以根据实际业务需求进行自定义,建议将不同的应用产生的数据保存在独立的分区中,降低数据同时损坏的几率。

    此处是修改系统引导记录的保存位置的,虚拟机中无需修改,但是在实际的生产环境中安装操作系统后需要手动指定下引导记录保存位置,防止将引导记录写入到移动设备。

    软件安装选择Basic Server模式即可,安装常用软件和服务

    3.2 网卡配置和防护关闭
    网卡:需要人为手动配置IP地址等网络资源
    防护:关闭以下两个服务
    防火墙:保护Linux不受来自于外部的非法网络请求(对外保护)
    SELinux:保证Linux内部的操作更加严谨,限制用户的操作行为
    注意:关闭防护的原因是为了有一个更方便的环境进行实验,对于初学者,防护会影响实验的部署

    利用红帽发行版中自带的工具setup进行IP地址设置(安装时若选择的minimal则没有此命令)

    防护关闭命令:
    防火墙:
    chkconfig iptables off #设置开机不自启
    service iptables stop #停止正在运行的服务
    iptables -F #清空当前的防火墙列表
    SELinux:
    sed -i ‘7s/enforcing/disabled/’ /etc/selinux/config #永久关闭SELinux
    setenforce 0 #临时关闭SELinux
    四、CentOS 7.5 的安装流程
    4.1 安装流程

    CentOS 7中默认启用了xfs文件系统类型(6也支持,但是默认没有启用)

    4.2 网卡配置和防护关闭
    网卡:借助CentOS 7自带的nmtui工具进行IP资源设置

    防护:
    防火墙:
    systemctl disable firewalld
    systemctl stop firewalld
    SELinux:
    sed -i ‘7s/enforcing/disabled/’ /etc/selinux/config #永久关闭SELinux
    setenforce 0 #临时关闭SELinux
    五、远程管理Linux操作系统
    通常生产环境中我们的服务器都放在机房里,但是机房的环境并不适合进行办公,所有我们基本都是在机房外部进行远程管理和操作服务器的,对用用来远程连接的工具也就少不了了。
    例如;Xshell、putty、SecureCRT等都是不错的选择。

    注意事项:在学习过程中对于远程工具的选择可以按照个人喜好即可,但是对于公司来说我们需要保证其安全性,所以在选择远程连接工具是要严格把控,其次,远程连接工具一定要及时更新,否则出现重大漏洞会造成巨大损失,并且作为维护人员有不可推卸的责任。

    第三章:给初学者的Linux服务器管理建议
    Linux运维+云计算&大数据运维
    版本:V1.0
    一、学习Linux的注意事项

    1. Linux严格区分大小写
      Linux是严格区分大小写的,这一点和Windows不一样,所以操作时要注意区分大小写的不同, 包括文件名和目录名、命令、命令选项、配置文件设置选项等。
    2. Linux 一切皆文件
      Linux中所有内容都是以文件的形式保存和管理的,硬件设备也是文件,这和Windows完全不同, Windows是通过设备管理器来管理硬件的。Linux的设备文件保存在/dev/目录中,硬盘文件是 /dev/sd[a-p]» 光盘文件是/dev/hdc 等。
    3. Linux不靠扩展名区分文件类型
      Windows是依赖扩展名区分文件类型的,比如,".txt”是文本文件、".exe”是执行文件、“.ini” 是配置文件、“.mp4”是小电影等。但Linux不是靠扩展名区分文件类型的,而是靠权限位标识来确 定文件类型的,而且文件类型的种类也不像Windows下那么多,常见的文件类型只有普通文件、目录、 链接文件、块设备文件、字符设备文件等几种。Linux的可执行文件不过就是普通文件被赋予了可执 行权限而已。
      但Linux中的一些特殊文件还是要求写“扩展名”的,但是大家小心,并不是Linux -定要靠扩展名来 识别文件类型,写这些扩展名是为了帮助管理员来区分不同的文件类型。这样的文件扩展名主要有以 下几种。
      •压缩包:Linux下常见的压缩文件名有务、.bz2、・zip、.tar.gz、.tar.bz2、.tgz等。为什么压 缩包一定要写扩展名呢?其实很好理解,如果不写清楚扩展名,那么管理员不容易判断压缩包的 格式,虽然有命令可以帮助判断,但是直观一点更加方便。另外,就算没写扩展名,在Linux中 一样可以解压缩,不影响使用。
      •二进制软件包:CentOS中所使用的二进制安装包是RPM包,所有的RPM包都用“.rpm〃扩展名结尾,目的同样是让管理员一目了然。
      •程序文件:Shell脚本一般用“.sh〃扩展名结尾,其他还有用“.c〃扩展名结尾的C语言文件等。
      •网页文件:网页文件一般使用“.html〃".php〃等结尾,不过这是网页服务器的要求,而不是Linux 的要求。
    4. Linux中所有的存储设备都必须在挂载之后才能使用
      Linux中所有的存储设备都有自己的设备文件名,这些设备文件必须在挂载之后才能使用,包括 硬盘、U盘和光盘。挂载其实就是给这些存储设备分配盘符,只不过Windows中的盘符用英文字母表 示,而Linux中的盘符则是一个已经建立的空目录。我们把这些空目录叫作挂载点(可以理解为Windows 的盘符),把设备文件(如/dev/sdb)和挂载点(已经建立的空目录)连接的过程叫做挂载
    5. Windows下的程序不能直接在Linux中使用
      Linux和Windows是不同的操作系统,可以安装和使用的软件也是不同的,所以能够在Windows 中安装的软件是不能在Linux中安装的。有好处吗?当然有,那就是能够感染Windows的病毒和木马 都对Linux无效。有坏处吗?也有,那就是所有的软件要想在Linux中安装,必须单独开发针对Linux 的版本,或者依赖模拟器软件运行。
      很多软件也会同时推出针对Windows和Linux的版本,如大家熟悉的即时通信软件QQ。
      二、服务器管理建议
      1.了解Linux目录结构
      目录名 目录的作用
      /bin/ 存放系统命令的目录,普通用户和超级用户都可以执行。是/usr/bin/目录的软链接
      /sbin/ 存放系统命令的目录,只有超级用户才可以执行。是/usr/sbin/目录的软链接
      /usr/bin/ 存放系统命令的目录,普通用户和超级用户都可以执行
      /usr/sbin/ 存放系统命令的目录,只有超级用户才可以执行
      /boot/ 系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等
      /dev/ 设备文件保存位置
      /etc/ 配置文件保存位置。系统内所有釆用默认安装方式(rpm安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等
      /home/ 普通用户的家目录。在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的家目录,所有普通用户的宿主目录是在/home/下建立一个和用户名相同的目录。如用户userl的家目录就是/home/userl/
      /lib/ 系统调用的函数库保存位置。是/usr/lib/的软链接
      /Iib64/ 64位函数库保存位置。是/usr/lib64/的软链接
      /media/ 挂载目录。系统建议是用来挂载媒体设备的,如软盘和光盘
      /mnt/ 挂载目录。早期Linux中只有这一个挂载目录,并没有细分。现在系统建议这个目录用来挂载额外的设备,如U盘、移动硬盘和其他操作系统的分区
      /opt/ 第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录中。不过笔者还是习惯把软件放到 /usr/local/目录中,也就是说,/usr/local/目录也可以用来安装软件
      /proc/ 虚拟文件系统。该目录中的数据并不保存在硬盘上,而是保存到内存中。主要保存系统的内核、进程、外部设备状态和网络状态等。如/proc/cpuinfo是保存 CPU信息的,/proc/devices是保存设备驱动的列表的,/proc/filesystems是保存文件系统列表的,/proc/net是保存网络协议信息的……
      /sys/ 存与内核相关的信息
      /root/ root的宿主目录。普通用户宿主目录在/home/下,root宿主目录直接在下
      /run/ 系统运行时产生的数据,如ssid, pid等相关数据。/var/run/是此目录的软链接
      /srv/ 服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据
      /tmp/ 临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写
      入。我们建议此目录中不能保存重要数据,最好每次开机都把该目录清空
      /usr/ 系统软件资源目录。注意usr不是user的缩写,而是UUNIX Software Resourcev
      的缩写,所以不是存放用户数据的目录,而是存放系统软件资源的目录。系统中安装的软件大多数保存在这里
      /usr/lib/ 应用程序调用的函数库保存位置
      /usr/local/ 手工安装的软件保存位置。我们一般建议源码包软件安装在这个位置,例如安 装源码包的Apache,安装目录一般就是/usr/local/apache,目录。
      /usr/share/ 应用程序的资源文件保存位置,如帮助文档、说明文档和字体目录
      /usr/src/ 源码包保存位置。我们手工下载的源码包和内核源码包都可以保存到这里。不过笔者更习惯把手工下载的源码包保存到/usr/local/src/目录中,把内核源码保存至 lj/usr/src/kernels/ 目录中
      /usr/src/kernels/ 内核源码保存位置。最小化安装没有安装内核源码包,这个目录是空的。
      /var/ 动态数据保存位置。主要保存缓存、日志以及软件运行所产生的文件
      /var/www/html/ RPM包安装的Apache的网页主目录
      /var/lib/ 程序运行中需要调用或改变的数据保存位置。如MySQL的数据库保存在
      /var/lib/mysql/ 目录中
      /var/log/ 系统日志保存位置
      /var/run/ 一些服务和程序运行后,它们的PID (进程ID)保存位置。是/run/目录的软链接
      /var/spool/ 放置队列数据的目录。就是排队等待其他程序使用的数据,比如邮件队列和打印队列
      /var/spool/mail/ 新收到的邮件队列保存位置。系统新收到的邮件会保存在此目录中
      /var/spool/cron/ 系统的定时任务队列保存位置。系统的计划任务会保存在这里

    2.远程服务器关机及重启时的注意事项
    为什么远程服务器不能关机呢?很简单,远程服务器没有放置在本地,关机后,谁可以帮你按开机电源键启动服务器?虽然计算机技术日新月异,但是像插入电源和开机这样的工作还是需要手工进行的。如果服务器在远程,一旦关机,就只能求助托管机房的管理人员帮你开机了。
    远程服务器重启时需要注意两点。
    2.1远程服务器在重启前,要中止正在执行的服务
    计算机的硬盘最怕在高速存储时断电或重启,非常容易造成硬盘损坏。所以,在重启前先中止你的服务,甚至可以考虑暂时断开对外提供服务的网络。可能你会觉得服务器有这么娇贵吗?我的笔记本电脑经常强行关机,也没有发现硬盘损坏啊?这是因为你的个人计算机没有很多人访问,强制断电时硬盘并没有进行数据交换。小心驶得万年船!
    2.2重启命令的选用
    Linux可以识别的重启命令有很多条,但是建议大家使用"shutdown -r now"命令重启。这条命令在重启时会正常保存和中止服务器中正在运行的程序,是安全重启命令。而且最好在重启前执行几次“sync”命令,这条命令是数据同步命令,可以让暂时保存在内存中的数据同步到硬盘上。
    3.不要在服务器访问高峰运行高负载命令
    这一点大家很好理解,在服务器访问高峰,如果使用一些对服务器压力较大的命令,则有可能会 造成服务器响应缓慢甚至死机。
    哪些命令是高负载命令呢?其实,如果大家使用过Windows操作系统,则也会留意到一些操作会 给计算机带来较大的运算压力,道理都是一样的,如复制大量的数据、压缩或者解压缩大文件、大范 围的硬盘搜索等。
    什么时间算作访问高峰期呢?我们一般认为17:00—24:00算作访问高峰期。当然,每台服务器具 体提供的服务不同,访问高峰期有时也会有所出入。比如,服务器主要是供美国人民访问的,那就要考虑时差的问题;或者服务器提供的服务很特殊,访问高峰期可能也不同。
    一般我们建议在凌晨4:00-5:00执行这些命令。那是不是说我们需要在凌晨上班?当然不是,这谁受得了啊?我们可以使用系统的计划任务,让操作自动在指定的时间段执行。
    4.远程配置防火墙时不要把自己踢出服务器
    简单来讲,防火墙就是根据数据包自身的参数来判断是否允许数据包通过的网络设备。我们的服务器要想在公网中安全地使用,就需要使用防火墙过滤有害的数据包。但是在配置防火墙时,如果管理员对防火墙不是很熟悉,则有可能把自己的正常访问数据包和有害数据包全部过滤掉,导致自己也无法正常登录服务器,如防火墙关闭了远程连接的SSH服务的端口。
    防火墙配置完全是靠手工命令完成的,配置规则和配置命令相对也比较复杂,万一设置的时候心不在焉,悲剧就发生了。
    如何避免这种尴尬的情况发生呢?最好的方法当然是在服务器本地配置防火墙,这样就算不小心 把自己的远程登录给过滤了,还可以通过本机登录来进行恢复。如果服务器已经在远程登录了,要配置防火墙,那么最好在本地测试完善后再进行上传,这样会把发生故障的概率降到最低。虽然在本地测试好了,但是传到远程服务器上时仍有可能发生问题。于是超哥想到一个笨办法:如果需要远程配置防火墙,那么先写一个系统定时任务,让它每5分钟清空一下防火墙规则,就算写错了也还有反悔 的机会,等测试没有问题了再删除这个系统定时任务
    5.指定合理的密码规范并定期更新
    前面我们介绍了设置密码需要遵守复杂性、易记忆性和时效性的三原则,这里就不再重复解释了。
    6.合理分配权限
    服务器管理有一个最简单的原则:给予用户最小的权限。
    7.定期备份重要数据和日志
    备份的基本原则:不要把鸡蛋放在同一个篮子里
    第四章:Linux常用命令
    宏福学校 Linux运维+云计算课程
    版本:V 1.0
    一、文件和命令使用规范

    1. Linux 文件的命名规则
      1.Linux中一切皆文件
      2.除了 / 之外,所有的字符都合法,但有些字符最好不用,如空格和字符 @ # $ & ( ) - 等
      3.避免使用 . 作为文件名的第一个字符(Linux中以.开头的文件都是隐藏文件)
      4.大小写敏感,严格区分大小写(包括文件命名、命令、命令选项、用户名等)
    2. Linux 命令格式
      格式 :命令 -选项 参数(操作对象)
      例 :ls -la /etc
      1.当有多个选项时,可以写在一起(特殊情况除下有先后顺序)
      2.两个特殊的目录 . 和 … ,分别代表当前目录和当前目录的父目录
      3.部分命令不遵循此格式
    3. Linux 命令提示符
      [root@localhost /]#
      [当前登录用户@当前主机名 当前所在目录的最后一个目录]# # 带表用户身份(root)
      二、文件管理命令
    4. ls 命令
      英文原意:list directory contents
      功能描述:用来显示指定目录内的文件列表,可通过选项控制显示内容的详细程度和颜色高亮等
      所在路径:/bin/ls
      命令格式:ls [OPTION]… [FILE]…
      常用选项:
      o-a:显示指定目录内的所有内容(包含隐藏文件和特殊目录)
      o-l:显示每一个文件的详细信息(权限、所有者、所属组、修改时间等),可缩写为ll
      o-h:显示文件大小时,使用最合适的单位显示(例:4万万 ==> 4亿),常以-lh形式出现
      o-d:用来显示目录本身信息,而不显示目录内的文件列表,常以-ld形式出现
      o-i:显示文件索引节点号(inode),每个文件都拥有一个独一无二的索引节点号

    索引节点号(inode号):
    每一个文件除了文件内的数据外,还有文件本身的一些数据需要保存,比如:文件的创建者、创建时间、文件大小等,此类信息我们统称为“元数据”,操作系统为每一个文件都单独创建了一块区域用来存储文件的元数据,并且在同一个分区内为每一个文件分配了一个独一无二的ID号码(即inode号)
    [root@localhost ~]# ls -l
    总用量 44
    -rw-------. 1 root root 1245 1月 1 2020 anaconda-ks.cfg
    -rw-r–r--. 1 root root 28250 1月 1 2020 install.log
    -rw-r–r--. 1 root root 7572 1月 1 2020 install.log.syslog

    第一列:类型和文件权限(下面章节详细讲)
    第二列:引用计数,文本类文件的数值代表该文件有n-1个硬链接;目录文件的数值代表该目录下有多少个子目录数量
    第三列:文件所有者(属主),文件属于哪个用户所有,默认情况谁创建的文件就属于谁
    第四列:文件所属组(属组),一般情况下,该组是文件创建者所在的组
    第五列:文件大小,默认以字节为单位显示,可使用-h选项显示为最合适单位
    第六列:文件最后一次修改时间(内容修改时间)
    第七列:文件名
    结尾的.:这个点代表被SELinux所标记的文件,一般是在SELinux开启时所创建的文件
    2. cd 命令
    英文原意:Change the shell working directory
    功能描述:切换到指定的目录下
    所在路径:属于shell内置命令,没有路径
    命令格式:cd DIRECTORY…

    特殊目录 作用
    切换到当前所在用户的家目录下
    • 切换到刚才所在目录
      . 当前目录
      … 切换到上一级目录(父目录)
    1. pwd 命令
      英文原意:print name of current/working directory
      功能描述:显示当前所在路径
      所在路径:/bin/pwd
      [root@localhost network-scripts]# pwd
      /etc/sysconfig/network-scripts
    2. mkdir 命令
      英文原意:make directories
      功能描述:创建目录
      所在路径:/bin/mkdir
      命令格式:mkdir [OPTION]… DIRECTORY…
      常用选项:
      o-p:递归创建多级目录
      [root@localhost ~]# mkdir /data/text/
      mkdir: 无法创建目录"/data/text/": 没有那个文件或目录
      [root@localhost ~]#
      [root@localhost ~]# mkdir -p /data/text/
    3. rm 命令
      英文原意:remove files or directories
      功能描述:删除指定文件或者目录
      所在路径:/bin/rm
      命令格式:rm [OPTION]… FILE…
      常用选项:
      o-i:删除已有文件或目录之前先询问用户
      o-f:不询问,强制删除
      o-r:递归处理,将指定目录下的所有文件与子目录一并处理
      近义词命令:rmdir 删除指定的空目录
    4. touch 命令
      英文原意:change file timestamps
      功能描述:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件
      所在路径:/bin/touch
      命令格式:touch [OPTION]… FILE…
      常用选项:相关选项都是对文件时间进行修改的,此处不做讲解
    5. stat 命令
      英文原意:display file or file system status
      功能描述:用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细
      所在路径:/usr/bin/stat
      命令格式:stat [OPTION]… FILE…
      常用选项:
      o-f:不再显示指定文件的详细信息,而是显示该文件所在文件系统的信息(文件系统类型、Block数量、Inode数量等)
      [root@localhost ~]# ls -l
      总用量 44
      -rw-------. 1 root root 1245 1月 1 2020 anaconda-ks.cfg
      -rw-r–r--. 1 root root 28250 1月 1 2020 install.log
      -rw-r–r--. 1 root root 7572 1月 1 2020 install.log.syslog

    [root@localhost ~]# stat install.log
    File: “install.log”
    Size: 28250 Blocks: 64 IO Block: 4096 普通文件
    Device: 803h/2051d Inode: 262148 Links: 1
    Access: (0644/-rw-r–r--) Uid: ( 0/ root) Gid: ( 0/ root)
    Access: 2020-01-01 22:52:00.643999989 +0800 #访问时间
    Modify: 2020-01-01 23:00:00.507999787 +0800 #内容修改时间
    Change: 2020-01-01 23:00:34.067999794 +0800 #属性修改时间(权限和归属)

    [root@localhost ~]# stat -f install.log
    File: “install.log”
    ID: d2925608e3c65ff3 Namelen: 255 Type: ext2/ext3
    Block size: 4096 Fundamental block size: 4096
    Blocks: Total: 4573121 Free: 4038984 Available: 3805013
    Inodes: Total: 1171456 Free: 1103020
    注意:Free和Available都是可用的意思,但是有所区别,Free当中有一部分需要充当缓存空间,虽然现在不用但是已经被预定出去了,所以对于程序来说Available才是真正可用的数量。
    8. cat 命令
    英文原意:concatenate files and print on the standard output
    功能描述:连接文件并打印到标准输出设备上,cat经常用来显示文件的内容(内容大于1页的仅显示最后一页:自动滚屏)
    所在路径:/bin/cat
    命令格式:cat [OPTION]… [FILE]…
    常用选项:
    o-n:为每一行内容进行编号(从1开始)
    o-b:类似于-n,会主动忽略掉空白行(显示但不为其编号)
    9. more 命令
    英文原意:file perusal filter for crt viewing
    功能描述:一个文本过滤器,以全屏分页的方式显示文本内容,可以使用内置按键控制显示内容
    所在路径:/bin/more
    命令格式:more [FILE]…
    o空格space:向下翻页
    o回车enter:向下翻行
    ob:向上翻页
    oq:退出文本
    10. less 命令
    英文原意:opposite of more
    功能描述:作用与more相似,都是用来浏览文本内容的
    所在路径:/usr/bin/less
    命令格式:less [OPTION]… [FILE]…
    常用选项:
    o-N:显示文本内容并显示行号
    命令对比:more和less很相似,都是用来进行分屏/分页显示文本内容的,但是less要比more多一些交互按钮,以下是less模式下的一些交互按钮功能
    交互按钮 功能
    PageUp(PaUp) & b 向上翻页
    PageDown(PaDn) & 空格 向下翻页
    Enter 向下换行(每次只新增一行显示)
    /关键词 用于在less模式中进行关键词查询,并高亮显示关键词 使用n和N快速向下向上定位到每一个关键词
    q 退出less模式
    11. head 命令
    英文原意:output the first part of files
    功能描述:显示指定文件的开头内容(默认显示前10行)
    所在路径:/usr/bin/head
    命令格式:head [OPTION]… [FILE]…
    常用选项:
    o-n:显示指定文件的前n行(n换成数字)
    12. tail 命令
    英文原意:output the last part of files
    功能描述:显示指定文件的结尾内容(默认显示后10行)
    所在路径:/usr/bin/tail
    命令格式:tail [OPTION]… [FILE]…
    常用选项:
    o-n:显示指定文件的后n行
    o-f:显示文件最后10行,并且对文件处于监听状态,实时更新和通知文件尾部的变化(tailf = tail -f)
    13. cp 命令
    英文原意:copy files and directories
    功能描述:将一个或多个源文件复制到指定位置,默认情况下保留源文件名称,也可以改名
    所在路径:/bin/cp
    命令格式:cp [OPTION]… SOURCE DEST
    常用选项:
    o-d:当复制符号链接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
    o-p:复制文件时,保留源文件的属性
    o-r:递归处理,复制时将指定目录下的所有文件和子目录,子文件全部复制到指定位置
    o-a:相当于-dpr的集合,拥有三个选项的所有功能
    14. mv 命令
    英文原意:move (rename) files
    功能描述:将指定文件移动(剪切)到指定目标位置,默认情况下保留源文件名称,也可以改名
    所在路径:/bin/mv
    命令格式:mv [OPTION]… SOURCE DEST
    常用选项:
    o-b:在进行文件移动时,若目标位置有同名文件存在,则将同名文件备份(备份文件名结尾有~标识)
    可以直接使用y回答,提示虽然是覆盖,但会自动创建备份文件

    拓展:rm、cp、mv命令的相同选项
    -i:该选项的作用是在对文件操作时是否询问用户
    -f:该选项的作用是在对文件操作时直接跳过询问用户的步骤
    15. ln 命令
    英文原意:make links between files
    功能描述:为指定文件创建软链接(符号链接)或者硬链接
    所在路径:/bin/ln
    命令格式:ln [OPTION]… SOURCE DEST
    常用选项:
    o-s:为指定的源文件创建一个符号链接文件(软链接),不加“-s”则创建硬链接
    注意:创建链接时,要使用绝对路径
    [root@localhost ~]# ln -s /etc/sysconfig/network-scripts/ifcfg-ens33 /root/

    符号链接和硬链接区别:
    ​ 符号链接(软链接)特征:
    源文件和软链接各自拥有不同的Inode号和Block块数
    两个文件不管修改哪一个均可同步
    删除源文件,软链接失效;删除软链接,源文件无影响
    软链接文件大小不受源文件变化而影响,仅仅记录源文件的位置信息(Inode)
    软链接文件权限为:rwxrwxrwx,但最终生效的权限以源文件为准
    软链接既可以链接文件,也可以链接目录,并且可以跨分区创建
    硬链接特征:
    源文件和硬链接文件拥有相同的Inode号和Block块数(实际为同一个文件)
    两个文件不管修改哪一个均可同步
    无论删除哪一个,都互不影响
    不能对目录创建硬链接,并且不能跨分区创建
    三、权限管理命令

    1. 权限的意义
      通过ls -l命令我们可以看到文件的详细信息,其中第一列是关于文件类型和权限的表示位,我们来详细分析下
      -rw-r–r--. 1 root root 28250 1月 1 2020 install.log
      首先-rw-r–r--这个结构可以细分为四部分:文件类型、文件所有者权限、文件所属组权限、文件其他人权限

    文件类型:
    “-”:普通文件,普通文件类型下的子类型仍然有很多,比如压缩文件,文本文件,脚本文件等等,可以使用file命令查看
    “d”:目录文件,Linux中一切接文件~
    “l”:软链接文件,此处代表该文件为软链接,软链接是独立文件有自己的文件类型
    “b”:块设备文件,存储类设备在Linux中的保存后的文件类型
    “c”:字符设备文件,一般指用来进行数据传输的设备,输入输出设备等
    “s”:套接字文件,一般用来实现两个进程之间通信的文件
    “p”:管道文件,一般用来处理多个进程对同一个文件存取先后顺序问题
    注意:设备类文件的详细信息中,文件大小位置显示的不是大小,而是主从设备号,主设备号代表着设备类型,从设备号代表着该类型设备的第几个。

    拓展:查看文件具体详细类型的命令
    命令:file
    [root@localhost test]# ls -l
    总用量 36
    -rw-r–r-- 1 root root 28250 3月 14 14:41 install.log
    -rw-r–r-- 1 root root 7544 3月 14 14:41 ins.tar.gz
    [root@localhost test]#
    [root@localhost test]# file install.log
    install.log: UTF-8 Unicode text
    [root@localhost test]#
    [root@localhost test]# file ins.tar.gz
    ins.tar.gz: gzip compressed data, from Unix, last modified: Thu Mar 14 14:40:53 2020

    权限类型:
    文本类文件:
    or:内容查看权限
    ow:内容编写权限
    ox:执行权限
    目录类文件:
    or:文件:查看目录下文件列表权限
    ow:文件:目录内文件创建删除权限
    ox:文件:进入目录权限
    注意:若指定位置有字母代表拥有该权限,若没有权限则使用 - 代替 例如:rw-r–r-- {表示所有者有读写权限,所属组和其他人有读权限}
    用数字表示权限位:
    or:4
    ow:2
    ox:1
    例如:rw-r–r-- 的权限用数字表示就是 644{分别是所有者、所属组、其他人的权限}

    拓展:用户添加&密码设置
    用户添加:useradd
    密码设置:passwd
    2. 权限修改命令:chmod
    英文原意:change file mode bits
    功能描述:修改文件指定位置的rwx权限
    所在路径:/bin/chmod
    命令格式:chmod [OPTION]… MODE[,MODE]… FILE…
    常用选项:
    ochmod [augo] [±=] [rwx] file
    ochmod 644 file
    o-R:将设置的权限递归到该目录下的子文件上(一般针对目录使用)
    实验测试:
    o使用root用户创建一个目录(权限:755),并在目录下创建一个新文件(权限:644修改为777),尝试使用普通用户身份对文件进行删除
    o再次使用root用户身份创建一个目录(权限:755修改为777),并在该目录下创建一个新文件(权限644),尝试使用普通用户对文件进行删除
    o总结:对文件的删除权限并不在文件上,而在该文件所属目录(即:对目录有w权限,就可以删除目录内的文件)
    3. 归属修改命令:chown
    英文原意:change file owner and group
    功能描述:修改文件的所有者或所属组
    所在路径:/bin/chown
    命令格式:chown [OPTION]… [OWNER]:[GROUP] FILE…
    常用选项:
    ochown user:group file
    ochown user.group file
    o-R:将设置的递归到该目录下的子文件上(一般针对目录使用)
    4. 属组修改命令:chgrp
    英文原意:change group ownership
    功能描述:仅修改文件所属组
    所在路径:/bin/chgrp
    命令格式:chgrp [OPTION]… GROUP FILE…
    常用选项:
    ochgrp group file
    o-R:将设置的递归到该目录下的子文件上(一般针对目录使用)
    5. 掩码值修改命令:umask
    英文原意:Display or set file mode mask
    功能描述:查看或设置文件的权限掩码值
    所在路径:shell内置命令
    常用选项:
    oumask:以八进制的数值显示文件的权限掩码值
    oumask 002:按照给定的八进制数值覆盖掉原有的掩码值
    文件默认权限的计算方式(对位相减)
    o目录类文件:777-掩码=默认权限
    o文件类文件:666-掩码=默认权限
    总结:Linux是一个权限管理十分严格的操作系统,默认情况下是不给文本类文件分配 x 执行权限的
    四、查询相关命令

    1. which
      英文原意:shows the full path of (shell) commands.
      功能描述:显示命令的绝对路径
      所在路径:/usr/bin/which
      命令格式:which [commands]
    2. whereis
      英文原意:locate the binary, source, and manual page files for a command
      功能描述:定位指定命令的二进制文件程序、源码文件和帮助手册页面等资源的位置
      所在路径:/usr/bin/whereis
      命令格式:whereis [-bms] filename
      常用选项:
      o-b:定位指定命令的绝对路径
      o-m:定位指定命令的帮助手册路径(即man帮助手册文档位置)
      o-s:定位指定命令的源码文件路径
    3. locate
      英文原意:find files by name
      功能描述:通过文件名进行文件位置查询 {locate命令进行文件查询并不是使用遍历的方式进行查找,而是事先创建好一个数据库,将所有文件的名称和对应路径保存在了其中,当查询文件时,只需要对数据库查询即可,速度上来说非常迅速}
      所在路径:/usr/bin/locate
      命令格式:locate 关键词
      常用选项:
      o-i:忽略查询对象的大小写
      数据库文件:/var/lib/mlocate/mlocate.db
      数据库更新:updatedb (database) #建议每次查询前先更新下数据库
      更新规则文件:/etc/updatedb.conf #配置文件中记录一些忽略不更新的文件类型和目录
    4. find
      英文原意:search for files in a directory hierarchy
      功能描述:在目录树种进行文件查询
      所在路径:/bin/find
      命令格式:find PATH [OPTION]
      根据名称查询:find /etc/ -name “.txt”
      o-name 模式下默认精确查询,可以使用通配符进行模糊查询:
      ? [];使用通配符查询时,查询对象必须用单双引号
      根据大小查询:find /etc/ -size 10K
      o-size 模式下默认使用精确大小查询,可以使用- +进行范围查询 { 常见单位:c:字节;w:子(2字节);b:块(512字节);k,M,G }
      根据归属查询:find /etc/ -user zhangsan
      o-user|-group模式下,可以查询属于某用户或某组的文件
      o-nouser|-nogroup 模式可以查询出没有所有者或所属组的文件(异常文件)
      根据权限查询:find /etc/ -perm 777
      o-perm 模式可以查询出指定权限的文件,一般用来查询权限过大的普通文件
      根据类型查询:find /etc/ -type f
      o-type模式下可以查询出指定类型的文件 [ f:普通文件;d:目录文件;l:链接文件等 ]
      根据inode查询:find /etc/ -inum 262149
      o-inum 模式可以查询出所有inode相同的文件(查询硬链接文件)
      根据时间查询:
      o访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
      o修改时间(-mtime/天,-mmin/分钟):文件最后一次内容修改时间。
      o变化时间(-ctime/天,-cmin/分钟):文件数据元(权限等)的最后一次修改时间。

    -5:五天内或五分钟内访问过的文件
    5:恰好在第五天或第五分钟访问过的文件
    +5:五天前或五分钟前被访问过的文件
    多条件同时查询:find /etc/ -name -a -type f
    o-a:and的意思,将两个或两个以上的查询条件结合在一起进行文件查询(必须同时符合所有条件)
    o-o:or的意思,多个条件结合后,其中一条条件符合就算符合查询要求
    查询结果批处理:将 find 查询到的结果交给指定命令继续操作,以下两个连接符都能实现
    o-exec|-ok:格式固定,稍复杂 executable
    find /etc -name “.txt" -exec rm {} ;
    {} :存储了find查询的结果集
    ;:固定格式,;作为结束符号
    o|xargs:格式较简单,但不支持带空格的文件
    find /etc/ -name "
    .txt” |xargs rm
    5. grep
    英文原意:global search regular expression(RE) and print out the line
    功能描述:在指定文件内根据一定条件查询符合条件的字符串
    所在路径:/bin/grep
    命令格式:grep [OPTION] FILE
    常用选项:
    o-i:在查询时忽略查询对象的大小写 ignore case
    o-n:查询时,显示符合条件对象的所在行号 line-number
    o-v:查询时,将条件反转,反向查询 invert-match
    o–color=auto:将符合条件的对象高亮显示
    6. “|” 和 “|xargs” 的作用
    管道符:|
    作用:将前一个命令的结果,作为后一个命令的输入(可以理解为把查询结果保存成了一个文本)
    举例:find /var/log/ -name “.log" | grep --color=auto da
    xargs命令:|xargs
    作用:将前一个命令的结果,作为后一个命令的参数(所有符合条件的文件逐个传递给后面的命令)
    举例:find /var/log/ -name "
    .log” |xargs grep --color=auto da
    7. find、locate、grep的对比
    find 和 locate 都是用来在系统内查询文件位置的命令
    find 是通过对所有目录进行遍历的方式进行查找的,结果精准,但消耗大量系统资源和时间
    locate 是通过实现创建数据库保存文件位置,再查询数据库的一种快速索引方式,节省资源速度快,但是精准度稍差
    grep 是用来在指定文件内查询符合条件的关键词的命令,操作对象是指定某文件
    find 默认情况下是精确匹配,可以使用通配符进行模糊匹配
    grep 默认情况下是包含匹配,要想精确匹配需要使用正则表达式(后面来讲)
    8. 通配符的意义
    通配符 作用
    ? 匹配一个任意字符

    • 匹配0个或任意多个任意字符
      [ ] 匹配括号内的任意一个字符,[aoe]
      [-] 匹配括号内字符串范围内的任意一个字符,[a-z] [0-9]
      [^] 逻辑非,即取反,表示匹配除了括号内的任意一个字符
      五、压缩相关命令
      压缩文件是操作系统中常见的文件格式,对文件进行压缩的主要目的是为了方便对文件进行统一管理,节省空间,方便传输携带等,其主要原理是对文件的二进制代码进行压缩,例如000000,可简写为60,意为6个0
      Linux中常见的压缩格式有以下几种:.zip .gz .bz2 .tar .tar.gz .tar.bz2 等
    1. zip
      解压缩:unzip filename.zip
      压缩:zip 压缩后名称 源文件
      o-r:压缩目录(递归处理目录下的子文件)
    2. gz
      解压缩:gunzip filename.gz 或者 gzip -d filename.gz
      压缩:gzip filename
    3. bz2
      解压缩:bunzip2 filename.bz2 或 bzip2 -d filename.bz2
      压缩:bzip2 -z filename
    4. tar
      解包:tar -xvf filename.tar
      打包:tar -cvf 打包后文件 源文件
    5. tar.gz
      解压缩:tar -xvf file.tar.gz
      压缩:tar -zcvf 压缩后文件 源文件
    6. tar.bz2
      解压缩:tar -xvf file.tar.bz2
      压缩:tar -jcvf 压缩后文件 源文件
    7. 其他
      除了上述格式外,还有一些不是特别常见,偶尔也会碰到的格式,我们只讲一下这些格式的解压缩方式
      “.tar.xz” 和 “.tgz”压缩包的解压方式:tar -xvf filename
      六、帮助相关命令
    8. man
      英文原意:format and display the on-line manual pages
      功能描述:通过帮助手册显示命令的使用方式
      命令格式:man command
      常用选项:
      o-f:显示该命令有哪几个级别的帮助(有些可以显示对应配置文件的帮助)
      多种帮助级别的含义:
      帮助等级 含义
      1 查看命令的帮助信息(多数位普通用户能执行的命令)
      2 查看可以被内核调用的函数的帮助信息
      3 查看C语言相关函数的帮助信息
      4 查看设备和特殊文件的帮助信息(主要存在于/dev/目录下)
      5 配置文件的帮助信息
      6 游戏的帮助信息(主要存在于个人版Linux)
      7 查看其他杂项的帮助信息
      8 查看超级管理员能执行的命令的帮助
      9 内核信息的帮助文档
      交互模式下的快捷键:
      快捷键 功能
      上箭头 查看上一行
      下箭头 查看下一行
      PgUp 向上翻页
      PgDn 向下翻页
      g 回到首页
      G 翻到尾页
      q 退出交互模式
      / 在交互模式下根据指定关键词进行搜索
      n 查询完成后,可以使用n快速定位到下一个符合条件的关键词
    9. help
      英文原意:help
      功能描述:显示Linux内置命令相关帮助信息
      命令格式:help command
      常用选项:
      o-m:模拟man的格式显示帮助信息(鸡肋~)

    拓展:–help选项
    格式:ls --help
    Linux中绝大多数的命令都可以是用–help作为选项显示帮助信息,只是显示的内容没有man和info全面而已。
    3. info
    英文原意:read info documents
    功能描述:查看指定命令的帮助信息等
    命令格式:info command
    常用选项:常用快捷键如下
    快捷键 功能
    上箭头 查看上一行
    下箭头 查看下一行
    PgUp 向上翻页
    PgDn 向下翻页
    Tab 快速切换到下一个以开头的节点
    回车 进入到当前以
    开头的节点内,查看详细信息
    u 退出节点,回到帮助首页
    n 当处于某一节点内时,可以直接切换到下一个节点
    p 当处于某一节点内时,可以直接切换到上一个节点
    ? 查看info所提供的的交互命令的帮助信息
    q 退出info模式

    注意:info是Linux系统中最高级的帮助信息,对于初学者不是很友好,不要求前期掌握。
    七、关机与重启命令
    1.sync
    英文原意:flush file system buffers
    功能描述:强制将缓冲区中的数据写入磁盘中
    命令格式:sync
    常用选项:无
    Linux操作系统为了提高数据的处理速度会将数据放入到磁盘的缓冲区中(buffer),但是如果数据在缓冲区中时发生突然断电重启之类的操作数据可能就会丢失,为了预防这类事件发生,我们可以在将数据“写入”磁盘后,执行一次sync将数据强制写入到真正的磁盘中。当然,如果没有人为干预,操作系统也会自行执行sync只是时间和周期上不确定也不及时。

    2.shutdown
    英文原意:shutdown – Halt,poweroff or reboot the machine
    功能描述:用来关机或者重启的命令
    命令格式

    相关文章