Linux学习笔记B站狂神说

一.前言

二.入门概述

Linux简介

Linux应用领域

LAMP(Linux + Apache + MySQL + PHP) & LNMP (Linux + Nginx + MySQL +PHP)

三.安装服务器

1.VM 虚拟机+ CentOS (本地服务器)

2.购买阿里云服务器 + Xshell + XFTP

四.走进Linux系统

Linux中没有错误就代表成功

开机登录

最后总结一下,不管是重启系统还是关闭系统,首先要运行sync(同步–保存数据)命令,把内存中的数据写到磁盘中.

系统目录结构

1.一切皆文件

2.根目录/ , 所有的文件都挂载在这个节点下

登录系统后,在当前命令窗口下输入命令:

ls /

目录解释

五.常用基本命令

1.目录管理

绝对路径,相对路径

绝对路径路径全称: C:\ProgramData\360safe\xxx.xx

cd: 切换目录命令

./ : 当前目录

cd … : 返回上一级目录

ls(列出目录)

在Linux中 ls 可能是最常被使用的

-a : all ,查看全部的文件 , 包括隐藏文件

-l : 列出所有的文件, 包含文件的属性和权限, 没有隐藏文件, 所有的Linux命令参数都可以组合使用

cd (切换目录)

cd 目录名 (绝对路径都是以/开头的 , 相对路径, 对于当前目录该如何寻找 …/…/)

cd ~ : 回到当前的用户目录

cd …/ : 回到上一级目录

pwd (显示当前用户所在的目录)

mkdir (创建一个文件夹)

-p 文件夹/文件夹 : 递归创建文件夹

[root@localhost codeyuaiiao]# cd /
[root@localhost /]# cd home
[root@localhost home]# ls
codeyuaiiao
[root@localhost home]# mkdir test1
[root@localhost home]# ls
codeyuaiiao  test1
[root@localhost home]# mkdir -p test2/test3/test4
[root@localhost home]# ls
codeyuaiiao  test1  test2
[root@localhost home]# cd test2
[root@localhost test2]# cd test3
[root@localhost test3]# ls
test4
[root@localhost test3]# cd test4/
[root@localhost test4]# ls
[root@localhost test4]# pwd
/home/test2/test3/test4

rmdir (删除目录)

rmdir 仅能删除空的目录 , 如果下面存在文件 , 需要先删除文件,

-p 参数 : 递归删除多个目录.

cp(复制文件或者目录)

cp 文件名称 新位置

同名文件会提示 是否覆盖 Y&N

rm(移除目录或者目录!)

-f 忽略不存在的文件,不会出现警告,强制删除!

-r 递归删除目录!

-i 互动 , 删除询问是否删除!(再给你一次机会)

rm -rf //传说中的删除跑路

mv (移动文件或者目录)(重命名文件)

-f 强制

-u 只替换 已经更新过的文件

mv test.txt yuaiiao #移动文件
mv test.txt text2.txt  #重命名文件

2.基本属性

看懂文件属性

在Linux中第一个字符代表这个文件是目录,文件或链接文件等等:

  • 当为[d]则是目录;

  • 当为[-]则是文件;

  • 当为[I]则表示为链接文档(link file);

  • 若是[b]则表示为装置文件里面的可供存储的接口设备(可随机存取装置);

  • 若是[c]则表示为装置文件里面的串行端口设备,例如键盘鼠标(一次性读取装置);

修改文件属性命令

属主 属组

1.chgrp (更改文件属组)

chgrp [-R] 属组名  文件名

-R : 递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R参数,那么该目录下的所有文件的属组都会更改.

2.chown(更改文件属主,也可以同时更改文件属组)

chown [-R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

3.chmod(更改文件9个属性)

chmod [-R] xyz 文件或目录
r 可读-4     w可写-2       x可执行-1rwx----7(所有权限)    r-x----5(不可写)rw-   -- 6(不可执行)    -wx--3(不可读)

3.文件内容查看

Linux 系统中使用以下命令来查看文件的内容

1.cat(由第一行开始显示文件内容)

2.tac

从最后一行开始显示,可以看出tac是cat的到写

-]

3.nl (显示的时候,顺道输出行号)

看代码的时候希望现实行号!

-

4.more(一页一页的显示文件内容)

,带余下内容的(空格代表翻页,enter代表向下看一行,:f显示所在行号)

5.less(与more类似,他可以往前翻页)

与more类似 , 但是比more更好的是,他可以往前翻页(空格翻页,上下键代表反动页面! 退出q命令,查找字符串/要查找的字符向下查询,向上查询使用? n继续向下查找,N继续向上查找)

你可以使用man[命令] 来查看各个命令的使用文档,如: man cp.

8.ifconfig 命令: (查看网络配置)

4.拓展:硬链接&软连接

Linux的链接分为 : 硬链接&软链接

硬链接: A—>B, 假设B是A的硬链接, 那么他俩执行了同一个文件! , 他们俩的内容是相同的,相当于B是A的备份,如果A源文件没有了,B备份文件还是存在且内容相同.用户可以通过这种机制建立硬链接到一些重要文件上,防止误删!

软链接: 相当于 windows下的快捷方式,删除源文件,快捷方式也访问不了.

ln 命令 : 创建连接 (不加参数创建硬链接 , 加-s 参数创建软链接)

touch命令 :创建文件

echo 命令 :输入字符串

touch f1 # 创建一个f1 文件
ln f1 f2 # 创建一个f1的硬链接f2
ln -s f1 f3 # 创建一个f1的软链接f3
#f2 的内容和f1 的相同
# 删除f1源文件 f2 依然存在内容不变
# 而f3则变红 不可用

5.Vim编辑器


)]

完整演示过程

新建或者编辑文件vim 文件名,按i进入编辑模式,编写内容,编写完成后退出编辑模式,esc,退出之后进入底线命令模式 :wq保存退出

编辑模式按键:

第一部分: 一般模式

可用的光标移动,复制粘贴,搜索替换

移动光标

搜索替换

删除,复制与粘贴

第二部分: 编辑模式

第三部分:指令行模式

存储,离开命令

以上标红要熟练

6.账号管理

useradd 命令 (添加用户)

useradd -选项 用户名

-m : 自动创建这个用户的主目录/home/codeyuaiiao

理解一下本质: Linux中一切皆文件,这里的添加用户说白了就是往某一个文件中写入用户的信息了 ; /etc/passwd

userdel 命令 (删除用户)

userdel -r codeyuaiiao 删除用户的时候将他的目录页一并删掉

usermod 命令 (修改用户)

修改用户 usermod 对应修改的内容

# usermod -d /home/233 codeyuaiiao

修改完毕之后查看配置文件

su (切换用户)

passwd (用户密码设置)

我们一般通过root创建用户的时候! 要配置密码

Linux 上输入密码是不会显示的,你正常输入的就可以了,并不是系统的问题

在公司中,你们一般拿不到公司的服务器的root权限,都是一些分配的账号

如果是超级用户修改用户密码:

passwd username(codeyuaiiao)
new password:
re password:

如果是普通用户:

passwd
(current) UNIX password:
new password:    #密码不能太简单
re password:

锁定账户

passwd -l 用户名 : 锁定

passwd -d 用户名 : 密码删除 也是锁定

7.用户组管理

属主,属组

每一个用户都有一个用户组,系统可一对一个用户组中的所有用户进行集中管理,(开发,测试,运维,root).

不同Linux系统对用户组的规定有所不同,如Linux下的用户属于与他同名的用户组,这个用户组在创建用户时同时创建了.

用户组的管理涉及用户组的添加, 删除和修改.==组的添加,删除和修改实际上就是对/etc/group文件的更新.

groupadd (创建一个用户组)

创建完用户组后可以得到一个组的id,这个id是可以指定的! -g 520 ,如果不指定就是自增1

groupdel (删除用户组)

groupmod (修改用户组的权限信息和名字)

用户切换用户组

# 登录当前用户 qinjiang
$ newgrp root

拓展:文件的查看(了解)

/etc/passwd

用户名:口令(登录密码,我们不可见):用户标识号:组标识号:注释性描述:主目录:登录Shell

这个文件中的每一行都代表这一个用户,我们可以从这里看出这个用户的主目录在那里,可以看到属于哪一个组!

登录口令: 把真正的加密后的用户口令字存放到/etc/shadow文件中,保证我们密码的安全性!

用户组的所有信息都存放在/etc/group文件中

8.磁盘管理

df (列出文件系统整体的磁盘使用量)

du (检查磁盘空间使用量)

df

du

Mac或者想使用Linux挂载我们的一些本地磁盘或者文件

挂载: mount

卸载 : umount -f [挂载位置] 强制卸载

9.进程管理

Linux中一切皆文件

(文件 : 读写执行(查看,创建,删除,移动,复制,编辑),权限(用户,用户组).系统(磁盘,进程))

对于我们开发人来说,其实Linux更多偏向于使用即可!

基本概念

  1. 在Linux中,每一个程序都是有自己的一个进程的,没一个进程都有一个id号.
  2. 每一个进程,都会有一个父进程
  3. 进程可以有两种存在方式:前台 ,后台运行.
  4. 一般的服务都是后台运行的,基本的程序都是前台运行的.

命令

ps : 查看当前系统中正在执行的各种进程的信息!

ps -xx :

  • -a :显示当前终端运行的所有的进程信息
  • -u: 以用户的信息显示进程
  • -x : 显示后台运行进程的参数;
# ps -aux 查看所有的进程
ps -aux|grep mysql# | 管道符  A|B
# grep 查找文件中符合条件的字符串

对于我们来说,这里只需记住一个命令即可 ps -xx|grep 进程名字 ,过滤进程信息;

ps -ef : 可以查看到父进程的信息

ps -ef|grep mysql

查看父进程我们一般可以通过目录树机构来查看

进程树:

pstree -pu

  • -p : 显示父id;
  • -u :显示用户组;

kill -9 进程id(结束进程)

kill -9 进程id

java代码死循环可以选择结束进程(杀进程)其他一般用不到

10.环境安装

1.JDK安装

我们开发java程序必须要的环境!

  1. 下载jdk rpm.去oralce官网下载
  2. 安装java环境
# 检查当前系统是否存在java环境 java -version
# 如果有的话就卸载
# rpm -qa|grep jdk # 检测jdk版本信息
# rpm -e --nodeps jdk_# 卸载完毕后即可安装jdk
# rpm -ivh rpm包

3.环境变量

配置环境变量: /etc/profile在文件的最后面增加java的配置和window安装环境一样

vim /etc/profilevim /etc/profile 进入配置文件

末尾添加

export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

保存退出即可

刷新配置
source /etc/profile

发布一个项目

# 开启防火墙
Firewalls-cmd --zone=public --add-port=9000/tcp -permanent
# 重启防火墙
systemctl restart firewalld.service
# 查看所有开启的端口,如果是阿里云,需要配置安全组规则!
firewall-cmd --list-ports

2.Tomcat安装

ssm war 就需要放到tomcat中运行!

1.下载tomcat.官网下载 apache-tomcat-9.0.39.tar.gz

2.解压这个文件

tar -zxvf apache-tomcat-9.0.39.tar.gz

3.启动tomcat测试 ./xxx.sh脚本即可运行

进入Tomcat文件bin文件

# 执行 ./startup.sh
# 停止 ./shutdown.sh

如果防火墙8080端口开了并且阿里云安全组也开放了,这个时候就可以直接访问远程了!

# 查看firewall服务状态
systemctl status firewalld# 开启.重启.关闭,firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop# 查看防火墙规则
firewall-cmd --list-all # 查看全部信息
firewall-cmd --list-ports # 只看端口信息# 开启端口
开端口命令 : firewall-cmd --zone=public --add-port=8080/tcp --permanent
重启防火墙 : systemctl restart firewalld.service命令含义
--zone #作用域
--add -port-80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效

3.Docker(yun安装)

yum install -y yum源

4.宝塔面板(懒人安装)

11.扩展VM使用

快照相当于游戏存档 可以随时保存配置方式玩坏

但是必须在Linux关闭之后

完结撒花✿✿ヽ(°▽°)ノ✿

看到最后的帮忙点个赞

Linux学习笔记B站狂神说(自己总结方便复习)相关推荐

  1. Redis学习笔记(B站狂神说)(自己总结方便复习)

    Redis学习笔记B站狂神说 redis: 非关系型数据库 一.NoSQL概述 1.为什么要用Nosql 1.单机Mysql的年代 思考一下,这种情况下:整个网站的瓶颈是什么? 1.数据量如果太大,一 ...

  2. Linux学习笔记-随即更新-慢速学习

    Linux学习笔记 Linux系统简介 UNIX发展历史和发行版本 开源软件简介 支撑互联网的开源技术 Linux应用领域 Linux学习方法 Linux系统安装 给初学者的建议 学习linux的注意 ...

  3. Linux学习笔记:

    Linux学习笔记: 概述:一套免费使用和自由传播的类Unix操作系统,是一个多用户,多任务,支持多线程和多cpu的操作系统. 发行版:Ubuntu,ReadHat,CentOs,Debain,Fed ...

  4. Kali Linux学习笔记—Web渗透(1)

    Kali Linux学习笔记-WEB渗透 侦察 Httrack 扫描 Nikto vega skipfish w3af Arachni OWASP_ZAP 必须掌握 Burpsuite 必须掌握 实验 ...

  5. 史上最牛最强的linux学习笔记 10.shell基础

    史上最牛最强的linux学习笔记 10.shell基础 写在最前面: 本文是基于某站的视频学习所得,第一个链接如下: https://www.bilibili.com/video/BV1mW411i7 ...

  6. linux最小系统 安装教程,Linux 学习笔记 1 使用最小的系统,从分区安装系统开始,...

    Linux 学习笔记 1 使用最小的系统,从分区安装系统开始, 我们常用的linux系统在安装过程中大多都省略了对系统进行分区的操作,以至于后期,不了解什么是分区以及分区当中最基本的一些概念, 我们不 ...

  7. 大数据开发工程师基本功修炼之史上最全Linux学习笔记(建议)

    我正在参加年度博客之星评选,请大家帮我投票打分,您的每一分都是对我的支持与鼓励. 2021年「博客之星」参赛博主:Maynor大数据 (感谢礼品.红包免费送!) https://bbs.csdn.ne ...

  8. Linux学习笔记(自用)

    Linux学习笔记(自用) 该笔记由尚硅谷的"3天上手LInux"视频整理而成,若有侵权,请联系作者删除 文章目录 Linux学习笔记(自用) 1. 概述 2. 下载 3.文件与目 ...

  9. linux rcs文件中的ip,linux学习笔记之diff和patch命令

    关键字:Linux 学习笔记 运维 系统 命令 一.命令的功能 diff命令的功能为逐行比较两个文本文件,列出其不同之处.可是做成diff记录也就是补丁. patch就是利用diff制作的补丁来打到文 ...

  10. (零)我为什么要写Linux学习笔记?

    我对Linux有强烈的好奇心,兴趣:写学习笔记会让我有成就感:我记忆力实在不好.好吧,其实真正原因是:如果我能把自己学到的知识简明扼要的讲出来,写出来,那便证明我真的学懂了我想学的知识.没时间怎么办? ...

最新文章

  1. 如何设置 Linux 上 SSH 登录的 Email 提醒
  2. java web 自定义filter
  3. CentOS下开启mysql远程连接,远程管理数据库
  4. java从键盘上录入信息
  5. sql server表分区_SQL Server中的FORCESCAN和分区表
  6. 卡巴斯基2010激活码
  7. easyui datagrid 多一列
  8. Python的图像处理库Pillow
  9. MessageBox中涉及到的宏定义
  10. GitHub下载 无法分配请求的地址_百度网盘破限速软件PanDownload复活了!60MB/s!附下载地址...
  11. 树为什么能长这么高?
  12. MongoDB简单学习小总结
  13. Highcharts 写 venn图 (韦恩图),以及解决项目中venn的报错
  14. 黄道、黄道平面、黄赤交角、正午太阳高度
  15. 盘点10款超好用的数据可视化工具
  16. tcp/ip的模型与原理
  17. C语言计算程序运行时间简单实例
  18. C语言数据结构一元多项式
  19. 运维自动化之ANSIBLE
  20. Ubuntu 安装MySQL 并设置其他主机可访问

热门文章

  1. Android 系统签名jks文件获取platform.jks
  2. android生成系统应用签名
  3. php中explorer,explorer.php
  4. TrueCrypt加密:TrueCrypt Mount卸载加密卷(3)
  5. 诺基亚N950–MeeGo式体验
  6. 淘宝店铺装修旺铺基础版全屏轮播代码效果1920PX海报
  7. 【QT】入门基础教程Qt5
  8. 【CodeVS3372】选学霸
  9. 俄罗斯方块菜单c语言,飞机游戏、俄罗斯方块、贪吃蛇C语言代码
  10. Python:笨方法学 Python3-课程 41 笔记