黑马就业班(02.JavaWeb+项目实战\17.Linux)Linux

本文介绍了Linux的基础知识,包括Linux的概述、安装、远程访问方法,如使用CRT工具。还讲解了Linux的目录结构、常用命令,如cd、ls,以及文件操作。此外,提到了Vi和Vim编辑器的使用,并简单讨论了Linux的权限管理。
  • 本文参考自己的项目:

今日内容

1. Linux的概述
2. Linux的安装
3. Linux的目录结构
4. Linux的常用命令
5. Vi和Vim编辑器
6. Linux的权限命令
7. Linux上常用的网络操作
8. Linux上软件安装

1、Linux的概述
  Unix概述

Unix是一个强大的多用户、多任务操作系统。于1969年在AT&T的贝尔实验室开发。UNIX的商标权由国际开放标准组织(The Open Group)所拥有。UNIX操作系统是商业版,需要收费,价格比Microsoft Windows正版要贵一些。

  Linux概述

Linux是基于Unix的
Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机
诞生于1991105 日。是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成

在这里插入图片描述

  Linux的历史

Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds由于自己不满意教学中使用的MINIX操作系统, 所以在1990年底由于个人爱好设计出了LINUX系统核心。后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统。

  Linux的应用

服务器系统Web应用服务器、数据库服务器、接口服务器、DNS、FTP等等; 
嵌入式系统路由器、防火墙、手机、PDA、IP 分享器、交换器、家电用品的微电脑控制器等等,
高性能运算、计算密集型应用Linux有强大的运算能力。
桌面应用系统
移动手持系统

  Linux的版本(下图是Linux的主流版本),我们使用CentOS版本。

Linux的版本分为两种:内核版本和发行版本;内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号 ;

在这里插入图片描述
  我们使用的Window操作系统不适合作为服务器的操作系统。我们将来项目完成之后,会将项目部属到服务器上,所谓服务器,就是性能比较强大的电脑。我们在服务器上需要安装可靠稳定的操作系统,并且在操作系统上安装一些软件。我们一般会在服务器上安装Linux操作系统来部属我们开发好的应用(项目),并向用户提供我们的应用。

2、Linux的安装
  安装Linux,由于Linux是一个操作系统,我们不能将其直接安装在Windows操作系统上,而应该安装在一台电脑上。这个时候我们可以给当前的电脑安装双系统,或者直接在当前电脑安装一个虚拟机,在虚拟机上安装Linux。那么什么是虚拟机?

虚拟机:一台虚拟的电脑,其实就是用软件模拟一台虚拟的电脑。
虚拟机软件:
* VmWare		:收费的.
* VirtualBox	:免费的.

安装虚拟机VMWare,参考《虚拟软件vmware安装.doc》;
在虚拟机VMWare上安装Linux操作系统CentOS6,参考《CentOS6详细安装文档.doc》
这两个的安装参考视频即可!

  虚拟机安装好后,我们使用管理员:root 登录。我们可以在这个Linux系统上安装软件进行开发,但是我们一般只将其作为服务器来使用。
  安装好后,我们右键—open in Terminal,进行Linux的命令行,我们可以在这里输入命令对Linux进行操作。但是其实我们也不会这样操作它,因为Linux操作系统是部属在远程服务器上,我们无法看到它的桌面。我们会安装一款远程连接Linux操作系统的工具软件对其进行远程操作。
  我们想要对其进行远程连接,必须要知道Linux的IP地址,我们在命令行中使用:ifconfig 来查询它的IP地址。我的Linux的ip地址为:192.168.91.127(已经设置为静态,重启虚拟机不会变化),原来自动分配的IP地址为192.168.91.129
  如果不想安装虚拟机,可以查看视频4-12.30,使用资料提供的虚拟机挂载即可。(我们已经安装就没什么所谓)

Linux的远程访问

   安装一个远程访问的软件:CRT ,直接使用SecureCRT绿色版本即可。
   如果ifconfig找不到ip地址,尝试使用如下命令,其中eth0是网卡连接的名称。近几年,包括ubuntu和fedora等缺省名称全部是ens33,我使用的CentOS网卡的缺省名为eth0。

//尝试如下:(我的电脑这个命令好使)
sudo dhclient eth0
sodu ifconfig eth0

//不行试试看
sudo dhclient ens33
sodu ifconfig ens33

   **我们使用root管理员用户登录虚拟机,在使用CRT远程访问的时候,同样使用root管理员登录。**登录CRT后,在“选项-会话选项”中更改一些配置,使得界面更加友好。
  CRT 连接虚拟机的时候,主机名写虚拟机的IP地址(192.168.91.127),或者是主机名(lkj),然后使用root用户登录,登录密码设置为“lkjlkj”。

3、Linux的目录结构
  在Linux中,“/”代表根目录,虚拟机中“本电脑-Filesystem”就是虚拟机的根目录,下面有虚拟机的各类文件。
在这里插入图片描述
在这里插入图片描述
  如下,我们使用管理员root登录主机lkj,其中“~”代表当前所处的目录,如果是管理员登录,会处于“本电脑-Filesystem-root”目录下。我们输入“pwd”查看当前目录,就可以发现当前目录是“/root”。如果是普通用户登录,路径会在home中,点击home我们发现有一个之前创建的名为“lkj”的普通用户。其他用户也是在home中。
  usr用于存放共享的系统资源,将来我们很多软件都会安装到/usr/local目录。
在这里插入图片描述
在这里插入图片描述
4、Linux的常用命令

  • 使用:命令 --help 查看命令以及其描述
    4.1 切换目录命令cd
      注意,cd与命令参数之间都有一个空格,而在Window命令行中没有这个空格。
使用cd app,切换到app目录;
cd  ..	:切换到上一层目录;(cd与..之间有一个空格)
cd /	:切换到系统根目录;
cd ~	:切换到用户主目录(我们是返回root文件夹);
cd -	:切换到上一个所在目录
可以一次性进入一个目录,如在根目录下想进入usr下的etc目录:cd /usr/etc
使用tab键来提示补全文件路径
pwd:查看当前所在目录的字符串形式

4.2 列出文件列表
  ls(list)是一个非常有用的命令,用来显示当前目录下的内容。配合参数的使用,能以不同的方式显示目录内容。

 格式:ls[参数] [路径或文件名]
 常用:
* ls:显示当前目录下的所有文件(蓝色是文件夹,白色是文件);
* ls -a : 显示所有文件或目录(包含隐藏的文件);
* ls -l  ,缩写成ll:显示当前目录下所有文件的详细信息;
在linux中以 . 开头的文件都是隐藏的文件

4.3 创建目录和移除目录

mkdir(make directory)命令可用来创建子目录:
	mkdir app: 在当前目录下创建app目录;
	mkdir –p app2/test:级联创建aap2以及app2下的test目录,注意,没办法直接redir app2直接删除app2目录,因为其不为空。既rmdir只能删除空的目录;

rmdir(remove directory)命令可用来删除“空”的子目录:
	rmdir app:删除app目录

下面是文件相关操作,上面是目录相关操作

4.4 浏览文件

cat用于显示文件的内容。格式:cat[参数]<文件名>
    * cat yum.conf

more一般用于要显示的内容会超过一个画面长度的情况。按空格键显示下一个画面,按回车显示下一行内容,按 q 键退出查看,ctrl+c也可以退出。
	* more yum.conf
   
less用法和more类似,不同的是less可以通过PgUp、PgDn键来控制。
    * less yum.conf
    * PgUp 和 PgDn 进行上下翻页

tail命令是在实际使用过程中使用非常多的一个命令,它的功能是:用于显示文件后几行的内容。
用法:
	* tail -10 /etc/passwd  查看后10行数据
	* tail -f catalina.log  如果文件发生变化,查询出来的数据也会跟着变化,可以用来动态查看日志文件信息的变化,动态实施监控文件的变化来找到错误信息,将来调错的时候会经常用到。
	* CTRL+C 可以退出

  点击当前窗口,右键“克隆会话”,可以再打开一个新的窗口。
在这里插入图片描述

4.5 文件操作

rm  删除文件,用法:rm [选项]... 文件...
	* rm a.txt 删除a.txt文件
删除需要用户确认,y/n 是/* rm -f a.txt  不询问,直接删除rm 删除目录
	* rm -r a  递归删除不询问递归删除(慎用):可以用于删除文件夹或文件,文件夹内有内容或没有内容都可以删除。
	* rm -rf  a  不询问递归删除
	* rm -rf *   删除所有文件
	* rm -rf /*  自杀
cp(copy)命令可以将文件从一处复制到另一处。一般在使用cp命令时将一个文件复制成另一个文件或复制到某目录时,需要指定源文件名与目标文件名或目录。
(注意,指定将某一个文件复制放到某个文件夹下时,应该在文件夹名称后面加一个“/”,文件夹名称前面要不要加“/”。如果是复制到绝对路径,则路径前面加“/”,后面不加“/”)
	* cp a.txt b.txt:在当前目录下,将a.txt复制,并重命名为b.txt文件;
	* cp a.txt ../  :将a.txt文件复制到上一层目录中;
	* cp a.txt haha/b.txt:将a.txt文件复制到haha文件夹下,并重命名为b.txt;(复制到当前路径的某一个文件夹,路径前面不加“/”)
	* cp haha.log /root/bbb/lkj.txt:如果知道某一个路径,我们可以直接将文件复制到这个路径下面(复制到绝对路径下的某一个文件夹,路径前面加“/”,后面不加“/”,除非要改名);

mv 移动或者重命名
	* mv a.txt ../  :将a.txt文件移动到上一层目录中
	* mv a.txt b.txt :将a.txt文件重命名为b.txt

./:当前目录
../:向上退一级

  注意:如果要进入当前路径下的某一个文件(复制移动等操作都可以),路径前面不需要加“/”,后面需要加“/”,如进入当前路径下aaa文件夹下的bbb文件夹:aaa/bbb/ ,当然,当前路径也可以表示为:./aaa/bbb;如果要跳转到某一非当前路径下的绝对路径,则路径前面加“/”,后面不加“/”,如跳转到root文件夹下的aaa文件夹:/root/aaa

  • 不要使用 : rm -rf /* 命令

4.6 文件压缩、解压缩

tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。常用参数:
	-c:创建一个新tar文件
	-v:显示运行过程的信息
	-f:指定文件名
	-z:调用gzip压缩命令进行压缩
	-t:查看压缩文件的内容
	-x:解开tar文件

打包:
	tar –cvf xxx.tar ./*:将当前目录下的所有文件打包为一个tar文件
打包并且压缩:
	tar –zcvf xxx.tar.gz ./* :将当前目录下的所有文件打包并压缩为一个tar.gz文件

解压 
     tar –xvf xxx.tar :将tar文件打开到当前目录
	tar -zxvf xxx.tar.gz -C /usr/aaa :将tar.gz文件解压到指定的usr的aaa目录下

4.7 查找命令

//find是对文件以及文件夹进行查找
find指令用于查找符合条件的文件(find是全局查找,而不单单是在当前文件下查找)
示例:
	find / -name "ins*" –ls:查找文件名称是以ins开头的文件
	find / –user itcast –ls:查找用户itcast的文件
	find / –user itcast –type d –ls:查找用户itcast的目录
	find /-perm -777 –type d -ls:查找权限是777的文件的目录

//grep是对文件内容进行查找
grep查找文件里符合条件的字符串。
	用法: grep [选项]... PATTERN [FILE]...示例:
	grep lang anaconda-ks.cfg:在文件anaconda-ks.cf中查找lang
	grep lang anaconda-ks.cfg –-color:在文件anaconda-ks.cf中查找lang,将查找出来的lang高亮显示

  grep的更多内容:CentOS中grep详解

4.8 其他常用命令

pwd:显示当前所在目录;
touch:创建一个空文件;
clear/CTRL+l:清屏

5、Vi和Vim编辑器
  Vi或者Vim相当于Window系统上面的记事本,可以对Linux系统上面的文件进行编辑操作。(Vim是Vi的升级版)。我们在CRT界面使用vim命令进入某一个文件对其进行操作:vim b.txt ,进入b.txt文件进行操作。

在Linux下一般使用vim编辑器来编辑文件。vim既可以查看文件也可以编辑文件。三种模式:命令行、插入、底行模式。
切换到命令行模式:按Esc键; 命令行模式只能进行查看
切换到插入模式:按 i 、o、a键; 插入模式就可以进行添加删除
    i 在当前位置前插入
    I 在当前行首插入
    a 在当前位置后插入
    A 在当前行尾插入
    o 在当前行之后插入一行
	O 在当前行之前插入一行

切换到底行模式:按 :(冒号);

更多详细用法,查询文档《Vim命令合集.docx》和《vi使用方法详细介绍.docx》

-- 我们想要退出或者保存,必须从插入模式按esc进入命令行模式,再按:进入底行模式,按q就可以不保存退出,按wq就可以保存退出
打开文件:vim file
退出:esc:q(修改后没办法退出,强制退出:esc:q!)
修改文件:输入i进入插入模式
保存并退出:esc:wq
不保存退出:esc:q!

-- 如果我们编辑的文件不存在。vim会自动创建一个文件。
-- 在命令行模式使用“:/查找内容”,就会跳转到所查找的内容处

三种进入插入模式:
i:在当前的光标所在处插入
o:在当前光标所在的行的下一行插入
a:在光标所在的下一个字符插入

快捷键:
dd – 快速删除一行
yy - 复制当前行
nyy - 从当前行向后复制几行
p - 粘贴
R – 替换

  大部分时候我们使用Vim是用来修改配置文件。

6、重定向输出&系统管理命令&管道
  重定向输出:

>  重定向输出,覆盖原有内容;
>> 重定向输出,又追加功能;
 示例:
	cat b.txt > a.txt :将CRT控制台上打印的b.txt文件的内容发送到a.txt中并保存(重定向2次会将前面第一次重定向的内容追加)
	cat b.txt >> a.txt :将CRT控制台上打印的b.txt文件的内容发送追加到a.txt中

我们重定向不一定要用在cat命令,只要一个命令在控制台上有输出,都可以将其内容重定向到另一个文件。	
	ifconfig > ifconfig.txt

  系统管理命令:

ps 查看正在运行的某个进程的状态
	ps –ef:查看所有进程
	ps –ef | grep ssh:查找包含ssh的某一进程:将查询所有进程的结果输出传递给grep查询命令,作为grep命令的输入
	kill 2868:杀掉2868编号的进程
	kill -9 2868:强制杀死进程

  管道:

管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。示例
	ls --help | more  分页查询帮助信息输出到more命令,作为more命令的输入进行展示。
	下面的内容原理是一样的
	ps –ef | grep java  查询名称中包含java的进程
	ifconfig | more
	cat index.html | more
	ps –ef | grep aio

7、Linux权限
  Linux的权限分为4个部分,由10个字符串来控制。如下:
在这里插入图片描述

r:对文件是指可读取内容 对目录是可以ls   (用数字4表示)

w:对文件是指可修改文件内容,对目录 是指可以在其中创建或删除子节点(目录或文件)   (用数字2表示)

x:对文件是指是否可以运行这个文件,对目录是指是否可以cd进入这个目录	(用数字1表示)

我们在修改文件权限的时候,可以使用
chmod u=rwx,g=rwx,o=rwx  的方式修改
也可以使用
chmod 755   用数字代表的方式修改,三个数字分别代表三组的权限

  三个权限部分的解析

属主权限:当前用户具有该文件的权限
属组权限:当前组内其他用户具有该文件的权限
其他用户权限:其他组的用户具有该文件的权限

  文件类型分为“-”(文件)、“d”(文件夹)、“l”(超链接)
  文件颜色分类

绿色:可执行文件
白色:普通文件
红色:压缩文件

8、Linux上常用的网络操作
  修改主机名

hostname 查看主机名
hostname xxx 修改主机名,重启后无效
如果想要永久生效,可以修改/etc/sysconfig/network文件下面的主机名

  IP地址配置(建议在安装CentOS的时候就配置网络,那么这里我们就不需要重新配置)

ifconfig 查看(修改)ip地址(重启后无效)
ifconfig eth0 192.168.91.127 修改ip地址

如果想要永久生效
修改 /etc/sysconfig/network-scripts/ifcfg-eth0文件

我们参考视频19对我们的网络IP地址进行设置,将Linux的IP地址设置为静态,这样每次登陆的IP地址相同,否则每次登陆的IP地址可能发生变化,那么我们使用CRT远程连接虚拟机的IP就需要发生变化,这样很麻烦,我们之前安装虚拟机的时候没有设置IP地址。因此我们通过/etc/sysconfig/network-scripts/ifcfg-eth0文件对IP地址进行配置。

DEVICE=eth0 #网卡名称
BOOTPROTO=static #获取ip的方式(static/dhcp/bootp/none)
HWADDR=00:0C:29:B5:B2:69 #MAC地址
IPADDR=192.168.91.127 #IP地址
NETMASK=255.255.255.0 #子网掩码
NETWORK=192.168.177.0 #网络地址
BROADCAST=192.168.0.255 #广播地址
ONBOOT=yes #  系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备。

修改后再Linux系统的命令行重启网络服务:service network restart,随后以上配置生效

  以后我们可以直接使用“192.168.91.127”这个IP地址连接到问我们的虚拟机。IP地址,既IPADDR设置的时候要注意,我们设置的IP地址必须与本地主机以太网适配器IPv4地址的网段相同(我的网段是192.168.91.xxx,可以通过cmd-ipconfig 命令查询本地主机以太网适配器的IPv4地址,也可以在虚拟机中查询,如下图),既假设我们未设置BOOTPROTO=static之前,自动分配的IP地址为“192.168.91.129”,我们新设置的IP地址必须在“129.168.91”段,设置其他段会出错。

  注意,我们设置Linux的IP地址为静态后,虚拟机没办法上网,可以参考网上文章修改,使得虚拟机在静态IP下也可以上网。但是这样修改后,我们的CRT便无法连接到虚拟机。所以还是不要设置虚拟机可以静态下上网,如果要上网,可以重新设置为动态,上网后再将地址修改为静态。
  应该有办法使得静态下可以上网,而且可以连接到CRT,后面需要使用到再修改。

登录虚拟机:选择other,选择使用管理员登录:用户名:root,密码:lkjlkj
登录CRT的连接:用户名:root,密码:lkjlkj,主机名选择:192.168.91.127

在这里插入图片描述

9、域名映射&网络服务管理

/etc/hosts文件用于在通过主机名进行访问时做ip地址解析之用,相当于windows系统的C:\Windows\System32\drivers\etc\hosts文件的功能

  hosts文件(本地域名解析文件)的作用是定义IP地址和Host name(主机名)的映射关系,这样我们就可以通过主机名来访问相应的域名。hosts的配置只有在本机才会生效。
具体参考文章:添加链接描述

  网络服务管理

service network status 查看指定服务的状态
service network stop 停止指定服务
service network start 启动指定服务
service network restart 重启指定服务

service --status–all 查看系统中所有后台服务
netstat –nltp 查看系统中网络进程的端口监听情况(Windows中这个命令是:netstat -ano)

防火墙设置
防火墙根据配置文件/etc/sysconfig/iptables来控制本机的”出”、”入”网络访问行为。
service iptables status 查看防火墙状态
service iptables stop 关闭防火墙
service iptables start 启动防火墙
chkconfig  iptables off 禁止防火墙自启
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值