🍅程序员小王的博客:程序员小王的博客
🍅 欢迎点赞 👍 收藏 ⭐留言 📝
🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕
🍅java自学的学习路线:
一、什么是Linux?
1、linux简介
Linux是基于Unix的
Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机
2、Linux的历史
诞生于1991 年10 月5 日。是由芬兰赫尔辛基大学学生(林纳斯 托瓦兹)Linus Torvalds和后来加入的众多爱好者共同开发完成(linux 0.0.1.x86系统)最后
后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后(1994年)Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统.(1994年version1.0 正式版本,功能完善,稳定的版本)
林纳斯 托瓦兹 2周时间写出 git 分布式版本控制工具(接收世界各地发来的代码,对linux系统修改)
3、Linux系统的应用场景:
(1)核心应用场景
核心: 用在服务器操作系统方面 (服务器系统Web应用服务器、数据库服务器、接口服务器)
嵌入式系统路由器、防火墙、手机、PDA、IP 分享器、交换器、家电用品的微电脑控制器等等,DNS、FTP等等;
高性能运算、计算密集型应用Linux有强大的运算能力。
桌面应用系统
移动手持系统
(2)为什么不用windows?
捆绑收费,因为数据库用sqlServer费用高
4、Linux的版本
Linux的版本分为两种: 内核版本 和发行版本 ;
(1)内核版本
内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号 ;
(2)发行版本
发行版本是一些组织和公司根据自己发行版的不同而自定的 ;
5、Linux的特点
特点:免费,多用户,多任务,支持多线程和多CPU的操作系统,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,出色的速度性能。
6、Linux的发行版
redHat(红帽),centos,suse,ubuntu,红旗Linux
7、常见的操作系统
Unix(价格昂贵),Dos(简易,windows,不开源),MacOs(苹果计算机的操作系统),linux(廉价,完全开发的系统)
二、Linux之Cent OS 7
1、centos 引言
CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的[Red Hat](https://baike.baidu.com/item/Red Hat) Enterprise Linux使用。两者的不同,在于CentOS完全开源 。
2、centos 和 readheat区别
目前的Linux操作系统主要应用于生产环境,主流企业的Linux系统仍旧是RedHat或者CentOS,他们出自于同样的源代码,但centos完全免费。其独有的yum命令支持在线升级,可以即时更新系统,不像RedHat 那样需要花钱购买支持服务!
三、Linux中目录结构
- / 根目录
- bin 二进制可执行命令文件
- sbin (超级管理员有权操作)二进制可执行命令
- etc 存放系统配置文件的目录
- usr 共享资源目录 (共享资源:1.放在usr下 资源共享 2.设置权限)
- root root用户的家目录(pwd:就会直接进入/root 进入系统根下的root目录)
- home 普通用户,进入系统中,是在/home/用户名下(根下的home下的用户名)
- tmp: 临时文件的存放目录
复制代码
root管理员的home目录root,其他用户的home目录home目录中
四、Linux中常用指令
(1)基本命令格式
命令名 -选项 参数
- javac -d aa.java
- ls -l /usr
复制代码
注意:linux命令严格区分大小写
(2)ls 查看文件目录结构
- ls -l 长格式显示当前目录(显示显示当前目录)
复制代码
- ls -a (a=all 以.开头的都是隐藏文件,可以展示所有隐藏文件)
复制代码
- ls -R 递归(查看子目录及其子目录下的子目录,ctrl+c结束当前程序)
复制代码
(3)操作文件命令[重点]
1、pwd 显示当前目录
- ctrl+c:结束当前执行命令
- pwd:显示当前目录
复制代码
2、cd 切换当前所在目录
- cd / 切换到根目录
- cd .. 切换到上级目录
- cd . 当前目录
- 回家(回到root的根目录) cd/,cd~
- 切换到用户主目录cd -
- 使用tab键来补全文件路径
复制代码
3、touch 创建空文件
- touch 文件名 当前目录下新建空文件
- touch /usr/文件名 在共享资源目录下创建新文件
复制代码
4、mkdir 创建文件夹(目录)
- mkdir 目录名 当前目录中新建目录
- mkdir /usr/目录名 在指定目录下新建目录
复制代码
- mkdir -p aa/bb/cc/dd 按照目录结构创建目录 -p值父级目录不存在时先去创建父级目录
复制代码
5、rm 删除文件或目录
- rm 文件 删除文件(删除提示:y删除 n不删除)
- rm -f 强制删除(f:force)
- rm -r 递归删除(删除当前文件及其里面的子文件、子目录)
- rm -rf 强制递归删除,就不会出现很多提示了
- rm -rf /* 慎用 直接删除所有文件 相当于删掉整个操作系统
复制代码
- rm -r 递归删除(删除当前文件及其里面的子文件、子目录)
复制代码
- rm *.txt 通配的形式,删除以txt结尾的文件
复制代码
6、cp 复制文件
- cp 文件名 目录名 将文件拷贝到指定目录中
- cp -r 目录名 目录名 将目录及其内部所有文件夹和目录拷贝到目录中
复制代码
7、mv 移动文件和文件夹
- mv 已有文件名 不存在的文件名 修改文件名
- mv 已有文件名 存在的目录 移动文件
- mv 已有的目录 不存在的目录 修改目录名
- mv 已有的目录 存在的目录 移动目录
复制代码
8、rmdir 只能删除为空的目录(文件夹)
9、cat 查看文件内容
- cat 文件名 查看文件 只能展示一个版面(最后一页内容)
复制代码
10、more 分页查看文件内容
- more 文件名 分页查看文件内容 enter 进行回车,一次多展示一行
复制代码
11、less的 分页查看文件内容
- less 文件名 分页查看文件内容,可以上下展示行 pageUp|pageDown可以分页
- :q 退出当前less
复制代码
12.head 展示文件开头10行
13.tail展示文件末尾10行
-f的作用 监控服务器日志的运行状态
14.echo 操作终端输出命令
- echo 文本 在终端输出命令
- echo 文件夹>>文本 将文本输入到文件夹
复制代码
将文本输入到文件夹
(4)网络相关的命令
1、ip addr 查看当前计算机的ip地址【centOS7特有】
- ip addr 查看当前计算机的ip地址
- ip a 简化写法 查看当前计算机的ip地址
- ifconfig centOS7之前查看ip地址的
复制代码
2、ping 测试网络连通性
- ping ip|网络
- ping 192.168.0.1 数据包展示 丢失 0%
- ping www.baidu.com
复制代码
(5)较难的命令
1、Tar命令(windows winrar)
- tar 归档(压缩)命令
- -c 建立一个压缩文件的参数指令
- -x 解压
- -z 是否使用gzip压缩
- -v 压缩日志
- -f 压缩后的名字,在f后面直接写压缩名,以.tar结尾
-
- tar -cf whj.tar aa.txt bb.txt cc.txt 压缩命令
- tar -xf whj.tar 解压缩
- tar -cvf whj.tar aa.txt bb.txt cc.txt 归档命令显示文件
- tar -xvf whj.tar 解压缩并且显示解压的名字
-
- 【常用】
- tar -cvzf whj.tar aa.txt bb.txt cc.txt 归档命令显示文件
- tar -xvzf whj.tar 解压缩并且显示解压的名字
-
复制代码
2、systemctl服务命令(相当于控制Controller)
- systemctl 操作 服务名
- 操作:
- 启动: start
- 重启: restart
- 停止:stop查看状态 status
- 服务名:
- mysqlId mysql数据库服务名
- firewalld linux系统的防火墙服务名
- network linux的网络服务名
复制代码
防火墙服务命令
- 查看防火墙的状态 systemctl status firewalld
复制代码
3、ps 进程相关命令
- ps 查看前台进程
- ps -aux 查看当前系统中所有进程,及其使用的用户
- ps -ef 后台进程
复制代码
(6)vi命令
- vi/vim 用于文件内容编辑
- vi 文件名
- vi /usr/文件名
复制代码- vi/vim 文件名进入文件后---》命令模式---》插入模式--->退出
- i,a,o ESC
- ----》末行模式-----》退出模式
- : w:保存 q:退出 !:强制退出
- :q! 强制退出不保存
-
复制代码
1、命令模式下的命令
- i 在光标前插入
- I 在光标当前行开始插入
- a 在光标后插入
- A 在光标当前行末尾插入
- o 在光标当前行的下一行插入新行
- O 在光标当前行的上一行插入新行
- gg 到文本的第一行
- G 到文本的最后一行
复制代码
2、末行模式下命令
- ----------------重点---------------------------
- :set nu 显示行号
- :set nonu 取消行号
- gg 到文本的第一行
- G 到文本的最后一行
- :n(数字) 到文本的第n行
复制代码
8、回退到上一步和前进
- ------------------重点-------------------------
- u undo,取消上一步操作
- Ctrl + r redo,返回到undo之前
复制代码
(7)软件相关命令(rpm)
1、用户和组相关命令
- whoami 查看当前用户 只显示用户名
- who 查看当前登录终端 用户名+登录终端+登录时间
复制代码
- who -q 统计用户登录个数
- who --count 统计用户登录个数
复制代码
- 添加用户: useradd 用户名
-
- 设置密码:passwd 用户名 (需要输入两次)
- 删除用户:userdel 用户名
复制代码
- 如果不指定组 系统会以用户名创建组
- 在创建用户时可以指定他所属的组 -g
- 添加用户并且设置组 useradd 用户名 -g 指定组名
- .添加、删除组账号:groupadd、groupdel
复制代码
- root用户[root@localhost~]#
- 普通用户 普通用户[用户名@localhost~]#
复制代码
2、切换用户
- su root 切换用户,管理员切换其他用户需要密码,其他用户互相切换需要密码
复制代码
(8)权限相关的命令 chmod
Linux文件有三种典型的权限,即r读权限、w写权限和x执行权限。在长格式输出中在文件类型的后面有9列权限位,实际上这是针对不同用户而设定的。r=4,w=2,x=1
- - rw- r-- r--
- 文件- 属主(创建者的)权限 属组的权限 其他的权限
- 目录是d 文件创建者同组用户的权限 其他人员的权限
- r:可以读
- w:可以写
- x:可以执行
复制代码
- 修改文件操作权限
- cchmod 权限设置 文件名
- 权限设置:
- 增加权限 +
- 撤销权限 -
- 设定权限 =
- chmod 给谁加+添加的权限 aa.txt
- 给谁加
- 属主(作者):u user
- 属组(和作者一个组的人):g group
- 其他成员(其他用户): o other
- 添加权限:
- chmod u+x,g+wx,o+wx aa.txt
- (给作者自己加可以执行权限,
- 给同组的用户添加写执行权限,
- 给其他用户添加写执行权限)
- 撤销权限
- chmod u-rwx,o-rw,o-rx aa.txt
复制代码
- 设定权限
- chmod u=rwx,o=rw,o=rx aa.txt
复制代码
- 数字法表示权限
- 读 r4 写w2 执行x1
- 属主 属组 其他
- 7 7 7
- chmod 123 aa.txt
- (作者可以执行
- 同组的人可以写
- 其他人可以读
- )
- chmod 664 bb.txt
复制代码