文章目录

  • 一、Linux的简介
    • 1.Linux的概述
    • 2.Linux的分类
    • 3 . 文件系统结构
  • 二、Linux的安装
    • 1.虚拟机的安装
    • 2.CentOS的安装
  • 三、Linux的基本命令
    • 1.目录切换命令
    • 2.目录的操作命令(增删改查)
    • 3.文件的操作命令(增删改查)
    • 4.压缩文件的操作命令
    • 5.其他命令
    • 6.Linux的权限命令
    • 7. 查看命令如何使用
  • 四、远程连接工具的使用
    • 4.1 SSH Secure
    • 4.2 也可以用SecureCRT
  • 五、Linux的软件安装
    • 1.JDK安装
    • 2.Mysql安装
    • 3.Tomcat安装

一、Linux的简介

1.Linux的概述

Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境。Linux是由Linus Torvalds(林纳斯•托瓦兹)起初开发的,由于源代码的开放性,现在已经衍生出了千上百种不同的Linux系统。
Linux系统的应用非常广泛,不仅可以长时间的运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,比如手机、平板电脑、路由器等。尤其在这里提及一下,我们熟知是Android程序最底层就是运行在linux系统上的。


图1 林纳斯•托瓦兹


图2 linux的logo

2.Linux的分类

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

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

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

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

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

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

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

3 . 文件系统结构

    /boot:系统引导文件,内核/bin:用户的基本命令/dev:设备文件/etc:配置文件/home:用户家目录/root:root用户家目录/sbin:管理类的基本命令/tmp:临时文件存放地/usr:共享的只读数据/mnt:临时文件系统挂载点/media:移动设备挂载点/opt:第三方应用程序的安装位置/srv:系统运行的服务用到的数据/var:变化的数据文件/proc:用于输出内核与进程信息相关的虚拟文件系统/sys:用于输出当前系统上硬件设备相关信息的虚拟文件系统/dev/hda5
hd 表示IDE设备  sd 表示SCSI设备
,  硬盘的顺序号,以字母a、b、c……表示
,   分区的顺序号,以数字1、2、3……表示Linux中默认使用的文件系统类型
EXT3, 第3代扩展(Extended)文件系统
SWAP,交换文件系统
Linux支持的其他文件系统类型
FAT16、FAT32、NTFS(windows文件系统类型)

二、Linux的安装

1.虚拟机的安装

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

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

VitrualBox 虚拟机软件 Oracle公司的虚拟机软件,免费商品

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

安装包百度网盘链接:https://pan.baidu.com/s/1SLG_CSHyG4eNmR06L2d7JA

提取码:l8g7
解压目录如下:

安装方法见 《VMware安装手册》

百度网盘链接:https://pan.baidu.com/s/1isLaVhKb5al-b0yhyPNhZg

提取码:qjf4

2.CentOS的安装

CentOS是一个Linux的发行版本,是目前企业中用来做应用服务器系统的主要版本,

CentOS的安装,其实是将该系统安装到VMware虚拟机软件中,让VMware虚拟机软件模拟出一台Linux系统的电脑。CentOS6.5安装请见《CentOS安装手册》

CentOS6.5安装包百度网盘链接:
https://pan.baidu.com/s/1DMYa4-3APCOq8QJtEVO8GQ

提取码:xvvj

安装手册百度网盘链接:https://pan.baidu.com/s/19nQKeB-lvaT2HcpyIJbdbw

提取码:2apr

三、Linux的基本命令

服务器版的Linux安装完毕了,但没有图形化界面,我们只能通过控制台去操作系统,我

们就要使用类似DOS命令的Linux命令去操作系统,那么下面我们就进行Linux的命令的学

习。Linux命令成百上千,课程不能一一涉及,也没有必要一一涉及,根据我们程序员在

日常工作中的需求,总结出如下几种供学习。

1.目录切换命令

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

cd usr 切换到该目录下usr目录
cd …/ 切换到上一层目录

cd / 切换到系统根目录
cd ~ 切换到用户主目录
cd - 切换到上一个所在目录

2.目录的操作命令(增删改查)

(1)增加目录操作(增)
命令:mkdir 目录名称
示例:在根目录 / 下 mkdir test,就会在根目录 / 下产生一个test问目录

(2)查看目录(查)
命令:ls [-al] 父目录
示例:在根目录 / 下使用ls,可以看到该目录下的所有的目录和文件

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

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

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

(3)寻找目录(查)
命令:find 目录 参数
示例:查找/root下的与test相关的目录(文件) find /root -name ‘test*’

(4)修改目录的名称(改)
命令:mv 目录名称 新目录名称
示例:test目录下有一个oldTest目录,使用mv oldTest newTest命令修改

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

(5)移动目录的位置—剪切(改)
命令:mv 目录名称 目录的新位置
示例在test下将newTest目录剪切到 /usr下面,使用mv newTest /usr

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

(6)拷贝目录(改)
命令:cp -r 目录名称 目录拷贝的目标位置 -----r代表递归拷贝
示例:将/usr下的newTest拷贝到根目录下的test中,使用cp -r /usr/newTest /test

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

(7)删除目录(删)
命令:rm [-rf] 目录
示例:删除/usr下的newTest,进入/usr下使用rm -r newTest

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

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

3.文件的操作命令(增删改查)

(1)文件的创建(增)

命令:touch 文件名称 ----- 空文件
示例:在test目录下创建一个空文件 touch aaa.txt

(2)文件的查看(查)
命令:cat/more/less/tail 文件
示例:使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容

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

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

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

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

(3)修改文件的内容(改)
命令:vim 文件
示例:编辑/test下的aaa.txt文件,使用vim aaa.txt


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

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

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

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

(资料私聊我)(以后再补充)

关于vim使用过程:
在实际开发中,使用vim编辑器主要作用就是修改配置文件
vim 文件------>进入文件----->命令模式------>按i进入编辑模式----->编辑文件 ------->按Esc进入底行模式----->输入:wq/q!

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

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/*

(2)解压压缩包(重点)
命令:tar [-xvf] 压缩文件
其中:x:代表解压
示例:将/test下的xxx.tar.gz解压到当前目录下
tar -xvf xxx.tar.gz

示例:将/test下的xxx.tar.gz解压到根目录/usr下
tar -xvf xxx.tar.gz -C /usr------C代表指定解压的位置

5.其他命令

(1)显示当前所在位置
pwd

(2)搜索命令
命令:grep 要搜索的字符串 要搜索的文件
示例:搜索/usr/sudu.conf文件中包含字符串to的行

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

其实以上两种我不经常用,我常用的是在文件输入/搜索,因为它直接带高亮显示。

(3)管道命令
命令:| 将前一个命令的输出作为本次目录的输入
示例:查看当前系统中所有的进程中包括system字符串的进程

(4)查看进程
命令:ps -ef
示例:查看当前系统中运行的进程
显示进程

ps aux

两者都可以和管道命令|结合起来使用
(查找hald进程)

(5)杀死进程
命令:kill -9 进程的pid
关闭刚才查找的进程号为1800的进程

(6)网络通信命令
查看当前系统的网卡信息:ifconfig

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

查看当前系统的端口使用:netstat -an

(7)补充
(装了图形界面的话)
CentOS在终端输入startx切换到图形界面

ctrl+alt+f2-f6(都可以 )切换到命令行界面

查看系统自启动的配置 chkonfig

说明:2,3,4中显示为on的说明这个程序开机时会自动启动
可以使用chkconfig ** on/off 开/关自启动 (代表程序名)

/etc/init.d/iptables status 查看防火墙关闭打开情况

创建组: groupadd testgroup
创建用户: useradd test
给用户设置密码: passwd test
把用户加入到组里面: usermod -G testgroup test

重启: reboot
关机: shutdown now
切换用户: su 用户名

用户列表文件:/etc/passwd
用户名:密码:用户ID(uid):主要组ID(gid):GECOS:主目录:登录shell
test1❌1002:1002::/home/test1:/bin/bash

用户组列表文件:/etc/group
组名称 组密码 组ID(GID) 组成员
wangaibing❌1000:wangaibing
test❌1001:
test1❌1002:
testgroup❌1003:test

哪些组: cat /etc/group
查看系统中有哪些用户:cut -d : -f 1 /etc/passwd
查看登录用户:who
查看当前用户: whoami

清除屏幕: clear

查找包含指定字符串的文件: grep -ir “I love you” ./
查找指定文件的路径: find ./ -name “a.txt”

[ 登录用户@主机名 工作目录 ] 如:[root@localhost ~]#
root用户(管理员)登陆后,该提示符为“#”
其他普通用户登陆后,该提示符为“$”

重启: reboot
关机: shutdown now

Linux命令的通用命令格式
命令字 [选项] [参数]
选项及参数的含义

选项:用于调节命令的具体功能

参数:命令操作的对象,如文件、目录名等
如:ls -l /home

快捷键 Ctrl+U:清空至行首

快捷键 Ctrl+K:清空至行尾

mkdir:创建文件夹 -p选项代表创建嵌套的文件夹 mkdir -p /tmp/aa/bb/cc

du: 统计目录及文件的空间占用情况
-a:统计时包括所有的文件,而不仅仅只统计目录
-h:以更易读的字节单位(K、M等)显示信息
-s:只统计每个参数所占用空间总的大小
du -hs /tmp

df命令: 检查文件系统的磁盘空间占用情况
-a:显示所有文件系统的磁盘使用情况
-k:以K为单位显示结果
-H:以易读格式显示结果
-T:结果中显示文件系统类型
-t:显示某个指定文件系统类型的磁盘使用情况

free命令
用途:显示当前系统内存使用情况
b:以字节为单位显示统计结果
-k:以千字节为单位显示统计结果
-m:以兆字节为单位显示统计结果

which命令
用途:查找Linux命令文件并显示所在的位置

打印环境变量PATH: echo $PATH

VM(ip配置)
没装图形界面的linux可以 用setup 伪图形界面设置网络,

查看虚拟机网络配置文件:cat /etc/sysconfig/network-scripts/ifcfg-*

server network restart 重启网卡

6.Linux的权限命令

权限是Linux中的重要概念,每个文件/目录等都具有权限,通过ls -l命令我们可以 查看某个目录下的文件或目录的权限
示例:在随意某个目录下ls -l(缩写ll)

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

文件的类型:
d:代表目录
-:代表文件
l:代表链接(可以认为是window中的快捷方式)
后面的9位分为3组,每3位置一组,分别代表属主的权限,与当前用户同组的 用户的权限,其他用户的权限
r:代表权限是可读,r也可以用数字4表示
w:代表权限是可写,w也可以用数字2表示
x:代表权限是可执行,x也可以用数字1表示
r w x r
修改文件/目录的权限的命令:chmod
示例:修改/test下的aaa.txt的权限为属主有全部权限,属主所在的组有读写权限,
其他用户只有读的权限
chmod u=rwx,g=rw,o=r aaa.txt

上述示例还可以使用数字表示:
chmod 764 aaa.txt

7. 查看命令如何使用

命令 --help
如: ls --help

man 命令
如man ls

四、远程连接工具的使用

实际开发中,Linux服务器都在其他的地方,我们要通过远程的方式去连接Linux并操作它,Linux远程的操作工具有很多,企业中常用的有Puttty、secureCRT、SSH Secure等。

4.1 SSH Secure

课程中我们使用SSH Secure工具进行远程连接,该工具是免费的图形化界面及命令行窗口集一身的远程工具。

安装包如下:
安装后,会出现两个图标:

安装包见
链接:https://pan.baidu.com/s/1bmxplHHYA_s_ZpyOmTEz1w
提取码:5tql

点击图形化界面图标:

进入界面:


关于远程工具乱码的解决:
使用远程工具进行连接时,如果linux有中文文件或目录,显示时会出现乱码,原因是linux编码是UTF-8,而远程工具默认是当前系统本地编码即GBK。所以解决方案是统一两者编码就OK了,但是该SSH Secure工具不能设置编码,所以通过修改linux的系统编码的方式进行统一编码。

在linux的/etc/sysconfig目录下有一个i18n的文件代表linux的系统编码

将其从UTF-8修改成GBK重现连接linux即可:

4.2 也可以用SecureCRT

安装包名为SecureCRT&SecureFX Version.rar

链接:https://pan.baidu.com/s/1aqK51YOEOqdwOXQ5c8_-Jw
提取码:qzcd

五、Linux的软件安装

1.JDK安装

见Linux软件安装(一)之JDK安装

2.Mysql安装

见Linux软件安装(二)之Mysql安装

3.Tomcat安装

见Linux软件安装(三)之Tomcat安装

Linux基础、命令及相关软件安装相关推荐

  1. Linux基础命令-网络配置和相关命令

    Linux基础命令-网络配置和相关命令 网络配置和相关命令 一.基本网络配置 二.网卡名称 1. 网卡别名 2. 设备别名 3. 实验 三.网络配置方式 1. ifconfig命令 2. route命 ...

  2. linux上常用命令及通用软件安装

    linux上常用命令及通用软件安装记录. 1, 查询检索 1.1 根据安装包的名字检索安装 rpm 命令: rmp 全称:redhat package manager 参数说明: -a 查询所有套件 ...

  3. Linux基础命令及用户相关操作

    Linux基础命令及用户相关操作 基础命令 在根下边创建目录log: 查询以.log结尾的文件,将他们复制到创建好的目录中: 查看目录确认复制成功: 用gzip的方式对其进行压缩: 到根下查看,存在压 ...

  4. Linux基础命令与进阶

    目录标题 Linux基础命令与进阶 关机命令 Linux 用户/用户组 1.增加一个用户组 2.删除一个用户组 3.修改用户组的属性 4.添加用户账号 5.删除帐号 6.修改帐号 7.用户口令的管理 ...

  5. linux复制后权限变化,学霸Linux基础命令吐血总结,给你当新华字典用

    Linux基础命令学习笔记 一.登录Linux [root@linux~]# root:目前使用者账户 @之后接的内容:主机名称 root为管理员账户 #:提示字元(对于root账户) $:提示字元( ...

  6. Linux基础命令-进程与系统性能

    Linux基础命令-进程与系统性能 进程与系统性能 一.进程相关概念 1.进程概念 2.进程的基本状态和转换 3.IPC进程间通信 4.进程优先级 5.进程状态 二.进程与系统性能 1.系统管理工具 ...

  7. Manjaro KDE 21.2.5安装后配置、yay常用命令、常用软件安装及主题美化(2022.04.18)

    Manjaro KDE 21.2.5安装后配置.yay常用命令.常用软件安装及主题美化(2022.01.23) 结果展示 基本配置 关于 manjaro 的安装这里不再赘述了,安装的时候选择闭源驱动无 ...

  8. 干货!一篇文章集合所有Linux基础命令,适合所有菜鸟学习和老手回顾!

    阿里云   干货!一篇文章集合所有Linux基础命令,适合所有菜鸟学习和老手回顾! 1 文件{ ls -rtl # 按时间倒叙列出所有目录和文件 ll -rt touch file # 创建空白文件 ...

  9. Linux基础命令-软件包管理

    Linux基础命令-软件包管理 软件包管理 一.软件包基础 1. 软件运行与编译 2. 静态链接和动态链接 3. 包和包管理器 4. 包命名和工具 5. 程序包的来源 二.rpm安装 1.rpm包管理 ...

最新文章

  1. Stones HDU 1896
  2. CPQuery, 解决拼接SQL的新方法
  3. thinkphp 3 升到 thinkphp 5 或更高 ( 资料收集)
  4. 单例在多线程中的使用
  5. 手把手教你Axure-基本工具栏
  6. 用javascript动态调整iframe高度
  7. 基本数据结构之Sort
  8. 小米改鸿蒙系统,小米、OV傻眼 魅族要用鸿蒙系统!
  9. 刚刚,Facebook开源了星际争霸AI代码
  10. 微信小程序弹框禁止下面的页面滚动
  11. 【OpenCV学习笔记】【函数学习】四(origin+imageData+cvcopy()函数+CvMemStorage 类型+CvPoint类型)
  12. 数据分析中数据概览神器pandas_profiling介绍
  13. 【大云制造】公有云产品及解决方案V4.0——全新面貌,重新出发
  14. ELDD 阅读笔记 --- 01
  15. 2008 r2安装总是跳出 server sql_关于sql server 2008 r2 安装闪退问题解决办法
  16. RGL: A Simple yet Effective Relation.. 文章详解
  17. 一个微博热搜引发的故事
  18. linux系统如何改电脑地址,如何修改电脑的操作系统MAC地址
  19. 表白生日祝福和3D表白相册
  20. 纯CSS实现立体感圆盘(立体化按钮),点击有图

热门文章

  1. cnforum使用MasterPages实现Web窗体模板
  2. php 数字小写转大写,php将金钱小写数字转为金钱大写的方法
  3. PMOS和NMOS的导通特性
  4. 豆瓣《隐秘的角落》评论爬取
  5. 重磅!SK海力士600亿收购Intel存储业务!
  6. 多线程下httpClient报错 Connection pool shut down
  7. MyBatis中的Mapper.xml文件解析
  8. 2022 全球数字物流与绿色供应链大会暨全球数字物流与绿色供应链博览会筹备工作启动会成功举办
  9. Latex编写数学公式的常用语法
  10. uniapp集成colorUI uView2.0 Vuex