Linux学习笔记1:虚拟机的安装
1、安装vm workspace pro12(傻瓜式安装即可)
2、创建虚拟机
3、还没有设置完成,还需要继续
- 点击编辑虚拟机
- 内存2g
- 处理器:2处理器2核
- 网络适配器:选择NAT模式
- 面试题:连接模式的区别(图片)
4、安装centOS
说明:安装过程中,可以通过control+alt在虚拟机和本机之间来切换鼠标
- 点击左上角的虚拟机,点击设置,点击CD,选择镜像就ok
- 选择好镜像,点击开启此虚拟机
- 进入欢迎界面,默认选择第一个回车(Tab选择,enter确认)
- Disc Found要跳过,花费时间太久
- 开发中,要生成复杂密码:网上搜索密码生成工具(我的root账号用的密码是xian123451)
- 硬盘分区:自定义分区
- 先分/boot200M,然后再分swap,2g,剩余的都分配根分区/
- 之后格式化,将修改写入磁盘
- 制定系统软件、选择自定义(只需要选择基本系统里面的“兼容程序库”、和“基本”,应用程序里面的”互联网浏览器“,桌面里面除了第一个都选,语言选中文)剩余的根据自己需求自己安装
- 完成配置,安装CentOS(20min)
- 登录后,不必创建用户名和密码,后续会学习用户管理,现在先用root用户登录
- 现在是关闭kdump(减少内存占用),在开发中要开启
5、终端和联网
- 打开终端:右键桌面,在终端中打开
- 联网:右上角计算机图标,system eth0
6、安装vmtools
- 点击vm的虚拟机,安装vm
- 安装后重启centos
- 终端:reboot
- 这时就可以实现两个系统的复制粘贴操作了
- 添加共享文件夹
- vm的虚拟机,设置,选项,共享文件夹
- 在centos里面的mnt/hgfs/
Linux学习笔记2:Linux目录总结
1、有且只有一个根目录
2、目录存放什么是规划好的,按规定来(一些重要的目录文件)
目录名称 | 解释说明 | 存放内容 |
---|---|---|
/bin | 即Binary,(/usr/bin、/usr/local/bin) | 常用的命令 |
/boot | 存放启用Linux使用的核心文件,包括链接文件和镜像文件 | |
/home | 存放普通用户的主目录 | |
/root | 管理员用户的主目录 | |
/media | linux把识别的设备挂载到这个目录 | |
/mnt | 挂载别的文件系统,如d:/myshare | |
/var | 存放不断扩充的东西,经常修改的放在这里,如各种日志文件 |
3、Linux中,一切皆文件
4、Linux目录树
Linux学习笔记3:vi和vim
1、介绍
- 所有Linux系统,都会内建vi文本编辑器
- Vim编辑器,vi的增强版本。
2、三种模式和相互转换
-
正常模式(用Vim打开文档时,直接进入正常模式),可以进行的操作如下:
-
编辑模式。可以进行的操作如下
- 可以输入内容
-
命令行模式。可以进行的操作如下
- 顾名思义,可以输入各种命令
-
相互转换
3、常用快捷键
-
拷贝粘贴:
yy
---拷贝当前行;nyy
---拷贝当前向下n行;p
---粘贴 -
查找:
/关键字+回车
---查找,继续回车
查找下一个关键字 -
行号:
:set nu
---添加行号;:set nonu
---取消行号 -
撤销:编辑模式下的输入了文字,
esc
到正常模式后,u
---撤销 -
编辑/etc/profile文件
- [G]---到文档末行;[gg]---到首行
- 将光标移动到第n行---
先设置行号,输入n后,shift+g
Linux学习笔记4:关机、重启、用户登录注销
1、关机
-
shutdown -h now
---->立即关机 -
halt
--->立即关机 -
shutdown -h 1
--->一分钟后关机
2、重启
-
reboot
--->立即重启 -
shutdown -r now
--->立即重启
3、注意:
关机和重启前一半都需要执行sync
--->将内存数据写入磁盘,放置数据丢失
4、用户的登录与注销
Linux学习笔记5:用户管理
1、Linux用户管理示意图
2、添加用户
2、删除用户
3、查询用户
4、切换用户
5、用户组
-
groupadd 组名
----增加一个组 -
groupdel 组名
----删除一个组 -
useradd -g 用户组 用户名
----增加用户时,直接指定一个组 -
usermod -g 用户组 用户名
----修改用户组
6、用户和组的相关文件
①、/etc/passwd
文件
②、/etc/group
文件
③、/etc/shadow
文件
Linux学习笔记6:实用指令
一、指定运行级别
运行级别 | 说明 |
---|---|
0 | 关机 |
1 | 单用户(可以用来找回密码) |
2 | 多用户状态,没有网络服务 |
3 | 多用户状态、有网络,命令行形式 |
4 | 系统未使用,保留给用户 |
5 | 图形界面 |
6 | 重启系统 |
- 要修改运行级别可以修改
/etc/inittab
文件中的id:5:initdefault
中的数字 - 操作题
- 设置运行级别,使得Linux运行后进入命令行界面
vim /etc/inittab
- 把
id:5:initdefault
中的5改成3
- 找回root密码
- Linux开启后就关机,就重启,改怎么办?
- 设置运行级别,使得Linux运行后进入命令行界面
二、帮助指令
1、man
2、help
- 用法:
help 命令
- 例如,查看cd命令的说明---
help cd
3、面向百度更直接
三、文件目录类
1、pwd
2、ls
3、cd
4、mkdir
- 含义:make directory(创建目录)
- 用法:
mkdir[选项] 要创建的目录
- 常用选项:-p 创建多及目录
- 实例:
- 创建一级目录:
mkdir /home/hello1
- 创建多级目录:
mkdir -p /home/hello2/aaa1
- 创建一级目录:
5、rmdir
6、touch
7、copy
- 含义:copy
- 用法:
cp [选项] source dest
(cp 文件source到文件夹dest下,经常使用相对路径) - 常用选项:
-r
:递归复制整个文件夹 - 这里发现了一个细节:对于文件夹,直接用名字是可以的,但是老师习惯在文件夹后面加/,这样可以很好的和文件区分开。
8、rm
9、mv
10、cat(只能浏览)
11、more
12、less
-
语法:
less 要查看的文件
-
快捷键
快捷键 说明 space 向下翻页 pageUp 向上翻页 pageDown 向下翻页 /字符串 向下搜索,n是向下查找,N是向上查找 ?字符串 向上搜索,n是向上查找,N是向下查找 q 退出
13、echo
14、head
15、tail
16、>和>>
- 语法
17、ln
18、history
- 含义:执行过的指令
- 语法:
-
history,
显示所有历史指令 -
history 5
,最近的5条记录 -
!10
,执行历史编号为10 的指令
-
四、时间日期类
1、显示当前日期时间
- 语法
date
-
date "+%Y-%m-%d %H:%M:%S"
,当然也可以拆开使用单独的一些
2、设置日期时间
- 语法:
date -s "2020-02-02 11:11:11"
3、日历
五、搜索查找类
1、find
2、locate
3、grep和管道符号“|”
- 含义:过滤查找,“|”将前一个命令的处理结果传递给下一个命令
- 语法:
grep [选项] 查找内容 源文件
- 常用选项
-
-n
,显示所在的行号 -
-i
,忽略大小写
-
- 示例:
cat hello.txt | grep -ni java
六、解压缩类
1、gzip和gunzip
2、zip和unzip
3、tar★★★
- 含义:是打包指令,打包压缩后的文件名是
.tar.gz
文件 - 语法:
tar [选项] 自己起名.tar.gz 打包的内容
- 打包压缩:
tar -zcvf 自己起名.tar.gz 打包的内容
- 解压到当前目录:
tar -zxvf a.tar.gz
- 解压到指定目录:
tar -zxvf a.tar.gz -C /opt/
(目录必须存在)
- 打包压缩:
Linux学习笔记7:组管理和权限管理
第一部分 组管理
1、文件的所有者
2、组的创建
- 语法:
groupadd 组名
- 案例
- 创建一个组monster,创建一个用户js,并放入到monster组
- 先创建组,
- 然后再
useradd -g monster js
- 然后用
id js
来查看
- 创建一个组monster,创建一个用户js,并放入到monster组
3、文件的所在组
4、用户的所在组
第二部分 权限管理
@H_472_1404@1、文件、目录的信息含义- 第0位,表示文件类型(-代表文件,d代表目录,l代表软连接,c代表字符设备如键鼠,b块文件如硬盘)
- 第1~3位,表示所有者对文件的权限
- 第4~6位,表示所属组对文件的权限
- 第7~9位,表示其他用户对文件的权限
- 第一个数字
- 如果是文件,表示硬连接数,一般是1
- 如果是目录,表示子目录数
- 后面两个是所属用户、所属组
- 文件大小(字节),如果是文件夹,都显示为4096
- 时间,表示最后修改日期
- 最后的,文件名
2、权限修改
说明:chmod命令中,u:所有者,g:所有组,o:其他人,a:所有人
1、第一种方式(用=+-)
2、第二种方式(用数字)
- 规则:r=4,w=2,x=1(其实就是二进制)
-
chmod u=rwx g=rx o=x 文件名或目录名
就相当于chmod 751
3、修改文件所有者
4、修改文件所在组
- 语法
chgrp 新组 文件名
chgrp -R 新组 目录名
Linux学习笔记8:任务调度
1、概述
2、语法
3、示例
-
创建任务:
- 执行
crontab -e
- 输入:
*/1 * * * * ls -l /etc/ >> tmp/to.txt
- 含义:每分钟执行
ls -l /etc/ >> tmp/to.txt
- 执行
-
5个占位符说明(分时天月周)
占位符 含义 范围 第1个* 分:每小时中的第几分钟 0~59 第2个* 时:每天中的第几小时 0~23 第3个* 天:每个月中的第几天 1~31 第4个* 月:一年中的第几个月 1~12 第5个* 周:一周的的星期几 0~7(07都是周天) -
特殊符号的说明
特殊符号 含义 * 代表所有的时间单位:没分钟,每小时 , 不连续的时间:“0 2,4 * * *”表示每天2点和4点的0分执行 - 连续的范围:“0 2-4 * * *”每天的2点到4点的0分执行 */n 每隔多久执行一次 Linux学习笔记9:磁盘分区、挂载
一、分区的基础知识(了解)
1、mbr分区
2、gtp分区
二、Linux分区
1、原理
- Linux 来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且 唯一的文件结构,Linux 中每个分区都是用来组成整个文件系统的一部分。
- Linux 采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录, 且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
2、硬盘说明
- Linux 硬盘分 IDE 硬盘和 SCSI 硬盘,目前基本上是 SCSI 硬盘
- 对于 IDE 硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指 IDE 硬 盘了。“x”为盘号(a 为基本盘,b 为基本从属盘,c 为辅助主盘,d 为辅助从属盘),“~”代表分区, 前四个分区用数字 1 到 4 表示,它们是主分区或扩展分区,从 5 开始就是逻辑分区。例,hda3 表示为 第一个 IDE 硬盘上的第三个主分区或扩展分区,hdb2 表示为第二个 IDE 硬盘上的第二个主分区或扩展 分区。
- 对于 SCSI 硬盘则标识为“sdx~”,SCSI 硬盘是用“sd”来表示分区所在设备的类型的,其余则 和 IDE 硬盘的表示方法一样。
3、查看当前系统的分区情况的指令
-
lsblk
或lsblk -f
-
图示
三、案例:自己为Linux增加一块硬盘
我用的是macOS上面的secureRCT,Windows系统在第一部略有不同
- 虚拟机添加硬盘
- 分区
-
fdisk /dev/sdb
开始进行分区 - 输入
m
查看命令,发现n
是新增分区命令,输入n
,然后选择p
表示设置为主分区,分区编号选择1就ok,下面两步都可以默认,直接两次回车。 - 输入
w
退出 - 此时再用
lsblk
命令查看分区情况,发现已经分好了区,但是还没有挂载点
-
- 格式化
- 输入命令
mkfs -t ext4 /dev/sdb1
- 此时再用
lsblk -f
命令查看分区情况,发现已经有了40位的UUID
- 输入命令
- 挂载
- 先创建目一个录/home/newdisk,用于挂载
- 用命令
mount /dev/sdb1 /home/newdisk
挂载 - 此时再用
lsblk -f
命令查看分区情况,发现已经有了挂载点 - 到此为止,挂载成功。但是这只是临时挂载,重启就会失效
- 设置永久挂载
- 如果想取消挂载,可以用
umount /home/newdisk
(如果现实设备忙,要退出要newdisk目录再重试)
四、磁盘查询情况
-
语法
-
案例和工作实用指令
Linux学习笔记10:网络配置
1、Linux网络配置原理图
2、查看网络IP和网关
3、Linux网络环境配置
说明:这块MacOS比较麻烦。后续再搞。
Linux学习笔记11:进程管理★★★
1、基本介绍
- 在 LINUX 中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个 ID 号。
- 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例如 www 服务器。
- 每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进 行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
- 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。
2、显示进程
-
命令:
ps
-
选项:
-
语法总结
3、终止进程
- 语法
- 实例
4、查看进程树
5、服务管理
1、简介
- 介绍:服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请 求,比如(MysqL,sshd 防火墙等),因此我们又称为守护进程,是 Linux 中非常重要的知识点。
- service管理命令
-
service 服务名 xxx
(xxx处可以是:start、stop、restart、reload、status) - CentOS 7 以后,不再使用service,而是systemctl
-
- 实例:查看当前防火墙的状况,关闭防火墙和重启防火墙
-
service iptables status
查看防火墙状态 -
service iptables stop
停止防火墙 -
service iptables stop
查看状态 -
service iptables start
重启
-
- 细节说明:
2、查看服务
- 方式一:终端输入
setup
后,进入系统服务,就可以看到所以服务,其中带*的是开机自启的服务。可以按空格改变。 - 方式二:用
/etc/init.d/服务名称
来查看- 如,列出所以服务名称:
ls -l /etc/init.d/
- 如,列出所以服务名称:
3、服务的运行级别
- Linux系统本身有7中运行级别,每种运行级别对应的不同的服务开启和关闭。
4、chkconfig命令
- 含义:给每个服务的各个运行级别设置自启动/关闭。重启后生效
- 语法
- 查看所以服务:
chkconfig --list
- 查看某个服务:
chkconfig --list | grep xxx
- 设置在运行级别下服务的启动与否:
chkconfig --level 系统运行级别 服务名 on或off
- 在所以运行级别下服务的开启和关闭:
chkconfig 服务名 on或off
- 查看所以服务:
5、动态监控进程
-
含义:top 与 ps 命令很相似。它们都用来显示正在执行的进程。Top 与 ps 最大的不同之处,在于 top 在 执行一段时间可以更新正在运行的的进程。(类似于任务管理器)
-
语法:
top [选项]
-
常用选项
-
-d 秒数
,指定top命令每隔几秒更新,默认是3秒 -
-i
,不显示任何闲置或僵死进程 -
-p
,通过指定进程id来监控这个进程
-
-
交互指令
操作 功能 P 以cpu使用率排序,默认是这样排序的 M 以内存使用率排序 N 以PID排序 q 退出top u 输入u再回车输入用户名--->查看该用户的 k 杀死进程
6、查看系统网络情况★★★
Linux学习笔记12:RPM和YUM
一、RMP
1、RPM简介
- 一种用于互联网下载包的打包及安装工具,它包含在某些 Linux 分发版中。它生成具有.RPM 扩展名的文件。RPM 是 RedHat Package Manager(RedHat 软件包管理工具)的缩写,类似 windows 的 setup.exe,这一文件格式名称虽然打上了 RedHat 的标志,但理念是通用的。 Linux 的分发版本都有采用(suse,redhat,centos 等等),可以算是公认的行业标准了。
2、查询语法
- 查询所以已安装的rpm包:
rpm -qa
(q=query,a=all) - 查询某一个安装的rpm包:
rpm -qa | grep xxx
- 查询软件包是否安装:
rpm -q 软件包名
- 查询软件包信息:
rpm -qi 软件包名
- 查询软件包中的文件:
rpm -ql 软件包名
(就是查看安装在了哪里) - 查询文件所属的软件包:
rpm -qf 文件全路径名
3、卸载语法
-
epm -e 软件包名
4、安装语法
二、YUM
1、简介
- Yum 是一个 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包 并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。使用 yum 的前提是可以联网。
2、基本指令
- 查询 yum 服务器是否有需要安装的软件:
yum list | grep xxx
- 安装指定的yum包:
yum install xxx
3、安装软件
- 一般就是先查看有没有,然后下载就可以了。