Bootstrap

Linux学习笔记(三)(1)


文件目录所有者

一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者

查看文件的所有者

指令:ls –ahl

在这里插入图片描述

修改文件所有者

指令:chown 用户名 文件名

在这里插入图片描述

组的创建

**基本指令 **

groupadd 组名

文件/目录所在组
查看文件/目录所在组

基本指令 ls –ahl

修改文件所在的组

基本指令

chgrp 组名 文件名

在这里插入图片描述

其他组

除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。

改变用户所在组

在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某 个用户所在的组。

改变用户所在组

  1. usermod –g 组名 用户名

  2. usermod –d 目录名 用户名 改变该用户登陆的初始目录

在这里插入图片描述

权限管理

在这里插入图片描述

其中,蓝色表示目录,目录的大小为4096

可用数字表示为: r=4,w=2,x=1 因此rwx=4+2+1=7

修改权限-chmod
第一种方式:+ 、-、= 变更权限

u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)

  1. chmod u=rwx,g=rx,o=x 文件目录名

  2. chmod o+w 文件目录名

  3. chmod a-x 文件目录名

案例:1) 给test1文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。

在这里插入图片描述

  1. 给text文件的所有者除去执行的权限,增加组写的权限

在这里插入图片描述

  1. 给test文件的所有用户添加读的权限

在这里插入图片描述

第二种方式:通过数字变更权限

r=4 w=2 x=1

rwx=4+2+1=7 chmod u=rwx,g=rx,o=x 文件目录名

相当于 chmod 751 文件目录名

案例:将 /home/test1.txt 文件的权限修改成 rwxr-xr-x, 使用给数字的方式实现:

在这里插入图片描述

修改文件所有者-chown

基本介绍 chown newowner file 改变文件的所有者

chown newowner:newgroup file 改变用户的所有者和所有组

-R 如果是目录 则使其下所有子文件或目录递归生效

修改文件所在组-chgrp

基本介绍 chgrp newgroup file 改变文件的所有组

在这里插入图片描述

crond 任务调度

crontab 进行 定时任务的设置,。

概述

任务调度:是指系统在某个时间执行的特定的命令或程序。

任务调度分类:

1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等

2.个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。

基本语法

crontab [选项]

常用选项

-e 编辑crontab定时任务

-l 查询crontab任务

-r 删除当前用户所有的crontab任务

参数细节说明
5个占位符的说明

在这里插入图片描述

特殊符号的说明

在这里插入图片描述

案例

每隔1分钟, 将当前日期和日历都追加到 /tmp/mycal 文件中

大致思路:

1.编写一个sh文件,里面将日期和日历都追加到 /tmp/mycal 文件中

2.crontab -e 任务调度,每分钟执行一次sh文件即可

步骤:

1.编写一个sh文件 /home/mytask2.sh

在这里插入图片描述

2.给文件mytask2.sh一个可执行权限

在这里插入图片描述

3.crontab -e

4.每隔一分钟执行一次sh文件

在这里插入图片描述

  1. 成功

在这里插入图片描述

crond 相关指令:
  1. conrtab –r:终止任务调度。

  2. crontab –l:列出当前有那些任务调度

  3. service crond restart [重启任务调度]

linux分区

分区的方式:
  1. mbr分区:

1.最多支持四个主分区

2.系统只能安装在主分区

3.扩展分区要占一个主分区 4

.MBR最大只支持2TB,但拥有最好的兼容性

  1. gpt分区:

1.支持无限多个主分区(但操作系统可能限制,比如 windows下最多128个分区)

2.最大支持18EB的大容量(1EB=1024 PB,1PB=1024 TB ) 3.windows7 64位以后支持gtp

原理介绍
  1. Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构 , Linux中每个分区都是用来组成整个文件系统的一部分。

  2. Linux采用了一种叫**“载入”**的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一 个目录下获得。

示意图:

在这里插入图片描述

硬盘说明
  1. Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘

  2. 对于IDE硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指 IDE硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属 盘),“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就 是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为 第二个IDE硬盘上的第二个主分区或扩展分区。

  3. 对于SCSI硬盘则标识为“sdx~”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余 则和IDE硬盘的表示方法一样。

查看所有设备挂载情况

命令 :lsblk 或者 lsblk -f


在这里插入图片描述

如何增加一块硬盘
  1. 虚拟机添加硬盘

  2. 分区 : fdisk /dev/sdb

  3. 格式化 :mkfs -t ext4 /dev/sdb1

其中ext4是分区类型

  1. 挂载

创建一个目录 /home/newdisk ;

mount /dev/sdb1 /home/newdisk


若是需要卸载:

umount 设备名称 或者 挂载目录 •

例如: umount /dev/sdb1 或者 umount /newdisk

  1. 设置可以自动挂载

永久挂载:

1.通过修改/etc/fstab实现挂载 添加完成后 执行mount –a 即刻生效

在这里插入图片描述

2.然后执行mount -a

磁盘查询实用指令

磁盘情况查询
查询系统整体磁盘使用情况

基本语法

df -h

在这里插入图片描述

查询指定目录的磁盘占用情况 •

基本语法 du -h /目录

查询指定目录的磁盘占用情况,默认为当前目录

-s 指定目录占用大小汇总

-h 带计量单位

-a 含文件

–max-depth=1 子目录深度

-c 列出明细的同时,增加汇总值

在这里插入图片描述

磁盘情况-工作实用指令
  1. 统计/home文件夹下文件的个数

在这里插入图片描述

  1. 统计/home文件夹下目录的个数

在这里插入图片描述

  1. 统计/home文件夹下文件的个数,包括子文件夹里的(递归查找 -R)

在这里插入图片描述

  1. 统计文件夹下目录的个数,包括子文件夹里的

在这里插入图片描述

  1. 以树状显示目录结构

#安装tree yum install tree

在这里插入图片描述

网络配置

原理图

在这里插入图片描述

查看网络IP和网关
查看虚拟网络编辑器

在这里插入图片描述

修改ip地址

在这里插入图片描述

查看网关

在这里插入图片描述

查看windows环境的中VMnet8网络配置 (ipconfig指令)
linux网络环境配置
第一种方法(自动获取):

系统 -首选项-网络连接

在这里插入图片描述

特点:linux启动后会自动获取IP,缺点是每次自动获取的ip地址可能不一样

第二种方法(指定固定的ip)

直接修改配置文件来指定IP,并可以连接到外网(程序员推荐),

编辑 vi /etc/sysconfig/network-scripts/ifcfg-eth0


进程管理

基本介紹
  1. 在LINUX中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一 个ID号。

  2. 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例 如www服务器。

  3. 每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目 前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法 看到的进程,通常使用后台方式执行。

  4. 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到 关机才才结束。

显示系统执行的进程

ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。 可以不加任何参数.

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述


ps -ef是以全格式显示当前所有的进程

-e 显示所有进程。

-f 全格式。

ps -ef|grep xxx

查看sshd的父进程

在这里插入图片描述

++

终止进程kill和killall
介绍:

若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。使用kill命令来完成此项任务。

基本语法:

kill [选项] 进程号(功能描述:通过进程号杀死进程)

killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负 载过大而变得很慢时很有用)

常用选项:

-9 :表示强迫进程立即停止

最佳实践:

案例1:踢掉某个非法登录用户

kill 进程号

案例2: 终止远程登录服务sshd, 在适当时候再次重启sshd服务

ps -aux | grep sshd

kill sshd的进程号

案例3: 终止多个gedit 编辑器

killall gedit

案例4:强制杀掉一个终端

kill -9 进程号

查看进程树pstree
基本语法:

pstree [选项] ,可以更加直观的来看进程信息

常用选项:

-p :显示进程的PID

-u :显示进程的所属用户

应用实例:

案例1:请你树状的形式显示进程的pid

pstree -p

案例2:请你树状的形式进程的用户id

pstree -u

服务管理
介绍:

服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程 序的请求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程,是Linux中非常重要的 知识点。

service管理指令:

service 服务名 [start | stop | restart | reload | status]

在CentOS7.0后 不再使用service ,而是 systemctl

使用案例:

service iptables stop

service iptables start

service iptables status

  1. 查看当前防火墙的状况,关闭防火墙和重启防火墙。

在这里插入图片描述


在这里插入图片描述

细节讨论:
  1. 关闭或者启用防火墙后,立即生效。[telnet 测试 某个端口即可]

在这里插入图片描述

  1. 这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。

  2. 如果希望设置某个服务自启动或关闭永久生效,要使用chkconfig指令

查看服务名

方式1:使用setup -> 系统服务

方式2: /etc/init.d/服务名称

在这里插入图片描述

服务的运行级别(runlevel):

在这里插入图片描述

chkconfig指令

介绍

通过chkconfig 命令可以给每个服务的各个运行级别设置自启动/关闭

基本语法

  1. 查看服务 chkconfig --list|grep xxx

在这里插入图片描述

在这里插入图片描述

  1. chkconfig 服务名 --list

在这里插入图片描述

  1. chkconfig --level 5 服务名 on/off

sshd在级别5 不要自启动

在这里插入图片描述

应用实例 :

  1. 案例1: 请显示当前系统所有服务的各个运行级别的运行状态

chkconfig --list

  1. 案例2 :请查看sshd服务的运行状态

chkconfig sshd --list

  1. 案例3: 将sshd 服务在运行级别5下设置为不自动启动,看看有什么效果?

chkconfig --level 5 sshd off

  1. 案例4: 当运行级别为5时,关闭防火墙。

chkconfig --level 5 iptables off

  1. 案例5: 在所有运行级别下,关闭防火墙

chkconfig iptables off

  1. 案例6: 在所有运行级别下,开启防火墙

chkconfig iptables on

• 使用细节

  1. chkconfig重新设置服务后自启动或关闭,需要重启机器reboot才能生效
动态监控进程
介绍:

top与ps命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top 在执行一段时间可以更新正在运行的的进程。

基本语法:

top [选项]

选项说明

在这里插入图片描述

交互操作说明

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
有运行级别下,关闭防火墙

chkconfig iptables off

  1. 案例6: 在所有运行级别下,开启防火墙

chkconfig iptables on

• 使用细节

  1. chkconfig重新设置服务后自启动或关闭,需要重启机器reboot才能生效
动态监控进程
介绍:

top与ps命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top 在执行一段时间可以更新正在运行的的进程。

基本语法:

top [选项]

选项说明

在这里插入图片描述

交互操作说明

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-KvzBd2e9-1715799939489)]

[外链图片转存中…(img-c0vGfrw9-1715799939490)]

[外链图片转存中…(img-pPnuUEZK-1715799939490)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

;