1、Linux介绍(了解)
       Linux是一套免费使用和自由传播的类Unix <https://baike.baidu.com/item/%E7%B1%BBUnix>操作系统
 <https://baike.baidu.com/item/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/192>,是一个基于
POSIX <https://baike.baidu.com/item/POSIX>和UNIX 
<https://baike.baidu.com/item/UNIX>的多用户、多任务 
<https://baike.baidu.com/item/%E5%A4%9A%E4%BB%BB%E5%8A%A1/1011764>、支持多线程 
<https://baike.baidu.com/item/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1190404>和多CPU 
<https://baike.baidu.com/item/CPU>的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位 
<https://baike.baidu.com/item/32%E4%BD%8D/5812218>和64位 
<https://baike.baidu.com/item/64%E4%BD%8D>硬件。Linux继承了Unix 
<https://baike.baidu.com/item/Unix>以网络 
<https://baike.baidu.com/item/%E7%BD%91%E7%BB%9C/143243>
为核心的设计思想,是一个性能稳定的多用户网络操作系统。
1.1、Linux和Windows的区别
Linux是一款操作系统。正规开发
                                  服务器项目部署都是放在Linux操作系统上。
Windows一款操作系统,民用操作系统。娱乐、影音、上网。
                                        中、小公司开发
                 强大的日志记录系统,强大的桌面应用(桌面应用渲染)
                 服务器(tomcat)电商项目
1.2、Linux历史及使用场景
Linux诞生90年代,仿制Unix操作系统。
Linux是免费的,开源的
Unix是收费的,封闭的。
Linux在逐步替代Unix。
Linux使用场景:服务器操作系统,移动设备(安卓手机,平板电脑),路由器(WIFI),交换机,智能家居,Java程序开发
1.3、Linux的版本
Linux内核版本:Linux内核运维开发小组。     苹果6,苹果7
                                  源码在一定程度上不是开源的。
Linux发行版本:由各大互联网/软件公司定制。  苹果6绿色的手机壳,   苹果7彩色的手机壳
                                  外围的样式功能的源码完全开源
一个内核版本是有多种多样的发行版本
Ubuntu:以强大的桌面应用为主,吸收不少Windows用户。
                 因为桌面应用会在一定程度上大量占用系统资源,开发。
                 服务器部署上,不会优先选择Ubuntu
CentOS:对服务器性能进行了一定程度的优化,性能比较高,比较稳定。
                 服务器操作系统的优选CentOS
2、Linux安装【重点】
2.1、虚拟机介绍及安装
安装虚拟机,通过虚拟机安装Linux操作系统。
虚拟机:是一台虚拟的计算机。
虚拟记事本:记事本软件
 * 虚拟机软件: 
 * VMware 
Workstation(中文名“威睿工作站”)是一款功能强大的桌面虚拟计算机软件,收费的。VMware是全球桌面到数据中心虚拟化解决方案的领导厂商 
对虚拟化技术要求并不严格。
 * 
 * VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由Sun 
Microsystems公司出品的软件,使用Qt编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox 
对主板的虚拟化技术要求比较严格
2.2、虚拟机及Linux安装
将杀毒软件关闭,将防火墙关闭。  22端口
使用管理员权限进行安装。
5个服务需要启动
 
Linux安装:
切换鼠标,键盘。   Ctrl+alt 
Linux系统:
超级管理员: root
密码:123456
2.3、Linux目录介绍
/   Linux系统根目录
/etc:(etcetera) 系统配置文件存放的目录,不建议在此目录下存放可执行文件。
        
重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。注:/etc/X11存放与x 
windows有关的设置。
        防火墙文件,网络设置文件,JDK环境配置文件,mysql
/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的内容建议单独分区,设置较大的磁盘空间。
        Jdk,tomcat,mysql,redis,nginx
/root: 系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。
                 每一个用户都有家目录,超级管理员root家目录  /root
                 Linux命令行模式中相当于Windows的桌面
以上建议并不是强制性约束。
2.4、CRT远程连接Linux
远程连接。SQLYog、Navicat等
CRT远程连接Linux软件
鼠标右键:  复制/粘贴
文件上传:alt+p   上传窗口
Linux:/root    上传的文件全部被放在了root目录中
3、常用命令【重点】
Linux命令中参数,一般都是无序的。特殊情况下除外
3.1、磁盘管理命令
ls命令:列出目录内容
参数:
        -a 查询所有文件和文件夹。包含隐藏的
        -l 查询详细列表    ls -l   简写为ll
        -h 友好展示信息   ll -h
                         d目录,-普通文件, l链接
需求:展示某个目录下的内容    ls 目录名
所在位置:/root
想要查看:/etc目录下的内容
命令:ll -h /etc
cd(change directory) 功能:切换目录
        cd ../    ,向上一层目录
        cd /      ,切换到Linux的根目录
        cd /目录名 , 任意目录 切换到指定目录中     /目录名  Linux的绝对路径
                 
                                                                                    
windows:  c:/xxxx/xxx.jpg
        cd    ~      ,切换到当前用户家目录。Root用户家目录 /root    回家
        cd   -       ,切换到上一次访问的目录。   只能两个目录相互切换
Linux绝对:  cd /etc/x1     先切换到/目录,然后在/目录中找到子目录etc,在etc中找子目录x1
                         在任意目录都可以随意切换
Linux相对:cd x1/x2        在当前目录中寻找子目录x1, 在x1中寻找子目录x2
                         必须确定当前目录下有子目录x1
pwd(print working directory) 功能:显示当前的所在目录。返回绝对路径
mkdir(make directoriy)功能: 创建目录
mkdir -p 文件夹名称  
-p 父目录不存在情况下先生成父目录 (parents)
需要在/root/t1目录下创建一个t2目录
位置:/root
命令:相对:mkdir t1/t2
          绝对:mkdir /root/t1/t2
需要在/root/t3目录下创建一个t4目录
位置:/root
条件:t3和t4都不存在
命令:mkdir -p t3/t4
3.2、文件浏览命令
日志文件,XML,properties文件
cat 文件名   快捷查看当前文件的内容
                         cat适合查看少量信息的文件。
more 文件名   分页显示文件内容
 * 操作 
        Enter    向下n行,需要定义。默认为1行
        空格键  向下滚动一屏 或 Ctrl+F
        B  返回上一屏 或 Ctrl+B
        q       退出more
less -mN 文件名     分页显示文件内容,标注每行的行号
 * 操作 
        Enter    向下n行,需要定义。默认为1行
        空格键  向下滚动一屏 或 Ctrl+F
        B  返回上一屏 或 Ctrl+B
        q       退出more
        适用于大量数据的查看
tail -数字 文件名    可以快速查看文件后X行的内容
例如:tail -10 文件名  查看文件的后10行内容
3.3、文件操作命令
Alt  + p进入上传界面
文件复制:
(copy)--àcp复制文件或者复制目录
复制文件:
cp 需要复制的文件 复制的位置
需求:把/root/Demo1.java文件 复制到  /root/t1 目录中
位置:/root
命令:cp Demo1.java t1
          cp /root/Demo1.java /root/t1
需求:把/root/Demo1.java文件 复制到  /root/t1 目录中,改名为ddd.java
位置:/root
命令:cp Demo1.java t1/ddd.java
复制目录
cp -r 需要复制的文件 复制的位置
需求:把/root/t5目录 复制到  /root/t1目录中
位置:/root
命令:cp -r t5 t1
          cp -r /root/t5 /root/t1
文件移动
mv(move) 功能:移动或更名现有的文件或目录。
文件/目录移动:
mv需要移动的文件 移动的位置
需求:把/root/t5 目录 移动到 /root/t3目录中
位置:/root
命令:mv t5 t3
需求:把/root/t5 目录 移动到 /root/t3目录中
                 不询问,直接覆盖
位置:/root
已知:/root/t3目录中 已经有一个t5目录了
命令:mv -f t5 t3
文件/目录更名操作:
需求:把/root/Demo1.java  改名为 hehe.java
位置:/root
命令:mv Demo1.java hehe.java
文件删除:
rm(remove) rm 功能:删除文件或目录。
删除文件:
rm 文件名
删除目录:
rm -rf目录名
需求:删除/root/t5 目录,
位置:/root
已知:t5目录下有子目录或者文件
命令:rm -rf t5
注意:
        rm -rf *     删除当前目录下所有内容
        rm –rf /*    删除Linux系统根目录下所有内容
查找命令:
find功能:查找文件或目录。
语法:find 目录名 -name '需要查找的字符串'
*表示0~多个任意字符
需求:查找/root目录下 所有以ins开头的文件或者目录
位置:/root
命令:find /root -name ‘ins*’
3.4、文档编辑命令
Windows是有记事本
Linux也有类似的记事本功能   VIM编辑器
vim命令
 * 输入“vim 文件名”进入“一般模式” 
 * 按下“i”从一般模式,进入“插入模式” 
 * 按下“esc”从“插入模式”退出到“一般模式” 
 * 在“一般模式”下,输入“:wq”,退出编辑。 
一般模式:可以浏览文件内容,可以进行文本快捷操作。  单行复制,多行复制,单行删除,多行删除。。。
                         按i可以切换到插入模式
                         按:可以切换到底行模式
插入模式:可以编辑文件内容。
                         按ESC可以切回一般模式
底行模式:可以进行强制退出不保存操作   q!
                   可以进行保存并退出操作  wq
3.5、grep和管道
grep 正则表达式。    字符串搜索工作
格式:grep -i 需要搜索的字符串 搜索的文件
-i 忽略大小写查找数据
符合规则,就会返回符合规则的行。
管道命令: 可以链接多个Linux命令
|    shift+\
命令1 | 命令2 | 命令3……
需求:查询当前目录中,所有带ins关键字的行数据
位置:/root
思考:查询当前目录内容  ll
          查询字符串,返回字符串所在行  grep
命令:ll | grep ins
3.6、压缩、解压命令【重要】
Linux压缩,解压命令。
Linux压缩包: *.tar     打包,大小不会进行压缩
                           *.tar.gz   打包并压缩文件大小
压缩:(参数顺序不变)
        tar -zcvf 压缩包名字.tar.gz 需要压缩的内容
例如:tar -zcvf hehe.tar.gz *   将当前目录下所有内容进行打包压缩,文件名hehe.tar.gz
解压:(参数顺序不变)
        tar -zxvf 需要解压的压缩包名称   解压到当前目录
        tar -zxvf 需要解压的压缩包名称 -C 指定压缩路径    解压到指定目录中
需求:需要把/root/t5/hehe.tar.gz  压缩包 解压到 指定目录中。指定目录/root/t5/t5
位置:/root/t5
命令:tar -zxvf hehe.tar.gz -C /root/t5/t5
tar -zxvf hehe.tar.gz -C t5
3.7、系统命令
查看系统进程:ps -ef
 
需求:查看进程中 和 vim相关的进程
命令:ps -ef|grep -i vim
强制杀死某个进程:kill -9 pid号
需求:查看进程 和 vim相关的进程有哪些,并将vim进程杀死
命令:ps -ef|grep -i vim
          Kill -9 pid号
查看网络配置:ifconfig
测试和目标的连通性:ping ip地址
会持续不断一直测试,直到ctrl+c
Linux centos重启命令:reboot
Linux centos关机命令:halt
3.8、其他命令(了解)
网络设置:setup
建议使用CRT运行该命令,会有中文界面
root
文件权限:
 * chmod(change mode) 功能:变更文件或目录的权限。 
linux 权限格式:<类型><用户><组><其他用户>
        
第一部分: 第一位,文件的类型(d目录,-普通文件,l超链接文件)
第二部分:所属用户权限。 文件属于哪个用户   u
第三部分:所属组权限     所属用户所在组别   g
第四部分:其他用户权限   文件不属于该用户,不属于该用户所在组  o
所有用户:a
R  read  读取权限
W  write 写入权限
X        执行权限
 *       没有权限 
权限更改:
语法:chmod 权限设置 需要更改权限的文件名
更改Demo1.java  所属用户的权限为所有权限
例如:chmod u=rwx Demo1.java
更改Demo1.java  所属组 用户的权限为r-x
例如:chmod g=rx Demo1.java
更改Demo1.java  所有用户的权限为r—
例如:chmod a=r Demo1.java
更改文件夹权限:
语法:chmod -R 权限设置 需要更改权限的文件名
更改t1 文件夹中所有文件的权限。  所属用户的权限 r--
例如:chmod -R u=r t1
热门工具 换一换