1序言
总结送免费学习资料(包含视频、技术学习路线图谱、文档等)
1.1课程介绍
1.2学习方向
1.3应用领域
此领域是传统linux应用最薄弱的环节,传统linux因为界面简单、操作复杂、应用软件少的缺点,仍然被windows其实压制,但近年来随着ubuntu、fedora、Debian、Manjaro等优秀桌面环境的盛行,同时各大硬件厂商对其支持的加强,linux在个人桌面领域的占有率在逐步地增强。
服务器领域
linux在服务器领域的应用是最强的。
linux免费、稳定、高效等特征在这儿得到了挺好的彰显,近年来linux服务器市场得到了急速的提高,尤其在一些高档领域尤为广泛。
嵌入式领域近年来linux在嵌入式领域的应用得到了急速的提升
linux运行稳定、对网路的良好支持性、低成本,且可以按照须要进行软件剪裁,内核最小可以达到几百KB等特征,使其近年来在嵌入式领域的应用得到特别大的提升
主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、智能家装、智能硬件等都是其应用领域。之后在物联网中的应用会愈加广泛
1.4学习阶段
linux环境下的基本操作命令,包括文件操作命令(rmmkdirchmod,chown)编辑工具使用(vivim)linux用户管理(useradduserdelusermod)等
linux的各类配置(环境变量配置,网路配置,服务配置)
linux下怎样搭建对应语言的运行环境(大数据,JavaEE,Python等)
能编撰shell脚本,对Linux服务器进行维护。
能进行安全设置,避免功击,保障服务器正常运行linux操作系统的版本,能对系统调优。
深入理解Linux系统(对内核有研究),熟练把握小型网站应用构架组成、并熟悉各个环节的布署和维护方式。
1.5学习建议
高效而愉快地学习
先构建一个整体框架,之后细节
不须要把握所有的Linux指令,要学会查询指南和百度
先knowhow,在knowwhy
计算机是一门”做学校”的学科,不是会了再做,而是做了就会.
适当地囫囵吞枣
Linux不是编程,重点是实际操作,各类常用指令要玩得溜
2linux入门
2.1linux简介
Linux内核最初只是由英国人林纳斯·托瓦兹(LinusTorvalds)在慕尼黑学院念书时出于个人爱好而编撰的。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX多用户、多任务、支持多线程和多CPU的操作系统。
Linux能运行主要的UNIX工具软件、应用程序和网路合同。它支持32位和64位硬件。Linux承继了Unix以网路为核心的设计思想,是一个性能稳定的多用户网路操作系统。
Linux是一款操作系统,免费,开源,安全,高效,稳定,处理高并发十分强大,如今好多的企业级的项目都布署到Linux/unix服务器运行。
其内核于1991年10月5日首次发布
2linux发行版
目前市面上较著名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、ArchLinux、SolusOS等。
这种发行版的关系如右图
和unix的关系
unix如何来的
4linux如何来的
20世纪80年代,计算机硬件的性能不断提升,PC的市场不断扩大,当时可供计算机选用的操作系统主要有Unix、DOS和iOS这几种。
Unix价位高昂,不能运行于PC;
DOS变得狭小,且源代码被软件厂商严格保密;
MacOS是一种专门用于苹果计算机的操作系统。
此时,计算机科学领域急切须要一个愈发建立、强大、廉价和完全开放的操作系统。因为供教学使用的典型操作系统极少,因而当时在英国当院长的日本人AndrewS.Tanenbaum编撰了一个操作系统,名为MINIX,为了向中学生述说操作系统内部工作原理。
MINIX其实挺好,但只是一个用于教学目的的简单操作系统,而不是一个强有力的实用操作系统,但是最大的用处就是公开源代码。
全世界学计算机的中学生都通过钻研MINIX源代码来了解笔记本里运行的MINIX操作系统,俄罗斯圣彼得堡学院学院二年级的中学生LinusTorvalds就是其中一个,在吸收了MINIX精华的基础上,Linus于1991年写出了属于自己的Linux操作系统,版本为Linux0.01,是Linux时代开始的标志。他借助Unix的核心,去掉烦乱的核心程序,改写成适用于通常计算机的x86系统,并置于网路上供你们下载,1994年推出完整的核心Version1.0,至此,Linux渐渐成为功能健全、稳定的操作系统,并被广泛使用。
5与windows比较
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LGCtodW4-1653304158045)(file:///D:/%E5%A4%A7%E5%AD%A6/%E4%B8%9C%E8%BD%AF%E5%9F%B9%E8%AE%AD/linux%E6%95%99%E7%A8%8B_files/30a61r1n1csnkjn9d9sfgb39vj.png)]
安装虚拟机和CentOS
3.1vmware和centos介绍
VMWare虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMware采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时须要重新启动机器
下载:
CentOS是免费的、开源的、可以重新分发的开源操作系统,CentOS(CommunityEnterpriseOperatingSystem,英文意思是社区企业操作系统)是Linux发行版之一。
CentOSLinux发行版是一个稳定的,可预测的,可管理的和可复现的平台,始于RedHatEnterpriseLinux(RHEL)根据开放源代码(大部份是GPL开源合同)规定释出的源码所编译而成。
自2004年3月以来,CentOSLinux仍然是社区驱动的开源项目,致力与RHEL在功能上兼容。
下载:
安装vmware安装centos联网和使用终端设置共享目录linux目录结构树形目录
linux的文件系统是采用基层式的树形目录结构,在此结构中的最下层是根目录"/",之后在此目录下再创建其他的目录。
深刻理解linux树形文件目录是十分重要的,这儿我给你们说明一下。
记住一句精典的话:在Linux世界里,一切皆是文件。
详尽介绍
/bin:
bin是Binaries(二补码文件)的简写,这个目录储存着最常常使用的命令。
/boot:
这儿储存的是启动Linux时使用的一些核心文件,包括一些联接文件以及镜像文件。
/dev:
etc是Etcetera(等等)的简写,这个目录用来储存所有的系统管理所须要的配置文件和子目录。/home:
用户的主目录,在Linux中,每位用户都有一个自己的目录,通常该目录是以用户的帐号命名的,如上图中的alice、bob和eve。
/lib:
lib是Library(库)地简写这个目录里储存着系统最基本的动态联接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都须要用到这种共享库。
/lost+found:
这个目录通常情况下是空的,当系统非法死机后suse linux 下载,这儿就储存了一些文件。
/media:
linux系统会手动辨识一些设备,比如U盘、光驱等等,当辨识后linux操作系统的版本,Linux会把辨识的设备挂载到这个目录下。
/mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将硬盘挂载在/mnt/上,之后步入该目录就可以查看硬盘里的内容了。
/opt:
opt是optional(可选)的简写,这是给主机额外安装软件所摆放的目录。例如你安装一个ORACLE数据库则就可以放在这个目录下。默认是空的。
/proc:
proc是Processes(进程)的简写,/proc是一种伪文件系统(也即虚拟文件系统),储存的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统显存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬碟上而是在显存里,我们也可以直接更改上面的个别文件sogou pinyin linux,例如可以通过下边的命令来屏蔽主机的ping命令,使他人难以ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:
该目录为系统管理员,也叫做超级权限者的用房主目录。
/sbin:
s就是SuperUser的意思,是SuperuserBinaries(超级用户的二补码文件)的简写,这儿储存的是系统管理员使用的系统管理程序。
/selinux:
这个目录是Redhat/CentOS所特有的目录,selinux是一个安全机制,类似于windows的防火墙,而且这套机制比较复杂,这个目录就是储存selinux相关的文件的。
/srv:
该目录储存着一些服务启动以后须要提取的数据。
/sys:
这是Linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs。
sysfs文件系统集成了下边3种文件系统的信息:针对进程信息的信息proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时侯,对应的文件和目录也在内核对象的子系统中被创建。
/tmp:
tmp是temporary(临时)简写这个目录是拿来储存一些临时文件的。
/usr:
usr是unixsharedresources(共享资源)的简写,这是一个十分重要的目录,用户的好多应用程序和文件都放到这个目录下,类似于windows下的programfiles目录。
/usr/bin:
系统用户使用的应用程序。
/usr/sbin:
超级用户使用得是比较中级的管理程序和系统守护程序。
/usr/src:
内核源代码默认的放置目录。
/var
var是variable(变量)的简写,这个目录中储存着在不断扩展着的东西,我们习惯将这些常常被更改的目录放到这个目录下。包括各类日志文件。
/run:
是一个临时文件系统,储存系统启动以来的信息。当系统重启时,这个目录下的文件应当被删除或去除。假如你的系统上有/var/run目录,应当让它指向run。
在Linux系统中,有几个目录是比较重要的,平常须要注意不要误删掉或则随便修改内部文件。
/etc:
上面也谈到了,这个是系统中的配置文件,假如你修改了该目录下的某个文件可能会造成系统不能启动。
/bin,/sbin,/usr/bin,/usr/sbin:这是系统预设的执行文件的放置目录,例如ls就是在/bin/ls目录下的。
值得提出的是/bin、/usr/bin是给系统用户使用的指令(除root外省通用用户),而/sbin,/usr/sbin则是给root使用的指令。
/var:
这是一个十分重要的目录,系统上跑了好多程序,这么每位程序还会有相应的日志形成,而这种日志就被记录到这个目录下,具体在/var/log目录下,另外mail的预设放置也是在这儿。
远程登陆linux
5.1为何要远程登陆
说明:公司开发时侯,具体的情况是这样的
linux服务器是开发小组共享的.
即将上线的项目是运行在互联网的.
因而程序员须要远程登陆到centos进行项目管理或则开发.
画出简单的网路拓扑示意图(帮助理解)
远程登陆顾客端有Xshell,Xftp,我们学习使用Xshell和Xftp,其它的远程工具太原小异
5.2安装和使用xshell
Xshell是目前为止最好的远程登陆到Linux操作的软件,流畅的速率而且完美解决了英文乱码的问题,是目前程序员首选的软件。
Xshell[1]是一个强悍的安全终端模拟软件,它支持SSH1,SSH2,以及MicrosoftWindows平台的TELNET合同。
Xshell可以在Windows界面下拿来访问远端不同系统下的服务器,因而比较好地达到远程控制终端的目的。
非常说明:假如希望安装好XShell就可以远程访问Linux系统的话,须要有一个前提,就是Linux启用了SSHD服务,该服务会窃听22号端
5.3安装和使用xftp
Xftp是一个功能强悍的SFTP、FTP文件传输软件。使用了Xftp之后,MSWindows用户能安全地在UNIX/Linux和WindowsPC之间传输文件。Xftp能同时适应中级用户和中级用户的须要。它采用了标准的Windows风格的向导,它简单的界面能与其他Windows应用程序紧密地协同工作,再者它还为中级用户提供了诸多强劲的功能特点。
5.4开通sshd服务
窃听22端口
5.5乱码问题
6死机、重启、登录与注销
6.1死机与重启
登陆与注销
7常用指令7.1文件目录类
cd
基本语法
cd [参数]
•功能描述:
切换到指定目录
change directory
•常用参数
绝对路径/xx/xx 和相对路径 ./ ../
cd ~ 或者 cd :回到自己的家目录
cd .. 回到当前目录的上一级目录
•如何理解绝对路径和相对路径
•应用实例
假设你现在/usr/lib目录
案例 1:使用绝对路径切换到 root 目录
案例 2: 使用相对路径到/root 目录
案例 3:表示回到当前目录的上一级目录
案例 4:回到家目录
时间日期类
搜索查找类
案例:1使用find按文件名来查找句型:find/-name文件名,这儿可用键值*
2假如想按文件的更改时间来查找可以使用-mtime参数,前面接时间参数-代表时间内+代表时间曾经
3假如想按文件大小来进行查找可以直接使用-size参数前面加上文件大小即可(+n小于-n大于n等于)
4假如想针对文件类型进行查找可以直接使用-type参数,文件的类型有文件f目录d设备b,c链接l等
5在查找的时侯还可以把两个查找类型进行结合上去使用,使用-a代表而且-o代表或则
6查找当前目录下所有.txt文件并复印出详尽的文件信息
locate
locaate指令可以快速定位文件路径。locate指令借助事先构建的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。locate指令无需遍历整个文件系统,查询速率较快。为了保证查询结果的确切度,管理员必须定期更新locate时刻。
grep和管线符号|
压缩和解压类
细节说明:
当我们使用gzip对文件进行压缩后,不会保留原先的文件
帮助信息类
用户管理
介绍
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个帐号,之后以这个帐号的身分步入系统。
在实际的项目中,因为要涉及到多个部门共同参与(如后端、后端、数据组。。。),这时就须要为每个开发人员创建一个用户,为了便捷给不同的人分配不同的权限,可以将用户分为不同的组,然后对各个组分配权限就很便捷了。
对于创建的每一个用户,就会在/home文件夹下默认创建一个以用户名命名的文件夹,用于该用户文件的储存。
用户操作
以下均是
添加用户
更改密码
passwd 用户名
注:假如没有带用户名,则是给当前登入的用户更改密码
删掉用户
查询用户信息
切换用户
注意:
从权限高的用户切换到权限低的用户,不须要输入密码,反之须要。
当须要返回到原先用户时,使用exit指令
查看当前登入用户
用户组操作
1创建令孤冲、张无忌、任盈盈帐号
useradd lhc
useradd zwj
useradd ryy
2分别给设置密码
passwd lhc
passwd zwj
passwd ryy
3创建华山派、武当、魔教三个组
groupadd hs_g
groupadd wd_g
groupadd mj_g
4令孤冲归到华山派,张无忌-》武当,任盈盈-》魔教
usermod -g hs_g lhc
usermod -g wd_g zwj
usermod -g mj_g ryy
5令孤冲搬家,迁往衡山
mkdir /home/hengshan
usermod -d /home/hengshan lhc
6令孤冲叛国,投入魔教
usermod -g mj_g lhc
7把张无忌所在的峨嵋组删掉
userdel zwj
groupdel wd_g
8最后看一下
/etc/passwd 和 、/etc/shadow的变化
tail -n 15 /etc/passwd
新增组
groupadd 组名
删掉组
groupdel 组名
更改用户的组、初始目录
usermod – g 新的组名 用户名
usermod – d 目录名 用户名
用户和组的相关文件
/etc/passwd文件
用户(user)的配置文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell
特殊帐号:
/etc/shadow
口令配置文件
密码生成的算法:
/etc/group文件
组(group)的配置文件,记录Linux包含的组的信息
每行含意:组名:口令:组标示号:组内用户列表权限管理
9.1介绍
Linux中所有内容都是以文件的方式保存和管理,即:一切皆文件。
Linux下有两种用户:超级用户(root)、普通用户。
linux文件对不同用户可以分别设置权限,管理员(root)有所有权限。
文件访问者的分类
查看文件类型和所有者
通常为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者,其实后期可以改