1.Linux简介和安装
1.1UNIX
Unix是一个强大的多用户、多任务操作系统。 于1969年在AT&T的贝尔实验室开发。 UNIX的商标权由国际开放标准组织(The Open Group)所拥有。 UNIX操作系统是商业版,需要收费。(苹果电脑的操作系统是基于Unix)
1.2 什么是linux(概述)
linux基于unix
linux就是一个自由和开放源码的操作系统。存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机。
linux诞生于1991 年10 月5 日。是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成。
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的版本分为两种:
内核版本和发行版本; 内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号 ; 发行版本是一些组织和公司根据自己发行版的不同而自客制化出来的版本;
linux的主流版本:
1.6 虚拟机的安装
1.6.1 什么是虚拟机
虚拟机:一台虚拟的电脑。
虚拟软件:
VMWare : 收费的。功能强大,支持硬件兼容性好。安装方便。
VirtualBox: 免费的。安装起来费时,支持不是特别好。安装麻烦。
1.6.2 安装虚拟机软件
1.6.3 安装CentOS
参考:
* https://blog.csdn.net/qq_33223299/article/details/78950829
* https://baike.baidu.com/item/unix/219943?fr=aladdin
* https://www.linuxidc.com/Linux/2017-06/144916.htm
* https://jingyan.baidu.com/article/3d69c5518b8bfef0cf02d7e1.html
2.Linux和Windows的区别
* https://jingyan.baidu.com/article/1974b2897a699ef4b1f774eb.html
3.Linux远程登录
3.1 远程连接工具介绍
securecrt :收费的。
xshell:免费的。远程连接linux,进行命令操作。
xftp: 文件传输的软件。
3.2 安装远程连接工具
4 普通用户与超级管理员
* 1 显示“$”标识表示是普通用户
* 例如: 进入linux系统,控制台出现:[xiaohei@centos61 ~]$
* ~用户的根目录
* 2 显示“#”标识表示是超级管理员:
* 3 切换用户
* 切换用户(使用su命令切换用户):
* ubuntu下su: Authentication failure的解决办法
* sudo passwd root
* 当从普通用户切换到root用户(超级管理员)或其他用户时,需要输入目标用户的密码。
* 当从root用户切换到普通用户时,不需要输入密码。
* su xiaohei
5.Linux目录结构
* 1 Linux所有内容是以文件形式进行管理
* 2 / 根目录
* 1:bin 存放二进制可执行文件(ls,cat,mkdir等)
* 2:boot 存放用于系统引导时使用的各种文件
* 3:dev 用于存放设备文件
*dev是device的简写,就是“设备”的意思。Linux把每个硬件也看作是一个文件
* 4:etc 存放系统配置文件
*1:例如安装jdk配置环境变量
* 5:home 存放所有用户文件的根目录
*1:用户登录系统后默认所在的目录
* 6:mnt 系统管理员安装临时文件系统的安装点
*例如:挂载光驱。
* 7:opt 额外安装的可选应用程序包所放置的位置
*例如:我们可以安装自定义程序1:安装eclipse,安装tomcat
* 8:root 超级用户目录
*1:管理员
* 9:sbin 存放二进制可执行文件,只有root才能访问
* 10:usr 用于存放系统应用程序,有些类似windows的Program Files
*例如:软件中心下载的软件默认安装在usr/bin中。
* 我们也可以将jdk安装在此目录中。
*图形化界面查看
* Places -Documents-File System (/ 根目录)
6.Linux常用命令
*1:ls 显示文件和目录列表
* 1: -l 列出文件的详细信息
* 2: -a 列出当前目录所有文件,包含隐藏文件
ll等价于ls -l
* 2:mkdir 创建目录 ( 删除?rmdir 非空)
* 1:-p 父目录不存在情况下先生成父目录
* 3:cd 切换目录(change directory)
* 4:touch 生成一个空文件
* 5:echo 生成一个带内容文件
*1:echo abcd>a.txt
追加:>> ,会自动分行
* 6:cat、tac 显示文本文件内容
* 7:cp 复制文件或目录
*1:cp a.txt /home/etc/abc/dd
* 8:rm 删除文件
*1:rm a.txt
*2:rm -rf abc
* 9:mv 移动文件或目录、文件(剪切)
*1:mv aaa bbb 将aaa改名为bbb
*2:mv bbb /home/etc/abc/ccc
* 10:find 在文件系统中查找指定的文件
*1:find -name 文件名
* 11:wc 统计文本文档的行数,字数,字符数
*1:wc a.txt
* 12:grep 在指定的文本文件中查找指定的字符串
*1:grep aa a.txt
* 13:pwd 显示当前工作目录
* 命令练习:
创建一个目录 家庭A(目录)
进入familyA
家庭A中有一个父亲,母亲,女儿,儿子(4个空文件)
家庭有房子(目录)
房子有厨房,卫生间,3卧室(目录)
男孩房有床(空文件),有书(带内容的文件)
女孩房同样有床和书,女孩房有娃娃(空文件)。
男孩房也要有娃娃(空文件),男孩把娃娃删掉。
删除厨房
* 14:ln 建立链接文件(***)
* 1:ln -s /home/etc/familyA/house/roomB /home/roomB
* 1:当访问一个目录较深的文件,可以建立链接文件。
* 2: 遇到 Permission denied(权限拒绝)说明xiaohei用户没有权利做这件事
*1:使用sudo 可以借用root的权限,输入xiaohei的密码
* 3:在home下就可以直接访问roomB的文件
* 15 more、less 分页显示文本文件内容
* 1:查看配置文件时,很长需要分页处理
* 2:more(一页一页翻)
1:空格键向下翻页
2:Enter键向下滚动一行
3: q 离开more
4: b 往回翻
* 3:less(一页一页翻)
1:空格 向下翻一页
2:PageDown 向下翻一页
3:PageUp 向上翻一页
4:q 离开
* 16:head,tail分别显示文件开头和结尾内容
* 17:man 命令帮助信息查询
* 1:man ls
* 18:管道(***)
* 1: cat /etc/passwd | wc -l
* 使用cat命令显示passwd文件中的内容,但是并没有显示在屏幕上,而是通过管道“|” 接受,wc命令从管道中取出内容进行统计,然后显示结果
这个输出时该文件有多少行(多少个用户)
* 19:重定向
* 1:>
* cat /etc/passwd>/home/etc/a.txt
echo "hello java">a.txt (覆盖上一个a.txt)
* 2:>>
* 1:追加,不会覆盖
* cat /etc/passwd>>/home/etc/a.txt
echo "---------">>a.txt
* 20:tar
* 1:打包
* 1:tar -cvf familyA.tar familyA (tar -cvf 保存路径/包名 打包目录)
-cf 不会有压缩的信息
* 2:拆包
* 1:tar -xvf /home/etc/familyA.tar
* 21:gzip 命令
* gzip 压缩(解压)文件,压缩文件后缀为gz
* 1:压缩
* 1:把/home/etc目录下的familyA目录下所有文件压缩成.gz文件
* 1:gzip只能压缩文件,目录(文件夹不能处理),需要使用tar对文件夹打包
* 1:gzip familyA.tar 进行压缩
* 2:查看压缩文件
* 1:gzip -l familyA.tar.gz 查看压缩包详细信息
* 1:compressed 压缩后大小
* 2:uncompressed 原始大小
* 3:ratio 压缩比
* 4:uncompressed_name 原始文件名
* 3:解压
* 1:gzip -d familyA.tar.gz 显示文件名和
* 22:tar命令压缩和解压
* 1:将整个/home/etc/familyA目录下的文件全部打包成为/home/etc/familyA.tar
* 1:仅打包,不压缩
*1:tar -cvf familyA.tar familyA
* 2:打包后,以gzip压缩
* 1:tar -zcvf familyA.tar.gz familyA
拆包
tar -zxvf familyA.tar.gz
7.Linux 系统命令
* 1 :---
* 2:who、显示在线登录用户
* 1:想要知道当前有多少用户登录系统。
* 2:who
* 1:显示2个一个是命令行,一个是图形界面的只有一个etc
* 3:whoami 显示用户自己的身份
* 4:hostname 显示主机名称
* 1:hostname
* 2:hostname -i 显示主机IP
* 5:uname 显示系统信息
* 1:uname -a 显示全部信息
* Linux ubuntu 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:34:50 UTC 2010 i686 GNU/Linux
* 6:top 显示当前系统中耗费资源最多的进程 动态显示过程,实时监控
* 1:类似于windows的任务管理器
* 2:主要看 cpu mem command
* 3;ctrl+c 退出,或者q
* 7:ps 显示瞬间进程状态
* 1:ps -aux 显示所有瞬间进程状态
* 8:du 显示指定的文件(目录)已使用的磁盘空间的总量
* 1:du
* 2:du familyA (以K为单位)
* 3:du -h familyA
* 9:df 显示文件系统磁盘空间的使用情况
* 1:df -h
* 10:free 显示当前内存和交换空间的使用情况
* 11:ifconfig 显示网络接口信息
![](https://i.imgur.com/P4m1Huj.png)
* 1:windows 是ipconfig
* 12:ping 测试网络的连通性
* 13:clear 清屏
* 14:kill 杀死一个进程
* 15:关机/重启命令
* 1:shutdown 命令可以安全的关闭Linux系统,shutdown命令必须有超级用户才能执行。shutdown命令执行后会以广播的形式通知正在系统中工作的所有用户,
* 1:shutdown -h now (关机不重启)
* 2:shutdown -r now (关机重启)
* 3:shutdown now (关机)
* 4:shutdown 15:22
* 2:halt 关机后关闭电源
* 3:reboot 重新启动
8.VIM编辑器
vim编辑器
* 编辑模式
* 插入模式
* 命令模式
* VIM的运行模式 <C-F12>
* 编辑模式:等待编辑命令输入
* 插入模式:编辑模式下,输入 i 进入插入模式,插入文本信息
* 命令模式:在编辑模式下,输入 “:” 进行命令模式
* 1:安装
* 2:在/home/etc/目录下建立一个bank.txt文件
* 1:cd /home/etc/familyA/
* 2:touch bank.txt
* 3:使用vim编辑
* 1: vim bank.txt
* 2:数据命令i 进入插入模式
* 3:输入内容
* ICBC
* RMB:10000000000
* USD:100000000000
* user:familyA.father
* 4:ctrl+C 退出插入模式或者敲ESC切换至命令模式
* 5::wq 回车 保存
* 4:编辑bank.txt 内容不保存 退出
* 1:vim bank.txt
* 2:数据命令i 进入插入模式
* 3:随便输入内容
* 4:ctrl+C 退出插入模式或者敲ESC
* 5::q! 回车 强制退出
* 6:cat bank.txt 使用cat查看内容
* 5:显示行号
* 1:vim bank.txt
* 2::set number 回车
* 3::q 回车 正常退出
* 6:取消行号
* 1::set nonumber
9.文件权限
1.1 文件的权限
二进制
属主(User) | 属组(group) | 其他用户 | ||||||
r | w | x | r | w | x | r | w | x |
4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
chmod 变更文件或目录的权限。
chmod 755 a.txt
chmod u=rwx,g=rx,o=rx a.txt
* https://blog.csdn.net/lcyaiym/article/details/76696192
* https://tomcat.apache.org/download-80.cgi
12.Linux MySQL安装
* https://www.cnblogs.com/bookwed/p/5896619.html
* https://www.cnblogs.com/xxoome/p/5864912.html
备注:
* 解决linux显示ip的问题
https://blog.csdn.net/qq_36769100/article/details/71473632?locationNum=5&fps=1
* linux虚拟机能ping通windows主机,windows主机ping不通linux虚拟机的解决办法
https://blog.csdn.net/clean_water/article/details/53023308
* 关闭防火墙
https://www.cnblogs.com/gw666/p/7672629.html