Linux知识概括

JavaEE 专栏收录该内容
9 篇文章 0 订阅

Linux介绍

为什么使用Linux?

  • Linux与开源软件
    Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。严格来讲,Linux只是操作系统内核本身,但通常采用“Linux内核”来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统,它包括GUI组件和许多其他实用工具。GNU通用公共许可协议(GNU General Public License,简称GNU GPL或GPL),是一个广泛被使用的自由软件许可协议条款,最初由理查德斯托曼为GNU计划而撰写,GPL给予了计算机程序自由软件的定义, 任何基于GPL软件开发衍生的产品在发布时必须采用GPL许可证方式,且必须公开源代码。Linux是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。随着Linux操作系统飞速发展,各种集成在Linux上的开源软件和实用工具也得到了应用和普及,因此,Linux也成为了开源软件的代名词。

  • Linux在服务器领域的发展
    随着开源软件在世界范围内影响力日益增强,Linux服务器操作系统在整个服务器操作系统市场格局中占据了越来越多的市场份额,已经形成了大规模市场应用的局面。并且保持着快速的增长率。尤其在政府、金融、农业、交通、电信等国家关键领域。此外,考虑到Linux的快速成长性以及国家相关政策的扶持力度,Linux服务器产品一定能够冲击更大的服务器市场。据权威部门统计,目前Linux在服务器领域已经占据75%的市场份额,同时,Linux在服务器市场的迅速崛起,已经引起全球IT产业的高度关注,并以强劲的势头成为服务器操作系统领域中的中坚力量。

  • Linux在桌面领域的发展
    近年来,特别在国内市场,Linux桌面操作系统的发展趋势非常迅猛。国内如中标麒麟Linux、红旗Linux、深度Linux等系统软件厂商都推出的Linux桌面操作系统,目前已经在政府、企业、OEM等领域得到了广泛应用。另外SUSE、Ubuntu也相继推出了基于Linux的桌面系统,特别是Ubuntu Linux,已经积累了大量社区用户。但是,从系统的整体功能、性能来看,Linux桌面系统与Windows系列相比还有一定的差距,主要表现在系统易用性、系统管理、软硬件兼容性、软件的丰富程度等方面。

  • Linux在嵌入式系统方面广泛使用及领域的发展
    Linux的低成本、强大的定制功能以及良好的移植性能,使得Linux在嵌入式系统方面也得到广泛应用,目前Linux以广泛应用于手机、平板电脑、路由器、电视和电子游戏机等领域。的Android操作系统就是创建在Linux内核之上的。目前,Android已经成为全球最流行的智能手机操作系统,据2015年权威部门最新统计,Android操作系统的全球市场份额已达84.6%。
    此外,思科在网络防火墙和路由器也使用了定制的Linux,阿里云也开发了一套基于Linux的操作系统“YunOS”,可用于智能手机、平板电脑和网络电视;常见的数字视频录像机、舞台灯光控制系统等都在逐渐采用定制版本的Linux来实现,而这一切均归功与Linux与开源的力量。

  • Linux在云计算/大数据领域的发展
    互联网产业的迅猛发展,促使云计算、大数据产业的形成并快速发展,云计算、大数据作为一个基于开源软件的平台,Linux占据了核心优势;据Linux基金会的研究,86%的企业已经使用Linux操作系统进行云计算、大数据平台的构建,目前,Linux已开始取代Unix成为最受青睐的云计算、大数据平台操作系统。

  • 下面我们谈下linux的发展:
    linux是基于unix发展而来的,最一开始是由linus为首开发的,而那个时候linux还是一个学生,由此可见,国外牛人也是非常强悍的,一开始呢,unix其实也是开源的,linux所在的学校是用unix来教学的,但是突然有一天unix宣布要收费,而且采取闭源的方式,因此就不能继续使用了,所以linux这个时候就自己折腾操作系统出来,这就是鼎鼎大名的linux前身。
    目前主流的linux版本有redhat/centos,ubuntu,suse,包括国产的红旗等等一系列,那么在企业中最常用的一般是redhat 和 centos
    redhat是收费的,centos可以认为是redhat的免费版本,因此很多企业也使用centos, 我们的教学过程中也使用centos, 像ubuntu的话,更加适合个人PC机,桌面版本的。

学习linux流程为:

  • 第1阶段:linux环境下的基本操作命令,包括 文件操作命令(rm mkdir chmod, chown) 编 辑工具使用(vi vim)linux用户管理(useradd userdel usermod)等
  • 第2阶段:linux的各种配置(环境变量配置,网络配置,服务配置)
  • 第3阶段:linux下如何搭建对应语言的开发环境(大数据,JavaEE, Python等)
  • 第4阶段:能编写shell脚本,对Linux服务器进行维护。
  • 第5阶段:能进行安全设置,防止攻击,保障服务器正常运行,能对系统调优。
  • 第6阶段:深入理解Linux系统(对内核有研究),熟练掌握大型网站应用架构组成、并熟悉各个环节的部署和维护方法。

shell脚本(linux命令集):

  • Shell脚本也叫Shell Script,与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。
  • shell和shell脚本有什么区别?
    ①确切一点说,Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统。它为用户提供了一个向Linux发送请求以便运行程序的接口系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。 Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言(就是你所说的shell脚本)。
    ②作为命令语言,它互动式地解释和执行用户输入的命令;
    ③作为程序设计语言,它定义了各种变量和参数,并提供了许多在高阶语言中才具有的控制结构,包括循环和分支。它虽然不是 Linux系统内核的一部分,但它调用了系统内核的大部分功能来执行程序、创建文档并以并行的方式协调各个程序的运行。
  • 总括,shell脚本是linux命令集的概称,是属于命令行的人机界面。Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁。
  • 注意:
    ①shell文件后缀名是.sh
    shell脚本就是是linux命令
    ③常见的命令行shell:bash (Bourne-Again shell),目前绝大多数 Linux 发行版的默认 shell。
    ④也就是说linux命令可以单行打也可以成批打,日常操作就是单行打使用脚本就是成批打的,然后一次性执行

Linux和Windows比较:
在这里插入图片描述
Linux与Unix:在这里插入图片描述

Linux内核与发行版:
Linux内核:
linux内核是一种开放源码的操作系统,由Linux Torvalds负责维护,提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。

Linux发行版:
linux发行版基于linux内核源码,将Linux系统的内核与外围实用程序(Utilities)软件和文档包装起来,并提供一些系统安装界面和系统配置、设定与管理工具,就构成了一种发行版本(distribution),Linux的发行版本其实就是Linux核心再加上外围的实用程序组成的一个大软件包。
在这里插入图片描述

VMware软件与发行版:
在这里插入图片描述
ISO镜像文件:

  • .iso是电脑上光盘镜像(CDMirror)的存储格式之一,因为其是根据ISO-9660有关CD-ROM文件系统标准存储的文件,所以通常在电脑中以后缀.iso命名,俗称iso镜像文件。它形式上只有一个文件,可以真实反映光盘的内容,可由刻录软件或者镜像文件制作工具创建。
  • 镜像,原意是光学里指的物体在镜面中所成之像。引用到电脑网络上,一个网站的镜像是指对一个网站内容的拷贝。镜像通常用于为相同信息内容提供不同的源,特别是在下载量大的时候提供了一种可靠的网络连接。制作镜像是一种文件同步的过程。“镜像网站”,又译作““镜像站点” ,亦即把一个互联网上的网站数据“拷贝”到本地服务器,并保持本地服务器数据的同步更新,因此也称为“复制网络站点” 。

Linux虚拟机安装配置:在这里插入图片描述
VMware中,该如何理解桥接网络与NAT 网络模式

VMware工具

介绍:
vmtools 安装后,可以让我们在windows下更好的管理vm虚拟机:

  1. 可以直接粘贴命令在windows 和 虚拟机系统之间
  2. 可以设置windows和虚拟机系统的共享文件夹

设置共享文件夹:

  1. 为了方便,可以设置一个共享文件夹,比如d:/share 。
  2. windows 和 contos 就可以共享文件了,但是在实际公司开发中,文件的上传下载是需要使用 远程方式完成的。

设置共享文件夹具体步骤:

  1. 菜单->vm->setting, 如图设置即可注意:设置选项为always enable ,这样可以读写了
  2. windows和虚拟机系统可共享 d:/share目录可以读写文件了
  3. 在centos的 /mnt/hgfs/ 下

Linux目录结构

Linux目录简介:

  • linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。
  • 记住一句经典的话:在Linux世界里,一切皆文件。
    在这里插入图片描述
  • 具体的目录结构:
    /bin [重点] :(/usr/bin 、 /usr/local/bin)是Binary的缩写, 这个目录存放着最经常使用的命令。
    /sbin (/usr/sbin 、 /usr/local/sbin):s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
    /home [重点]:存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
    /root[重点]:该目录为系统管理员,也称作超级权限者的用户主目录。
    /lib:系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
    /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
    /etc [重点]:所有的系统管理所需要的配置文件和子目录 my.conf
    /usr [重点]:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
    /boot [重点]:存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
    /proc:这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息。
    /srv:service缩写,该目录存放一些服务启动之后需要提取的数据。
    /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统
    /tmp:这个目录是用来存放一些临时文件的。
    /dev:类似于windows的设备管理器,把所有的硬件用文件的形式存储。
    /media [重点]:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
    /mnt [重点]:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。 d:/myshare
    /opt:这是给主机额外安装软件所摆放的目录。如安装ORACLE数据库就可放到该目录下。默认为空。
    /usr/local :[重点]这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序。
    /var :[重点]这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件。
    /selinux [security-enhanced linux] 360:SELinux是一种安全子系统,它能控制程序只能访问特定文件。
  • 链接:Linux中的文件和目录结构详解

远程登录

为什么需要远程登录Linux?

  • 公司开发时候, 具体的情况是这样的:
    ①linux服务器是开发小组共享的.
    ②正式上线的项目是运行在公网的.
    ③因此程序员需要远程登录到虚拟操作系统进行项目管理或者开发.
    ④画出简单的网络拓扑示意图(帮助理解)
    ⑤远程登录客户端有 Xshell5,SecureCRT。远程上传下载文件有 Xftp5 ,WinSCP,。我们学习使用 Xshell5 和 Xftp , 其它的远程工具大同小异。
    在这里插入图片描述

远程登录Linux-Xshell5:

  • Xshell 是目前最好的远程登录到Linux操作的软件,流畅的速度并且完 美解决了中文乱码的问题, 是目前程序员首选的软件。
  • Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET协议。
  • Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好 的达到远程控制终端的目的

远程上传下载文件Xftp5:

  • 是一个基于 windows 平台的功能强大的SFTP、FTP 文件传输软件。使用了 Xftp 以后,windows 用户能安全地在UNIX/Linux 和 Windows PC 之间传输文 件。

Vi和Vim编辑器

Vi和Vim编辑器介绍:

  • 所有的 Linux 系统都会内建 vi 文本编辑器。
  • Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
  • 链接:Linux vi/vim

vi和vim常用的三种模式:

  • 命令模式:
    ①用户刚刚启动 vi/vim,便进入了命令模式。
    ②此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
    ③以下是常用的几个命令:
    <1>i 切换到输入模式,以输入字符。
    <2>x 删除当前光标所在处的字符。
    <3>: 切换到底线命令模式,以在最底一行输入命令。
    ④若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
    ⑤命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

  • 输入模式:
    ①在命令模式下按下i, I, o, O, a, A, r, R等任何一个字母之后进入输入模式, 一般来说按i即可。
    ②在输入模式中,可以使用以下按键:
    <1>字符按键以及Shift组合,输入字符
    <2>ENTER,回车键,换行
    <3>BACK SPACE,退格键,删除光标前一个字符
    <4>DEL,删除键,删除光标后一个字符
    <5>方向键,在文本中移动光标
    <6>HOME/END,移动光标到行首/行尾
    <7>Page Up/Page Down,上/下翻页
    <8>Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
    <9>ESC,退出输入模式,切换到命令模式

  • 底线命令模式:
    ①在命令模式下按下:(英文冒号)就进入了底线命令模式。
    ②底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
    ③在底线命令模式中,基本的命令有(已经省略了冒号):
    <1>q 退出程序
    <2>w 保存文件
    ③按ESC键可随时退出底线命令模式。

我们可以将这三个模式想成底下的图标来表示:
在这里插入图片描述

开机、重启和用户登录注销

关机&重启命令:
shutdown –h now ---------------立该进行关机
shudown -h 1---------------------“hello, 1 分钟后会关机了”
shutdown –r now-----------------现在重新启动计算机
halt----------------------------------关机,作用和上面一样.
reboot ------------------------------现在重新启动计算机
sync --------------------------------把内存的数据同步到磁盘.

注意:不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中

用户登录和注销:

  1. 登录时尽量少用root帐号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登录后再用”su - 用户名’命令来切换成系统管理员身份.
  2. 在提示符下输入 logout 即可注销用户

注意: logout 注销指令在图形运行级别无效,在运行级别 3下有效

用户管理

用户管理介绍:

  • Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
  • 添加用户:
    基本语法:useradd 用户名
    ②当创建用户成功后,会自动的创建和用户同名的家目录
    ③也可以通过 useradd -d 指定目录 新的用户名,给新创建的用户指定家目录
  • 指定/修改密码:
    基本语法:passwd 用户名
  • 删除用户:
    基本语法: userdel 用户名
    ②userdel –r 用户名表示删除用户时,将家目录一起删除。
  • 查询用户信息指令:
    基本语法:id 用户名
    ②当用户不存在时,返回无此用户
  • 切换用户:
    基本语法:su – 切换用户名
    ②从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
    当需要返回到原来用户时,使用exit指令
  • 查看当前用户/登录用户:
    基本语法:whoami/ who am I
  • 用户组:
    新增组----基本语法:groupadd 组名
    删除组----基本语法:groupdel 组名
    增加用户时直接加上组 ----基本语法:useradd –g 用户组 用户名
    修改用户的组 ----基本语法:usermod –g 用户组 用户名

linux su和sudo命令的区别:

  • 内容不同:
    su命令:用来切换用户,substitute英文含义“代替”的意思。
    sudo命令:sudo为superuser do 的简写,即使用超级用户来执行命令,一般是指root用户。
  • 用法不同:
    ①su命令:不加用户名默认是切换为root用户,切当前目录不改变,其他环境变量不变。
    ②sudo命令: 查看当前用户可以用sudo执行的命令都有哪些。
  • 环境不同:
    ①su命令:切换到root用户,但是并没有转到root用户家目录下,即没有改变用户的环境。
    ②sudo命令:是当前用户切换到root,然后以root身份执行命令,执行完成后,直接退回到当前用户,而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权。

用户和组的相关文件:

  • /etc/passwd 文件:
    ①用户(user)的配置文件,记录用户的各种信息
    ②每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell在这里插入图片描述

  • /etc/shadow 文件:
    ①口令的配置文件
    ②每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

  • /etc/group 文件:
    ①组(group)的配置文件,记录Linux包含的组的信息
    ②每行含义:组名:口令:组标识号:组内用户列表在这里插入图片描述
    用户和组的相关文件示意图:
    在这里插入图片描述

实用指令

Linux命令格式:

  • 格式:command [-options] [parameter1] ...
  • command:命令名。相应功能的单词英文单词或单词缩写 。
  • options:选项,可用来对命令进行控制,也可以省略,[]代表可选。
  • parameter1…:传给命令的参数,可以是零个,一个或多个。
  • 常用Linux命令链接:Linux 常用命令学习

指定运行级别:在这里插入图片描述

  • 运行级别说明:
    0 :关机
    1 :单用户【找回丢失密码】
    2:多用户状态没有网络服务
    3:多用户状态有网络服务
    4:系统未使用保留给用户
    5:图形界面
    6:系统重启
  • 常用运行级别是3和5 ,要修改默认的运行级别可改文件/etc/inittab的id:5:initdefault:这一行中的数字
    命令语法:init [012356]

其他常用指令

执行脚本:

  • 链接:shell程序执行方式
  • 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:
    ①./的意思是说在当前的工作目录下执行hello.sh。如果不加上./,bash可能会响应找到不到hello.sh的错误信息。
    ②因为目前的工作目录(/data/shell)可能不在执行程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中。查看PATH的内容可用 echo $PASH 命令。现在的/data/shell就不在环境变量PASH中的,所以必须加上./才可执行。
cd /data/shell
./hello.sh
  • 方法二:以绝对路径的方式去执行bash shell脚本:
/data/shell/hello.sh
  • 方法三:直接使用bash 或sh 来执行bash shell脚本:
    ①若是以方法三的方式来执行,那么可以不必事先设定shell的执行权限,甚至都不用写shell文件中的第一行(指定bash路径)。因为方法三是将hello.sh作为参数传给sh(bash)命令来执行的。这时不是hello.sh自己来执行,而是被人家调用执行,所以不要执行权限。那么不用指定bash路径自然也好理解了啊。
cd /data/shell

bash hello.sh
或

cd /data/shell

sh hello.sh
  • 方法四:在当前的shell环境中执行bash shell脚本:
    ①前三种方法执行shell脚本时都是在当前shell(称为父shell)开启一个子shell环境,此shell脚本就在这个子shell环境中执行。shell脚本执行完后子shell环境随即关闭,然后又回到父shell中。
    ②而方法四则是在当前shell中执行的。
cd /data/shell

. hello.sh
或

cd /data/shell

source hello.sh

设置和查看环境变量:

  • 使用env命令显示所有的环境变量
 env
  • 显示环境变量HOME
echo $HOME
  • 设置一个新的环境变量hello
export HELLO="Hello!"
  • 使用set命令显示所有本地定义的Shell变量
set
  • 使用unset命令来清除环境变量
unset $TEST #删除环境变量TEST
  • Linux中的$符号的三种常见用法:
    ①用法一:显示脚本参数($0、$?、$*、$@、$#、$$、$!)(本质上属于变量替换)
    ②用法二:获取变量与环境变量的值
    ③链接:Linux中的$符号的三种常见用法

清屏命令:

  • clear 命令实操,清掉终端命令屏幕显示的内容。
  • 当终端命令屏显示的内空太多后,想清掉屏幕上显示的内容怎么办,用clear命令即可。
  • 输入命令:clear,按回车,会看到终端命令屏上显示的内容全部被清空。

ctrl+c,ctrl+d,ctrl+z在linux程序中意义和区别:

  • ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.
    ctrl+c是强制中断程序的执行,进程已经终止。
    ctrl+z的是将任务中止(暂停的意思),但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用fg/bg操作继续前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行.
    ③例如:当你vi一个文件是,如果需要用shell执行别的操作,但是你又不打算关闭vi,因为你得存盘推出,你可以简单的按下ctrl+z,shell会将vi进程挂起~,当你结束了那个shell操作之后,你可以用fg命令继续vi你的文件。
  • ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF。
    ①注:在shell中,ctrl-d表示推出当前shell.

eval命令:

  • eval命令会计算(evalue)它的参数,这些参数作为表达式计算后重新组合为一个字符串,然后作为一个命令被执行。
  • eval最常见的用法是将动态生成的命令行计算并执行。例如:
$ name=woodie
$ cmd="echo Helllo $name\! "
$ eval $cmd
Hello woodie!

帮助指令

man 获得帮助信息:

  • 基本语法:man [命令或配置文件](功能描述:获得帮助信息)

help指令:

  • 基本语法:help 命令 (功能描述:获得shell内置命令的帮助信息)

文件目录类

pwd 指令(print word directory):

  • 基本语法:pwd (功能描述:显示当前工作目录的绝对路径)

ls指令(list):

  • 基本语法:ls [选项] [目录或是文件]
  • 常用选项:
    -a 文件下所有文件 包括...
    -A 目录下的所有文件及文件夹
    -l 所有文件文件夹的详情及权限
    -R 列出当前目录及所有子目录下的文件
    –help ls 所有参数大全
  • 快捷用法:ll 相当于 ls -l

cd 指令(change directory):

  • 基本语法:cd [参数] (功能描述:切换到指定目录)
  • 其中~ 也表示为当前环境变量HOME对应的值的目录。../则是表示目前所在的目录。..../则表示目前目录位置的上一层目录。/处于Linux文件系统树形结构的最顶端,我们称它为Linux文件系统的root,它是Linux文件系统的入口。-表示当前环境变量OLDPWD对于的值得目录。
  • 常用参数:
    cd 绝对路径或相对路径:跳到某路径
    cd ~ 或者cd :切换到当前环境变量HOME对应的值的目录
    cd .. :回到当前目录的上一级目录
    cd ../..:返回上两级目录
    cd /:返回到linux文件系统的根目录
    cd -:返回到当前环境变量OLDPWD对于的值得目录

mkdir指令(make directory):

  • 功能描述:mkdir指令用于创建目录
  • 基本语法:mkdir [选项] 要创建的目录
  • 常用选项:
    -p :创建多级目录

rmdir指令(remove directory):

  • 功能描述:rmdir指令删除空目录
  • 基本语法:rmdir [选项] 要删除的空目录
  • 常用选项:
    -p或–parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
    –ignore-fail-on-non-empty:此选项使rmdir命令忽略由于删除非空目录时导致的错误信息;
    -v或-verboes:显示命令的详细执行过程;
    –help:显示命令的帮助信息;
    –version:显示命令的版本信息。
  • 使用细节:rmdir 删除的是空目录,如果目录下有内容时无法删除的。
  • 提示:如果需要删除非空目录,需要使用 rm -rf 要删除的目录

touch指令:

  • 功能描述:Linux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
  • 基本语法:touch 文件名称

cp指令(copy):

  • 功能描述:cp 指令拷贝文件到指定目录
  • 基本语法:cp [选项] source dest
  • 常用选项:
    -r :递归复制整个文件夹 • 应用实例
    使用细节:强制覆盖不提示的方法:\cp

rm指令(remove):

  • 功能描述:rm 指令移除文件或目录
  • 基本语法:rm [选项] 要删除的文件或目录
  • 常用选项:
    -f, --force 忽略不存在的文件,从不给出提示。
    -i, --interactive 进行交互式删除
    -r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
    -v, --verbose 详细显示进行的步骤
    -d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
  • 使用细节:强制删除不提示的方法:带上 -f 参数即可

mv指令(move):

  • 功能描述:mv 移动文件与目录或重命名
  • 基本语法:
    mv oldNameFile newNameFile (功能描述:重命名)
    mv /temp/movefile /targetFolder (功能描述:移动文件)

cat指令(concatenate)(连接的意思):

  • 功能描述:cat命令用于连接文件并打印到标准输出设备上,也就是查看文件内容。
  • 基本语法:cat [选项] 要查看的文件
  • 常用选项:-n :显示行号
  • 使用细节:cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 | more

more指令:

  • 功能描述:more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键,详见操作说明。
  • 基本语法:more 要查看的文件
  • 操作说明:
    在这里插入图片描述

less指令:

  • 功能描述:less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
  • 基本语法:less 要查看的文件
  • 操作说明:在这里插入图片描述

Linux中cat、more、less命令区别:

  • cat是一次性显示整个文件的内容,more和less一般用于显示文件内容超过一屏的内容,并且提供翻页的功能。
  • more比cat强大,提供分页显示的功能,less比more更强大,提供翻页,跳转,查找等命令。而且more和less都支持:用空格显示下一页,按键b显示上一页。

echo指令(回响的意思):

  • 功能描述:echo输出内容到控制台,都是用于字符串的输出
  • 基本语法:echo [选项] [输出内容]

head指令:

  • 功能描述:head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
  • 基本语法:
    head 文件 (功能描述:查看文件头10行内容)
    head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)

tail指令:

  • 功能描述:tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容
  • 基本语法:
    ① tail 文件 (功能描述:查看文件头10行内容)
    ② tail -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
    ③ tail -f 文件 (功能描述:实时追踪该文档的所有更新)

> 指令 和 >> 指令:

  • 功能描述:> 输出重定向>> 追加
  • 基本语法:
    ① ls -l >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))
    ② ls -al >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
    ③ cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
    ④ echo “内容”>> 文件 • 应用实例

ln 指令:

  • 功能描述:软链接也成为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径 基本语法:
  • 用法:ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
  • 细节说明:当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录。

history指令:

  • 功能描述:查看已经执行过历史命令,也可以执行历史指令
  • 基本语法:history (功能描述:查看已经执行过历史命令)

时间日期类

date指令-显示当前日期:

  • 基本语法:
    ①date (功能描述:显示当前时间)
    ②date +%Y (功能描述:显示当前年份)
    ③date +%m (功能描述:显示当前月份)
    ④date +%d (功能描述:显示当前是哪一天)
    ⑤date “+%Y-%m-%d %H:%M:%S”(功能描述:显示年月日时分秒)

date指令-设置日期:

  • 基本语法:date -s 字符串时间

cal指令(calendar):

  • 功能描述:查看日历指令
  • 基本语法:cal [选项] (功能描述:不加选项,显示本月日历)

搜索查找类

find指令:

  • 功能描述:find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
  • 基本语法:find [搜索范围] [选项]
  • 选项说明:
    在这里插入图片描述

locate指令:

  • 功能描述:locaate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。
  • 基本语法:locate 搜索文件
  • 特别说明:由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。

grep指令和 管道符号 |:

  • 简介:Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
  • 功能描述:grep 过滤查找
  • 基本语法:grep [选项] 查找内容 源文件
  • 常用选项:
    在这里插入图片描述
  • grep命令这种可以在命令行中通过 | 互相链接,作为输入的命令原来有同一的名字叫做管道命令!
    管道命令只处理前一个命令正确输出,不处理错误输出。
    管道命令右边命令,必须能够接收标准输入流命令才行。
    在这里插入图片描述
  • 此外管道符前面的数据,只要处理字符串的命令都可以接受。

压缩和解压类

打包和压缩的区别:

  • 打包:将一堆文件或目录什么的变成一个总的文件。
  • 压缩:将一个大的文件经过某种压缩算法变成一个小文件。
  • 为什么要区分这两个概念呢?
    因为Linux中的很多压缩程序只能针对一个文件进行压缩,所以当你想要压缩一大堆文件时,首先需要打个包,然后压缩。

gzip/gunzip 指令:

  • 功能描述:gzip 用于压缩文件, gunzip 用于解压的
  • 特点:不能压缩目录,而且不保留原文件。
  • 基本语法:
    gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)
    gunzip 文件.gz (功能描述:解压缩文件命令)

zip/unzip 指令:

  • 功能描述:zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的
  • 基本语法:
    zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)
    unzip [选项] XXX.zip (功能描述:解压缩文件)
  • zip常用选项:
    -r:递归压缩,即压缩目录
  • unzip的常用选项:
    -d<目录> :指定解压后文件的存放目录

bzip2:

  • 命令路径:/usr/bin/bzip2
  • bzip2是用来取代gzip指令的。
  • 作用:压缩(解压)文件,压缩文件后缀为.bz2
  • bzip2 -[option] [file_name]:
    -c 将压缩过程中产生的数据输出到屏幕上
    -d 解压缩参数
    -k 保留原文件
    -z 压缩的参数
    -v 显示压缩比
    -# 压缩等级1-9,和gzip一样
  • 解压使用bzip2 –d或者 bunzip2

tar 指令:

  • 功能描述:tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。
  • 基本语法:
    tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
  • 选项说明:

在这里插入图片描述

组管理和权限管理

组管理

概述:
在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件
有所有者、所在组、其它组的概念。

  1. 所有者
  2. 所在组
  3. 其它组
  4. 改变用户所在的组

文件/目录 所有者:
文件/目录 所有者一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。
查看文件的所有者---------------指令:ls –ahl
修改文件所有者------------------指令:chown 用户名 文件名

组的创建:
基本指令:groupadd 组名

文件/目录 所在组:
当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。
查看文件/目录所在组----------------基本指令:ls –ahl
修改文件所在的组----------------基本指令:chgrp 组名 文件名

其它组:
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。

改变用户所在组:
在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组。
改变用户所在组指令:

  1. usermod –g 组名 用户名
  2. usermod –d 目录名 用户名 改变该用户登陆的初始目录。

权限管理

在这里插入图片描述

权限的基本介绍:
ls -l 中显示的内容如下: -rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc0-9位说明

  1. 第0位确定文件类型(d, - , l , c , b)
  2. 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。—User
  3. 第4-6位确定所属组(同用户组的)拥有该文件的权限,—Group
  4. 第7-9位确定其他用户拥有该文件的权限 —Other
  5. 可用数字表示为: r=4,w=2,x=1 因此rwx=4+2+1=7
    1 --------------------文件:硬连接数或 目录:子目录数
    root--------------------用户
    root --------------------组
    1213-------------------- 文件大小(字节),如果是文件夹,显示 4096字节
    Feb 2 09:39 --------------------最后修改日期
    abc --------------------文件名

rwx权限详解:
rwx作用到文件:

  1. [ r ]代表可读(read): 可以读取,查看
  2. [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
  3. [ x ]代表可执行(execute):可以被执行

rwx作用到目录:

  1. [ r ]代表可读(read): 可以读取,ls查看目录内容
  2. [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
  3. [ x ]代表可执行(execute):可以进入该目录

修改权限-chmod:
基本说明:通过chmod指令,可以修改文件或者目录的权限。
第一种方式:+ 、-、= 变更权限
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)

  1. chmod u=rwx,g=rx,o=x 文件目录名
  2. chmod o+w 文件目录名
  3. chmod a-x 文件目录名

第二种方式:通过数字变更权限
r=4 w=2 x=1 rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件目录名相当于 chmod 751 文件目录名

修改文件所有者-chown:
基本介绍:
chown newowner file 改变文件的所有者
chown newowner:newgroup file 改变用户的所有者和所有组
-R 如果是目录 则使其下所有子文件或目录递归生效

修改文件所在组-chgrp:
基本介绍:chgrp newgroup file 改变文件的所有组

定时任务调度

原理示意图:在这里插入图片描述

概述:
任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:
1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等
2.个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。

crond 任务调度:
功能描述:crontab 进行 定时任务的设置。
基本语法:crontab [选项]
常用选项:在这里插入图片描述
快速入门:
设置任务调度文件:/etc/crontab
设置个人任务调度。执行crontab –e命令。
接着输入任务到调度文件
如:*/1 * * * * ls –l /etc/ > /tmp/to.txt
意思说每小时的每分钟执行ls –l /etc/ > /tmp/to.txt命令
参数细节说明:
5个占位符的说明:在这里插入图片描述
特殊符号的说明:在这里插入图片描述

磁盘分区,挂载

分区的方式:

  1. mbr分区:
    1.最多支持四个主分区
    2.系统只能安装在主分区
    3.扩展分区要占一个主分区
    4.MBR最大只支持2TB,但拥有最好的兼容性
  2. gtp分区:
    1.支持无限多个主分区(但操作系统可能限制,比如 windows下最多128个分区)
    2.最大支持18EB的大容量(1EB=1024 PB,1PB=1024 TB )
    3.windows7 64位以后支持gtp

windows下的磁盘分区:在这里插入图片描述

原理介绍:

  1. Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构 , Linux中每个分区都是用来组成整个文件系统的一部分。
  2. Linux采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。在这里插入图片描述

硬盘说明:

  1. Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘
  2. 对于IDE硬盘,驱动器标识符为“hdx~”, 其中“hd”表明分区所在设备的类型,这里是指IDE硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。
  3. 对于SCSI硬盘则标识为“sdx~”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。

查看所有设备挂载情况:
命令 :lsblk 或者 lsblk -f在这里插入图片描述
磁盘情况查询:

  1. 功能描述:查询系统整体磁盘使用情况
    基本语法:df -h

  2. 功能描述:查询指定目录的磁盘占用情况,默认为当前目录
    基本语法:du -h /目录
    参数说明:
    -s 指定目录占用大小汇总
    -h 带计量单位
    -a 含文件
    –max-depth=1 子目录深度
    -c 列出明细的同时,增加汇总值

Linux挂载详解:

  • Linux 系统中“一切皆文件”,所有文件都放置在以根目录为树根的树形目录结构中。在 Linux看来,任何硬件设备也都是文件,它们各有自己的一套文件系统(文件目录结构)。
  • 因此产生的问题是,当在 Linux系统中使用这些硬件设备时,只有将Linux本身的文件目录与硬件设备的文件目录合二为一,硬件设备才能为我们所用。合二为一的过程称为“挂载”。
  • 如果不挂载,通过Linux系统中的图形界面系统可以查看找到硬件设备,但命令行方式无法找到。
  • 挂载,指的就是将设备文件中的顶级目录连接到 Linux 根目录下的某一目录(最好是空目录),访问此目录就等同于访问设备文件。
  • 链接:什么是挂载,Linux挂载详解

swap目录

swap目录:
Swap分区在系统的物理内存不够用的时候,把硬盘内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。

linux中/dev目录:
linux中/dev目录下一般都是一些设备文件,例如磁盘、内存、摄像头等。
/dev/shm这个目录是linux下一个利用内存虚拟出来的一个目录,这个目录中的文件都是保存在内存中,而不是磁盘上。其大小是非固定的,即不是预先分配好的内存来存储的。(shm == shared memory)
linux下的/dev/shm/ 以及与swap目录的区别

网络配置

linux网络环境配置:

  1. 第一种方法(自动获取):
    说明:登陆后,通过界面的来设置自动获取ip
    特点:linux启动后会自动获取IP,缺点是每次自动获取的ip地址可能不一样。
  2. 第二种方法(指定固定的ip)
    说明:直接修改配置文件来指定IP,并可以连接到外网(程序员推荐),编辑 vi
    /etc/sysconfig/network-scripts/ifcfg-eth0
    要求:将ip地址配置的静态的
    第二种方法仔细说明:
    在这里插入图片描述

进程管理

基本介绍:

  • 在LINUX中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个ID号。
  • 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例如www服务器。
  • 每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目 前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
  • 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。

显示系统执行的进程:

  • 基本介绍:ps命令(Process Status)是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。 可以不加任何参数
  • 常用选项:
    -A 显示所有进程(等价于-e)(utility)
    -a 显示一个终端的所有进程,除了会话引线
    -N 忽略选择。
    -d 显示所有进程,但省略所有的会话引线(utility)
    -x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)
    -p pid 进程使用cpu的时间
    -u uid or username 选择有效的用户id或者是用户名
    -g gid or groupname 显示组的所有进程。
    U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)
    -f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.
    -l 长格式(有F,wchan,C 等字段)
    -j 作业格式
    -o 用户自定义格式。
    v 以虚拟存储器格式显示
    s 以信号格式显示
    -m 显示所有的线程
    -H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)
    e 命令之后显示环境(如:ps -d e; ps -a e)(utility)
    h 不显示第一行
  • ps详解:
    指令:ps –aux|grep xxx ,比如我看看有没有sshd服务
    指令说明:
    1、System V展示风格
    2、USER:用户名称
    3、PID:进程号
    4、%CPU:进程占用CPU的百分比
    5、%MEM:进程占用物理内存的百分比
    6、VSZ:进程占用的虚拟内存大小(单位:KB)
    7、RSS:进程占用的物理内存大小(单位:KB)
    8、TT:终端名称,缩写 .
    9、STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
    10、STARTED:进程的启动时间
    11、TIME:CPU时间,即进程使用CPU的总时间
    12、COMMAND:启动进程所用的命令和参数,如果过长会被截断显示

终止进程kill和killall:

  • 介绍:若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。使用kill命令来完成此项任务。
  • 基本语法:
    kill [选项] 进程号(功能描述:通过进程号杀死进程)
    killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
  • 常用选项:
    -9 :表示强迫进程立即停止

查看进程树pstree

  • 基本语法:pstree [选项] ,可以更加直观的来看进程信息
  • 常用选项:
    -p :显示进程的PID
    -u :显示进程的所属用户

服务(service)管理

服务简介:

  • 服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql , sshd防火墙等),因此我们又称为守护进程,是Linux中非常重要的知识点。
  • service管理指令:
    service 服务名 [start | stop | restart | reload | status]
    ②在CentOS7.0后 不再使用service ,而是 systemctl
  • 查看服务名:
    ①使用setup -> 系统服务 就可以看到
    ② /etc/init.d/服务名称

服务的运行级别(runlevel):

  • 查看或者修改默认级别: vi /etc/inittab
  • Linux系统有7种运行级别(runlevel):常用的是级别3和5
    ①运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
    ②运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
    ③运行级别2:多用户状态(没有NFS),不支持网络
    ④运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
    ⑤运行级别4:系统未使用,保留
    ⑥运行级别5:X11控制台,登陆后进入图形GUI模式
    ⑦运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

chkconfig指令:

  • 介绍: 通过chkconfig 命令可以给每个服务的各个运行级别设置自启动/关闭
  • 基本语法:
    ①查看服务 chkconfig --list|grep xxx
    ②chkconfig 服务名 --list
    ③chkconfig --level 5 服务名 on/off
  • 使用细节:chkconfig重新设置服务后自启动或关闭,需要重启机器reboot才能生效

动态监控进程

简介:

  • 介绍:top与ps命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top
    在执行一段时间可以更新正在运行的的进程。
  • 基本语法:
    ①top [选项]
  • 选项说明:
    在这里插入图片描述
  • 交互操作说明:
    在这里插入图片描述

监控网络状态

简介:

  • 介绍: 查看系统网络情况netstat
  • 基本语法:
    ①netstat [选项]
  • 选项说明:
    ①-an 按一定顺序排列输出
    ②-p 显示哪个进程在调用

RPM,YUM,源码安装

RPM介绍:

  • 一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。
  • Linux的分发版本都有采用(suse,redhat, centos 等等),可以算是公认的行业标准了
  • rpm包的简单查询指令:查询已安装的rpm列表 rpm –qa|grep xx
  • rpm包名基本格式:
    ①一个rpm包名:firefox-45.0.1-1.el6.centos.x86_64.rpm
    <1>名称:firefox
    <2>版本号:45.0.1-1
    <3>适用操作系统: el6.centos.x86_64
    <4>表示centos6.x的64位系统
    1、如果是i686、i386表示32位系统,noarch表示通用。
  • rpm包的其它查询指令:
    ①rpm -qa :查询所安装的所有rpm软件包
    ②rpm -qa | more
    ③rpm -qa | grep X [rpm -qa | grep firefox ]
    ④rpm -q 软件包名 :查询软件包是否安装
    ⑤rpm -q firefox
    ⑥rpm -qi 软件包名 :查询软件包信息
    ⑦rpm -qi file
    ⑧rpm -ql 软件包名 :查询软件包中的文件
    ⑨rpm -ql firefox
    ⑩rpm -qf 文件全路径名 查询文件所属的软件包
    ⑪rpm -qf /etc/passwd
    ⑫rpm -qf /root/install.log
  • 卸载rpm包:
    ①基本语法:rpm -e RPM包的名称
    ②细节讨论:
    <1>如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。
    如: $ rpm -e foo removing these packages would break dependencies:foo is needed by bar-1.0-1
    <2>如果我们就是要删除 foo这个rpm 包,可以增加参数 --nodeps ,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行如:$ rpm -e --nodeps foo
  • 安装rpm包:
    ①基本语法:rpm -ivh RPM包全路径名称
    ②参数说明:
    i=install 安装
    v=verbose 提示
    h=hash 进度条

YUM介绍:

  • Yum 是一个Shell前端软件包管理器。基于RPM包管理,能够从指定 的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
  • yum的基本指令:
    ①查询yum服务器是否有需要安装的软件:yum list|grep xx软件列表
    ②安装指定的yum包:yum install xxx 下载安装
    在这里插入图片描述

源码安装介绍:

  • 一般来说在Window上下载好Linux版本的安装包,然后使用FTP或WINSCP攻击把安装包down上Linux服务器。
  • 然后再敲打指令安装。

Linux下安装JDK三种方式:

实用工具命令

wget:

  • Linux系统中的wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器。wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理。所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行。这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成,相对于其它大部分浏览器在下载大量数据时需要用户一直的参与,这省去了极大的麻烦。
  • wget可以跟踪HTML页面上的链接依次下载来创建远程服务器的本地版本,完全重建原始站点的目录结构。这又常被称作”递归下载”。在递归下载的时候,wget遵循Robot Exclusion标准(/robots.txt). wget可以在下载的同时,将链接转换成指向本地文件,以方便离线浏览。
  • wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性.如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。
  • 命令格式:wget [参数] [URL地址]
  • 命令功能:用于从网络上下载资源,没有指定目录,下载资源回默认为当前目录。wget虽然功能强大,但是使用起来还是比较简单:
    1)支持断点下传功能;这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了;
    2)同时支持FTP和HTTP下载方式;尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下载软件;
    3)支持代理服务器;对安全强度很高的系统而言,一般不会将自己的系统直接暴露在互联网上,所以,支持代理是下载软件必须有的功能;
    4)设置方便简单;可能,习惯图形界面的用户已经不是太习惯命令行了,但是,命令行在设置上其实有更多的优点,最少,鼠标可以少点很多次,也不要担心是否错点鼠标;
    5)程序小,完全免费;程序小可以考虑不计,因为现在的硬盘实在太大了;完全免费就不得不考虑了,即使网络上有很多所谓的免费软件,但是,这些软件的广告却不是我们喜欢的。
  • 链接:每天一个linux命令(61):wget命令

curl命令详解:

  • 命令:curl
  • 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。
  • 链接:Linux curl命令详解

ssh命令详解:

  • SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP22端口),包括公共秘钥等交换等信息。
  • ssh服务端由2部分组成: openssh(提供ssh服务) openssl(提供加密的程序)
  • ssh常见命令参数:
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
            [-D [bind_address:]port] [-e escape_char] [-F configfile]
            [-i identity_file] [-L [bind_address:]port:host:hostport]
            [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
            [-R [bind_address:]port:host:hostport] [-S ctl_path]
            [-W host:port] [-w local_tun[:remote_tun]]
            [user@] hostname [ command ]

Linux总结

总结:

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值