博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux学习笔记B站狂神说(自己总结方便复习)
阅读量:3949 次
发布时间:2019-05-24

本文共 6187 字,大约阅读时间需要 20 分钟。

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]# lscodeyuaiiao[root@localhost home]# mkdir test1[root@localhost home]# lscodeyuaiiao  test1[root@localhost home]# mkdir -p test2/test3/test4[root@localhost home]# lscodeyuaiiao  test1  test2[root@localhost home]# cd test2[root@localhost test2]# cd test3[root@localhost test3]# lstest4[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继续向上查找)

  • 6.head 只看头几行(-n 代表查看几行)

  • 7.tail 只看尾巴几行(-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的硬链接f2ln -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-amd64export PATH=$JAVA_HOME/bin:$PATHexport 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关闭之后

在这里插入图片描述

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

看到最后的帮忙点个👍🙏 谢谢,这个对我真的很重要!
在这里插入图片描述

转载地址:http://amqwi.baihongyu.com/

你可能感兴趣的文章
GIT简要介绍
查看>>
人机交互期末复习笔记
查看>>
计算机网络复习笔记
查看>>
boost学习-1.安装
查看>>
boost学习-2.总体感受
查看>>
boost学习-3.conversion,多态类型之间的安全转型,与数据类型转换
查看>>
2010年十大移动互联网应用将火山爆发
查看>>
云计算介绍
查看>>
敏捷开发笔记1
查看>>
vs2008
查看>>
转:NoSQL数据库探讨之一 - 为什么要用非关系数据库?
查看>>
log4cplus的按日生成文件,配置例子
查看>>
跨平台的文字编码转换方法--ICU
查看>>
ICU4C 4.4 静态库的编译
查看>>
FTP下载类, windows平台下对CFtpConnection上传下载的封装类
查看>>
代码自动生成-宏带来的奇技淫巧
查看>>
VC com开发中实现IObjectSafety
查看>>
c# 正则表达式基础
查看>>
C#3.0语言新特性
查看>>
W32Dasm反汇编工具使用教程
查看>>