精华内容
下载资源
问答
  • Linux操作系统基础

    万次阅读 多人点赞 2018-05-27 12:16:53
    Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机 Linux介绍 Linux出现于1991年,是...

    Linux简介

    Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机
    这里写图片描述

    Linux介绍

    Linux出现于1991年,是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成

    Linux特点

    多用户,多任务,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,良好的用户界面,出色的速度性能
    开源

    CentOS

    • 主流:目前的Linux操作系统主要应用于生产环境,主流企业级Linux系统仍旧是RedHat或者CentOS
    • 免费:RedHat 和CentOS差别不大,基于Red Hat Linux 提供的可自由使用源代码的企业CentOS是一个级Linux发行版本
    • 更新方便:CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RedHat 那样需要花钱购买支持服务!

    Linux目录结构

    这里写图片描述

    • bin (binaries)存放二进制可执行文件
    • sbin (super user binaries)存放二进制可执行文件,只有root才能访问
    • etc (etcetera)存放系统配置文件
    • usr (unix shared resources)用于存放共享的系统资源
    • home 存放用户文件的根目录
    • root 超级用户目录
    • dev (devices)用于存放设备文件
    • lib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块
    • mnt (mount)系统管理员安装临时文件系统的安装点
    • boot 存放用于系统引导时使用的各种文件
    • tmp (temporary)用于存放各种临时文件
    • var (variable)用于存放运行时需要改变数据的文件

    Linux常用命令

    命令格式:命令 -选项 参数

    如:ls  -la  /usr
    
    ls:显示文件和目录列表(list)
    

    常用参数:

    -l		(long)
    -a	(all)         注意隐藏文件、特殊目录.和..   
    -t		(time)
    

    Linux命令的分类

    内部命令:属于Shell解析器的一部分

    cd 切换目录(change directory)
    pwd 显示当前工作目录(print working directory)
    help 帮助
    

    外部命令:独立于Shell解析器之外的文件程序

    ls 显示文件和目录列表(list)
    mkdir 创建目录(make directoriy)
    cp 复制文件或目录(copy)
    

    查看帮助文档

    内部命令:help + 命令(help cd)
    外部命令:man + 命令(man ls)
    

    操作文件或目录常用命令

    pwd 显示当前工作目录(print working directory)
    touch 创建空文件				                    
    mkdir 创建目录(make directoriy)
    -p 父目录不存在情况下先生成父目录 (parents)            
    cp 复制文件或目录(copy)
    -r 递归处理,将指定目录下的文件与子目录一并拷贝(recursive)     
    mv 移动文件或目录、文件或目录改名(move)
    
    rm 删除文件(remove)
    -r 同时删除该目录下的所有文件(recursive)
    -f 强制删除文件或目录(force)
    rmdir 删除空目录(remove directoriy)
    cat显示文本文件内容 (catenate)
    more、less 分页显示文本文件内容
    head、tail查看文本中开头或结尾部分的内容
    head -n  5  a.log 查看a.log文件的前5行
    tail  -F b.log 循环读取(follow)
    
    

    常用命令

    wc 统计文本的行数、字数、字符数(word count)
    -m 统计文本字符数
    -w 统计文本字数
    -l 统计文本行数
    find 在文件系统中查找指定的文件
    find /etc/ -name "aaa"
    grep 在指定的文本文件中查找指定的字符串
    ln 建立链接文件(link)
    -s 对源文件建立符号连接,而非硬连接(symbolic)
    
    top 显示当前系统中耗费资源最多的进程 
    ps 显示瞬间的进程状态
    -e /-A 显示所有进程,环境变量
    -f 全格式
    -a 显示所有用户的所有进程(包括其它用户)
    -u 按用户名和启动时间的顺序来显示进程
    -x 显示无控制终端的进程
    kill 杀死一个进程
    kill -9 pid
    df 显示文件系统磁盘空间的使用情况
    
    du 显示指定的文件(目录)已使用的磁盘空间的总
    -h文件大小以K,M,G为单位显示(human-readable)
    -s只显示各档案大小的总合(summarize)
    free 显示当前内存和交换空间的使用情况 
    netstat 显示网络状态信息
    -a 显示所有连接和监听端口
    -t (tcp)仅显示tcp相关选项
    -u (udp)仅显示udp相关选项
    -n 拒绝显示别名,能显示数字的全部转化成数字。
    -p 显示建立相关链接的程序名
    ifconfig 网卡网络配置详解 
    ping 测试网络的连通性 
    
    
    

    备份压缩命令

    gzip 压缩(解压)文件或目录,压缩文件后缀为gz 
    bzip2 压缩(解压)文件或目录,压缩文件后缀为bz2 
    tar 文件、目录打(解)包
    
    

    gzip命令

    命令格式:gzip [选项] 压缩(解压缩)的文件名
    -d将压缩文件解压(decompress)
    -l显示压缩文件的大小,未压缩文件的大小,压缩比(list)
    -v显示文件名和压缩比(verbose)
    -num用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6
    
    

    bzip2命令

    命令格式:bzip2 [-cdz] 文档名
    -c将压缩的过程产生的数据输出到屏幕上
    -d解压缩的参数(decompress)
    -z压缩的参数(compress)
    -num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6
    

    tar命令

    -c 建立一个压缩文件的参数指令(create)
    -x 解开一个压缩文件的参数指令(extract)
    -z 是否需要用 gzip 压缩
    -j 是否需要用 bzip2 压缩
    -v 压缩的过程中显示文件(verbose)
    -f 使用档名,在 f 之后要立即接档名(file)
    
    

    关机/重启命令

    shutdown系统关机 
    -r 关机后立即重启
    -h 关机后不重新启动
    halt 关机后关闭电源 shutdown -h
    reboot 重新启动 shutdown -r
    

    学习Linux的好习惯

    • 善于查看man page(manual)等帮助文档

    • 利用好Tab键

    • 掌握好一些快捷键

       ctrl + c(停止当前进程)
       ctrl + r(查看命令历史)
       ctrl + l(清屏,与clear命令作用相同)
      
    展开全文
  • 献给初学者:谈谈如何学习Linux操作系统

    万次阅读 多人点赞 2012-12-02 11:09:44
    所以请允许我暂时用原创的形式展现给大家一、 选择适合自己的linux发行版谈到linux的发行版本,太多了,可能谁也不能给出一个准确的数字,但是有一点是可以肯定的,linux正在变得越来越流行, 面对这么多的Linux ...


    本文出自 “技术成就梦想” 博客,请务必保留此出处http://ixdba.blog.51cto.com/2895551/569329

    为了能把这篇不错的文章分享给大家。所以请允许我暂时用原创的形式展现给大家


    一、 选择适合自己的linux发行版
    谈到linux的发行版本,太多了,可能谁也不能给出一个准确的数字,但是有一点是可以肯定的,linux正在变得越来越流行, 面对这么多的Linux 发行版,打算从其他系统转到linux系统来的初学者可能会感到困惑,即便是忠实的 Linux 用户也没有时间和精力去挨个尝试,因此初学者在学习linux的之前,需要有一个明确的方向,选择一个适合自己的系统开始学习linux至关重要!下面我们就分类介绍。

    1.1 初学者入门首选-redhat系列
    在学习redhat系列linux之前,首先要了解以下redhat linux各个发行版本之间的关系。

    1.Red Hat Linux
    Red Hat Linux是redhat最早发行的个人版本的linux, 其1.0版本于1994年11月3日发行。虽然其历史不及其它linux发行版本悠久,但比起很多的Linux发行套件,Red Hat 的历史悠久得多。自从Red Hat 9.0版本发布后,RedHat 公司就不再开发桌面版的 Linux发行套件,Red Hat Linux停止了开发,而将全部力量集中在服务器版的开发上,也就是 Red Hat Enterprise Linux 版。2004年4月30日,Red Hat公司正式停止对Red Hat 9.0版本的支持,标志著Red Hat Linux的正式完结。原本的桌面版Red Hat Linux发行套件则与来自开源社区的 Fedora进行合并,成为 Fedora Core 发行版本。
    目前Red Hat分为两个系列:由Red Hat公司提供收费技术支持和更新的Red Hat Enterprise Linux,以及由社区开发的免费的Fedora Core。

    2.Fedora Core
    Fedora Core(缩写为FC)被红帽公司定位为新技术的实验场地,许多新的技术都会在 FC 中检验,如果稳定的话红帽公司则会考虑加入 Red Hat Enterprise Linux 中。
    Fedora Core 1发布于2003年年末,而FC的定位便是桌面用户。FC提供了最新的软件包,同时,它的版本更新周期也非常短,仅6个月。由于版本更新频繁,性能和稳定性得不到保证,因此,一般在服务器上不推荐采用Fedora Core。
    其实可以这么认为,Fedora就是Red Hat发行Red Hat企业版linux的一个实验版本,以用户做测试,为Red Hat企业版发布奠定基础。

    3.Red Hat Enterprise Linux
    Red Hat Enterprise Linux(缩写为RHEL,Red Hat的企业版)。Red Hat现在主要做服务器版的linux开发,在版本上注重了性能和稳定性以及对硬件的支持。 由于企业版操作系统的开发周期较长,注重性能、稳定性和服务端软件支持,因此版本更新相对较缓慢。
     RedHat Enterprise Linux又分为4个版本 Advanced Server(AS)、ES Workstation(WS)、Desktop,它们的差别不太大,只是功能方面的差别。

    4.Centos
    CentOS全名为“社区企业操作系统”(Community Enterprise Operating System)
    CentOS产生的背景:
    Redhat发布Redhat 9。0后,不再开发redhat 10,11……,全面转向Redhat enterprise linux(简写为rhel)的开发,和以往不同的是,新的redhat企业版要求用户先购买lisence,redhat同时承诺确保产品的稳定性,安全性。rhel二进制代码不再提供下载,而是作为redhat 服务的一部分,但源代码依然是开放的。在这种情况下,出现了centos、whitebox、dao 等等一批open source的企业版本,其中以centos最为活跃。
    下面讲述centos是如何制作产生的:
    CentOS社区将Redhat的网站上的所有源代码下载下来,进行重新编译。由于AS/ES/WS是商业产品,因此,必须将所有Redhat的Logo和标识改成自己的CentOS标识。比如将AS4.0原版的SRPM源码编译后,换上Centos社区的logo,这样就成为了CentOS 4.0。Redhat Enterprise Linux AS4 Update1的源码编译后,就成为了CentOS4.1。AS4 Update2的源码编译后,就成为了CentOS4.2等等。CentOS就是这样产生的。
    因此,可以说CentOS就是Redhat的AS/ES/WS的免费版本,使用centos可以获得与redhat 企业级linux一样的功能和性能。同时centos还提供免费的长期升级和更新服务。因此, 在众多的RHEL的克隆版本中,CentOS是很出众很优秀的。
    虽然说centos是RHEL的克隆,但并不是一模一样,所说的克隆是具有100%的互换性。对于centos其实不尽相同,RHEL的软件在CentOS上面不能保证100%的正常工作。
    在了解了Redhat系列各个版本的差异后。其实我们就找到了为何选择Redhat linux作为初学者入门学习的理由了。
    首先:在国内,乃至是全世界的Linux用户最熟悉、最耳闻能详的发行版肯定就是Red Hat了。因为Red Hat是linux界的“老大”,美国Red Hat公司发布的Red Hat linux是商业上运作最成功的一个Linux发行套件,因此Red Hat公司发行的linux值得信任, Red Hat linux的功能和性能也毋庸置疑。
    其次:Red hat现在拥有庞大的网络用户群体,网络linux资源基本90%都是基于Redhat linux的,如果您在学习过程中遇到任何问题,随便搜索网络,就有成千上万的答案展示在你面前。
    第三: Red Hat linux系列版本相互补充,相得益彰:如果你第一次接触linux,那么建议你先安装Fedora Core, Fedora Core安装简单,对硬件支持很好,界面也很华丽,同时也可以体验Redhat linux的最新功能;如果你对linux有一定的了解,需要深入学习,建议你使用CENTOS系统;如果你是在做linux企业级应用,建议你使用RHEL版本。
    最后: redhat应用范围广,具有典型性和代表性,很多系统(例如红旗redflag,中标linux,oracle发布的Enterprise Linux )都是以Red Hat linux为基准的,因而,可以说学会了Red Hat linux,就能触类旁通,其它类似的linux系统也能很快掌握; 现在周围学习linux的一般也都是以redhat linux为主,这样交流方便,学习中出现问题,更容易得到解决。同时redhat linux的安装和使用也是最简单的,因此,基本上不会在”装系统”上浪费过多时间。

    1.2 企业级应用首选-suse linux
    企业级的应用追求的是可靠性和稳定性,这就要求构建企业级应用的系统平台具有高可靠性和高稳定性。企业级linux的发行版本就是解决的这个问题。
    SUSE是德国最著名的Linux发行版,在全世界范围中也享有很高的声誉。2003年11月4日,Novell公司对外宣布将收购SuSE。2004年1月该收购顺利完成,Novell同时将SuSE正式命名为SuSE Linux。 Novell公司收购suse,加速了suse linux的发展, suse linux无论在桌面市场还是服务器市场都更加专业化,据不完全统计,suse linux现在欧洲linux市场占有将近80%的份额,大部分关键性应用都是建立在suse linux下。由于suse 进入中国时间较短,同时加上suse在中国的营销模式短时间不能被国内接受,因此现在suse在中国的市场份额还不是很大,但是这些并不影响suse linux高可靠与稳定性的事实,随着suse的发展,相信suse linux在中国的应用会越来越多。

    1.3 游戏娱乐首选-Ubuntu Linux
    说到linux桌面市场, Ubuntu Linux几乎占据了桌面linux的半壁江山, Ubuntu Linux主打linux桌面之最,界面美观, 简易而不失华丽,如果想在linux下进行娱乐休闲,Ubuntu Linux绝对是首选。
    Ubuntu 的安装非常的人性化,只须按照提示一步一步进行,安装与Windows一样简单!并且,Ubuntu被誉为对硬件支持最好最全面的Linux 发行版之一,许多在其他发行版上无法使用,或者在默认配置时无法使用的硬件,在Ubuntu上都能轻松搞定。因此你可以像安装windows一样轻松的安装Ubuntu。尽情体验Ubuntu linux带来的乐趣。

    1.4  linux作为服务器是发展趋势
    在上面的章节中主要介绍了几种最常见的linux发行版本,其实linux的发行版本还有很多很多,比较常见的还有Debian GNU/Linux, Mandriva, Gentoo,Slackware, Knoppix,MEPIS, Xandros,国产的红旗redflag,中标linux等等,这里不再一 一介绍,其实纵观linux的各个发行版,linux发行版本无非是朝着这两个方面而来,一是服务器市场,而是桌面市场。
    以Ubuntu Linux为代表的linux发行版走的是桌面市场路线,虽然它们给用户带来很多惊喜,更新也很快,但是由于桌面市场有着windows这样强劲的对手,linux桌面发展举步维艰。
    以redhat系列版本为代表的linux发行版现在主要面向企业级linux的服务器市场,重点开发linux的企业版本,suse linux同样主要力量也集中在开发企业级linux上面,其它的例如国产redhat flag,中标linux等都重点投入在了linux服务器市场。linux两大发布厂商现在都走了linux服务器市场的路线,可见linux作为企业级服务器有着巨大的发展前途,据权威部门统计,linux在服务器市场的占有率每年都在持续上升。
    其实很多linux的应用都是针对linux服务器的,本书的讲述也是主要针对linux在服务器下的各种应用展开的。

    二、 养成良好的linux操作习惯
    当你进入linux的学习之后,请不要用windows的工作方式来思考问题,因为它们之间确实有很大的不同,比如它们之间的内存管理机制,进程运行机制等都有很大不同,这些异同点将在下面章节陆续讲述,因此,抛开windows那种思维,用全新的理念尝试去挖掘linux身上特有的潜质,对初学者至关重要。

    2.1 一定要习惯命令行方式
    Linux是一个命令行组成的操作系统,精髓在命令行,无论图形界面发展到什么水平,命令行方式的操作永远是不会变的,Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作都离不开命令行。虽然linux也有桌面系统,但是X-window也只是运行在命令行模式下的一个应用程序。
    因此,可以这么说,命令是学习linux系统的基础,学习linux,很大程度上就是学习命令,很多linux高手其实都是玩儿命令很熟的人。
    也许对于刚刚从windows系统进入linux学习的初学者来说,立刻进入枯燥的命令学习,实在太难,但是你一旦学会就爱不释手。因为它的功能实在太强大了。您未来的学习之路也将会以指数增加的方式增长。

    2.2 理论结合实践
    有很多初学者都会遇到这么一个问题,说到系统的每个命令,都很熟悉,但是在系统出现故障的时候,面对出现问题的linux系统无从下手了。不知道在什么时候用什么命令去检查系统,这是很多linux新手最无奈的事情了。说到底,就是学习的理论没有很好的与系统实际操作相结合。
    很多linux知识,例如每个命令的参数含义,在书本上说的很清楚,看起来也很容易理解,但是一旦组合起来使用,却并不是那么容易,没有多次的动手练习,其中的技巧是无法掌握的。
    人类大脑不像计算机的硬盘一样,除非硬盘坏掉或者硬盘被格式化,否则储存的资料将永远而且时刻的记忆在硬盘中。而在人类记忆的曲线中,必须要不断的重复练习才会将一件事情记得比较熟。同样的,学习 Linux 也一样,如果无法经常学习的话,学了后面的,忘记了前面的;还有些linux初学者也学了很多linux知识,但是由于长期不用,导致学过的东西在很短的时间内又忘记了,久而久之,失去了学习的信心。
    可见,增加自己Linux 的实战技能,只有勤于动手,勇于实践,这也是学好linux的根本。

    2.3 学会使用linux联机帮助
    各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者来说往往是不够的, 其实当安装了一个完整的Linux系统后其中已经包含了一个强大的帮助,只是可能你还没有发现和使用它们的技巧。例如,对于一个linux tar命令的使用,你不是很熟悉,那么只要你在命令行输入man tar, 就会得到tar的详细说明和用法;
    主流的linux发行版都自带了非常详细的帮助文档,包括使用说明和FAQ,从系统的安装到系统的维护,再到系统安全,针对不同层次人群的详尽文档。仔细阅读文档后60%的问题都可在这里得到解决。

    2.4 学会独立思考问题,独立解决问题
    遇到问题,首先想到的应该是如何自己去解决这个问题,解决方式很多,看书查资料,网络搜索引擎,技术论坛等等,通过这几种方式,90%的问题都能得到解决,通过这种方式一方面锻炼了自己独立解决问题的能力。另一方面技术上也能得到快速提高。
    如果通过如上方式实在解决不了的话,可以向人询问,得到答案后要考虑为何这么做,然后做笔记记录解决过程。最忌讳的方式是只要遇到问题,就去问人,虽然这样可能会很快解决问题,但是长久下去遇到问题就会依赖别人,技术上也不会进步。

    2.5 学习专业英语
    如果你想深入学习Linux,一定要尝试去看英文文档。因为,技术性的东西写的最好的,最全面的文档都是英语写的,最先发布的高新技术也都是用英语写的。即便是非英语国家的人发布技术文档,也都首先翻译成英语在国际学术杂志和网络上发表。安装一个新的软件时先看README,再看INSTALL,然后看FAQ,最后才动手安装,这样遇到问题就知道为什么。因此,学习一点专业的英语是很有必要的。

    2.6  Linux学习基本步骤
    到这里,我们总结一下linux的学习路线图,给各位初学者作为参考。
    初级阶段:
    1. 命令是必须要学的,linux常用的命令大概在80个左右,这些常用命令一定要熟练掌握。
    2. 掌握linux软件包的常用安装方法,例如源码安装,rpm方式安装等等。
    3. 学习安装设备驱动程序(比如网卡、显卡驱动) 
    4. 熟悉Grub/Lilo引导程序及简单的修复操作。 
    5. 熟悉Linux文件系统和目录结构以及linux基本运行原理。 
    6. 掌握vi,gcc,gdb等常用编辑器,编译器,调试器。 
    7. 理解shell别名、管道、I/O重定向、输入和输出以及shell简单脚本编程。 
    8. 学习Linux环境下的网络基本组建。

    高级阶段:
    1:尝试阅读linux内核源码:
       这需要具有一定的C、C++语言基础,因为C、C++是linux/unix的核心语言,系统代码都是C写的。
    2:尝试编译安装和调试自己的linux内核:
    在阅读源码了解了linux底层的运行原理后,完全可以编译一个适合自己的linux系统来。
    3:深入学习shell, perl,cgi等脚本语言:
    这些脚本语言在linux下非常强大,它们能完成你想做的任何事情,熟练掌握这些语言,可以让你在linux系统下游刃有余,如鱼得水。
    4:构建企业级linux高可用集群系统:
    linux下有很多开源免费的集群软件,利用这些免费的集群软件完全可以构建出与商业unix系统想媲美的集群系统来。

    三、用虚拟机软件学习linux

    3.1 什么是虚拟机软件
    虚拟机软件可以在一台电脑上模拟出来若干台PC电脑,每台PC可以运行单独的操作系统而互不干扰,可以实现一台电脑“同时”运行几个操作系统,还可以将这几个操作系统连成一个网络。

    图1:安装了3台虚拟机的windows系统
     

    比如图1中,是在一台电脑上安装了Windows 2000 Server,再在Win2000 server上安装虚拟机软件VMWare,利用VMWare模拟出来3台PC,在这3台PC上分别运行RedHat Linux、Win2000和Solaris 9 for x86操作系统。这4个操作系统同时在一台电脑上运行,互不干扰,并且同在一个局域网内。
    听了上面的基本介绍,你可能知道虚拟机软件到底是做什么用的了。那么好,我们继续做更深入的介绍。
        目前PC上的虚拟机软件最常用的有下述两个:
        VMWare       网址为:http://www.vmware.com
        Virtual PC   网址为:http://www.connectix.com

    3.2 使用虚拟机软件的好处

    1、如果要在一台电脑上安装linux和windows系统,不用虚拟机的话,有两个办法:一是装多个硬盘,每个硬盘装一个操作系统。这个方法比较昂贵。二是在一个硬盘上装双系统。这个方法不够安全,因为系统盘的MBR是操作系统的必争之地,windows更是霸道,每次重新安装系统都要重写系统的MBR,这样的话搞不好会几个操作系统同归于尽。而使用虚拟机软件既省钱又安全,因此,对于新手来说,利用虚拟机学习linux简直是再好不过了。

    2、在虚拟机上安装linux系统,你不用担心会格式化掉自己的硬盘,你甚至可以随意的对虚拟系统进行任何的设置和更改操作,你可以格式化虚拟系统硬盘,重新分区虚拟系统硬盘等等, 因为虚拟机是你真实系统上运行的软件,对虚拟机系统的任何操作都是对软件的操作。
    3、利用虚拟机模拟出来的linux系统和真实的linux系统是一摸一样的,现在各个公司专门的linux服务器是不会让新手随意去动的,而供测试的linux服务器一般又很紧缺,在自己电脑上安装虚拟linux系统,可以随意的学习测试,而不受任何环境影响。

    3.3 虚拟机的运行环境和硬件需求

    1:运行环境
    VMWare可运行在Windows(WinNT以上)和Linux操作系统上。
        Virtaul PC可运行在Windows(Win98以上)和MacOS上。
        注:运行虚拟机软件的操作系统叫Host OS,在虚拟机里运行的操作系统叫Guest OS。

    2:硬件需求
    虚拟机是将两台以上电脑任务集成到一台电脑上来,因此对硬件要求比较高,主要是内存,硬盘和cpu;内存要足够大,因为每个虚拟机都会占用一定的内存资源,内存的总大小等于各个虚拟系统的总和。可喜的是,现在内存已经很便宜了,内存就不是问题了。同样,硬盘空间也是每个虚拟机都要占用的,cpu现在都到了多核阶段,也不是问题。

    3.4 虚拟机的安装与使用

    1.VMware虚拟机概述
    上面章节讲到,虚拟机软件有VMWare和Virtual PC,它们各有优缺点,其中VMWare在全球占领了80%的市场份额,因此我们也主要讲述VMWare的安装与使用。
    VMware是提供一套虚拟机解决方案的软件,主要产品分为如下3个:
    (1)VMware-ESX-Server: 这个版本并不需要操作系统的支持。它本身就是一个操作系统,用来管理硬件资源。所有的系统都安装在它的上面。带有远程web管理和客户端管理功能。 
    (2)VMware-GSX-Server: 这个版本就要安装在一个操作系统下了,这个操作系统叫做HOST OS。 这个HOST OS可以是Windows 2000 Server以上的Windows系统或者是Linux(官方支持列表中只有RH,SUSE,Mandrake很少的几种),和VMware-ESX-Server一样带有远程web管理和客户端管理功能。
    (3)VMware-WorkStation: 这个版本和VMware-GSX-Server版本的机构是一样的。也是要安装在一个操作系统下,对操作系统的要求也是Windows 2000以上或者Linux。和Vmware的区别就是没有web远程管理和客户端管理。
    Vmware GSX Server不支持虚拟机双CPU,而且已经停止开发新版本, Vmware Server 是Vmware 公司决定将GSX Server免费后,重修代码后发布的, 目前有版本更新。因此我们选择免费的GSX Server作为讲述的版本。

    2.虚拟机软件的安装
    我们在windows下安装windows版本的VMware server,然后在VMware server上安装linux操作系统。虚拟机软件的安装很简单,只需按照windows常规方法安装即可完成,这里不在讲述。

    3.创建一个虚拟机系统
    虚拟机软件安装完毕,双击桌面上的 VMware Server 图标以启动应用程序:
    (1) 按CTRL-N创建一个新虚拟机,弹出新建虚拟机向导,如图2所示界面,点击下一步:
     

    图2
     

    (2)选择虚拟机配置,如图3所示,这里选择“Custom”,点击下一步:

    图3
     

    (3) 选择客户机操作系统,如图4所示,这里选择“Linux”,版本选择“Red Hat Enterprise Linux 4”,点击下一步:
     

    图4
     

    (4) 给虚拟机命名,如图5所示,虚拟机名称设为Red Hat Enterprise Linux 4,虚拟机路径设为“C:\Virtual Machines\Red Hat Enterprise Linux 4”,点击下一步:
     

    图5

    (5) 设置访问权限,如图6所示,去掉“Make this virtual machine private”。 这样可以保证系统安装完毕,虚拟机linux系统可以和windows系统互通。点击下一步:
     

    图6
     

    (6) 启动/关闭选项,如图7所示,虚拟机帐户,选择“User that powers on the virtual machine”,点击下一步:
     

    图7
     

    (7) 虚拟机处理器配置,如图8所示,这里选择一个处理器。 如果你有多个处理器可以选择多个,点击下一步:
     

    图8
     

    (8) 设置虚拟机内存大小,如图9所示,可以通过滑竿选择给虚拟机系统分配的内存大小,一般选择是windows系统内存的一半。这里选择800M。点击下一步:
     

    图9
     

    (9) 选择虚拟机网络连接类型,如图10所示,这里选择“Use bridged networking”网桥方式,点击下一步:
     

    图10
     

    (10) 选择 I/O 适配器类型,如图11所示,这里选择“LSI Logic”,点击下一步:
     

    图11

    (11) 选择虚拟磁盘,如图12所示,选择“Create a new virtual disk”,点击下一步:
     

    图12
     

    (12) 选择磁盘类型,如图13所示,选择“SCSI (Recommended)”,点击下一步:
     

    图13
     

    (13) 指定虚拟机磁盘容量,如图14所示,磁盘容量,可根据自己的需求选择大小,安装Linux,一般5G即可满足需求,这里输入“25GB”,选择“Split disk into 2 GB files”,点击下一步:
     

    图14
     

    (14) 指定磁盘文件路径,如图15所示,可以点击“Browse”指定磁盘文件的路径,这里的路径为“F:\Red Hat Enterprise Linux 4\Red Hat Enterprise Linux 4.vmdk”,然后点击完成,即可完成虚拟机的创建。
     

    图15
     

    (15)  虚拟机创建完毕后,出现虚拟机控制台界面,如图16所示,这样我们就创建了一个  linux虚拟机系统,接下来就需要在虚拟机下安装linux系统了。
     

    图16
     

    (16) 点击图16虚拟机控制台中的“Edit virtual machine settings”选项,即可到“virtual machine settings”界面,如图17所示:
    在这个界面中,我们可以添加虚拟机各种资源、编辑虚拟机的各种属性,例如修改虚拟机内存大小、编辑网卡连接方式、添加一个虚拟磁盘、指定光盘的引导方式等。还可以删除虚拟机中的各种资源。
     

    图17
     

    (17) 点击图18中“add”按钮,出现图18所示界面:在这个界面中,可以给虚拟机添加各种硬件资源,例如,硬盘、光驱、软驱、网卡、声卡等设备。
     

    图18
     

    到此为止,虚拟机的安装和基本配置已经介绍完毕,接下来开始讲述在虚拟机上安装linux的方法。

    4.虚拟机上linux安装方式
    在虚拟机上安装linux系统,常用的方法有两种:光驱安装和iso镜像文件安装。
    (1) 光驱安装方式
    在 VMware Server控制台上,双击右面板上的 CD-ROM 设备,然后选择Use physical drive,location选择host,下面下拉框选择Auto detect即可。如图19所示,最后,Linux系统光盘放入光驱,单击“Start this virtual machine”即可进入Linux安装界面。
    (2) iso文件安装方式
    在 VMware Server 控制台上,双击右面板上的 CD-ROM 设备,然后选择Use ISO image,然后指定iso文件路径,如图20所示,最后,单击Start this virtual machine即可进入Linux安装界面。

    图19
     

    图20
     

    Linux系统的安装,我们将在在后面文章中讲述,这里不在多说。

    四、linux学习资源

    4.1 网络资源,搜索引擎,论坛
    Linux的开源特性决定了linux知识的开放性和充足性。当今,linux非常流行,linux学习资源也非常之多,书店到处可见linux方面的书籍,选择一本适合自己的慢慢去学习,再好不过。
    除了书本的知识,网络里也有无限的linux学习资源,各大linux技术门户,linux社区论坛,都是学习linux的好地方;在这里,有一批无私奉献的linux狂热爱好者,他们把自己的学习经验和学习总结无偿的发布出来;他们每天在linux论坛的各个角落热情的回答广大网友提出的问题;他们不求回报,因为他们热爱技术,热爱linux。
    遇到学习问题,或者要查找某些linux资料,搜索引擎绝对是第一选择,例如google.cn和baidu.com,99%的技术资料都能在这里搜到。查找linux资料,不要错过这两个优秀的搜索引擎。

    4.2 有本书在身边
    网络中有很多linux学习资源,丰富的学习资源,虽然给我们学习提供了很好的便捷性,但是也造成了我们学习的盲目性,学习资源的丰富性,引出的另一个问题是资源的混杂,刚入门的新手感觉无从下手,可能今天看了一点内存管理的资料,明天学习了一点磁盘管理的资料,并且总是感觉自己理解了也学会了,但是就是无法灵活的掌握,究其原因,就是没有系统的学习linux。
    因此,选择一本好书在自己身边是必须的,一本好书应该是由浅入深,有点及线,有线及面的介绍知识,选择一本好书,同时结合网络资源进行循序渐进的学习,此时,你的学习就不会再有空洞感,进步也会飞快。你会感觉学习linux是一件很快乐的事情。

    五、linux的应用领域
    很多新手都有一个很疑惑的问题:“我学习linux系统,能在上面干什么呢,或者说linux系统具体能做什么”,有这样的疑问,也很正常,但是随着对linux了解的加深,这些疑问就会慢慢消除,下面具体讲述下linux操作系统的应用领域(也就是linux到底是干啥的)。

    1:服务器领域
    现在的服务器市场以linux、unix、windows三分天下, linux可谓后起之秀,从产生发展到现在,在服务器应用领域节节攀升,并且每年增长势头迅猛。
    Linux作为企业级服务器应用广泛,利用Linux系统可以使企业构架WWW服务器、代理服务器、邮件服务器、DNS服务器、透明网关、路由器等等,不但给企业降低了运营成本,同时获得了linux系统带来的高稳定性和高可靠性。
    随着linux在服务器领域的广泛应用,这几年来,linux已经悄悄进入政府、教育、银行、石油等行业,同时各大unix厂商也推出在unix平台支持linux操作系统,例如IBM AIX。这一切表明,linux在服务器市场前景光明,相信在不久的将来,linux会渗透到社会各个领域。

    2.嵌入式Linux系统
    由于 Linux系统开放源码,功能强大、可靠、灵活而且具有伸缩性,再加上它广泛支持大量的微处理器体系结构、硬件设备、图形支持和通信协议,因此,在嵌入式应用的领域里,从因特网设备到专用的控制系统,Linux 操作系统的前景都很光明的。
    例如,诺基亚和摩托罗拉公司都推出了linux平台的手机。



    展开全文
  • Linux操作系统

    千次阅读 2020-06-30 22:47:36
    Linux操作系统认知1.1 操作系统(Operation System简称OS)1.2 Linux系统介绍1.3 文件系统1.4 Ubuntu使用2. Linux常用命令2.1 终端与命令行2.2 Linux常用命令2.2.1 帮助命令2.2.2 基础操作命令2.2.3 文件操作2.2.4 ...

    Linux 操作系统


    1. Linux操作系统认知

    1.1 操作系统(Operation System简称OS)

    • 定义

      操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。

      外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PfHr93kp-1593527446048)(./img/OS.png)

    • 操作系统功能

      1. 管理好硬件设备,为用户提供调用方法
      2. 是计算机中最重要的系统环境
      3. 管理各种其他的软件和程序的运行
      4. 对系统中文件进行管理
    • 操作系统分类

      1. 桌面系统:Windows ,macOS为主,图形界面良好用户群体大。
      2. 服务器系统:Linux,Unix为主,安全,稳定,费用低占有量大。windows占有率很低。
      3. 嵌入式系统:Linux为主,主要用于小型只能设备,如只能 手机,机器人等。

    1.2 Linux系统介绍

    • Linux 诞生

      1991 年 林纳斯(Linus) 就读于赫尔辛基大学期间,对 Unix 产生浓厚兴趣,林纳斯 经常要用他的终端 仿真器(Terminal Emulator) 去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统,这些在后来成为了 Linux 第一个内核的雏形,当时,他年仅 21 岁!林纳斯利用C做工具,编写了 Linux 内核,一开始 Linux 并不能兼容 Unix只适用于 386,后来经过全世界的网友的帮助,最终能够兼容多种硬件。

      外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cf19tIMO-1593527446052)(img/linus.png)

    • Linux系统特点

      • Linux是一款免费的操作系统
      • 支持多种平台
      • 支持多用户
      • 具有非常强大的网络功能
    • Linux 应用领域

      • Linux 服务器 : 目前是服务器系统中最广泛一种。

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y5cSSseW-1593527446055)(./img/server.jpg)]

      • 桌面应用: 新版本的Linux系统特别在桌面应用方面进行了改进,达到相当的水平

      • 嵌入式系统:由于Linux系统开放源代码,功能多样且具有极大的伸缩性,因此在嵌入式应用的领域有很广阔的应用市场。

    • Linux系统构成

      • 内核: Linux操作系统的核心代码,是Linux系统的心脏,提供了系统的核心功能,用来与硬件交互。

        Linux内核官网 : http://www.kernel.org

      • 文件系统:通常指称管理磁盘数据的系统,可将数据以目录或文件的型式存储。每个文件系统都有自己的特殊格式与功能

      • 命令解释器:它使得用户能够与操作系统进行交互,负责接收用户命令,然后调用操作系统功能。

      • 应用软件:包含桌面系统和基础的软件操作工具等。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lXpXtPAc-1593527446061)(img/linux.jpg)]

    • Linux发型版本

      严格的来讲,Linux 只是一个系统内核,即计算机软件与硬件通讯之间的平台。一些组织或厂家将 Linux 内核与GNU软件(系统软件和工具)整合起来,并提供一些安装界面和系统设定与管理工具,这样就构成了一个发型套件,目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。

    1.3 文件系统

    • 定义

      文件系统是计算机操作系统的重要的组成部分,用于组织和管理计算机存储设备上的大量文件。

    • 文件系统结构

      • 熟悉的windows文件系统,分不同盘符

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g6jQET6r-1593527446065)(./img/win.png)]

      • Linux的文件组织中没有盘符。将根(/)作为整个文件系统的唯一起点,其他所有目录都从该点出发。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VQa0EPI9-1593527446069)(./img/Linux_f.png)]

    犹如一颗倒置的树,所有存储设备作为这颗树的一个子目录。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-51PIXsH1-1593527446071)(img/linux_fs.jpg)]

    • 普通文件和目录

      • 普通文件:包括文本,压缩包,音频视频等文件都是普通文件。
      • 目录:即文件夹,在Linux系统下多称之为目录。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GfsS78pW-1593527446072)(./img/dir.png)]

    • 主要目录功能

    1. /bin目录
    
    ​  /bin目录包含了引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。这些命令都是二进制文件的可执行程序(bin是binary----二进制的简称),多是系统中重要的系统文件。
    
    2. /sbin目录
    
    ​  /sbin目录类似/bin,也用于存储二进制文件。因为其中的大部分文件多是系统管理员使用的基本的系统程序,所以虽然普通用户必要且允许时可以使用,但一般不给普通用户使用。
    
    3. /etc目录
    
    ​  /etc目录存放着各种系统配置文件,其中包括了用户信息文件/etc/ passwd,系统初始化文件/etc/rc等。linux正是因为这些文件才得以正常地运行。
    
    4. /root目录
    
    ​  /root 目录是超级用户的目录。
    
    5. /lib目录
    
    ​  /lib目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文件。这些文件包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副本,故可以使得可执行文件变得更小,节省空间。
    
    6. /dev目录
    
    ​  /dev目录存放了设备文件,即设备驱动程序,用户通过这些文件访问外部设备。比如,用户可以通过访问/dev/mouse来访问鼠标的输入,就像访问其他文件一样。
    
    7. /usr文件系统
    
    ​  /usr 是个很重要的目录,通常这一文件系统很大,因为所有程序安装在这里。本地安装的程序和其他东西在/usr/local 下,因为这样可以在升级新版系统或新发行版时无须重新安装全部程序。
    
    8. /var文件系统
    
    ​  /var 包含系统一般运行时要改变的数据。通常这些数据所在的目录的大小是要经常变化或扩充的。
    
    9. /home
    
    ​  /home 普通用户的默认目录,在该目录下,每个用户拥有一个以用户名命名的文件夹。
    
    
    • 绝对路径和相对路径表达
      • 绝对路径:指文件在文件系统中以根目录为起始点的准确位置描述。例如“/usr/bin/gnect”就是绝对路径。最要的标志就是以 ‘/’ 作为路径描述的开头。
      • 相对路径:指相对于用户当前位置为起始点,对一个文件位置的逐层描述。例如,用户处在usr目录中时,只需要“games/gnect”就可确定这个文件。在相对路径描述时 . 表示当前目录, … 表示上一级目录。

    1.4 Ubuntu使用

    作为Linux发行版中的后起之秀,Ubuntu Linux在短短几年时间里便迅速成长为从Linux初学者到资深专家都十分青睐的发行版。由于Ubuntu Linux是开放源代码的自由软件,用户可以登录Ubuntu Linux的官方网址免费下载该软件的安装包。

    Ubuntu官网:https://ubuntu.com/

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4szkBLeU-1593527446074)(./img/ubuntu.png)]

    2. Linux常用命令

    • 学习目的
      1. Linux下有非常丰富的命令,可以用来完成大部分重要的Linux服务器操作维护功能,而且至今有些功能仍然通过命令操作比较方便。
      2. 实际工作中,大量服务器维护工作都是工程师通过远程控制来完成的,并没有图形界面,这时维护工作都需要通过命令来完成。
      3. 作为后端工程师,我们将来所写的代码都需要在服务器上运行,掌握基本的Linux 操作命令有助于我们将来对项目的部署和控制工作。

    2.1 终端与命令行

    • 终端 : 使用命令对Linux系统进行操作的窗口
    • 命令行:书写Linux命令的提示行

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UWWWGH6f-1593527446076)(./img/zd.png)]

    • 打开关闭终端方法
      • 点击图形界面终端图标,通过ctrl+alt +t ,shift+ctrl + t , shift+ctrl+n 都可以快速打开一个终端。
      • 通过图形界面关闭,或者在命令行输入exit。
    • 终端字体大小控制
      • 放大 摁住 ctrl 和 + 号 (不要忘了+号要使用shift)
      • 缩小 摁住 ctrl 和 - 号

    2.2 Linux常用命令

    • 命令格式

      command [-options] [parameter]
      
      说明:
      command:命令名称,一般为英文单词或单词的缩写
      [-options]:命令选项,辅助命令进行功能细化,也可以省略
      parameter:传给命令的参数,可以是0个或多个
      

    2.2.1 帮助命令

    command --help
    

    说明:

    显示 command 命令的帮助信息

    man command
    

    说明:

    • 查阅 command 命令的使用手册,摁q退出

    2.2.2 基础操作命令

    序号 命令 作用
    01 ls 查看当前文件夹下的内容
    02 pwd 查看当前所在文件夹
    03 cd [目录名] 切换文件夹
    04 touch [文件名] 如果文件不存在,新建文件
    05 mkdir [目录名] 创建目录
    06 rm [文件名] 删除指定的文件名
    07 cp 复制一个文件
    08 mv 移动一个文件
    09 clear 清屏
    • 部分命令细节说明
      • ls : -l 展示详细信息,-a展示隐藏文件(Linux下 . 开头的为隐藏文件)。
      • cd: 参数为绝对路径或者相对路径,直接cd表示回到主目录。
      • touch: 可以同时跟多个参数表示创建多个文件。
      • mkdir: -p选项可以创建层目录
      • cp:如果拷贝的是一个目录需要使用 -r ,同时这个命令有另存为的作用
      • mv: 即使移动目录页不需要选项,有重命名的作用。
      • rm:删除表示直接删除,无法找回,如果删除目录需要加 -r选项
      • clear:等同于ctrl-l,清空屏幕。

    小技巧: 使用Tab键可以自动补全文件名,目录名等信息

    • 通配符

      • 作用:对一类文件名称的书写进行简化,例如file1.txt、file2.txt、file3.txt……,用户不必一一输入文件名,可以使用通配符完成。
      通配符 含义 实例
      星号(*) 匹配任意长度的字符串 用file_*.txt,匹配file_wang.txt、file_Lee.txt、file_Liu.txt
      问号(?) 匹配一个长度的字符 用flie_?.txt,匹配file_1.txt、file_2.txt、file_3.txt
      方括号([…]) 匹配其中指定的一个字符 用file_[otr].txt,匹配file_o.txt、file_r.txt和file_t.txt
      方括号([ - ]) 匹配指定的一个字符范围 用file_[a-z].txt,匹配file_a.txt、file_b.txt,直到file_z.txt

    2.2.3 文件操作

    序号 命令 作用
    01 cat 文件名 查看文件内容、创建文件、文件合并、追加文件内容等功能
    02 head 文件名 显示文件头部
    03 tail 文件名 显示文件尾部
    04 grep 搜索文本 文件名 搜索文本文件内容
    05 find 路径 -name 文件名 查找文件
    06 file 文件名 查看文件类型
    07 wc 文件名 查看文件行数,单词数等信息
    08 diff 文件1 文件2 对比两个文件差异
    • 部分命令细节说明
      • head,tail : 选项-n,n表示一个数字,即可指定查看前n行或者后n行,不加选项默认查看10行。
      • grep : -n 用于显示行号,-i忽略大小写
      • wc : -c 表示查看多少字符,-l查看多少行,-w 查看多少单词。如果不加选项则显示这三项。
      • find:会从指定目录及其所有子目录中查询搜索文件。

    2.2.4 压缩解压

    序号 命令 作用
    01 zip ,unzip 将文件压缩为zip格式/将zip格式文件解压
    02 gzip,gunzip 将文件压缩为gz格式/将gz格式文件解压
    03 bzip2,bunzip2 将文件压缩为bz2格式/将bz2格式文件解压
    04 tar 对gz或者bz2格式进行压缩解压
    • 部分命令细节说明
      • zip: 用于常与windows交互的情况,-r选项可以压缩目录

        • zip test.zip filelist

        • unzip test.zip

      • gzip,bzip2:不常用,因为压缩或者解压后源文件就不再了,而且只能对一个文件操作

      • tar:-cjf 用于压缩bz2格式文件,-czf用于压缩gz格式文件,-xvf用于解压文件,兼容了gzip和bzip2命令的功能。

        • tar -czf file.tar.gz file1 file2

        • tar -xvf file.tar.gz

    2.2.5 权限管理

    序号 命令 作用
    01 sudo 放在一个命令前,表示使用管理员权限执行
    02 chmod 修改文件权限
    • 部分命令细节说明

      • sudo: 在打开终端第一次使用sudo时需要输入密码

      • chmod 在设置权限时,可以字母也可以使用三个数字分别对应 拥有者其他 用户的权限

      直接修改文件|目录的 读||执行 权限,但是不能精确到 拥有者||其他
      chmod  augo+/-rwx 文件名/目录名
      

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mtLBq0Vr-1593527446078)(./img/chmod.png)]

      例如:
      777 ===> u=rwx,g=rwx,o=rwx
      755 ===> u=rwx,g=rx,o=rx
      644 ===> u=rw,g=r,o=r

    2.2.6 显示展示命令

    序号 命令 作用
    01 echo 向终端打印内容
    02 date 显示当前时间
    03 df 显示磁盘剩余空间
    04 whoami 显示当前用户
    05 which 显示执行命令所在位置
    • 部分命令细节说明

      • echo : -n表示打印完成不换行

      • df: -h选项以M为单位显示,-T显示文件系统类型 ext4的为磁盘

      • which:命令也是一个程序,实际就是显示程序所在位置

    • 输出重定向

      重定向符 含义 实例
      > file 将file文件重定向为输出源,新建模式 echo “hello world” > out.txt,将执行结果,写到out.txt文件中,若有同名文件将被删除
      >> file 将file文件重定向为输出源,追加模式 ls /usr >> Lsoutput.txt,将ls /usr的执行结果,追加到Lsoutput.txt文件已有内容后
    • 管道

    管道可以把一系列命令连接起来,意味着第一个命令的输出将作为第二个命令的输入,通过管道传递给第二个命令,第二个命令的输出又将作为第三个命令的输入,以此类推。

    	ls | grep 'test'
    

    2.2.7 其他命令

    序号 命令 作用
    01 shutdown 关机或者重启
    02 ln 创建链接
    • 部分命令细节说明
      • shutdown:

        • shutdown -r now 立即重启

        • shutdown now 立即关机

        • shutdown +10 10分钟后关机

        • shutdown -c 取消关机计划

      • ln : 一般使用 -s 选项 创建软链接,相当于快捷方式,如果跨目录创建要使用绝对路径。

        ln -s  hello.py  hello
        

    3. Linux服务器环境

    3.1 vi编译器

    3.1.1 什么是vi

    vi是Linux操作系统中一个自带的编辑器。没有图形界面,只能编译文本内容,没有字体段落等设置,通过命令强大的命令完成一系列的编写工作。

    3.1.2 学习目的

    1. 在实际工作中,要对 服务器上的文件进行 简单 的修改,使用 vi 进行快速的编辑即可。
    2. 对一些配置文件的修改,需要一定的权限,这时vi编辑器是最佳选择。
    3. vi 编辑器在 系统管理、服务器管理编辑文件时,其功能不是图形界面的编辑器能比拟的。

    3.1.3 操作使用

    • 打开和新建文件
    $ vi 文件名
    
    如果文件已经存在,会直接打开该文件
    如果文件不存在,会新建一个文件
    
    • 工作模式

      1. 命令模式
        • 打开文件首先进入命令模式,是使用 vi入口
        • 通过 命令 对文件进行常规的编辑操作,例如:定位翻页复制粘贴删除……
        • 在其他图形编辑器下,通过 快捷键 或者 鼠标 实现的操作,都在 命令模式 下实现
      2. 底行模式 —— 执行 保存退出 等操作
        • 要退出 vi 返回到控制台,需要在末行模式下输入命令
        • 末行模式vi出口
      3. 编辑模式 —— 正常的编辑文字

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZlaLlb0h-1593527446079)(./img/ms.png)]

    • 进入编辑模式命令
    命令 英文 功能 常用
    i insert 在当前字符前插入文本 常用
    I insert 在行首插入文本 较常用
    a append 在当前字符后添加文本
    A append 在行末添加文本 较常用
    o 在当前行后面插入一空行 常用
    O 在当前行前面插入一空行 常用
    • 底行模式常用命令
    命令 功能
    w 保存
    q 退出,如果没有保存,不允许退出
    q! 强行退出,不保存退出
    wq 保存并退出
    • 命令模式常用命令

      • 1)光标移动
        | 命令 | 功能 |
        | :–: | ---- |
        | h | 向左 |
        | j | 向下 |
        | k | 向上 |
        | l | 向右 |

      • 2)行内移动
        | 命令 | 功能 |
        | :–: | ------------------------------ |
        | w | 向后移动一个单词 |
        | b | 向前移动一个单词 |
        | 0 | 行首 |
        | ^ | 行首,第一个不是空白字符的位置 |
        | $ | 行尾 |

        1. 行数移动
      命令 功能
      gg 文件顶部
      G 文件末尾
      :数字 移动到 数字 对应行数
    • 撤销和恢复撤销

    命令 功能
    u 撤销上次命令
    CTRL + r 恢复撤销的命令
    • 删除文本
    命令 功能
    x 删除光标所在字符,或者选中文字
    c 和移动命令连用,删除光标所在位置到指定位置内容
    cw        # 从光标位置删除到单词末尾
    c0        # 从光标位置删除到一行的起始位置
    cb       # 从光标位置删除到单词开头
    
    • 剪切、复制、粘贴
    命令 功能
    yy 复制一行,可以 nyy 复制多行
    dd 删除光标所在行,可以 ndd 复制多行
    p 粘贴
    • 替换
    命令 功能 工作模式
    r 替换当前字符 命令模式
    R 替换当前行光标后的字符 替换模式
    :%s/str/replace/g 替换str为replace 底行模式

    R 命令可以进入 替换模式,替换完成后,按下 ESC 可以回到 命令模式

    • 查找
    命令 功能
    /str 查找 str

    查找到指定内容之后,使用 n 查找下一个出现的位置

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GmI4Ruov-1593527446081)(img/vi.png)]

    3.2 添加用户

    3.2.1 基本概念

    • 用户:Linux操作系统可以有不同的用户,这是系统管理的重要一环,不同的用户有自己独立的空间内容。

    • 用户组:为了方便对用户管理,Linux操作系统使用用户组的概念。将不同的用户添加到对应的组中,可以方便用户设置权限的设置。

    • root用户:Linux系统中的root用户通常用于系统的维护和管理,对操作系统的所有资源具有所有访问权限,一般工作中不会使用root用户进行系统操作,防止一些误操作带来系统损坏。

    3.2.2 用户管理命令

    序号 命令 作用
    01 groupadd 组名 添加组
    02 groupdel 组名 删除组
    03 useradd -m 用户 -g 组 添加用户
    04 passwd 用户名 设置用户密码
    05 userdel -r 用户 删除用户
    06 su 用户 切换用户
    • useradd : -m 表示添加用户时添加主目录,-g表示选择用户所在组,如果不写默认会创建一个与用户同名的组。

      useradd -m levi
      
    • passwd : 设置密码,设置之后才能切换新用户登录

    • 设置密码后为新用户添加sudo权限,打开sudoers文件增加如下内容,然后 :w! 强制保存 :q 退出

      sudo vi /etc/sudoers
      

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SrmYnnbA-1593527446082)(./img/sudo.png)]

      passwd levi
      注意:1. 新创建的用户和密码信息存储在 /etc/passwd文件中
           2. 如果切换用户终端命令行只有一个$ 提示,则vi打开这个文件,将该用户对应的内容修改
      

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RCOQaRZg-1593527446084)(./img/user.png)]

    • userdel: 一般使用-r 彻底删除,如果删除失败说明刚刚使用了改用户,需要重启再删除。或者执行下面命令。

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ApNitUxb-1593527446085)(./img/deluser.png)]

    3.3 软件安装

    Linux下安装的软件包是 deb格式软件包。由于当时Linux系统中软件包存在复杂的依赖关系。因而,通常使用网络安装。

    作用 命令
    升级软件包 apt update
    安装软件 apt install
    卸载软件 apt remove --purge
    删除缓存的软件安装包 apt clean
    • 注意事项 : 安装软件包通常需要使用管理员权限。
    • 软件包下载位置:/var/cache/apt/archives
    sudo apt install sl   # 安装
    sudo apt remove --purge  sl  # 彻底卸载
    

    3.4 ssh服务

    ssh是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全。在数据传输方面有很多应用。之前说到,实际工作中经常需要远程访问服务器,ssh就是通用的远程访问服务器的方法。

    • 安装启动

      • 安装ssh服务 : sudo apt install openssh-server

      • 查看ssh服务状态 : ps -e|grep ssh

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QdYweGDl-1593527446087)(./img/ssh1.png)]

      • 启动和关闭 :

        sudo service ssh start/restart/stop

    • 常用命令

    序号 命令 作用
    01 ssh 用户名@ip 登录远程主机
    02 scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 远程复制文件
    1. ssh登录

      ssh  levi@192.168.100.5    # 登录
      exit                      # 退出
      

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hsERrXyj-1593527446089)(./img/ssh2.png)]

    1. scp拷贝

      
      # 注意:`:` 后面的路径写绝对路径
      scp  demo.py levi@192.168.100.5:/home/tarena
      
      # 把远程主目录下demo.py文件 复制到本地当前目录下
      scp  levi@192.168.100.5:/home/tarena/demo.py  .
      
      # 加上 -r 选项可以传送文件夹
      scp -r demo levi@192.168.100.5:/home/tarena/
      
      
    • ssh秘钥

      • 什么时候使用: 如果使用的客户端个人计算机是自己独有的计算机,经常通过ssh访问服务器,此时不想频繁输入密码,则可以使用秘钥处理。

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hnJ8qh78-1593527446090)(img/ssh.png)]

      • 使用方法

        1. 在个人计算机中生产秘钥对 : ssh-keygen  执行以后会在主目录下生成一个.ssh文件夹,其中包含私钥文件id_rsa和公钥文件id_rsa.pub。
        2. 在服务器主机上创建文件~/.ssh/authorized_keys,将信任的计算机的id_rsa.pub文件内容追加到服务器authorized_keys文件中,并修改其权限为777。
        

    3.5 终端启动Python服务

    在服务器中并没有pycharm这些集成编译工具,所有当我们最后将程序部署在服务器上执行时,往往需要通过终端运行python程序。

    1. 编写python程序在第一行增加解释器声明

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dm4e3YH8-1593527446092)(./img/1.png)]

    1. 修改文件的执行权限

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UucSBvra-1593527446093)(./img/2.png)]

    1. 执行代码

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IiHHbgfQ-1593527446095)(./img/3.png)]

    展开全文
  • Linux操作系统之操作命令大全

    万次阅读 多人点赞 2019-02-01 12:09:02
    文件操作命令 1.df 显示磁盘使用情况 2.du 显示文件系统使用情况 3.ls 显示目录 普通使用:ls ls -l ll 查看多个目录:ls / /ect 查看/ 和/etc下的文件 查看隐藏文件:ls -a  4.cd ...

    一.文件操作命令

    1.df 显示磁盘使用情况

    2.du 显示文件系统使用情况

    3.ls 显示目录

    普通使用:ls   ls -l   ll

    查看多个目录:ls /  /ect  查看/ 和/etc下的文件

    查看隐藏文件:ls -a

     4.cd 切换工作目录

    切换到根目录:cd /

    切换到上一级目录:cd ..

    切换到当前用户家目录: cd

    切换到普通用户(cong)家目录: cd  -> cd ~cong (波浪线扩展)

    因为还没建cong用户

    5.pwd 显示当前工作目录

    6.mkdir 创建目录

    普通用法:mkdir abc

    建多层次目录: mkdir -p a/b/c

     同层次建多个文件 

    mkdir  x/a x/b x/c

     mkdir a/x{aa,bb,cc}dir (花括号扩展)

     

     

     

    7.rm 删除

    rm install.log 普通删除文件

    rm -f install.log 强制删除文件

    rm -r -f abc 删除文件夹

    rm -rf a 删除文件夹 -r和-f两个短参数可以合到一起

    8.cp 拷贝

    拷贝文件: cp  anaconda-ks.cfg   anaconda-ks-temp.cfg

    拷贝文件夹  cp -r a a-temp

    9.mv 移动 mv  123  a  将123文件移动到a文件夹

     文件重命名: mv 123 123.bak

    10.ln 链接

     ln 123.bak 123-temp.bak  建立123.bak的硬链接,它们指向同一个文件,可以简单理解为Java的两个引用指向同一个地址。

      ln -s 123.bak 123-temp.bak   软链接 删除链接源文件存在,删除源文件都不存在了

    11.stat 显示文件的元数据 stat 123.bak

    12.touch 

    将文件时间刷新: touch 123.bak

     文件不存在,创建新文件 touch xyz

    二.文本操作命令

    1. 全部展示 cat 123.bak (more)

    2. 分屏展示 less  ,按b查看下一屏

     3.head 123.bak  输入前十行 

     head  -3 123.bak  输入任意前几行

    4.tail -3 123.bak  输入任意后几行

      tail -f 123.bak 监控文件变化变化

     

     5. 管道 cat 123.bak | head -3 左边的标准输出变成右边的标准输入

    原理:

     

    6.xargs  

    原理: 

     

     7.查看某个文件第几行 # head -5 123.bak | tail -1   

     

    展开全文
  • Linux操作系统的诞生与其对现代信息世界的影响

    千次阅读 多人点赞 2020-05-19 11:12:11
    Linux操作系统在各领域迅速扩张的同时,开源社区也得到了快速发展。先后诞生了Git版本控制系统和GitHub开源项目托管平台,开源社区到达了前所未有新阶段。本文通过介绍Linux内核的诞生历程,分析Linux系统的各种...
  • Linux操作系统介绍

    万次阅读 多人点赞 2018-01-09 18:12:34
    一. 什么是Linux? 1.什么是Linux: Linux是一款广泛应用在服务器上的操作系统。 2.什么是操作系统: 操作系统是硬件基础上的第一层软件, 应用...由于Linux多用户的特点,Linux操作系统广泛应用于服务器上。 二.
  • 趣谈linux操作系统

    千次阅读 2019-08-31 18:07:53
    学习掌握linux原理[包括Linux 操作系统的基础知识], 理论指导实践, 以期达到熟悉地在linux下工作. 2. 学习 2.1 测试 https://blog.csdn.net/william_n/article/details/103886154 ...
  • linux操作系统的基本认识

    万次阅读 多人点赞 2018-10-10 12:58:29
    我刚开始学这个东西的时候也不太清楚,只是听别人说linux操作系统什么的。那linux到底是什么?我们来认识一下:  Linux是最知名和最常用的开源操作系统。作为一个操作系统,Linux是一个软件,位于计算机上的所有...
  • 1.2 Unix/Linux操作系统介绍 1.2.1 Unix家族 1.2.2Linux家族 1.2.3Linux的两类用户 1.2.4Linux的远亲 1.2.5Linux和Unix的联系 1.2.6Linux内核及发行版介绍 1.2.7Unix/Linux开发应用领域介绍 1.1 操作系统的...
  • 了解Linux操作系统

    千次阅读 2017-07-05 14:59:05
    由于工作的需要,以后会经常跟Linux操作系统打交道。操作系统简称为OS。 (一)操作系统向上可以与应用程序交互,向下可以与设备的底层的硬件打交道,所以操作系统是一种呈上启下的一种特殊的软件。 简略的过程...
  • 一文读懂linux操作系统

    千次阅读 多人点赞 2020-03-20 14:05:13
    三相电机故障排除初识linux发展历史linux操作指令常用 Linux 命令的基本使用常用快捷键linux 与window系统的区别linux版本选择linux系统的优点linux系统学习网站linux学习建议 初识linux   Linux是一套免费使用和...
  • Linux从0到1:安装Linux操作系统(超级详细版)

    万次阅读 多人点赞 2018-06-28 10:31:09
    分享一下安装Linxu操作系统的流程 安装虚拟机 首先自己进行Vmware workstation的安装,打开此软件进行以下步骤...操作系统类型,选择Linux centos 64 自定义虚拟机名称,和文件夹位置(建议D:\VM\Centos7-1-64...
  • 带你简单了解Linux操作系统

    千次阅读 多人点赞 2020-09-05 09:50:07
    Linux操作系统简述 这里写目录标题Linux操作系统简述什么是操作系统?Linux操作系统Linux系统之父Linux为什么受欢迎?Linux发行版本Linux发行版选择建议CentOS-社区企业操作系统CentOS版本选择 什么是操作系统? ...
  • 如何查看Linux操作系统版本

    万次阅读 2018-11-30 10:28:31
    ...如何查看Linux操作系统版本 1. 查看内核版本命令:   [root@tg ]# cat /proc/version  Linux version 3.10.0-693.2.2.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4....
  • Linux操作系统基础知识

    万次阅读 多人点赞 2018-06-05 10:42:57
    一.Linux操作系统的起源1.linux操作系统是一种类Unix操作系统,他的发展与Unix操作系统息息相关。2.Unix操作系统的发展(1)1969年,Unix系统的第一个版本由Ken Thompson在DECPDP-7计算机上实现,实现了一个文件系统...
  • Linux入门(一)认识Linux操作系统

    千次阅读 2019-01-10 20:55:05
    我们知道,我们日常使用的操作系统都是windows操作系统,个别经济条件好一点的使用IOS操作系统,而与他们并驾齐驱的就是Linux操作系统,它经常被用作服务器,所以我们日常很少去使用! Linux是一套免费使用和自由...
  • VMware虚拟机中安装 Linux 操作系统

    万次阅读 多人点赞 2019-05-25 23:12:56
    四、选择Linux操作系统,版本选择Red Hat Enterprise Linux 7 64位,点击下一步。 五、虚拟机名称可默认也可自行命名,安装位置依照自己喜好而定,点击下一步。 六、学习RHCSA时,处理器数量1个就够用了,然后点击...
  • 这篇文章主要为大家详细介绍了Linux操作系统安装图文配置教程,帮助大家顺利的安装Linux操作系统,感兴趣的小伙伴们可以参考一下 随着嵌入式的发展,Linux的知识是必须的一部分,下面就让我们进行Linux系统的安装...
  • VirtualBox安装linux操作系统

    千次阅读 2019-09-25 10:24:32
    有时,物理机并不能用于安装Linux操作系统,因为你还需要在Windows进行一些日常操作,或者硬盘上存了很多东西,怕有个闪失,得不偿失,可是又想领略Linux的魅力,或者说就是想敲几个Linux命令找找感觉, 最简单的方式...
  • linux操作系统学习心得

    千次阅读 2017-08-16 05:19:49
    经过这一段时间的学习,自己对Linux也有了一定的认识,今天这篇...第二篇:《Linux操作系统分析》之分析精简的Linux的内核中断和时间片轮询第三篇:《Linux操作系统分析》之跟踪分析Linux内核的启动过程第四篇:《Linu
  • Linux操作系统》基础

    千次阅读 2019-12-09 22:40:07
    1. Linux操作系统的核心程序由芬兰赫尔辛基大学的一名学生编写。 2. Linux操作系统是一款免费使用且可以自由传播的类UNIX操作系统,它支持、、多线程及多CPU,从其诞生到现在,性能逐步得到了稳定提升。 3. Linux...
  • Linux操作系统分类详解

    千次阅读 2017-08-11 10:38:57
    Linux 操作系统的发行版本可以大体分为两类 Redhat 和 Debian ; Redhat , 应该说是在国内使用人群最多的 Linux 版本 , 甚至有人将 Redhat 等同于 Linux 操作系统 , 而有些老鸟更是只用这一个版本的 Linux 操作系统 ;...
  • 本课程为全新马哥Linux全套系列课程之一--Linux基础入门和架构了解,从Linux起源,Linux架构和Linux形成历史开始逐步讲解,让你彻彻底底了解Linux的诞生,之后介绍了Linux相关文化和核心组成结构,以及Linux常用命令...
  • Linux操作系统的启动过程

    万次阅读 2018-11-09 06:32:25
    本文主要介绍了Linux操作系统的启动过程,对于各个阶段的工作内容进行了说明。
  • Linux操作系统的层次

    千次阅读 2018-03-29 13:28:06
    简单来说,Linux操作系统整体分为三层 最底层的硬件系统,包括CPU、内存、硬盘、网卡等; 硬件系统之上是内核,这是操作系统的核心,负责管理硬件系统,同时为上层的应用程序提供操作接口; 用户进程在这表示...
  • 如何查看Linux操作系统版本?

    万次阅读 2017-11-28 20:36:48
    参考地址:... 如何查看Linux操作系统版本? 1. 查看内核版本命令: $ cat /proc/version Linux version 2.6.32-358.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 2012031
  • 何绍华Linux操作系统第3版章节课后答案习题

    千次阅读 热门讨论 2020-10-20 12:37:31
    linux操作系统复习资料 Linux操作系统课后习题答案及复习要点 Linux课复习资料:https://wenku.baidu.com/view/193d9bb809a1284ac850ad02de80d4d8d05a0138.html linux答案:...
  • 查看Linux操作系统版本

    千次阅读 2018-05-08 11:32:54
    参考地址:...amp;fps=1如何查看Linux操作系统版本?1. 查看内核版本命令:$ cat /proc/version Linux version 2.6.32-358.el6.x86_64 (mockbuild@c6b8.bsys.dev....
  • Linux操作系统应用领域详解

    千次阅读 2018-07-12 18:13:14
    常用的IT服务器有Linux、Unix和Windows...Linux操作系统主要有以下三大应用领域: 1. Linux作为企业级服务器的应用Linux系统可以为企业架构WWW服务器、数据库服务器、负载均衡服务器、邮件服务器、DNS服务器、代理...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 359,639
精华内容 143,855
关键字:

linux操作

linux 订阅