| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux极速上手,超全面总结,jdk使用教程 -> 正文阅读 |
|
[系统运维]Linux极速上手,超全面总结,jdk使用教程 |
============================================================================ Linux是一个开源、免费的操作系统,其稳定性、安全性和处理多并发等已经受到业界的认可,同时,由于是Linux是开源的,所以,用户可以根据自己的需求修改代码,在商业使用上还不会像Windows一样有很多局限性。 Linux是在伟大的GNU计划上产生的,它建立在Unix的基础上。GNU计划表示操作系统上的任何软件都应该是开源的,而且是可以任意删除与修改的。 上述图像表示:应用程序→shell命令解释器→Linux内核→硬件。 Linux发行版有很多,包括CentOS、Ubantu、红帽等。我们之所以用CentOS,是因为大数据的开发一般都在CentOS上运行的,Python一般都是在Ubantu上运行。 虚拟机就像是一个虚拟的计算机,当配置好这个计算机的内存、网络等一系列硬件后,就可以在上面安装系统。 常用的虚拟机软件是Vmware,我们可以在该软件上安装CentOS或者Ubantu操作系统。 ===================================================================================== 自己动手一步步安装CentOS,而不是用VMware软件的傻瓜式安装。安装文档和安装包在如下链接, 链接:https://pan.baidu.com/s/14yTMA6B6t48xqfnI4mrwRw 提取码:ming ————参考尚硅谷 用安装好的VMware的自动安装来安装CentOS,真的太香了。 1) 如果不用VMware的自动安装,而是按照教程安装,要时刻做好系统崩溃的准备。 2) 虚拟机中系统的关机千万不能用直接关闭虚拟机来解决,而是在该系统中老老实实的点关机,不然该系统很容易奔溃。这一点很容易理解,就像我们自己电脑的windows一样。 3) 如果自己安装VMware tools的话,我之前也写了一个教程,但是这只是不是再VMware的自动安装下才有的,如果是VMware的自动安装,它会自动安装。 4) 推荐先按照这份教程手动的安装,先了解一下Linux的很多细节,后期再通过VMware自动安装。 5) 在配置虚拟机时,网络连接存在三种方式,包括桥接模式、网络地址转化模式(NAT-Network Address Transaction)、主机模式,我们一般选择NAT模式。三者的区别如下: 如上图所示,
好处与坏处:
好处与坏处:
=============================================================================== 与Windows不同的是,在Linux中,万物都可以当成文件来对待。即使是一个硬件设备,在Linux中,也是使用文本来标记。如下图,硬件对应的是不同目录下的文件: Linux的目录结构:linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。 3.2 Linux的文件目录树(我也太强了,尽然直接把它总结了出来) 另外还有五个目录,分别是:
统内存的映射,访问这个目录来获取系统信息
学习Linux,一定要在脑海中形成一个目录树,一看到什么目录,就知道这个目录的作用是什么。 ============================================================================== Xshell5对应的是命令行的管理,XFtp5对应的是文件的上传和下载。安装包在这里: 链接:https://pan.baidu.com/s/1TDuSI8JjFhwCzPtF_GFC3A 提取码:ming ————参考尚硅谷 备注:在工作中,大部分时候,我们都是用命令行远程管理Linux服务器的,这也就是为什么我们要通过这两个工具来连接到自己电脑中VMware中CentOS的原因。 ============================================================================== 所有的Linux系统都会内建Vi文本
编辑器。Vim 具有程序编辑的能力,可以看做是Vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。 有个地方需要修改一下,就是去掉图中命令模式到命令行的三个选择的冒号。 | 选项 | 作用 | | — | — | | q | 离开vim | | q! | 不想保存修改强制离开 | | wq | 保存后离开 |
备注:更多Vim快捷键请点击:Vim快捷键 =================================================================================== 因为在实际的工作中,是不可能让每一个人都用最高管理权限的root用户,只能是让他们用到低第一级的用户权限。登录时尽量少用root帐号登录,因为它是系统管理员,最大的权限,避免操作失误。 如果在操作中真的需要管理员权限,可以利用普通用户登录,登录后再用”su-root’命令来切换成系统管理员身份。 在linux中每个文件有所有者、所在组、其它组的概念。用户组是为了让系统可以对有共性的多个用户进行统一的管理。 当我们创建一个用户后,默认会在/home/xx 创建一个和用户名相同的目录,该目录就是该用户的家目录。当一个新用户登录后,默认会切换到/home/xx下。一个用户默认是不能进入到其他用户的该目录下。 6.2.1 新建以及删除用户Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
6.2.2 组管理1)文件/目录的所有者一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。 2)查看文件的所有者与所在组的指令——ls ahl (第一个为所有者名称,第二个为所在组名称) 3)组自身的一些命令:
4)文件与组的一些操作:
5)所有者与所在组之间的一些操作
备注:文件的所在组不一定是所有者的所在组。 6.2.3 用户和组的相关文件
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:保留
每行的含义:组名:口令:组标识号:组内用户列表(一般是看不到的)
注意:在关机和重启前,一定要打入sync 将内存的数据写入磁盘。 Linux的几个运行级别如下图所示: 常用的运行级别是3和5。我们在主界面下的运行级别就是5,用Xshell登录就是3。如果要修改默认的运行级别,可通过vim来修改/ect/inittab文件中的 id:5:initdefault: 这一行中的数字。或者直接在终端的命令行输入:init 5。 例题:当忘记root密码时,如何找回密码: 启动时->快速输入 enter->输入 e-> 进入到编辑界面-> 选择中间有 kernel 项->输入 e(edit)-> 在该行的最后写入 1 [表示修改内核,临时生效]-> 输入 enter->输入 b [boot]-> 进入到单用模式。 ============================================================================== 7.1.2 man [命令或者配置文件]示例: man cd 查看cd命令的作用(全而杂) 7.1.2 help [命令]示例: help cd 查看cd命令的作用 7.2.1 pwd该命令行的意思就是print working directory,显示当前工作目录的绝对路径。 7.2.2 ls [选项] 显示当前目录下的文件和目录选项: -a :显示当前目录所有的文件和目录,包括隐藏的 (文件名以.开头就是隐藏,默认是不显示的) -l : 以列表的方式显示信息 -h : 显示文件大小时,以 k , m, G 单位显示 示例:
7.2.3 cd [选项] 进入到某个目录示例:
绝对路径和相对路径: 7.2.4 mkdir该命令行的意思就是make directory,新建一个文件夹(目录) 示例:
7.2.5 touch [文件名] [文件名] ……创建一个或者多个空文件,如果文件存在,则刷新文件的修改时间 7.2.6 rmdir [空目录]只能删除空目录 7.2.7 remove [文件名]删除文件 7.2.8 rm -rf [空目录或者非空目录]删除空或者非空目录,其中选项r表示文件与子目录全部删除,f表示全部删除,不需要询问 7.2.9 clear 或者 Ctrl+L清除bash上的命令行 7.2.10 cp [选项] [source源] [dest目的文件]选项为-r表示递归复制整个文件夹 7.2.11 mv移动文件或者重命名 示例:
mv /home/aaa.txt /home/pig/txt
mv /home/pig.txt /root/
mv /sharm/dataset /sharm/tumor/ 7.2.12 cat [选项 -n表示显示行号]以只读形式打开文件 说明: 如果需要一行行,输入 enter; 如果需要翻页,输入空格键; 如果需要退出,输入 q。 7.2.13 more采用more来查看文件 说明: 空格键 代表向下翻一页; enter 代表向下翻一行; q 代表立刻离开 more ,不再显示该文件内容; ctrl+F 表示向下滚动一屏; ctrl+B 表示返回上一屏; = 表示输出当前行的行号。 7.2.14 less和more的功能类似,但是其并不是一次将整个文件加载进来再显示,而是根据需要再显示,之后看大型的日志一般推荐less。 选项: 7.2.15 >与 >>单个>:输出重定向指令 (会将原来的文件的内容跟覆盖) 两个>>:追加指令 (不会覆盖原来文件的内容,而是追加到文件的尾部) 示例:
7.2.16 echo $PATH输出当前的环境变量 示例:
7.2.17 head 文件用于显示文件的开头部分内容,默认情况下head 指令显示文件的前10 行内容 示例:
7.2.18 tail 文件用于输出文件中尾部的内容,默认情况下tail 指令显示文件的后10 行内容 示例:
7.2.19 ln -s [原文件或目录] [软链接名]给原文件创建一个软链接,软链接也成为符号链接,类似于windows 里的快捷方式,主要存放了链接其他文件的路径,当我们使用pwd 指令查看目录时,仍然看到的是软链接所在目录。 示例:
7.2.20 history查看已经执行过得历史命令,也可以执行历史命令 示例:
7.3.1 date示例:
7.3.2 cal显示本月日历 示例:
7.4.1 find [搜索范围] [选项] [文件]find指令是将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。 示例:
7.4.2 locatelocate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。 示例:
locate hello.txt 查找整个Linux系统下hello.txt的位置 7.4.3 grep 与管道符“|”grep的作用是过滤查找,|的作用是将前一命令的结果传到后一命令上 grep的选项: -n 显示匹配行及行号; -i 忽略字母大小写; 示例:
7.5.1 gzip与gunzipgzip为压缩文件命令,只能将文件压缩为*.gz文件(不能压缩文件夹);gunzip为解压文件命令 示例:
7.5.2 zip与unzip即可以压缩/解压缩文件,还可以压缩/解压缩文件夹 选项: -r 递归压缩,即压缩目录 -d 指定压缩后文件的存放目录 示例:
7.5.3 tartar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件。该命令可以压缩,也可以解压缩 选项: 示例:
========================================================================= 命令行输入 ls -l ,会出现如以下所示的输出,它们分别代表的是: -rwxrw-r-- 1 root police 1213 Feb 2 09:39 abc.txt
1)rwx作用到文件
2)rwx作用到目录
通过chmod指令,可以修改文件或者目录的权限 1) 第一种方式,通过+、-、=变更权限 u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和) 示例:
**2) 第二种方式,通过数字变更权限 r=4 w=2 x=1 rwx=4+2+1=7** 示例:
chmod 751 文件、目录 两者的功能是相同的 备注:对于目录,只有给用户“执行”的权限,才能进入,同时该用户要重新登录一次。需要用root角色来更改各个用户的权限。 ========================================================================= 很多时候,我们在linux中,需要自动执行某一个脚本(代码),这个时候,我们就需要任务调度的作用。任务调度分为两类,第一类,系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等。第二类,个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。 任务调度的两种方式: 1)直接通过命令行来调度 2)通过调用脚本来调度 本质上两者是相同的,只不过当内容太多时,放在脚本中比较方便。 选项: -e 编辑crontab定时任务 -l 查询crontab任务 -r 删除当前用户所有的crontab任务 快速入门: 第一步:设置任务调度文件:/etc/crontab 第二步:设置个人任务调度。执行crontab –e命令。 第三步:接着输入任务到调度文件 如:*/1 * * * * ls –l /etc/ > /tmp/to.txt 意思说每小时的每分钟执行 ls –l /etc/ > /tmp/to.txt命令 占位符的说明: 参数说明:
案例:
操作示意:
crontab -e (vim的输入操作) */1 * * * date >> writeDate.log (各个符号中的空格很重要,同时该命令行的前提是我已经进入到该目录下) crontab -r(删除定时调度)
cd /tmp/tp/crontask.sh (放脚本的位置) 在该脚本中写入 date >> /tmp/tp/mycal.log cal >> /tmp/tp/mycal.log (存放保存文件的位置) [root@localhost tp]# chmod 755 ./crontask.sh (对了,还要给它一个可执行的权限) crontab -e */1 * * * * /tmp/tp/mycal.log crontab -r ============================================================================= 1) mbr分区:
2) gtp分区(?):
1) Windows分区 2)Linux分区
Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘。
查看所有设备(光驱 /media,u盘, 硬盘)挂载情况 10.5 经典案例——在系统中增加一块硬盘,挂载到/home/newdisk上 步骤:
选项: m 显示命令列表 p 显示磁盘分区 同 fdisk –l n 新增分区 d 删除分区 w 写入并退出 说明:开始分区后输入n,新增分区,然后选择p ,分区类型为主分区。两次回车默认剩余全部空间。最后输入w写入分区并退出,若不保存退出输入q。
mdfs -t ext4 /dev/sdb1 [把 /dev/sdb1 分区格式化]
mkdir /home/newdisk mount /dev/sdb1 /home/newdisk [说明;挂载时,当前目录不要在 /home/newdisk ]
vim /etc/fstab
umount /dev/sdb1(设备名)或/home/newDisk(挂载名) 1)查询系统整体磁盘使用情况 df -h 2)查询指定目录的磁盘占用情况(默认为当前目录) du -h 目录 选项: -s 指定目录占用大小汇总 -h 带计量单位 -a 含文件 –max-depth=1 子目录深度 -c 列出明细的同时,增加汇总值 实例: 3)du -ach --max-depth= 1 /usr 查询 /usr 目录的磁盘占用情况,深度为 1 4)ls –l /home/ | grep “^-” | wc -l 统计/home 文件夹下文件的个数 5)ls –l /home/ | grep “^d” | wc -l 统计/home 文件夹下目录的个数 6)ls –lR /home/ | grep “^-” | wc -l 统计/home 文件夹下文件的个数,包括子文件夹里的 7)ls –lR /home/ | grep “^d” | wc -l 统计/home 文件夹下目录的个数,包括子文件夹里的 =============================================================================== 手动安装好Linux系统时,会出现一个问题,那就是连接网络仅仅是在右上角点击连接网络来进行,而且可能每次Linux上网时,IP地址都会改变。这在实际工作中的效率是很低的,所以,要好好学一下网络配置。 NAT模式的连接图: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 4:30:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |