Linux

14.1 操作系统介绍

14.1.1 计算机的历史

第一代计算机(1946~1958)

电子管为基本电子器件;使用机器语言和汇编语言;主要应用于国防和科学计算;运算速度每秒几千次至几万次。

第二代计算机(1958~1964)

晶体管为主要器件;软件上出现了操作系统和算法语言;运算速度每秒几万次至几十万次。

第三代计算机(1964~1971)

普遍采用集成电路;体积缩小;运算速度每秒几十万次至几百万次。

第四代计算机(1971~ )

以大规模集成电路为主要器件;运算速度每秒几百万次至上亿次。

14.1.2 操作系统的分类

操作系统的定义

操作系统(Operating System,简称OS),是电子计算机系统中负责支撑应用程序运行环境以及用户操作环境的系统软件,同时也是计算机系统的核心与基石。操作系统是控制和管理计算机软硬件资源、合理组织计算机工作流程,以及方便用户操作的程序集合。它的职责常包括对硬件的直接监管、对各种计算资源(如内存、处理器时间等)的管理、以及提供诸如作业管理之类的面向应用程序的服务等等。操作系统的理论是计算机科学中一个古老而又活跃的分支,而操作系统的设计与实现则是软件工业的基础与核心。

常见分类:

手机:Android、IOS

电脑:UNIX、LINUX、MacOS、Windows

UNIX

UNIX是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统。UNIX 最早由Ken Thompson和Dennis Ritchie于1969年在美国AT&T的贝尔实验室开发。

类Unix(Unix-like)操作系统指各种传统的Unix以及各种与传统Unix类似的系统。它们虽然有的是自由软件,有的是商业软件,但都相当程度地继承了原始UNIX的特性,有许多相似处,并且都在一定程度上遵守POSIX规范。类Unix系统可在非常多的处理器架构下运行,在服务器系统上有很高的使用率,例如大专院校或工程应用的工作站。

Linux

基于Linux的操作系统是20世纪1991年推出的一个多用户、多任务的操作系统。它与UNIX完全兼容。Linux最初是由芬兰赫尔辛基大学计算机系学生Linus Torvalds在基于UNIX的基础上开发的一个操作系统的内核程序,Linux的设计是为了在Intel微处理器上更有效的运用。其后在理查德·斯托曼的建议下以GNU通用公共许可证发布,成为自由软件Unix变种。它的最大的特点在于他是一个源代码公开的自由及开放源码的操作系统,其内核源代码可以自由传播。

经历数年的披荆斩棘,自由开源的Linux系统逐渐蚕食以往专利软件的专业领域,例如以往计算机动画运算巨擘──SGI的IRIX系统已被Linux家族及贝尔实验室研发小组设计的九号计划与Inferno系统取代,皆用于分散表达式环境。它们并不像其他Unix系统,而是选择自带图形用户界面。九号计划原先并不普及,因为它刚推出时并非自由软件。Linux有各类发行版,通常为GNU/Linux,如Debian(及其衍生系统Ubuntu、Linux Mint)、Fedora、openSUSE等。Linux发行版作为个人计算机操作系统或服务器操作系统,在服务器上已成为主流的操作系统。

MacOSX

MacOS是一套运行于苹果Macintosh系列电脑上的操作系统。Mac OS是首个在商用领域成功的图形用户界面。Macintosh组包括比尔·阿特金森(Bill Atkinson)、杰夫·拉斯金(Jef Raskin)和安迪·赫茨菲尔德(Andy Hertzfeld)。Mac OS X于2001年首次在商场上推出。它包含两个主要的部分:Darwin,是以BSD原始代码和Mach微核心为基础,类似Unix的开放原始码环境。

Windows

Windows是由微软公司成功开发的操作系统.Windows是一个多任务的操作系统,他采用图形窗口界面,用户对计算机的各种复杂操作只需通过点击鼠标就可以实现。

MicrosoftWindows系列操作系统是在微软给IBM机器设计的MS-DOS的基础上设计的图形操作系统。Windows系统,如Windows 2000、Windows XP皆是创建于现代的Windows NT内核。NT内核是由OS/2和OpenVMS等系统上借用来的。Windows可以在32位和64位的Intel和AMD的处理器上运行,但是早期的版本也可以在DEC Alpha、MIPS与PowerPC架构上运行。虽然由于人们对于开放源代码作业系统兴趣的提升,Windows的市场占有率有所下降,但是到2004年据库服务等一些功能。

WindowsXP在2001年10月25日发布,2004年8月24日发布服务包2,2008年4月21日发布最新的服务包3。微软上一款操作系统Windows Vista(开发代码为Longhorn)于2007年1月30日发售。Windows Vista增加了许多功能,尤其是系统的安全性和网络管理功能,并且其拥有界面华丽的Aero Glass。但是整体而言,其在全球市场上的口碑却并不是很好。Windows 8微软在2012年10月正式推出,系统有着独特的metro开始界面和触控式交互系统,2013年10月17日晚上7点,Windows 8.1在全球范围内,通过Windows上的应用商店进行更新推送。2014年1月22日,微软在美国旧金山举行发布会,正式发布了Windows 10消费者预览版。

iOS

iOS操作系统是由苹果公司开发的手持设备操作系统。iOS与苹果的Mac OS X操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。原本这个系统名为iPhone OS,直到2010年6月7日WWDC大会上宣布改名为iOS。截止至2011年11月,根据Canalys的数据显示,iOS已经占据了全球智能手机系统市场份额的30%,在美国的市场占有率为43%。

Android

Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。2012年11月数据显示,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。

14.1.3 Linux系统介绍

Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境。Linux是由Linus Torvalds(林纳斯·托瓦兹)起初开发的,由于源代码的开放性,现在已经衍生出了千上百种不同的Linux系统。

Linux系统的应用非常广泛,不仅可以长时间的运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,比如手机、平板电脑、路由器等。尤其在这里提及一下,我们熟知是Android程序最底层就是运行在linux系统上的。

14.1.4 Linux分类

Linux根据市场需求不同,基本分为两个方向:

1)图形化界面版:注重用户体验,类似window操作系统,但目前成熟度不够

2)服务器版:没有好看的界面,是以在控制台窗口中输入命令操作系统的,类似于DOS,是我们架设服务器的最佳选择。

Linux根据原生程度,又分为两种:

1)内核版本:在Linus领导下的内核小组开发维护的系统内核的版本号

2)发行版本:一些组织或公司在内核版基础上进行二次开发而重新发行的版本

Linux发行版本不同,又可以分为n多种:

14.2 Linux安装

因为Linux也是一个系统,本质上跟我们电脑的Window没有区别,所以我们要学习Linux就首先将我们电脑的Window系统换成Linux系统,或者在我们电脑上安装双系统,听上去是不是很可怕。其实我们可以在我们电脑上安装一个软件,这个软甲可以模拟一台或多台虚拟的电脑机器,这就是虚拟机

虚拟器常用的有两种:

VMware(威睿)公司的虚拟机软件,功能强大

14.2 Linux安装

因为Linux也是一个系统,本质上跟我们电脑的Window没有区别,所以我们要学习Linux就首先将我们电脑的Window系统换成Linux系统,或者在我们电脑上安装双系统,听上去是不是很可怕。其实我们可以在我们电脑上安装一个软件,这个软甲可以模拟一台或多台虚拟的电脑机器,这就是虚拟机

虚拟器常用的有两种:

VMware(威睿)公司的虚拟机软件,功能强大

由于市场上VMware使用率很高,所以我们安装VMware 。

背景

服务器版的Linux安装完毕了,但没有图形化界面,我们只能通过控制台去操作系统,我们就要使用类似DOS命令的Linux命令去操作系统,那么下面我们就进行Linux的命令的学习。Linux命令成百上千,课程不能一一涉及,也没有必要一一涉及,根据我们程序员在日常工作中的需求,总结出如下几种供学习。

15.1 目录切换命令

15.1.1 目录切换命令

window中通过图形化界面和鼠标可以任意切换需要进入的目录,但Linux必须通过cd命令切换目录。但在学习cd命令之前,我们有必要分清Linux的目录结构

image-20201117200454774.png

cd usr/ 切换到该目录下usr目录cd ../ 切换到上一层目录cd /切换到系统根目录cd ~ 切换到用户主目录

15.2 目录操作命令

15.2.1 增加目录

命令:mkdir 目录名称

示例:在根目录 / 下 mkdir test,就会在根目录 / 下产生一个test问目录

image-20201117200517283.png

15.2.2 查看目录

命令:ls [-al] 父目录

示例:在根目录 / 下使用ls,可以看到该目录下的所有的目录和文件

image-20201117200537182.png

示例:在根目录 / 下使用ls -a,可以看到该目录下的所有文件和目录,包括隐藏的

image-20201117200556513.png

示例:在根目录 / 下使用ls -l,可以看到该目录下的所有目录和文件的详细信息

image-20201117200620587.png

注意:ls -l 可以缩写成ll

15.2.3 寻找目录

命令:find 目录 参数(重点)

示例:查找/root下的与test相关的目录(文件)find / -name ‘test*

image.png

注意:注意这里涉及权限问题,需要先切换到root目录

//    切换到root目录su root//  切换到普通用户目录su anfly

15.2.4 修改目录名称

命令:mv 目录名称 新目录名称

image.png

注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作

15.2.5 移动目录位置(剪切)

前提:必须切换到跟目录,否则没有权限

命令:mv 目录名称 目录的新位置

示例:在test下将newTest目录剪切到 /usr下面,使用mv newTest usr/

image-20201117200655557.png

注意:

mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作

文件显示为黑色,文件夹显示为蓝色,剪切的时候必须是在新位置后加/

15.2.6 拷贝目录

命令:cp -r 被目录名称 目录拷贝的目标位置 -----r代表递归拷贝

1. 被复制目录和目标目录需要写全路径,否则按照根目录处理2. 可以在任意位置复制

示例:将/usr下的newTest拷贝到根目录下的test中,使用cp -r /usr/newTest test/rm

image-20201117200715468.png

注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不用写-r递归

15.2.7 删除目录

(7)删除目录(删)

命令:rm [-rf] 目录

示例:删除/usr下的newTest,进入/usr下使用rm -r newTest

image-20201117200731190.png

示例:删除/test下的newTest而不需要询问强制删除,在/test下使用rm -rf newTest

image-20201117200745859.png

注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了增强大家的记忆,无论删除任何目录或文件,都直接使用rm -rf 目录/文件/压缩包

15.3 文件操作命令

15.3.1 文件创建

命令:touch 文件名称 ----- 空文件

示例:在test目录下创建一个空文件 touch aaa.txt

image-20201117200801504.png

15.3.2 文件查看

命令:cat/more/less/tail 文件

示例:使用cat查看/etc/profile文件,只能显示最后一屏内容

示例:使用more查看/etc/profile文件,可以显示百分比,回车可以向下一行, 空格可以向下一页,q可以退出查看

示例:使用less查看/etc/profile文件,可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看

示例:使用tail -10 查看/etc/profile文件的后10行,Ctrl+C结束

注意:命令 tail -f 文件 可以对某个文件进行动态监控,例如tomcat的日志文件, 会随着程序的运行,日志会变化,可以使用tail -f catalina-2016-11-11.log 监控 文 件的变化

补充:公司的日志的格式

15.3.3 修改文件内容

三种模式:命令模式,编辑模式,底行模式

命令:vim 文件

示例:编辑/test下的aaa.txt文件,使用vim aaa.txt

image.png

但此时并不能编辑,因为此时处于命令模式,点击键盘i/a/o进入编辑模式,可以  编辑文件

image.png

编辑完成后,按下Esc,退回命令模式

此时文件虽然已经编辑完成,但是没有保存,需输入冒号:进入底行模式,在底行模  式下输入wq代表写入内容并退出,即保存;输入q!代表强制退出不保存。

image.png

总结:

vim编辑器是Linux中的强大组件,是vi编辑器的加强版,vim编辑器的命令和快捷方式有很多,但此处不一一阐述,大家也无需研究的很透彻,使用vim编辑修改文件的方式基本会使用就可以了。附:《vi使用方法介绍》《vim命令合集》

关于vim使用过程:

在实际开发中,使用vim编辑器主要作用就是修改配置文件

vim 文件------>进入文件----->命令模式------>按i进入编辑模式----->编辑文件  ------->按Esc进入底行模式----->输入:wq/q!

15.3.4 删除文件

同目录删除:熟记 rm -rf 文件 即可

15.4 压缩文件操作命令

15.4.1 打包并压缩文件

打包是指将一大堆文件或目录什么的变成一个总的文件,压缩则是将一个大的文件通过一些压缩算法变成一个小文件。

Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。

而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。

命令:tar -zcvf 打包压缩后的文件名 要打包压缩的文件

其中:

z:调用gzip压缩命令进行压缩c:打包文件v:显示运行过程f:指定文件名

示例:打包并压缩/test下的所有文件 压缩后的压缩包指定名称为xxx.tar.gz

tar -zcvf xxx.tar.gz aaa.txt bbb.txt ccc.txt

或:tar -zcvf xxx.tar.gz /test/*

image.png

15.4.2 解压压缩包(重点)

命令:tar [-xvf] 压缩文件

其中:x:代表解压

示例:将/test下的xxx.tar.gz解压到当前目录下:tar -xvf xxx.tar.gz

image.png

示例:将/test下的xxx.tar.gz解压到根目录/usr下

tar -xvf xxx.tar.gz -C /usr------C代表指定解压的位置

image.png

15.5 其他命令

15.5.1 显示当前所在位置

命令:pwd

image.png

15.5.2 搜索命令

命令:grep 要搜索的字符串 要搜索的文件

示例:搜索/usr/sudu.conf文件中包含字符串to的行

image.png

示例:搜索/usr/sudu.conf文件中包含字符串to的行 to要高亮显示

15.5.3 管道命令

命令:|  将前一个命令的输出作为本次目录的输入

示例:查看当前系统中所有的进程中包括system字符串的进程ps -ef |grep system

image.png

15.5.4 查看进程

命令:ps -ef

示例:查看当前系统中运行的进程

image.png

15.5.5 杀死进程

命令:kill -Signal 进程的pid

Signal:发送给进程的信号

15:默认信号,你需要被关闭,请自行停止运行并退出。

9:“无条件终止”,强制关闭

mage.png

15.5.6 网络通信命令

查看当前系统的网卡信息:ifconfig

image.png

查看与某台机器的连接情况:ping

image.png

15.5.7 查看当前系统的端口使用

netstat –an,通常和 | grep一起使用

image.png

也可以单独使用

15.6 Linux的权限命令

15.6.1 Linux的权限命令

权限是Linux中的重要概念,每个文件/目录等都具有权限,通过ls -l命令我们可以 查看某个目录下的文件或目录的权限

示例:在随意某个目录下ls -l

image.png

第一列的内容的信息解释如下:

权限.png

这个字符串有10位,可以分为4段来解读。

第一段(第1位)表示是目录还是文件,-表示是文件,d表示是目录;

第二段(第2-4位,共3个字符串)表示文件所属用户对它的权限 - 属主权限(User);

第三段(第5-7位,共3个字符串)表示文件所属用户组用户对它的权限 - 属组权限(Group);

第四段(第8-10位,共3个字符串)表示其他用户对它的权限 - 其他权限(other);

注:

①我们用3位8进制来表示文件的权限,r(read)用4标识,w(write)用2标识,x(excute)用1标识

②r–可读,w–可写,x–可执行。

③每一段的三位顺序不可变,如果没有对应的权限,则使用-表示

上图中的-rwxrw-r–可以用八进制数字764表示。

案例:

-rwxrwxrwx

转算成八进制,777,代表这是一个对所有人开发权限的文件。

15.6.2 修改文件/目录的权限的命令:chmod

示例:修改/test下的aaa.txt的权限为属主有全部权限,属主所在的组有读写权限,

其他用户只有读的权限

chmod u=rwx,g=rw,o=r aaa.txt

image-20201117201923200.png

上述示例还可以使用数字表示:

chmod 764 aaa.txt

15.7 free查看内存信息

15.7.1 free查看内存信息

free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等

image.png

df  df -h 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计

image.png

15.8 top查看资源信息(CPU)

15.8.1 top查看资源信息(CPU)

image.png

补充:

关机命令

reboot  重新启动操作系统

shutdown -h now 立刻关机,其中now相当于时间为0的状态

shutdown -h 10:23

shutdown -h +10  系统再过十分钟后自动关机

总结

Linux命令

    目录操作

        cd usr/                            切换到该目录下usr目录

        cd ..                                切换到上一层目录

        cd /                                切换到系统根目录

        mkdir 目录名称              创建目录

        ls      目录名称                查询该目录下所有的目录和文件

        ls [-a]  目录名称              查询该目录下所有的目录和文件,包含隐藏文件

        ls [-l]  目录名称              查询该目录下所有的目录和文件的详细信息

        find / -name 目录名称    查找/root下的目录(文件)

        mv 目录名称 新目录名称  修改目录名称

        mv 目录名称 目录的新位置      剪切

        cp -r 目录名称 目录的目标位置  拷贝

        rm -rf  目录                  强制删除目录

    文件操作

        touch 文件名称            创建空文件

        cat/more/less/tail 文件  查看文件内容

        tail -f 文件                  动态查看/实时查看文件(日志)

        grep 要搜索的字符串 要搜索的文件                关键字搜索

        vi/vim  文件                修改文件内容

        rm -rf 文件                强制删除文件

    文件的打包

        tar -zcvf 文件名.tar  要打包的文件

    文件的解压 

        tar -xvf 文件名.tar

    扩充:将文件解压到固定位置

        tar -xvf 文件名.tar -C 指定解压的位置

    查询当前所在位置

        pwd     

    查看进程

        ps -ef | grep 进程名称(tomcat/mysql)

    杀死进程

        kill -9 进程pid

    查看端口号

        netstat -an | grep 端口号(3306)

    查看服务器ip

        ifconfig

    查看网络是否能正常使用

        ping 外网地址            查看是否能访问外网

        ping 内网ip                查看是否能访问内网

    权限命令

        chmod 777 文件        赋权

    查看cpu

        top

    查看磁盘信息

        df -h

    查看内存信息

        free   

    关机命令

        shutdown -h now  立刻关机,其中now相当于时间为0的状态

        shutdown -h 10:23

        shutdown -h +10    系统再过十分钟后自动关机

    重新启动

        reboot    重新启动操作系统

```·

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容

  • 14.1 操作系统介绍 14.1.1 计算机的历史 第一代计算机(1946~1958) 电子管为基本电子器件;使用...
    小耑阅读 327评论 0 0
  • 一、虚拟机安装 本次虚拟机,采用众多周知的VMware。当然还可以使用VirtualBox安装,都是可以的。在此以...
    鲁克巴克诗阅读 624评论 0 3
  • 背景 服务器版的Linux安装完毕了,但没有图形化界面,我们只能通过控制台去操作系统,我们就要使用类似DOS命令的...
    A枭阅读 190评论 0 0
  • 背景 服务器版的Linux安装完毕了,但没有图形化界面,我们只能通过控制台去操作系统,我们就要使用类似DOS命令的...
    玉奎阅读 210评论 0 0
  • 第二单元 Linux常用命令及使用 背景 服务器版的Linux安装完毕了,但没有图形化界面,我们只能通过控制台去操...
    e455c2732c37阅读 144评论 0 0