Linux速成
文章目录
- Linux速成
-
- 1 前言
-
- 1.1 课程介绍
- 1.2 学习方向
- 1.3 应用领域
- 个人桌面领域
- 服务器领域
- 嵌入式领域
- 1.4 学习阶段
- 1.5 学习建议
- 2 linux入门
-
- 2.1 linux简介
- 2.2 linux发行版
- 2.3 和unix的关系
- 2.4 linux怎么来的
- 2.5 与windows比较
- 3 安装虚拟机和CentOS
-
- 3.1 vmware 和 centos介绍
- 3.2 安装vmware
- 3.3 安装centos
- 3.4 联 和使用终端
- 3.5 设置共享目录
- 4 linux目录结构
-
- 4.1 树状目录
- 4.2 详细介绍
- 5 远程登录linux
-
- 5.1 为什么要远程登录
- 5.2 安装和使用xshell
- 5.3 安装和使用xftp
- 5.4 开通sshd服务
- 5.5 乱码问题
- 6 关机、重启、登录与注销
-
- 6.1 关机与重启
- 6.2 登录与注销
- 7 常用指令
-
- 7.1 文件目录类
- 7.2 时间日期类
- 7.3 搜索查找类
- 7.4 locate
- 7.6 grep和管道符 |
- 7.7 压缩和解压类
- 7.8 帮助信息类
- 8 用户管理
-
- 8.1 介绍
- 8.2 用户操作
- 8.3 添加用户
- 8.4 修改密码
- 8.5 删除用户
- 8.6 查询用户信息
- 8.7 切换用户
- 8.8 查看当前登录用户
- 8.9 用户组操作
- 8.10 新增组
- 8.11 删除组
- 8.12 修改用户的组、初始目录
- 8.13 用户和组的相关文件
- 8.14 /etc/shadow
- 8.15 /etc/group文件
- 9 权限管理
-
- 9.1 介绍
- 9.2 查看文件类型和所有者
- 9.3 权限说明
- 9.4 修改文件权限-chmod
-
- 9.4.1 第一种方式:+ 、-、= 变更权限
- 9.4.2 第二种方式:通过数字变更权限
- 9.5 修改文件所有者-chown
- 9.6 修改文件所在组-chgrp
- 实战练习:
- 10 vi和vim
-
- 10.1 vi和vim介绍
- 10.2 三种模式
- 10.3 各种操作说明
-
- 10.3.1 光标移动
- 10.3.2 复制、粘贴、删除
- 10.3.4 文本内容替换
- 10.4 练习游戏:
- 10.5 实战练习1:
- 10.6 实战练习2:
- 11 磁盘分区挂载
-
- 11.1 硬盘类型
- 11.2 分区基本知识
-
- 11.2.1 mbr 分区:
- 11.2.1 gtp 分区:
- 11.3 windows和linux查看分区格式
- 11.4 linux分区
-
- 11.4.1 原理介绍
- 11.4.2 查看分区情况
- 11.5 增加硬盘并挂载
-
- 11.5.1 示意图
- 11.6 具体步骤
-
- 11.6.1 虚拟机添加硬盘
- 11.6.2 分区
- 11.6.3 格式化
- 11.6.4 挂载
- 11.6.5 设置永久挂载
- 11.7 查看磁盘使用情况
- 11.8 查看目录占用磁盘空间情况
- 11.9 统计某个目录下文件个数
- 11.10 统计某个目录下子目录个数
- 12 络配置
- 13 进程与服务管理
-
- 13.1 进程管理
- 13.2 基本介绍
- 13.3 查看系统进程
- 13.4 进程信息说明
-
- 13.4.1 ps -aux
- 13.4.2 ps -ef
- 13.5 终止进程
- 13.6 查看进程树
- 13.7 服务管理
- 13.8 基本介绍
- 13.9 service指令
- 13.10 查看有哪些服务
-
- 13.10.1 chkconfig
- 13.11 动态监控进程
- 14 shell编程
-
- 14.1 shell概述
- 14.2 什么是shell
- 14.3 什么是shell脚本
- 14.4 谁要学习shell
- 14.5 有哪些shell
- 14.6 第1个shell脚本
- 14.7 变量
- 14.8 环境变量
- 14.9 位置参数变量
- 14.10 预定义变量
- 14.11 运算符
- 14.12 条件判断
- 14.13 流程控制
-
- 14.13.1 if判断
- 14.13.2 case分支
- 14.13.3 for 循环
- 14.13.4 while 循环
- 14.14 读取控制台输入
- 14.15 函数
-
- 14.15.1 系统函数
- 14.15.2 自定义函数
- 14.16 实战练习
- 14.17 综合案例
-
- 14.17.1 归档文件
- 15 任务调度
- 16 rpm和yum
- 17 搭建javaee运行环境
-
-
- 14.13.4 while 循环
- 14.14 读取控制台输入
- 14.15 函数
-
- 14.15.1 系统函数
- 14.15.2 自定义函数
- 14.16 实战练习
- 14.17 综合案例
-
- 14.17.1 归档文件
-
- 15 任务调度
- 16 rpm和yum
- 17 搭建javaee运行环境
1 前言
1.1 课程介绍
1.3 应用领域
个人桌面领域
? 此领域是传统 linux 应用最薄弱的环节,传统 linux 由于界面简单、操作复杂、应用软件少的缺点,一直被 windows 所压制,但近些年来随着 ubuntu、fedora、Debian、Manjaro等优秀桌面环境的兴起,同时各大硬件厂商对其支持的加大,linux 在个人桌面领域的占有率在逐渐的提高。
服务器领域
? linux 在服务器领域的应用是最强的。
? linux 免费、稳定、高效等特点在这里得到了很好的体现,近些年来 linux 服务器市场得到了飞速的提升,尤其在一些高端领域尤为广泛。
嵌入式领域
? 近些年来 linux 在嵌入式领域的应用得到了飞速的提高
? linux 运行稳定、对 络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百 KB 等特点,使其近些年来在嵌入式领域的应用得到非常大的提高
? 主要应用:机顶盒、数字电视、 络电话、程控交换机、手机、PDA、智能家居、智能硬件等都是其应用领域。以后再物联 中应用会更加广泛
1.4 学习阶段
- linux 的各种配置(环境变量配置, 络配置,服务配置)
- linux 下如何搭建对应语言的运行环境(大数据,JavaEE, Python 等)
- 能编写 shell 脚本,对 Linux 服务器进行维护。
- 能进行安全设置,防止攻击,保障服务器正常运行,能对系统调优。
- 深入理解 Linux 系统(对内核有研究),熟练掌握大型 站应用架构组成、并熟悉各个环节的部署和维护方法。
1.5 学习建议
- 高效而愉快的学习
- 先建立一个整体框架,然后细节
- 不需要掌握所有的 Linux 指令,要学会查询手册和百度
- 先 know how ,再 know why
- 计算机是一门”做中学”的学科,不是会了再做,而是做了才会.
- 适当的囫囵吞枣
- Linux 不是编程,重点是实际操作,各种常用指令要玩的溜
2 linux入门
2.1 linux简介
- Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。
- Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。
- Linux 能运行主要的 UNIX 工具软件、应用程序和 络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以 络为核心的设计思想,是一个性能稳定的多用户 络操作系统。
- Linux 是一款操作系统,免费,开源, 安全,高效,稳定, 处理高并发非常强悍,现在很多的企业级的项目都部署到 Linux/unix 服务器运行。
其内核于1991年10月5日首次发布
这些发行版的关系如下图
2.4 linux怎么来的
? 20世纪80年代,计算机硬件的性能不断提高,PC的市场不断扩大,当时可供计算机选用的操作系统主要有Unix、DOS和iOS这几种。
- Unix价格昂贵,不能运行于PC;
- DOS显得简陋,且源代码被软件厂商严格保密;
- MacOS是一种专门用于苹果计算机的操作系统。
? 此时,计算机科学领域迫切需要一个更加完善、强大、廉价和完全开放的操作系统。由于供教学使用的典型操作系统很少,因此当时在荷兰当教授的美国人AndrewS.Tanenbaum编写了一个操作系统,名为MINIX,为了向学生讲述操作系统内部工作原理。
? MINIX虽然很好,但只是一个用于教学目的的简单操作系统,而不是一个强有力的实用操作系统,然而最大的好处就是公开源代码。
? 全世界学计算机的学生都通过钻研MINIX源代码来了解电脑里运行的MINIX操作系统,芬兰赫尔辛基大学大学二年级的学生Linus Torvalds就是其中一个,在吸收了MINIX精华的基础上,Linus于1991年写出了属于自己的Linux操作系统,版本为Linux0.01,是Linux时代开始的标志。他利用Unix的核心,去除繁杂的核心程序,改写成适用于一般计算机的x86系统,并放在 络上供大家下载,1994年推出完整的核心Version1.0,至此,Linux逐渐成为功能完善、稳定的操作系统,并被广泛使用。
4.2 详细介绍
bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
? dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
? 用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账 命名的,如上图中的 alice、bob 和 eve。
? lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
? 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
? opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
? proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
该目录为系统管理员,也称作超级权限者的用户主目录。
? s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
? 这个目录是 Redhat/CentOS 所特有的目录,selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
该目录存放一些服务启动之后需要提取的数据。
? 这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。
sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。
? 该文件系统是内核设备树的一个直观反映。
? 当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
? usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
系统用户使用的应用程序。
超级用户使用的比较高级的管理程序和系统守护程序。
内核源代码默认的放置目录。
var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
? 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。
? 值得提出的是 /bin、/usr/bin 是给系统用户使用的指令(除 root 外的通用用户),而/sbin, /usr/sbin 则是给 root 使用的指令。
? 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。
5 远程登录linux
5.1 为什么要远程登录
说明: 公司开发时候, 具体的情况是这样的
-
linux 服务器是开发小组共享的.
-
正式上线的项目是运行在公 的.
-
因此程序员需要远程登录到 centos 进行项目管理或者开发.
-
画出简单的 络拓扑示意图(帮助理解)
-
远程登录客户端有 Xshell, Xftp , 我们学习使用 Xshell 和 Xftp , 其它的远程工具大同小异
5.2 安装和使用xshell
? Xshell 是目前最好的远程登录到 Linux 操作的软件,流畅的速度并且完美解决了中文乱码的问题, 是目前程序员首选的软件。
? Xshell [1] 是一个强大的安全终端模拟软件,它支持 SSH1, SSH2, 以及 Microsoft Windows 平台的 TELNET 协议。
? Xshell 可以在 Windows 界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。
特别说明:如果希望安装好 XShell 就可以远程访问 Linux 系统的话,需要有一个前提,就是Linux 启用了 SSHD 服务,该服务会监听 22 端
5.3 安装和使用xftp
? Xftp是一个功能强大的SFTP、FTP 文件传输软件。使用了 Xftp 以后,MS Windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件。Xftp 能同时适应初级用户和高级用户的需要。它采用了标准的 Windows 风格的向导,它简单的界面能与其他 Windows 应用程序紧密地协同工作,此外它还为高级用户提供了众多强劲的功能特性。
5.4 开通sshd服务
监听22端口
5.5 乱码问题
6 关机、重启、登录与注销
6.1 关机与重启
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!