Linux CentOS7 笔记

https://www.bilibili.com/video/BV1dW411M7xL?from=search&seid=6818366384308552946
在这里插入图片描述

Linux特点

免费,开源,高效,稳定,处理高并发非常强悍

硬盘分区

swap分区:交换分区,当系统内存不足时,会暂时使用swap分区

Linux文件目录结构

/bin:Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
/boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev :Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
/etc:Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media:linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
/opt:opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc:proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
/selinux:这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
/srv: 该目录存放一些服务启动之后需要提取的数据。
/sys:这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。
sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/tmp:tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
/usr: usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
/usr/bin:系统用户使用的应用程序。
/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:内核源代码默认的放置目录。
/var:var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

  • 用户配置文件(用户信息):/etc/passwd
  • 口令和配置文件:/etc/shadow
  • 组配置文件信息:/etc/group

软件

XShell,XFtp

快捷键

5yy 复制下面5行, p 粘贴
dd 删除行

Linux操作指令

用户操作

  • 添加用户:useradd [-d 指定目录/ -g 用户组名] 新的用户名 (不指定目录则默认创建在/home/目录下)
    添加密码:passwd 用户名
    删除用户 :userdel [-r] 用户名 (-r 删除用户及用户家目录)
    查询用户: id 用户名
    切换用户:su - 用户名
  • 添加组:groupadd 组名
    删除组:grouodel 组名
    修改用户组:usermod -g 用户组 用户名

目录

  • 添加目录:mkdir [-p] 目录 (-p创建多级目录)
    删除目录:rmdir 目录 (只能删除空文件目录)

复制

  • 复制文件:(\)cp [-r] 文件 路径 (\ 表示强制覆盖,-r 复制整个目录)

cat

  • cat -n 文件名 | more (-n 显示行号,"|" 管道符,more 分页显示)
    “|” 管道符,表示将前一个命令的处理结果输出传递给后面的命令处理

more 常用操作命令

指令作用
Enter向下n行,需要定义。默认为1行
Ctrl+F向下滚动一屏
空格键向下滚动一屏
Ctrl+B返回上一屏
=输出当前行的行号
:f输出文件名和当前行的行号
V调用vi编辑器
!命令调用Shell,并执行命令
q退出more

less可用于查看大文件

> 指令和 >> 指令

  • > 输出重定向:会将原来的文件的内容覆盖
    >> 追加:不会覆盖原来文件的内容,而是追加到文件的尾部。

cal 日历
head:head [-n 5] 文件 (输出文件前5行,默认10行)
**tail:**追踪文档

  • tail [-n 5] 文件 (输出文件后5行,默认10行)
    tail -f 文件 实时追踪该文档的所有更新 (常用)

history:显示历史命令
!数字 执行标号为 n 的指令

查找

  • find 查找路径 -name/-user 名称
    find / -size +20M 查找大于20M的文件(+n 大于n,-n 小于n,n 等于 n,大写M)
    过滤查找:grep [-n/-i] 查找内容 源文件 (-n 显示行号,-i 不区分大小写)

压缩和解压缩

  • 压缩:gzip 文件名 (压缩后不会保留原文件)
    解压缩:gunzip 文件名.gz

zip/unzip 指令
zip用于压缩文件,unzip 用于解压的,这个在项目打包发布中很有用的

  • zip [选项]XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)

    • zip常用选项
      -r:递归压缩,即压缩目录
  • unzip [选项]XXX.zip(功能描述:解压缩文件)

    • unzip的常用选项
      -d <目录> 指定解压后文件的存放目录

tar指令
tar指令是打包指令,最后打包后的文件是.tar.gz 的文件。

  • 打包:tar -zcvf XXX.tar.gz 打包的内容(功能描述:打包目录,压缩后的文件格式.tar.gz)
    解包:tar -zxvf XXX.tar.gz -C [解包的目录] (-C的作用:解压到指定目录,否则会在当前目录下也解压)
  • 选项说明
    在这里插入图片描述

组管理和权限管理(重难点)

  • 修改文件所有者:chown 用户名 文件名
    修改文件所在组:chgrp [-R] 组名 文件名 (-R:如果是目录则使其下所有子文件或目录递归生效)
    修改用户的所有者和所有组:chown newowner:newgroup file
    修改用户所在组:usermod -g 组名 用户名
    修改该用户登陆的初始目录:usermod -d 目录名 用户名

权限的基本介绍

ls -l 中显示的内容如下:
-rwxrw-r--1 root root 1213 Feb 2 09:39 abc

0-9位说明
1)第0位确定文件类型(d,-,1,c,b)
2)第1-3 位确定所有者(该文件的所有者)拥有该文件的权限。—User
3)第4-6位确定所属组(同用户组的)拥有该文件的权限,–Group.
4)第7-9位确定其他用户拥有该文件的权限—Other
在这里插入图片描述

rwx权限

  • rwx 作用到文件
    1)[r]代表可读(read):可以读取,查看
    2)[w]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
    3)[x]代表可执行(execute):可以被执行
  • rwx 作用到目录
    1)[r]代表可读(read):可以读取,ls 查看目录内容
    2)[w]代表可写(write):可以修改,目录内创建+删除+重命名目录
    3)[x]代表可执行(execute):可以进入该目录

修改权限-chmod
基本说明:通过chmod指令,可以修改文件或者目录的权限10.10.2

第一种方式:+、-、=变更权限。u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
1)chmod u=rwx,g=rx,o=x 文件目录名
2)chmod o+w 文件目录名 (给其他组添加写)
3)chmod a-x文件目录名 (给所有人减少执行)
第二种方式:通过数字变更权限规则:r=4 w=2 x=1,rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件目录名
相当于 chmod 751 文件目录名

任务调度

crontab [选项]

选项作用
-e编辑crontab定时任务
-l查看crontab任务
-r删除当前用户所有的crontab任务
service crond restart重启任务调度

设置任务调度文件:
/etc/crontab 设置个人任务调度。
执行 crontab –e 命令。
接着输入任务到调度文件
如:*/1 * * * * ls –l /etc/ > /tmp/to.txt
意思说每小时的每分钟执行 ls –l /etc/ > /tmp/to.txt 命令

Linux磁盘分区、挂载

1)mbr 分区: 1.最多支持四个主分区 2.系统只能安装在主分区 3.扩展分区要占一个主分区 4.MBR 最大只支持 2TB,但拥有最好的兼容性
2)gtp 分区: 1.支持无限多个主分区(但操作系统可能限制,比如 windows 下最多 128 个分区) 2.最大支持 18EB 的大容量(1EB=1024 PB,1PB=1024 TB ) 3.windows7 64 位以后支持 gtp


主分区,逻辑分区

在这里插入图片描述
lsblk -f查看分区
在这里插入图片描述

如何添加一块硬盘

  1. 虚拟机添加硬盘
  2. 分区 fdisk /dev/sdb
  3. 格式化 mkfs -t ext4 /dev/sdb1
  4. 挂载 先创建一个 /home/newdisk , 挂载 mount /dev/sdb1 /home/newdisk
  5. 设置可以自动挂载(永久挂载,当你重启系统,仍然可以挂载到 /home/newdisk) 。
    vim /etc/fstab
    添加:/dev/sdb1 /home/newdisk ext4 defaults 0 0

具体步骤

  • 虚拟机增加硬盘步骤 1
    在【虚拟机】菜单中,选择【设置】,然后设备列表里添加硬盘,然后一路【下一步】,中间只有选择磁盘大小的地方需要修改,至到完成。然后重启系统(才能识别)!
    在这里插入图片描述
  • 虚拟机增加硬盘步骤 2
    分区命令 fdisk /dev/sdb
    开始对/sdb 分区
    •m 显示命令列表
    •p 显示磁盘分区 同 fdisk –l
    •n 新增分区
    •d 删除分区
    •w 写入并退出
    说明: 开始分区后输入 n,新增分区,然后选择 p ,分区类型为主分区。两次回车默认剩余全
    部空间。最后输入 w 写入分区并退出,若不保存退出输入 q。
    在这里插入图片描述
  • 虚拟机增加硬盘步骤 3
    格式化磁盘
    分区命令: mkfs -t ext4 /dev/sdb1
    其中 ext4 是分区类型
  • 虚拟机增加硬盘步骤 4
    挂载: 将一个分区与一个目录联系起来,
    •mount 设备名称 挂载目录
    •例如: mount /dev/sdb1 /newdisk
    •umount 设备名称 或者 挂载目录
    •例如: umount /dev/sdb1 或者 umount /newdisk
  • 虚拟机增加硬盘步骤 5
    永久挂载: 通过修改/etc/fstab 实现挂载添加完成后 执行 mount –a 即刻生效
    在这里插入图片描述

磁盘情况查询

  • 系统整体磁盘使用情况:df -h
  • 查询制定目录的磁盘使用情况:du [选项] /目录
选项作用
-s指定目录占用大小汇总
-h带计量单位
-a含文件
–max-depth=1子目录深度
-c列出明细的同时,增加汇总值

统计/home文件夹下文件的个数:ls -l(R) /home | grep "^-" | wc -l (-R 包括子目录)
统计/home文件夹下目录的个数:ls -l(R) /home | grep "^d" | wc -l (-R 包括子目录)

Linux网络配置

  • 指定固定的ip
    直接修改配置文件来指定IP,并可以连接到外网(程序员推荐),编辑
    vi /etc/sysconfig/network-scripts/ifcfg-eth0
    在这里插入图片描述
    重启网络服务:service network restart

Linux查看进程

ps

  • 显示所有包含其他使用者的行程:ps -aux | less
    查看sshd的父进程:ps -ef | grep ssh
    在这里插入图片描述
    终止进程:kill [选项] 进程号
选项作用
-9强制终止进程
  • 根据名称终止进程及子进程:killall 进程名
  • 查看进程树:pstree -pu
选项作用
-p显示进程的 PID
-u显示进程的所属用户

top
top [选项]

选项作用
-d 秒数指定top命令每隔几秒更新,默认是3秒在top命令的交互模式当中可以执行的命令
-i使top不显示任何闲置或者僵死进程
-p通过指定监控进程id来仅仅监控某个进程的状态
  • 案例 1.监视特定用户 top:输入此命令,按回车键,查看执行的进程。 u:然后输入“u”回车,再输入用户名,即可
  • 案例 2:终止指定的进程。 top:输入此命令,按回车键,查看执行的进程。 k:然后输入“k”回车,再输入要结束的进程 ID 号
  • 案例 3:指定系统状态更新的时间(每隔 10 秒自动更新, 默认是 3 秒): bash> top -d 10

在这里插入图片描述

Linux监控网络状态

netstat -anp
-an 按一定顺序排列输出
-p 显示哪个进程在调用

rpm 和 yum

rpm

  • 查询 fiefox 安装的rpm软件包:rpm -qa | grep firefox
    查询软件包是否安装 :rpm -q 软件包名
    查询软件包信息:rpm -q firefox rpm -qi 软件包名
    查询软件包安装目录:rpm -ql 软件包名
    查询文件所属的软件包:rpm -qf 文件全路径名
  • 安装rpm包:rpm -ivh rpm包全路径名称
    i:install 安装 ,v:verbose 提示,h:hash 进度条
  • 卸载安装包:rpm -e [--nodeps] rpm包名称 (–nodeps 强制删除)

yum

  • 到yum服务器查询:yum list | grep chrome

Linux 查看端口

#查看开放的端口号
firewall-cmd --list-all
#启用默认服务的(http)
firewall-cmd --add-service=http --permanent
#开放端口
firewall-cmd --add-port=8080/tcp --permanent
#重新加载一下设置,很关键~不然也不管用
firewall-cmd –reload

Linux服务管理

  • service 服务名 [start | stop | restart | reload | status]
    测试连接:telnet ip地址 端口号

  • 查看服务名:setup
    在这里插入图片描述

Linux的运行级别

开机流程
在这里插入图片描述
在这里插入图片描述
修改运行级别:vim /etc/inittab
在这里插入图片描述

  • 给每个服务的各个运行级别设置自启动/关闭: chkconfig --list | grep 服务名
  • 查看某个服务: chkconfig 服务名 --list
  • 设置某个服务开机开关:chkconfig --level 5 服务名 on/off

找回丢失密码
CentOS 7.xx不同

开机->在引导时输入回车键~>看到-一个界面输入e->看到一个新的界面,选中第二行(编辑内核)在输入e-> 在这行最后输入 1,再输入回车键->再次输入b,这时就会进入到单用户模式。
这时,我们就进入到单用户模式,使用passwd指令来修改root密码。

Java的环境搭建

jdk,tomcat,mysql,eclipse

jdk 版本 1.8.0_144

  1. 安装、解压jdk
  2. 配置环境变量:vim /etc/profile
  3. 在最后插入
JAVA_HOME=/opt/jdk1.8.0_144
PATH=/opt/jdk1.8.0_144/bin:$PATH
export JAVA_HOME PATH
  1. 退出用户,重新登陆生效

Tomcat-9.0.40

http://tomcat.apache.org/download-90.cgi

  1. 安装、解压Tomcat
  2. 运行 bin 下面的 startup.sh:./startup.sh,本地可访问
  3. 开放端口:firewall-cmd --zone=public --add-port=8080/tcp --permanent
    或者关闭防火墙service firewalld stop

–zone=public:表示作用域为公共的;
–add-port=8080/tcp:添加tcp协议的端口8080;
–permanent:永久生效,如果没有此参数,则只能维持当前服务生命周期内,重新启动后失效;

Mysql-8.0.22-el7-x86_64

mysql无法输入中文字符时,修改/etc/my.cnf,将 [mysql] 和 [client] 的
default-character-set=utf8 注释掉即可。。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页