奈学教育linux操作系统瑞客_第1页
奈学教育linux操作系统瑞客_第2页
奈学教育linux操作系统瑞客_第3页
奈学教育linux操作系统瑞客_第4页
奈学教育linux操作系统瑞客_第5页
已阅读5页,还剩135页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ArchitectureLinux操作系统主讲人:马中华2020.02.15前言与目前流行的Windows相比,Linux是一个免费开放源代码的操作系统,其支持多用户多任务等优秀特点,吸引了一大批从事Linux研究和应用的爱好者。本次系列课程1、主要向Linux初学者介绍什么是Linux,Linux的特点和优势,Linux的应用领域,Linux的版本和发行厂商介绍以及Linux系统的安装,以便初学者可以学习使用Linux2、学习现在企业中最流行的Linux系统的基本使用技巧,学习使用Linux搭建大数据集群。3、学习掌握最基本的Linux运维技巧,以及Shell编程技巧什么是LinuxLinux系统是一套免费使用和自由传播的类UNIX操作系统(主要用在服务器上),是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了UNIX以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux操作系统诞生于1991年10月5日(这是第一次正式向外公布时间),与UNIX兼容,并在GPL开源条款下发布。现在,Linux产生了许多不同的Linux发行版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机1992年,Linux与其他GUN软件结合,完全自由的GUN/Linux操作系统正式诞生,简称LinuxLinux发展历程UNIX:操作系统,是美国AT&T公司贝尔实验室于1969年完成的操作系统,最早由肯·汤普逊(KenThompson),丹尼斯·里奇(DennisRitchie)开发。在1971年首次对外发布,刚好在1971,丹尼斯·里奇(DennisRitchie)发明了C语言,后来在1973,Unix被他用C语言重新编写。Unix前身源自于MultiCS,叫UniCS,后来改名叫Unix。1983年9月27日,RichardStallman(理查德-马修-斯托曼)发起GNU计划,它的目标是创建一套完全自由的操作系统。为保证GNU软件可以自由的使用、复制、修改和发布,所有的GNU软件都有一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(GNUGeneralPlubicLicense,GPL),说白了就是不能做商业用途。GNU是"GNUisNotUnix"的递归缩写。UNIX是一种广泛使用的商业操作系统的名称。1985年,RichardStallman又创立了自由软件基金会(FreeSoftwareFoundation,FSF)来为GNU计划提供技术、法律以及财政支持。Linux发展历程1990年,GNU计划开发主要项目有Emacs(文本编辑器)、GCC(GNUCompilerCollection,GNU编译器集合)、Bash等,GCC是一套GNU开发的编程语言编译器。还有开发一些UNIX系统的程序库和工具。1991年,LinusTorvalds(林纳斯-托瓦兹)开发出了与UNIX兼容的Linux操作系统内核并在GPL条款下发布。1992年,Linux与其他GNU软件结合,完全自由的GNU/Linux操作系统正式诞生,简称Linux。1995年1月,BobYoung创办ACC公司,以GNU/Linux为核心,开发出了RedHatLinux商业版。Linux系统的核心思想1、Linux是一个功能强大的网络操作系统2、Linux是一个自由软件,是免费的、源代码开放的3、一切都是文件4、每个软件都有他确定的用途5、编制它的目的是建立不受任何商品化软件版权制约的、全世界都能自由使用的UNIX兼容产品。Linux操作系统的特点1、开放性的系统2、多用户多任务的系统3、具有可靠的系统安全性,出色的稳定性和卓越的速度性能4、提供了丰富的网络功能5、标准兼容性和可移植性,灵活性6、多数网络协议支持、方便的远程管理7、强大的内存管理和文件系统管理8、大量的可用软件和免费软件,并且提供了良好的用户界面9、可供选择的发行厂商多10、免费Linux的应用领域1、Linux服务器Linux最主要的应用领域是基础服务器应用,可以提供Web服务器、FTP服务器、Gopher、SMTP/POP3、Proxy/Cache、DHCP服务器、DNS等服务器,支持服务器集群,支持虚拟主机、虚拟服务、VPN等,最著名的LAMP/LNMP架构!2、嵌入式Linux系统Linux运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百KB等特点,使其近些年来在嵌入式领域的应用得到非常大的提高3、桌面应用关于此领域是传统Linux领域最薄弱的环节,被windows所压制,近些年来随着ubuntu、fedora等优秀桌面环境的兴起,同时各大硬件厂商对其支持的加大,linux在个人桌面领域的占有率在逐渐的提高。典型代表:ubuntu、fedora、suselinuxLinux系统架构组成1、Linux内核层2、LinuxShell层3、应用层:Linux文件系统 ext2,ext3,fat,vfat,iso9660,NFS.总结:内核,Shell和文件系统一起形成了基本的操作系统结构Linux内核作者介绍林纳斯·本纳第克特·托瓦兹(LinusBenedictTorvalds,1969-12-28,芬兰人),著名电脑程序员、黑客。Linux内核发明人以及GNU计划的合作者。托瓦兹利用个人时间及器材创造出了这套当今全球最流行的操作系统(作业系统)内核之一。他毕业于赫尔辛基大学计算机科学系,1997年至2003年在美国加州硅谷任职于全美达公司(TransmetaCorporation)参与该公司芯片的codemorph技术研发。后受聘于开放源码发展实验室(OSDL:OpenSourceDevelopmentLabs,Inc),全力开发Linux内核。现任职于Linux基金会。Linux内核极其版本严格来讲,Linux不是一个操作系统,Linux只是一个操作系统中的内核。内核建立了计算机软件与硬件之间通讯的平台。内核提供系统服务,比如文件管理、虚拟内存、设备I/O、进程管理等。1、Kernel实现操作系统的基本功能

–硬件方面:控制硬件设备,内存管理,硬件接口,基本I/O –软件方面:管理文件系统,为程序分配内存和CPU时间等2、版本号有三个数字组成:r.x.y –r:目前发布的Kernel版本

–x:偶数:稳定版本,奇数:开发中版本(现已不适用)

–y:错误修补的次数3、范例:现在最新的linux内核版本是:5.5.6

要注意区分linux发型版本和linux内核版本。两者不是同一个事物Linux发行套件级版本1、Linux发行套件(Distribution)

以LinuxKernel为核心,搭配各种应用程序和工具的软件集合。包括桌面环境,办公条件,媒体播放等2、目前有200余种LinuxDistribution3、相对于内核版本,发行套件的版本号随发布者的不同而不同,与系统内核的版本号是相对独立的Linux发行版红帽企业系统(RedHatEnterpriseLinux,RHEL)全球最大的开源技术厂商,全世界内使用最广泛的Linux发布套件,提供性能与稳定性极强的Linux套件系统并拥有完善的全球技术支持。官网:社区企业操作系统(CentOS)最初是将红帽企业系统“重新编译/发布”给用户免费使用而广泛使用,当前已正式加入红帽公司并继续保持免费(随RHEL更新而更新)。官网:红帽用户桌面版(Fedora[Linux])最初由红帽公司发起的桌面版系统套件(目前已经不限于桌面版),用户可免费体验到最新的技术或工具,而功能成熟后加入到RHEL中。官网:国际化组织的开源操作系统(Debian)提供超过37500种不同的自由软件且拥有很高的认可度,对于各类内核架构支持性良好,稳定性、安全性强更有免费的技术支持。官网:基于Debian的桌面版(Ubuntu)Ubuntu是一款基于Debian派生的产品,对新款硬件具有极强的兼容能力。普遍认为Ubuntu与Fedora都是极其出色的LINUX桌面系统。官网:Linux系统下载Linux系统有上百个不同的组织、公司、机构研发并发布出不同的版本,其中红帽公司作为一家成熟的操作系统厂商提供可靠的Linux系统和完善的求援服务:红帽企业linux系统(RedHatEnterpriseLinux,RHEL),它的市场占有量很高,认可度也非常高。主流:主流企业级Linux系统仍旧是RedHat或者CentOS免费:CentOS和RedHat差别不大,基于RedHatLinux提供的可自由使用源代码的CentOS是一个企业级Linux发行版本。CentOS的yum命令支持在线升级,可以即时更新系统,不像RedHat那样需要花钱购买支持服务!CentOS阿里云下载地址:CentOS北京理工大学下载:vmware介绍和安装1、Vmware软件介绍Vmware公司出品的一套虚拟化软件,可以在物理机上用软件的方式模拟出虚拟的计算机系统,而虚拟出的计算机系统可以像一台真实的机器一样,安装操作系统,运行软件等。类似的产品还有Oracle出品的免费版虚拟机软件VirtualBox2、Vmware官网:3、Vmware优点

A、不需要分区或重新开机就能在同一台PC机上使用两种以上的操作系统。

B、本机系统可以与虚拟机系统网络通信

C、可以随时修改虚拟机操作系统环境具体安装见文档:资料-vmware12软件安装.pdf通过VMWare安装Centos7操作系统具体见文档:资料-vmware12虚拟机安装CentOS-7系统.pdfLinux系统磁盘分区管理对于分区表通常有MBR分区表和GPT分区表。对于磁盘大小小于2T的磁盘,我们可以使用fdisk和parted命令工具进行分区对于MBR分区表的特点(通常使用fdisk命令进行分区)所支持的最大磁盘大小:2T最多支持4个主分区或者是3个主分区加上一个扩展分区对于GPT分区表的特点(使用parted命令进行分区)支持最大卷:18EB(1EB=1024TB)最多支持128个主分区,所以对于GPT的分区表来说,基本就没有什么主分区和逻辑分区的区别了。Linux系统磁盘分区管理1、可以分为主分区、扩展分区、逻辑分区2、硬盘采用hdX格式表示,X代表a.b.c.d3、系统最多只有4个IDE设备,其中第一个IDE设备名称为hda,第4个为hdd主分区:一个硬盘最多只能有4个主分区,主分区采用hdXN的格式,hdX为硬盘,N是1-4的数字,分别表示4个主分区,第一个硬盘的第一个主分区,表示为hda1,以此类推扩展分区:扩展分区作为特殊的主分区需要占用硬盘分区表中4个分区记录中的1个记录逻辑分区:逻辑分区只能建立在扩展分区中,可以建立文件系统。逻辑分区同样采用了hdXN的格式,区别在于,逻辑分区的N是从5开始算的,第一个硬盘的第2个逻辑分区就为hda6注意:IDE设备:hda2,hdb3等等SCSI设备/SATA设备:sda2,sdb3等等Linux和Windows分区对比Linux文件系统Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。Linux下的所有文件和目录。这些文件及目录构以一个树状的结构,构成了Linux中的文件系统在Linux中普通文件和目录文件保存在称为块物理设备的磁盘或者磁带上。一套Linux系统支持若干物理盘,每个物理盘可定义一个或者多个文件系统。每个文件系统由逻辑块的序列组成,一个逻辑盘空间一般划分为几个用途各不相同的部分,即引导块、超级块、inode区以及数据区等。操作系统用于明确磁盘分区上的文件的方法和数据结构,即文件在磁盘上的组织方法Linux最早引入的文件系统类型是MINIX。MINIX文件系统由MINIX操作系统定义,有一定的局限性,如文件名最长14个字符,文件最长64M字节。第一个专门为Linux设计的文件系统是EXT(ExtendedFileSystem),但目前流行最广的是EXT4。但是因为EXT4的一些问题,出现了各方面细节更好的XFS类型文件系统,它也是现在的centos7系统默认的文件系统类型。CentOS7可以通过命令查看文件系统的类型:cat/etc/fstab。Windows系统文件格式一般是NTFS,优盘文件格式一般是FAT32Linux文件系统Linux根据文件形式主要将文件分为目录和普通文件,以树的形式进行组织,如下图目录或者文件的名称长度不超过255个字符,文件或者目录是由以下字符构成:Uppercaseletters(A-Z)Lowercaseletters(a-z)Numbers(0-9)Underscore(_)Period(.)Comma(,)注意:1、文件和目录是区分大小写的2、Linux对文件的扩展名没有强制要求Linux文件系统核心目录结构执行命令:ll/Linux目录结构详解目录解释/根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中/bin:/usr/bin可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等/boot放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可/dev存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount/dev/cdrom/mnt/etc系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/gateways、/etc/resolv.conf、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。注:/etc/X11存放与xwindows有关的设置/home系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据Linux目录结构详解目录解释/lib:/lib64:/usr/lib:/usr/local/lib系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules/lost+found系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于/disk中,此目录下就会自动产生目录/disk/lost+found/mnt:/media光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也不一定,可以选择任意位置进行挂载/opt给主机额外安装软件所摆放的目录。如:FC4使用的Fedora社群开发软件,如果想要自行安装新的KDE桌面软件,可以将该软件安装在该目录下。以前的Linux系统中,习惯放置在/usr/local目录下option/proc此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等process/root系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下Linux目录结构详解目录解释/sbin:/usr/sbin:/usr/local/sbin放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。/srv服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内service/sys类似于/proc的特殊文件系统,存放内核数据信息/tmp一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下/usr应用程序存放目录,/usr/bin存放应用程序

/usr/share存放共享数据/usr/local:存放软件升级包/usr/lib存放不能直接运行的,却是许多程序运行所必需的一些函数库文件/var放置系统执行过程中经常变化的文件,如:/var/log:随时更改的日志文件

/var/log/message:所有的登录文件存放目录/var/spool/mail:邮件存放的目录

/var/run:程序或服务启动/usr/share/doc:系统说明文件存放目录

/usr/share/man:程序说明文件存放目录Linux目录结构使用建议1、用户应该将文件存储在自己的主目录及其子目录下2、系统绝大多数设置/配置都在/etc目录下3、不要修改“/”或者“/usr”目录下的任何内容,除非你真的清楚你在做什么,也就是说“/”目录最好和安装好系统之初保持一致4、大多数工具和应用软件程序都安装在/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin5、文件或者目录都有唯一的绝对路径,没有盘符的概念Linux分区规划重点关注这四个方面的分区情况:/swap:交换分区,用来支持虚拟内存的分区,通常放在单独的分区,其大小为内存容量的1~2倍。/:根分区,它只存放启动系统所需的文件和系统配置文件,应放置在ext3fs主分区中,单独分区。/boot:启动分区,容量小于等于128MB,通常可以单独分区,存放Linux内核和其他与内核有关的文件。/home:用户的宿主目录,通常将其设置在独立的分区中,为以后方便的磁盘定额做准备。Linux目录终端使用如果有桌面版系统,则:Linux终端工具SecureCRT使用详细使用参考文档:资料-SecureCRT使用.pdfSFTP工具:yuminstalllrzszFilezilla工具也OKLinux命令格式Linux的命令格式:命令[命令选项][命令参数],例如:ls-l/注意:三者之间要空格隔开,其中命令选项分为长格式和短格式。短格式用'-'表示,比如:-l,长格式用"--"表示,比如:--help,也可以使用组合格式,比如:-a-l等价于-la或者-alLinux的命令提示符:#:管理员用户$:普通用户

Linux以回车键表示命令结束,如果linux命令需要折行输入,那么可以以\表示每行结束Linux常用命令归纳汇总命令分类常用命令列表文件管理mkdir,rmdir,mv,rm,cp,touch,cat,tac,echo,more,less,head,tail,file,find,rename,ln,pwd,scp,alias磁盘管理ls,cd,du,df,mount,unmounts,fdisk文档处理wc,sort,uniq,cut,sed,awk,grep,vi,diff用户和组useradd,usermod,passwd,userdel,groupadd,groupdel,chgrp,id,su,whoami,groups,exit文件传输get,put,wget网络通信telnet,nc,ifconfig,ping,netstat,ip,host,hostname,ifup,ifdown备份压缩gzip,bzip2,bunzip2,tar,zip系统管理kill,last,ps,top,free,pstree,reboot,halt,shutdown,

sudo,who,w,whereis,which,whatis系统设置clear,set,unset,hwclock,time,date,locale,uname,cal其他history,nohup,service,init,rpm,ssh,yumLinux命令学习方式对于不会使用的命令:可以使用man命令来查看它的帮助文档:manclear

Linux常用基础命令详解--cdcd:changedirectory切换工作目录常使用方式:cdsourcedir进入用户主目录cd~进入用户主目录cd-返回进入此目录之前所在的目录cd..返回上级目录(若当前目录为"/",则执行完后还在"/";".."为上级目录的意思)cd../..返回上两级目录Linux常用基础命令详解--pwdpwd:printworkingdirectory显示当前工作目录常使用方式:pwd显示当前工作目录Linux常用基础命令详解--lsls:list:显示目录内容列表使用格式:ls[选项]...[目录或文件名]

常用选项-l:详细信息显示-a:显示所有子目录和文件的信息,包括隐藏文件-A:类似于“-a”,但不显示“.”和“..”目录的信息-R:递归显示内容-h:以友好方式显示文件大小例子:ls-l##列出文件详细信息,也可以写作llls-lah##以友好方式显示包括隐藏文件的详细信息Linux常用基础命令详解--dudu:diskusage:显示每个文件和目录的磁盘使用空间使用格式:du[选项]...[目录或文件名]

常用选项:-a:统计时包括所有的文件,而不仅仅只统计目录-h:以更易读的字节单位(K、M等)显示信息-s:只统计每个参数所占用空间总的大小

例子:du-sh##du-ah##Linux常用基础命令详解--dfdf:diskfree:显示磁盘相关信息常用选项:-h:以更易读的字节单位(K、M等)显示信息-T:显示分区格式例子:df-h##显示磁盘信息,以友好方式df-T-h##以友好格式显示磁盘信息,并且附加磁盘格式Linux常用基础命令详解—touch、filetouch:创建空文件,或更新文件时间标记使用格式:touch文件名file:查看文件类型使用格式:file文件名

根据文件内容格式判断文件类型。而不是根据后缀名Linux常用基础命令详解--mkdirmkdir:makedirectory创建文件夹

使用格式:mkdir[选项][参数]常用选项:-p:已级联的方式创建文件夹例子:mkdir-p/root/a/b/c/d ##上级目录不存在自动创建上一级目录,常用Linux常用基础命令详解--cpcp:copy复制文件使用格式:cp[选项]源文件或目录…

目标文件或目录

常用选项:-r:递归复制整个目录树-p:保持源文件的属性不变-f:强制覆盖目标同名文件或目录-i:需要覆盖文件或目录时进行提醒Linux常用基础命令详解--rmrm:remove删除文件或目录使用格式:rm[选项]文件或目录常用选项:-f:强行删除文件或目录,不进行提醒-i:删除文件或目录时提醒用户确认-r:递归删除整个目录树例子:rm-rf/root/ma/ ##不提醒递归删除整个目录,慎用慎用慎用Linux常用基础命令详解--mvmv:move移动文件

如果与源文件位置一样,则相当于重命名使用格式:mv[选项]...源文件或目录…

目标文件或目录

常用选项:-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作Linux常用基础命令详解--rmdirrmdir:removedirectory删除空文件夹常用选项:-p或--parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;案例:rmdir-p/root/aa/bb/cc/dd/ee删除文件夹ee,如果删除ee后,dd变为空,则删除dd,依次类推Linux常用基础命令详解--cat、taccat:catenate连接文件并打印到标准输常用选项:-n或--number:由1开始对所有输出的行数编号tac:倒序输出文件内容案例:tac/root/abc.txt倒序输出abc.txt文件中的内容Linux常用基础命令详解--headhead:在屏幕上显示指定文件的开头若干行,默认显示10行常用选项:-n<数字>:指定显示头部内容的行数;

例子:head-n5install.log##显示该文件前五行内容Linux常用基础命令详解--tailtail:在屏幕上显示指定文件的末尾若干行常用选项:-f:显示文件最新追加的内容例子:tailfile##显示文件file的最后10行tail+20file##显示文件file的内容,从第20行至文件末尾tail-c10file##显示文件file的最后10个字符tail-finstall.log##显示最新追加的内容Linux常用基础命令详解--moremore:显示文件内容,每次显示一屏使用方式:按Space键:显示文本的下一屏内容。按Enter键:只显示文本的下一行内容。按h键:显示帮助屏,该屏上有相关的帮助信息。按b键:显示上一屏内容。Linux常用基础命令详解--lessless:分屏上下翻页浏览文件内容使用方式:和more使用方式基本类似按e键:向上滚动一行按y键:向下滚动一行G:跳到文件末尾gg:跳到文件首行Space:向后翻一页b:向前翻一页Linux常用基础命令详解--echoecho:输出指定的字符串或者变量常用选项:-e:若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:\a发出警告声;\b删除前一个字符;\c最后不加上换行符号;\f换行但光标仍旧停留在原来的位置;\n换行且光标移至行首;\r光标移至行首,但不换行;\t插入tab;\v与\f相同;\插入\字符;\nnn插入nnn(八进制)所代表的ASCII字符;例子:echo'ma'##输出maecho-e'ma\n'##打印ma之后换行echo-ne'aa''bb'##打印完不换行echo‘aa'>aa.dat##覆盖echo‘aa'>>aa.dat##追加echo$PWD ##输出变量内容Linux常用基础命令详解--lnln:link用来为文件创件连接

软链接-s和硬链接使用案例:ln/mnt/cdrom1/var/www/html/centos/##硬链接ln-s/mnt/cdrom2/var/www/html/centos/##软链接-符号链接

实际路径链接路径Linux常用基础命令详解--aliasalias:别名使用案例:查看别名:alias定义别名:aliasla='ll-a'取消别名:unaliaslaLinux其他常用whatis:命令是什么whereis:在标准路径下搜索与名称相关的文件,whereis将所有搜索到的文件都显示which:which在设定的搜索路径下进行目录搜索,只显示搜索到的第一个文件su:切换用户history:显示历史命令hostname:显示主机名set:查看系统变量get:下载文件put:上传文件exit:退出登录状态w:显示当前连接的用户who:显示当前会话信息uptime:查看系统运行时间Linux常用小技巧总结clear:清屏,或者按ctrl+l也行ctrl+c:退出当前进程ctrl+z:挂起当前前台进程ctrl+u:清除光标前的命令,相当于剪切ctrl+k:清除光标后的命令,相当于剪切ctrl+y:粘贴ctrl+t:把光标前面的那个字符往后挪动一位ctrl+l:清屏!!:执行上一次命令!$:上个命令的最后一个单词ctrl+w:删除光标前一个单词cddata;catsed.txt:表示先执行cd,然后执行cat,工作目录会切换(cddata;catsed.txt):跟上个命令相比,不切换工作目录Linux常用命令:重定向管道符,表示把前面命令内容的输出当做后面命令的输入 |标准输入、输出 StdinStdoutStderr输出重定向 >、>>错误输出重定向 2>、&>、1>输入重定向 <、<<!…………!Linux文本编辑器vim学会使用vi编辑器是学习Linux系统的必备技术之一,因为一般的Linux服务器是没有GUI界面的,Linux运维及开发人员基本上都是通过命令行的方式进行文本编辑或程序编写的。vi编辑器是Linux内置的文本编辑器,几乎所有的类unix系统中都内置了vi编辑器,而其它编辑器则不一定,另外很多软件会调用vi编辑进行内容编写,例如crontab定时任务。较之于其它编辑器或GUI编辑器,vi编辑速度是最快的。VIM是它的增强版本,VI有三种基本工作模式,分别是:命令模式(commandmode)、或者叫一般模式插入模式(insertmode)、或者叫编辑模式底行模式(lastlinemode)、或者叫命令行模式Linux的VIM编辑器详细使用详细使用方式参见文档手册:资料--Linux中VI编辑器的详细使用手册.pdfLinux网络管理--IP地址管理查询IP:ipaddr配置静态IP:1、先设置vmware中的该centos7系统的网络连接方式为NAT模式2、在vmware中,从“编辑”>“虚拟网络编辑器”>“NAT模式”>“NAT设置”3、进入到/etc/sysconfig/network-scripts,编辑ifcfg-ens33,如果是centos6的话,文件名则是ifcfg-ethX,X是一个数字,默认是04、使用vi命令编辑ifcfg-ens33文件,增加或者修改这些设置5、重启网卡:servicenetworkrestart关于网路配置模式的三种(我们使用的NAT)不理解的地方请参考:资料-vmware三种链接方式.pdfLinux网络管理:主机名称管理查看主机名:hostnamectl (centos7支持)hostnamectlstatus 查看状态hostnamectl--static 静态hostnamectl--transient 瞬态hostnamectl--pretty 灵活态hostname 通过命令查看(centos7和6都支持)cat/etc/hostname 从配置文件查看(centos7支持)cat/etc/sysconfig/network 从配置文件查看(centos6支持)Linux网络管理:主机名称管理修改主机名:1、临时修改,重启之后失效hostnamenewname2、永久生效hostnamectlset-hostnamenewnameHostnamectl--staticset-hostnamenewnamevim/etc/hostname永久修改配置文件3、删除主机名hostnamectlset-hostname“”Linux网络管理:DNS管理vi

/etc/NetworkManager/NetworkManager.conf增加配置:dns=nonevi

/etc/resolv.conf增加如下内容:#主DNSnameserver#备DNSnameserverLinux网络管理:IP主机名称映射通过执行命令:cat/etc/hosts来进行修改Linux网络管理:网络连接管理netstatnetstat:netstat命令可以显示网络接口的很多统计信息,包括打开的socket和路由表在centos7系统中,netstat命令默认没安装。所以执行该命令进行安装:yuminstallnet-tools,前提,必须能连接外网安装了该网络工具包之后,不能使用ifconfig命令,现在也能使用了。常用命令选项:-a(all)显示所有选项,默认不显示LISTEN相关 -p显示建立相关链接的程序名-t(tcp)仅显示tcp相关选项 -r显示路由信息,路由表-u(udp)仅显示udp相关选项 -e显示扩展信息,例如uid等-n拒绝显示别名,能显示数字的全部转化成数字 -s按各个协议进行统计-l仅列出有在Listen(监听)的服務状态 -c每隔一个固定时间,执行该netstat命令Linux网络管理:网络连接管理netstat1、列出所有端口,包括监听和未监听的:netstat-a2、列出所有TCP端口:netstat-at3、列出所有UDP端口:netstat-au4、列出所有监听状态的TCP端口:该命令最重要用来查看哪个程序占用了哪个网络端口号netstat-nltp命令详解:Linux网络管理:防火墙管理查看防火墙状态:systemctlstatusfirewalld如果看到avtive(running)就意味着防火墙开启关闭防火墙:systemctlstopfirewalld如果看到inactive(dead)就意味着防火墙关闭了开启防火墙:systemctlstartfirewalld以上的开启和关闭,都是临时性的。如果重启,则又恢复原样。默认是开启了防火墙的如果想永久开启或者关闭(跟重启无关)防火墙,则:永久关闭防火墙:systemctldisablefirewalld永久开启防火墙:systemctlenablefirewalld当然如果作为专业的运维人员。其实也可以配置防火墙细则,例如一台机器只作为web服务器的话,就只需要开放80端口几口。Linux网络管理:防火墙管理如果操作系统是centos6,那么相关命令为:动作命令查看防火墙状态serviceiptablesstatus开启防火墙serviceiptablesstart关闭防火墙serviceiptablesstop关闭防火墙开机自启chkconfigiptablesoff设置防火墙开机自启chkconfigiptablesonLinux系统启动级别管理查看linux系统启动级别:runlevel(centos6使用方式)修改系统默认启动级别:vi/etc/inittab根据相应文件描述:(Centos7使用方式)#Toviewcurrentdefaulttarget,run:#systemctlget-default#查询#Tosetadefaulttarget,run:#systemctlset-defaultTARGET.target#设置Linux用户和组:用户和组的概念Linux是一个多任务多用户的操作系统,为了保证系统中文件的安全,必须针对不同级别的用户要设置不同的权限。账户实质上就是一个用户在系统上的标识,系统依据账户来区分每个用户的文件、进程、任务,给每个用户提供特定的工作环境(如用户的工作目录、shell版本、以及X-Windows环境的配置等),使每个用户的工作都能独立不受干扰地进行。Linux中的账户包括“用户账户”和“组账户”在Linux中,用户是能够获取系统资源的权限的集合,组是权限的容器Linux用户和组:用户和组的概念通过执行ls-l命令能看到的结果:anaconda-ks.cfg:表示文件或者目录,具体的文件类型是由该行最前面的那个符号表示-rw-------:该文件的类型和权限信息1:链接数,如果是文件则是1,如果是文件夹则表示该文件夹下的子文件夹个数第一个root:文件或者目录的所属者第二个root:所属用户组1329:文件或者目录的大小,是目录的话一般都是4096Feb2209:46:文件的最后编辑时间Linux用户和组:用户类型Linux中的用户类型分为三类:1、超级管理员root:具有使用系统所有权限的用户,其UID为02、系统用户:保障系统运行的用户,一般不提供密码登录系统,其UID为1-1000之间3、普通用户:即一般用户,其使用系统的权限受限,其UID为1000往上与Linux用户信息相关的文件有两个:分别是

/etc/passwd(用户)和/etc/shadow(密码)查看文件/etc/passwd文件的内容,选取第一行:root:x:0:0:root:/root:/bin/bashroot:用户名x:密码占位符,密码保存在shadow文件内0:用户id,UID0:组id,GIDroot:注释信息/root:用户家目录/主目录/bin/bash:用户默认使用shell类型Linux用户和组:组类型Linux中的组类型分为三类:1、系统组:一般加入一些系统用户2、普通用户组:可以加入多个普通用户3、私有组/基本组:当创建用户时,如果没有为其指明所属组,则就为其定义一个私有的用户组,起名称与用户名同名,当把其他用户加入到该组中,则其就变成了普通组与Linux用户组信息相关的文件有两个:分别是

/etc/group(组)和

/etc/gshadow查看文件/etc/group文件内容,选取一个普通组行:root:x:0:root:组名x:组密码占位符0:组id“”:其实最后一个“:”后面还有值的Linux用户和组:用户操作Linux中的用户管理主要涉及到用户账号的添加、删除和修改。所有操作都影响/etc/passwd中的文件内容1、添加用户: useraddspark

usermod-Gbigdataspark

##设置组

usermod-c"mylovespark"spark

##添加备注信息 useradd-Gbigdata-c“mylove”spark##-G附加组,-c注释2、设置密码:passwdspark根据提示设置密码3、修改用户:修改spark登录名:usermod-lsparkstorm

将spark添加到bigdata和root组:usermod-Groot,bigdataspark

查看spark的组信息:groupsspark4、删除用户:userdel-rspark

加一个-r就表示把用户及用户的主目录都删除Linux用户和组:组操作建立用户组的好处是系统能对一个用户组中的所有用户的操作权限进行集中管理。组管理涉及组的添加、删除和修改。组的增加、删除和修改实际上就对/etc/group文件的更新1、添加一个叫bigdata的组:groupaddbigdata2、查看系统当前有那些组:cat/etc/group3、将hadoop用户添加到bigdata组中:usermod-Gbigdatasparkgpasswd-asparkbigdata4、将spark用户从bigdata组删除:gpasswd-dsparkbigdata5、将bigdata组名修改为bigspark:groupmod-nbigsparkbigdata6、删除组:groupdelbigdataLinux用户和组:配置sudo权限普通情况下,使用普通用户进行一些简单的操作就OK。普通用户和root用户的区别就在于root用户能对系统做任何事,但是普通用户就不行。假如在某些情况下,普通用户想拥有更大的权限做更多的事情,虽然有权限限制,但也不是不可以。部分操作还是可以赋予更高的权限让普通用户做一次。这就需要给普通用户配置root权限了。意思就是让普通用户使用root权限去做一些操作,这当然是需要配置的。用root编辑vi/etc/sudoers在文件的如下位置,为hadoop添加一行即可rootALL=(ALL)ALL hadoopALL=(ALL)ALL然后,hadoop用户和spark用户就可以用sudo来执行系统级别的指令[hadoop@mycentos7~]$sudouseraddsparkLinux用户和组:切换用户在linux的系统使用过程当中,免不了会有多个用户来回切换使用。所以在此提供切换用户的使用操作:切换用户使用的命令是su(switchuser)从普通用户切换到root用户:suroot或者su从root用户切换到普通用户:suhadoop退出登录:exitLinux文件权限:基本概述Linux是多用户的操作系统,允许多个用户同时在系统上登录和工作。为了确保系统和用户的安全,Linux采取了很多的安全措施。通过用户的代号(UID)来确定每个用户在登录系统后都做了些什么,也可以用来区别不同用户所建立的文件或目录。普通用户只能不受限制的操作自家目录及其子目录下的所有文件对系统中其他目录的访问受到限制:“同组权限”和“其他人权限”Linux文件权限:使用者和权限类别文件和目录的使用者 –超级用户 –文件或目录的属主 –属主的同组人 –其他人对每一类使用者设置对文件的操作权 –可读 –可写 –可执行Linux文件权限:权限类别详解Linux文件权限的描述格式解读drwxr-xr-x二进制111101101-->755)d:文件类型,目录d,文件-,链接lrwx:读写执行权限(r可读,w可写,x可执行)u第一组rwx:##表示这个文件的拥有者对它的权限:可读可写可执行g第二组r-x:##表示这个文件的所属组用户对它的权限:可读,不可写,可执行o第三组r-x:##表示这个文件的其他用户(相对于上面两类用户)对它的权限:可读,不可写,可执行

文件文件夹r可读取内容可以lsw可修改文件的内容可以在其中创建或者删除子节点x能否运行这个文件能否cd进入这个目录Linux文件权限:权限的数字表示法Linux文件权限:权限的文字设定法人员标识 –属主(u) –同组(g) –其他人(o) –所有的人员(a)设定方法 –+:增加权限 –-:删除权限 –=:分配权限,同时删除旧的权限权限字符 –r(可读) –w(可写) –x(可执行)Linux文件权限:修改权限案例chmodg-rwhaha.dat ##表示将haha.dat对所属组的rw权限取消chmodo-rwhaha.dat ##表示将haha.dat对其他人的rw权限取消chmodu+xhaha.dat ##表示将haha.dat对所属用户的权限增加xchmoda-xhaha.dat ##表示将haha.dat对所用户取消x权限chmodu+rwx,g+rx,o+rxhaha.dat当然也可是使用数组来表示:chmod664haha.dat就会修改成rw-rw-r—如果要将一个文件夹的所有内容权限统一修改,则可以-R参数

chmod-R770aaa/Linux文件权限:修改文件所有权只有root用户才能更改文件所有权:chownangelaaaa ##改变所属用户chown:angelaaaa ##改变所属组chownangela:angelaaaa/ ##同时修改所属用户和所属组Linux压缩打包:常见命令列表1、gzip压缩:gzipma.txt2、gzip解压缩:gzip-dma.txt.gz或者gunzipma.txt.gz3、bzip2压缩:bzip2ma.dat4、bzip2解压缩:bzip2-dma.dat.bz2或者

bunzip2ma.dat.bz25、打包:tar-cvfma.txt.tarma.txt6、追加打包:tar-rvfma.txt.tarma.dat表示将ma.dat文件追加到ma.txt.tar当中7、解包:tar-xvfma.txt.tar8、打包并压缩:tar-zcvfma.tar.gz/root/ma/9、解包并解压缩:tar-zxvfma.tar.gz10、查看压缩包内容:tar-ztvfma.tar.gz11、打包并压缩成bz2:tar-jcvfa.tar.bz212、解压bz2:tar-jxvfa.tar.bz2Linux压缩打包tar命令:参数解释z:gzip,通过gzip格式压缩或者解压缩c:create,创建压缩文件x:extract,解压缩文件,或者叫还原文件v:verbose,显示过程f:file,指定文件t:list,列出文件j:支持bzip2压缩和解压缩Linux开机,关机,重启开机:开机键关机:shutdown,halt,init0,poweroff重启:reboot,init6shutdown命令详解:shutdown-hnow ##立刻关机shutdown-h+10 ##10分钟以后关机

shutdown-h12:00:00 ##12点整的时候关机Linux服务管理执行命令:chkconfig–list可以得知:如果想查看系统的服务开启与否信息,可以使用命令:systemctllist-unit-files右下图中,左边是服务名称,右边结果是服务状态:disabled:开机不启动Enabled:开机启动Linux服务管理列出所有enabled,active的service:systemctllist-units--type=service列出所有service,不论active还是inactive又或者是failed和not-found:systemctllist-units--type=service--all列出所有已安装的service,不论有没有运行,不论有没有设置为系统启动项,不论服务是否还有效:systemctllist-unit-files--type=service备注:一般安装的servicefile可能会有4中状态:1、enabled

安装了的,并会随系统启动而启动。2、static

Enabled服务启动时需要同时启动的依赖服务。3、disabled

已安装,但不可随系统启动而同时启动的服务。4、invalid

无效的Linux服务管理以httpd服务(httpd是Apache超文本传输协议(HTTP)服务器的主程序,通俗的理解可以是文件服务器或者网页服务器)为例子,在CentOS7系统中默认没有安装httpd服务。所以先执行命令:yum-yinstallhttpd进行安装查看服务的状态:systemctlstatushttpd开启服务:systemctlstarthttpd关闭服务:systemctlstophttpd重启服务:systemctlrestarthttpd设置服务开机启动:systemenablehttpd设置服务开机不启动:systemdisablehttpdLinux服务管理:httpd服务开启httpd服务之后,关闭防火墙/开放80端口,那么就可以在浏览器中访问这个url地址了:

httpd服务的默认资源路径是:/var/www/html/,可以在配置文件/etc/httpd/conf/httpd.conf中修改如果在这个文件夹下,放入网页,或者文件夹,或者文件,通过浏览器打开,会看到你熟悉的一幕场景。比如:或者

Linux系统管理:挂载外部设备mount挂载是一个非常重要的功能,使用非常频繁。它指将一个设备(通常是存储设备,可以挂载光盘、硬盘、磁带、光盘镜像文件等)挂接到一个已存在的目录上(这个目录可以不为空,但挂载后这个目录下以前的内容将不可用)。需要理解的是,Linux操作系统将所有的设备都看作文件,它将整个计算机的资源都整合成一个大的文件目录。我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备。挂载需要有挂载源和挂载点Linux系统管理:挂载外部设备1、挂载光驱在常用挂载目录/mnt下创建一个目录cdrom用来进行挂载:mkdir/mnt/cdrom将挂载源设备/dev/cdrom挂载到该挂载点(/mnt/cdrom)上:mount-tiso9660-oro/dev/cdrom/mnt/cdrom/

注: -t:文件系统类型,iso9660表示光盘或者光盘镜像 -o:挂载方式,ro表示以只读方式,loop表示把挂载的设备当做一个磁盘分区

2、挂载光盘镜像文件(.iso文件)我们准备一个镜像文件:CentOS-7-x86_64-DVD-1908.iso再准备一个挂载目录:mkdir/mnt/centosmount-tiso9660-oloop/root/CentOS-7-x86_64-DVD-1908.iso/mnt/centosLinux系统管理:挂载外部设备挂载的资源在重启后即失效,需要重新挂载。要想自动挂载,可以将挂载信息设置到/etc/fstab配置文件中,如下:/dev/cdrom/mnt/cdromiso9660defaults00/root/CentOS-7-x86_64-DVD-1908.iso/mnt/centosiso9660defaults,ro,loop00这样的话,重启之后则会进行自动挂载。第一列:/dev/cdrom:挂载源,要挂在的磁盘分区或者存储设备,或者文件系统第二列:/mnt/cdrom:挂载点,挂载位置第三列:iso9660:文件系统类型,ext4文件系统,swap表示交换分区,……第四列:defaults:挂载参数第五列:0:表示dump选项,dump工具通过这个选项位置上的数字来决定文件系统是否需要备份。如果是0,dump就会被忽略,事实上大多数的dump设置都是0第六列:0:读取文件系统时候的检查顺序,允许的数字是0,1,2,根目录应当获得最高的优先权1,其它所有需要被检查的设备设置为2,0表示不检查Linux系统管理:挂载外部设备案例:把CentOS-7-x86_64-DVD-1908.iso镜像自动发布到httpd服务中。1、开启httpd服务

systemctlstarthttpd2、挂载CentOS-7-x86_64-DVD-1908.iso到/mnt/cdrom

mount–tiso9660–oro/dev/cdrom/mnt/cdrom3、创建软链到/var/www/html/中

ln-s/mnt/cdrom/var/www/html/cdrom4、检查

df-h或者du-sh/mnt/cdrom/Packages最后补充一个技能:卸载挂载unmount/mnt/cdromLinux系统管理:系统时间查询查询系统时间:[root@mycentos7~]#date-R[root@mycentos7~]#date[root@mycentos7~]#date'+%Y-%m-%d%H:%M:%S‘Linux系统管理:系统时区管理CentOS中时区是以文件形式存在,当前正在使用的时区文件位于/etc/localtime其他时区文件则位于/usr/share/zoneinfo其中中国时区使用/usr/share/zoneinfo/Asia/Shanghai则,更改时区的话,直接使用如下命令就OKcp/usr/share/zoneinfo/Asia/Shanghai/etc/localtimePS:如果没有Asia/Shanghai时区文件,请使用tzselect命令去生成时区文件,生成好的时区文件就在/usr/share/zoneinfo目录下Linux系统管理:修改系统时间我们一般使用”date-s”命令来修改系统时间[root@mycentos7~]#date-s12/25/2016[root@mycentos7~]#date-s19:57:30[root@mycentos7~]#date-s“2016-12-2519:57:30”Linux系统管理:系统时间校准每次都手动来修改,比较麻烦,这里教大家一个简单的方法,用来同步网络时间。使用命令:[root@mycentos7~]#ntpdate[root@mycentos7~]#ntpdate01[root@mycentos7~]#ntpdate上海交通大学网络中心NTP服务器地址:01()中国国家授时中心服务器地址:若以上提供的网络时间服务器不可用,请自行上网寻找可用的网络时间服务器Linux系统管理:系统时间自动校准利用crontab实现一个定时自动校准系统时间的服务具体实现步骤:1、使用命令:crontab-e这个命令的意思是使用当前用户编辑crontab2、往里面加入一行内容:*/10****ntpdate01上面的配置表示,每隔十分钟从01该时间服务器同步一次时间。3、利用crontab-l可以查看实施的定时任务有哪些,主要是检查之用4、保存退出即可,系统则会按照规则自动调度该同步系统时间的任务命令运行。Linux软件安装在Linux操作系统中,安装软件的方式,主要有以下四种:1、二进制发布包的方式

以安装jdk,tomcat举例2、rpm包离线安装

以安装mysql举例3、YUM在线安装

以安装ntpdate,nc,netstat,httpd举例

4、源码编译安装

以安装redis举例Linux软件安装:二进制发布包方式参见文档:资料--CentOS7安装JDK.pdfLinux软件安装:rpm发布包方式RPM现在是RPMPackageManager的缩写。RPM最早是由RedHat公司提出的软件包管理标准,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的分发版本都有采用,后来随着版本的升级又融入了许多其他的优秀特性,成为了Linux中公认的软件包管理标准。由RPM社区负责维护,可以登录到RPM的官方站点查询最新的信息:优点:使用简单,只需要几个命令就可以实现包的安装、升级、查询、卸载;安装速度快;缺点:不能看源代码;功能选择不如源代码灵活;依赖性;Linux软件安装:rpm发布包方式rpm的安装命令格式:rpm-ivh包全名

选项: -i(install)安装 -U升级 -a冲突 -v(verbose)显示详细信息 -e卸载 -h(hash)使用“#”显示进度 -q查询 --force强制安装,即使覆盖属于其他包的文件也要安装 --nodeps不检测依赖性最佳实践:rpm-ivh安装rpm-qa查询 rpm-e--nodeps卸载参见文档:资料--CentOS7安装MySQL.pdfLinux软件安装:yum在线安装Yum(YellowdogUpdater,Modified)是一个在CentOS和RedHat以及SUSE中的Shell前端软件包管理器。比如软件已经以RPM规范打包,但发布在了网络上的一些服务器上,可用yum在线安装服务器上存在的rpm软件,并且会自动解决软件安装过程中的库依赖问题(注:类似于java体系中的maven),yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论