前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Web-第十九天 Linux学习【悟空教程】

Web-第十九天 Linux学习【悟空教程】

作者头像
Java帮帮
发布2018-07-27 15:01:17
6680
发布2018-07-27 15:01:17
举报

Web-第十九天 Linux学习【悟空教程】

Linux入门

今日内容介绍

  • 安装虚拟机
  • 安装Linux系统
  • 学习Linux常用命令

今日内容学习目标

  • 可以独立安装CentOS
  • 熟练使用磁盘管理命令
  • 熟练使用文件管理命令
  • 熟练使用文档编辑命令
  • 熟练使用系统命令
  • 熟练使用备份压缩命令
  • 熟练使用权限命令

1 .Linux概述

1.1 Unix介绍

Unix是一个强大的多用户、多任务操作系统。

于1969年在AT&T(美国电话电报公司)的贝尔实验室开发。

UNIX的商标权由国际开放标准组织(The Open Group)所拥有。

UNIX操作系统是商业版,需要收费,价格比Microsoft Windows正版要贵一些。不过UNIX有免费版的,例如:NetBSD等类似UNIX版本。

1.2 Linux介绍

Linux是一套免费的类Unix操作系统

Linux是一套免费使用和自由传播的类Unix操作系统,可以任意修改其源代码。

Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。

Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

Linux操作系统诞生于1991 年10 月5 日。芬兰大学生林纳斯-托瓦兹(Linux Torvalds)和后来陆续加入的众多爱好者共同开发完成。

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

Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。

1.3 Linux的历史

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

1.4 Linux系统的应用

服务器系统:Web应用服务器、数据库服务器、接口服务器、DNS、FTP等等;

嵌入式系统:路由器、防火墙、手机、PDA、IP 分享器、交换器、家电用品的微电脑控制器等等,

高性能运算、计算密集型应用:Linux有强大的运算能力。

桌面应用系统

移动手持系统

1.5 Linux的版本

Linux的版本分为两种:内核版本(https://www.kernel.org/)和发行版本。

内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号。

发行版本是一些组织和公司根据自己发行版的不同而自定的。

1.6 Linux的主流版本

  • RedHat Linux

Red Hat领导着Linux的开发、部署和经营,从嵌入式设备到安全网页服务器,它都是用开源软件作为Internet基础设施解决方案的领头羊。

Red Hat解决方案包括Red Hat Linux、开发人员和嵌入式技术,以及培训、管理和技术支持。

  • Ubuntu

Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统。

Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

为桌面虚拟化提供支持平台

  • CentOS

CentOS 是Linux发行版之一。

由Red Hat Enterprise Linux提供的源代码编译而成。很多公司使用CentOS替代商业版RedHat Linux。

RedHat 和CentOS差别不大,Red Hat Linux 和Centos系统是免费的。

Red Hat Linux 服务是收费的,比如免费版本不支持在线升级

Centos每个版本服务都是免费的.

2 .Linux安装

2.1 什么是虚拟机

  • 虚拟机:指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
  • 虚拟机软件:
    • VMware Workstation(中文名“威睿工作站”)是一款功能强大的桌面虚拟计算机软件,收费的。VMware是全球桌面到数据中心虚拟化解决方案的领导厂商
    • VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox

2.2 安装VMware

参考《01.VMware使用.doc》官网www.javahelp.com.cn下载

2.3 安装CentOS

参考《02.Linux(CentOS)安装.doc》官网www.javahelp.com.cn下载

安装Basic Service 版

2.4 Linux目录结构

  • /: 根目录,一般根目录下只存放目录,不要存放文件。

/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中/bin: /usr/bin: (binaries)存放二进制可执行文件。如常用的命令ls、tar、mv、cat等。

  • /boot: 放置linux系统启动时用到的一些文件。

/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可

  • /dev:(devices) 存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备。

常用的是挂载光驱mount /dev/cdrom /mnt。

  • /etc:(etcetera) 系统配置文件存放的目录,不建议在此目录下存放可执行文件。

重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。注:/etc/X11存放与x windows有关的设置。

  • /home: 系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据
  • /lib: (library) /usr/lib: /usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules。
  • /root: 系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。
  • /sbin: (super user binaries) /usr/sbin: /usr/local/sbin: 放置系统管理员使用的可执行命令。

如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。

  • /usr:(unix shared resources) 应用程序存放目录,/usr/bin 存放应用程序, /usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local:存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间。
  • /var:(variable) 放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message: 所有的登录文件存放目录,/var/spool/mail: 邮件存放的目录, /var/run: 程序或服务启动
  • /opt: 给主机额外安装软件所摆放的目录。以前的 Linux 系统中,习惯放置在 /usr/local 目录下
  • /tmp:(temporary) 一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
  • /srv: 服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内
  • /mnt:/media:(mount) 光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也不一定,可以选择任意位置进行挂载。
  • /proc: 此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等

2.5 CRT工具使用

参考《03.CRT连接linux.doc》官网www.javahelp.com.cn下载

3 .常用命令

3.1 磁盘管理

3.1.1 ls命令

  • ls(list)功能:列出目录内容
  • 格式:ls [参数] [文件或目录]

-a或--all 下所有文件和目录。注意隐藏文件、特殊目录、. 和 ..

-l 使用详细格式列表。

-t 用文件和目录的更改时间排序。

-r 反向排序

--help 在线帮助。

  • 常用

ls -l --> 此命令非常常用,提供简化版命令 ll

ls -al

ll /home/ --> 显示指定目录下的内容

3.1.2 cd命令

  • cd(change directory) 功能:切换目录
  • 语法:cd [目录]
  • 常用

cd ~ ,当前用户目录

cd / ,根目录

cd - ,上一次访问的目录

cd .. ,上一级目录

cd ,缺省当前用户目录

3.1.3 pwd命令

  • pwd(print working directory) 功能:显示工作目录

3.1.4 mkdir命令

  • mkdir(make directoriy)功能: 创建目录

-p 父目录不存在情况下先生成父目录 (parents)

-v 显示命令执行过程中的详细信息

mkdir -pv ./abc/123

3.2 文件管理—文件浏览

3.2.1 cat命令

  • cat(catenate)功能:显示文本文件内容
  • 语法:

cat 文件 ,显示指定文件的所有内容

3.2.2 more命令

  • more功能:分页显示文件内容,还支持直接跳转行等功能。
  • 语法:more file
  • 操作

Enter 向下n行,需要定义。默认为1行

空格键 向下滚动一屏 或 Ctrl+F

B 返回上一屏 或 Ctrl+B

q 退出more

more /root/install.log

3.2.3 less命令

  • less功能:分页显示文件内容,操作更详细。
  • 语法:less [参数] 文件

-m 显示类似more命令的百分比

-N 显示每行的行号

  • 操作

空格键:前进一页 或 page down

b:后退一页 或 page up

d:前进半页

u:后退半页

回车键:前进一行 或 方向键向下

y:后退一行 或 方向键向上

/字符串:向下搜索

?字符串:向上搜索

v:进入vim编辑器

左右方向键:相当于水平滚动条

q:退出

less -mN /root/install.log

3.2.4 tail命令

  • 功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
  • 格式:tail[必要参数][选择参数][文件]

-n<行数> 显示行数

-f 循环读取

ping 127.0.0.1 > ip.log &

tail -f ip.log

  • & 表示后台运行,否则占用终端
  • ctrl + c 退出

3.3 文件管理—文件操作

3.3.1 cp命令

  • cp(copy)功能:复制文件或目录。
  • 语法:cp [参数] [源文件或目录] [目标文件或目录]

-r或--recursive 递归处理,将指定目录下的文件与子目录一并处理。

cp ./abc ./xxx #无法复制目录

cp -r ./abc ./xxx #复制目录必须使用 -r参数

cp ip.log ip2.log

cp ip.log ip2.log

cp -b ip.log ip2.log

3.3.2 mv命令

  • mv(move) 功能:移动或更名现有的文件或目录。
  • 语法:mv [源文件或目录][目标文件或目录]

-f或--force  若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文 件或目录。

mv ./abc/123/ ./xxx/111 #移动一个空目录 或 一个文件

cp ip.log ./abc/ip.log

mv ip.log ./abc/ip.log

mv -f ip.log ./abc/ip.log

3.3.3 rm命令

  • rm(remove) rm 功能:删除文件或目录。
  • 语法:rm [-dfirv][--help][--version][文件或目录...]

-f或--force  强制删除文件或目录。

-r或-R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。

rm ./ip2.log

rm -f ./ip2.log #强制删除文件

rm -f ./xxx

rm -rf ./xxx #强制删除目录

3.3.4 find命令

  • find功能:查找文件或目录。
  • 语法:find [目录...] [参数]

-name 指定字符串作为寻找文件或目录的范本样式。

find /root/ -name 'test*'

3.4 文档编辑

3.4.1 vi 或 vim 命令

3.4.1.1 基本操作
  • 输入“vim 文件名”进入“一般模式”
  • 按下“i”从一般模式,进入“插入模式”
  • 按下“esc”从“插入模式”退出到“一般模式”
  • 在“一般模式”下,输入“:wq”,退出编辑。
3.4.1.2 vi基本概念
  • 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

1) 命令行模式command mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

2) 插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。

3) 底行模式(last line mode)

将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。

3.4.1.3 常用命令

分组

命令

描述

插入 (从一般模式进入到插入模式)

i

在光标前插入

shift + i

在光标当前行开始插入

a

在光标后插入

shift + a

在光标当前行末尾插入

o

在光标当前行的下一行插入新行

shift + o

在光标当前行的上一行插入新行

复制或粘贴 (在插入模式下)

yy

单行复制将光标移动到将要复制的行处

nyy

多行复制将光标移动到将要复制的首行处

p

粘贴将光标移动到将要粘贴的行处

定位

gg

到文本的第一行

shift + g

到文本的最后一行

删除

dd

删除光标所在行

ndd

删除n行

退出

:q

退出vi(没有做任何修改时)

:q!

强制退出不保存

:w

保存不退出

:wq

保存后退出

3.4.2 管道 |

  • linux提供管道符号“|”。作用是“命令1”的输出内容,将作为“命令2”的输入内容。一般与grep命令一起使用。
  • 格式:命令1 | 命令2

3.4.3 grep命令

grep全称是Global Regular Expression Print,表示全局正则表达式版本

  • 功能:用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活。
  • 格式:grep [option] pattern [file] -i 或 --ignore-case #忽略字符大小写的差别。

#格式:grep 参数 过滤条件 文件

#查看install.log文件中含有“control”字符的内容

grep -i control /root/install.log

#格式: 其他命令 | grep 参数 过滤条件

cat /root/install.log | grep -i control #在cat命令输出结果基础上,进行过滤

3.5 系统命令

3.5.1 ps命令

  • 功能:ps命令是Process Status的缩写。提供对进程的一次性查看。及执行ps命令的那个时刻进程信息。
  • 格式:ps[参数] -e  此参数的效果和指定"A"参数相同,显示所有程序 -f  显示UID,PPIP,C与STIME栏位

ping 127.0.0.1 > ip.log &

ps -ef | grep -i ping

3.5.2 kill命令

  • kill功能:删除执行中的程序或工作。
  • 语法:kill [参数][程序] -l <信息编号>  若不加<信息编号>选项,则-l参数会列出全部的信息名称。

kill -9 表示强制终止

格式: kill -9 pid

kill -9 4199

3.5.3 ifconfig命令

  • 功能:显示网络设备
  • 命令:ifconfig

3.5.4 ping命令

  • 功能:测试与目标主机的连通性
  • 命令:ping 主机名或ip地址

3.6 备份压缩:tar命令

  • tar功能:文件备份压缩
  • 语法:tar命令

-c 建立一个压缩文件的参数指令(create)--压缩

-x 解开一个压缩文件的参数指令(extract)--解压

-z 是否需要用 gzip 压缩

-v 压缩的过程中显示文件(verbose)

-f 使用档名,在 f 之后要立即接档名(file)

常用解压参数组合:zxvf

常用压缩参数组合:zcvf

  • 压缩

tar -zcvf javahelp.tar ./javahelp/

  • 解压

rm -rf ./javahelp #将“javahelp”移除,再解压

ll | grep -i javahelp

tar -zxvf ./javahelp.tar

3.7 关机重启

  • Linux centos重启命令:reboot
  • Linux centos关机命令:halt 立刻关机

3.8 文件权限:chmod 命令

  • chmod(change mode) 功能:变更文件或目录的权限。
  • 语法:chmod [参数] [<权限范围><符号><权限代号>]

-R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。

  • 权限范围的表示法如下:

u:User,即文件或目录的拥有者。

g:Group,即文件或目录的所属群组。

o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。

a:All,即全部的用户,包含拥有者,所属群组以及其他用户。

  • 符号:

+ 添加权限

-取消权限

  • 有关权限代号的部分,列表于下:

r:读取权限,数字代号为"4"。

w:写入权限,数字代号为"2"。

x:执行或切换权限,数字代号为"1"。

-:不具任何权限,数字代号为"0"。

mkdir xxx

ll | grep xxx

chmod u-rwx xxx #取消xxx目录,用户“读写执行”权限

chmod g-rwx xxx #取消xxx目录,组“读写执行”权限

chmod 777 xxx #给xxx目录添加所有权限

  • linux 权限格式:<类型><用户><组><其他用户>

3.9 网络配置:

3.9.1 VIM命令配置

  • 查看网卡配置 cat /etc/sysconfig/network-scripts/ifcfg-eth0
  • 概要信息如下:

DEVICE=eth0 #网卡名称TYPE=Ethernet #网卡类型ONBOOT=yes #是否开机启动网卡BOOTPROTO=static #静态获取IP,其他取值:dhcp (如果设置dhcp下面红色不需要)IPADDR=192.168.44.100 #ip地址GATEWAY=192.168.44.2 #网关NETMASK=255.255.255.0 #子网掩码

3.9.2 setup设置

setup

  • 1)选择“网络配置”
  • 2)选择“设备配置”
  • 3)选择“第一块网卡”
  • 4)设置IP地址等详细信息

3.10 命令总结 帮助

  • 内部命令:属于Shell解析器的一部分 (系统启动直接加载到内存的)

cd 切换目录(change directory)

pwd 显示当前工作目录(print working directory)

help 帮助

  • 外部命令:独立于Shell解析器之外的文件程序(独立的可执行文件)

ls 显示文件和目录列表(list)

mkdir 创建目录(make directoriy)

cp 复制文件或目录(copy)

  • 查看帮助文档

内部命令:help + 命令(help cd)

外部命令:man + 命令(man ls)

  • 不用特意记忆命令分类,开发中,如果需要查看命令参数,先使用man,如果没有结果,再使用help。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java帮帮 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Linux入门
  • 1 .Linux概述
    • 1.1 Unix介绍
      • 1.2 Linux介绍
        • 1.3 Linux的历史
          • 1.4 Linux系统的应用
            • 1.5 Linux的版本
              • 1.6 Linux的主流版本
              • 2 .Linux安装
                • 2.1 什么是虚拟机
                  • 2.2 安装VMware
                    • 2.3 安装CentOS
                      • 2.4 Linux目录结构
                        • 2.5 CRT工具使用
                        • 3 .常用命令
                          • 3.1 磁盘管理
                            • 3.1.1 ls命令
                            • 3.1.2 cd命令
                            • 3.1.3 pwd命令
                            • 3.1.4 mkdir命令
                          • 3.2 文件管理—文件浏览
                            • 3.2.1 cat命令
                            • 3.2.2 more命令
                            • 3.2.3 less命令
                            • 3.2.4 tail命令
                          • 3.3 文件管理—文件操作
                            • 3.3.1 cp命令
                            • 3.3.2 mv命令
                            • 3.3.3 rm命令
                            • 3.3.4 find命令
                          • 3.4 文档编辑
                            • 3.4.1 vi 或 vim 命令
                            • 3.4.2 管道 |
                            • 3.4.3 grep命令
                          • 3.5 系统命令
                            • 3.5.1 ps命令
                            • 3.5.2 kill命令
                            • 3.5.3 ifconfig命令
                            • 3.5.4 ping命令
                          • 3.6 备份压缩:tar命令
                            • 3.7 关机重启
                              • 3.8 文件权限:chmod 命令
                                • 3.9 网络配置:
                                  • 3.9.1 VIM命令配置
                                  • 3.9.2 setup设置
                                • 3.10 命令总结 和 帮助
                                相关产品与服务
                                数据库专家服务
                                数据库专家服务(Database Expert Service,DBexpert)为您提供专业化的数据库服务。仅需提交您的具体问题和需求,即可获得腾讯云数据库专家的专业支持,助您解决各类专业化问题。腾讯云数据库专家服务团队均有10年以上的 DBA 经验,拥有亿级用户产品的数据库管理经验,以及丰富的服务经验。
                                领券
                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档