很基础 以后不想记笔记了 最后分享一次😀
计算机网络:https://www.nowcoder.com/discuss/342320
MySQL:https://www.nowcoder.com/discuss/353707
Java并发上:https://www.nowcoder.com/discuss/355081
Java并发下:https://www.nowcoder.com/discuss/355876
JDBC:https://www.nowcoder.com/discuss/356804
显示有问题的话看源地址:https://blog.csdn.net/qq_41112238/article/details/103642483
Linux简单介绍
特性
- 完全开源
- 多用户多任务系统
继承了UNIX多用户多任务的设计理念,允许多人同时上线工作,合理分配资源。- 安全稳定高效
严格的用户权限管理使不同使用者之间保持高度的保密性和安全性。
- 支持多硬件平台
Linux是UNIX Like操作系统,遵循POSIX标准,运行在UNIX下的软件很容易移植到Linux下。
发行版本
Linux发行版指的是通常说的Linux操作系统,通常包括Linux内核,各种GNU软件,及其它一些自由软件,某些特定发行版本也有一些专用软件。
发行版为许多不同目的制作,包括对不同计算机硬件结构的支持,对一个具体区域或语言的本地化,实时应用,和嵌入式系统。
- Red Hat Enterprise Linux 红帽公司的企业版Linux系统,采用RPM的包管理方式。
- CentOS 由社区开发并维护,基于RHEL,并与RHEL版本号保持一致,致力于提供一个自由使用且稳定的RHEL。
- Fedora 主要由RedHat主持的社区Linux项目,采用同样的RPM管理,致力于最新技术的开发和引入。
- SUSE Linux 在欧洲流行的Linux版本,特点是界面华丽和简单易用。
- Debian 完全开放,由志愿者维护,基于Deb的包管理。
- Ununta 基于Debian开发,采用相同的Deb和Apt,致力于开发简单易用的Linux系统。
开源文化
- GNU 1983年提出的一个项目计划,目标是提供一个和UNIX100%兼容的自由软件的操作系统。
- GLP GNU通用公共许可证,任何软件发布都需要提供许可证。
- GNU和Linux的结合 1991年,林纳斯编写除了与UNIX兼容的Linux操作系统内核并以GPL授权发布。 1992年,Linux与其他GNU软件结合,完全自由的操作系统正式诞生。
总结
- Linux是什么
严格来说只是一个操作系统内核,大多数Linux发行版是由操作系统内核加上GNU的软件或工具形成的完整的操作系统,也就是GNU/Linux,一种Unix Like操作系统。- 广泛的Linux发行版本有哪些
RHEL、Centos、Ubuntu、SUSE Linux。- Linux有哪些特点
完全开源、支持多硬件平台、多用户多任务、安全高效稳定。
安装Linux操作系统
虚拟机
虚拟机软件:可以模拟出虚拟计算机并运行操作系统的软件。
虚拟机:在虚拟机软件下模拟出来的一个计算机(虚拟机)。
常用虚拟机软件:VMware workstation、virtual Box。
安装步骤
(我安装的是VM15和Centos8,百度一下相关的安装教程,很简单,有不懂的可以私我,由于主要介绍的是使用,就不详写安装了)。
1.安装VMware15版本
2.打开VMware创建虚拟机
3.在虚拟机上安装Linux操作系统
1)下载Linux操作系统的镜像文件 2)将镜像文件放入虚拟机的虚拟光驱 3)开启虚拟机
进行到安装软件时,选择带GUI的服务器,开发工具和图形管理工具
安装完成后 选择未列出 使用root用户登陆
虚拟机快照和克隆
- 快照:
又称还原点,保存在拍快照时的系统的状态(包含了所有内容),在后期可以随时恢复拍摄快照时状态。 (类似于Windows的系统还原)
从左至右为:拍摄快照 恢复快照 管理快照- 克隆:
可以根据一台配置好的虚拟机复制一台一模一样的虚拟机出来,但是克隆时需要虚拟机处于关闭状态。
右键自己的虚拟机,然后选择->管理->克隆
关机和重启系统命令
关机和重启操作只有管理员权限可以执行
在左上角点击活动->选择终端 以后要输入的指令都在此输入
直接关机:shutdown -h now
定时关机:shutdown - h 10
(10分钟后关机)
取消关机: shutdown -c
重启:reboot
定时重启:shutdown -r 10
(10分钟后重启)
取消重启:shutdown -c
基本使用
快捷键
默认:
搜索应用程序 win+s
显示应用程序 win+a
退出 esc
设置:
设置快捷键 桌面右键->显示设置->keyboard
终端基本使用
可在首选项内设置快捷键、文字大小、光标形状、背景颜色等
Linux目录结构
目录 | 说明 | 备注 |
---|---|---|
/root | 管理员root的家目录 | |
/home | 普通用户的默认家目录 | /home/你的用户名 |
/bin->/usr/bin | 普通用户的命令 | 软连接文件 /usr/bin/date /usr/bin/ls |
/sbin->/usr/sbin | 管理员使用的命令 | 软连接文件 /usr/bin/shutdown |
l/usr/local | 第三方源码包默认安装目录 | 类似Windows下的C:\Program Files |
/etc | 系统和服务相关配置文件 | /etc/passwd |
/var | 动态,可以变化的数据文件 | 日志文件(/var/log/xxx) |
/tmp | 临时文件存放目录 | 全局可写(系统或程序产生临时文件) |
/dev | 设备文件 | /dev/sda |
/lib -> /usr/lib | 库文件 | 软连接文件 |
/lib64-> /usr/lib64 | 库文件 | 软连接文件 |
/proc | 虚拟的文件系统 | 反映出来的是内核。进程信息或实时状态 |
/boot | 系统内核,引导程序相关文件 | |
/media | 移动设备默认挂载点 | |
/mnt | 手工挂载设备挂载点 |
文件路径表示方法
绝对路径
- 一定以
/
开头,是唯一一个绝对能够描述文件所在路径的方式 /
根目录是Linux操作系统最顶级的目录,没有任何路径比它还要靠前
- 一定以
相对路径
- 路径是相对的,文件所在的路径是相对于当前所在路径而言的
- 当前路径用
.
或./
表示 当前目录的上一级用..
或../
表示 - 当前用户家目录使用
~
表示,上次工作路径使用-
表示
路径查看和切换
查看当前路径pwd
更改工作路径cd
[root@sjh ~]# cd /home [root@sjh home]# pwd /home [root@sjh home]# cd [root@sjh ~]# pwd /root
文件操作管理
Linux下,一切皆文件 以下所有命令都在终端上运行
终端上所有命令都需要SHELL解释器翻译,RedHat和Centos的默认shell解释器为BASH
语法:命令 [可选项] 参数
命令:整条shell命令的主体
选项:会影响或微调命令的行为,通常以-
,--
参数:命令作用的对象
判断文件类型(file)
常见文件类型:
文件类型 | 说明 |
---|---|
字符设备(c) | 所有输入输出的设备,如:键盘、数部、显示器、打印器 |
块设备(b) | 所有存储设备称之为块设备文件,如:软盘、磁盘、光盘、U盘、磁带、光驱等 |
软连接文件(l) | 类似于Windows下快捷方式 |
目录文件(d) | 相当于Windows文件夹 |
普通文件(f或-) | 类似Windows下记事本、word等,可使用相关命令进行编辑、查看文件内容 |
管道文件(p) | 程序或进程之间的通信方式 |
套接字文件(s) | 程序或进程之间的通信方式 |
可见tty是字符型设备,nvme0n1是块设备
可见/usr/bin/sh
是软连接文件 连接了usr/bin/bash
d
代表目录文件,-
代表普通文件。
列出目录内容 (ls)
常见选项 -a all,查看目录下所有文件,包括隐藏文件 -l 长列表显示 查看到的时间是“最近更改”时间 -h human,以人性化方式显示 -d 只列出目录名 -t 按修改时间排序 -S 按文件大小排序 -r 反向排序 -i 查看inode结点 -R 递归列出所有文件 -m 用逗号分隔显示内容
创建目录(mkdir)
-p 级联创建 如果要创建的目录的父目录不存在 需要加-p参数
默认在当前目录创建 或加./
在根创建 加/
或者加要创建的目录的路径
创建文件(touch)
- 命名规则
- 严格区分大小写
- 文件名不能包含特殊字符,如
/
,*
等- 文件名最多255个字符
- 创建空文件
- 文件存在时 修改文件时间戳
直接使用
可使用stat 文件名
查看文件详情
最近访问:文件的查看访问时间
最近更改:文件的修改时间
最近改动:文件的属性时间,文件的大小、权限等信息发生改变的时间
-a 修改访问时间 修改格式:年月日时分
-m 修改更改时间 修改格式:年月日时分
-t 指定时间格式 和-a / -m一起使用
-d 同时修改访问和更改时间 修改格式:年月日/年月/年月日 时分秒
查看文件
- cat 一般查看小文件,从第一行到最后一行列出来
- n 显示行号
- A 显示控制字符,如换行符,制表符等
- tac 一般查看小文件,从最后一行到第一行列出来
- more 和 less 一般查看大文件,q退出查看,可以搜索,建议使用less
- head 默认查看文件前10行,head - n m或head m可以查看前m行
- tail 默认查看文件后10行,tail - n m或tail m可以查看后m行,-f表示动态查看
- ldd 一般用来查看二进制的命令文件
拷贝文件(cp)
本地文件拷贝
cp [选项] 需要拷贝的文件 拷贝的目标处
选项:-r
: 递归拷贝目录-v
: 显示拷贝过程信息-p
: 文件属性信息一起拷贝-a
: 递归拷贝文件,包括目录及文件属性信息 即-rp
的作用移动或重命名文件(mv)
移动文件(不同路径下)
mv 要移动的文件 新的路径
重命名文件(相同路径下)
mv 旧文件名 新文件名
删除文件(rm)
-r 递归删除,一般用于删除目录
-f 直接删除,不提示
如何获取帮助
简单求帮助
知道命令的含义,忘记了参数
内部命令(shell内置的命令)
help 命令
外部命令(第三方程序,软件带来的命令)
命令 -- help
判断命令内部还是外部
type 命令
详细求帮助(man)
例:man ls
进入后按q
退出
Bash的标准输入输出
名词解释
标准输入 stdin:键盘上的输入 文件描述符->0
标准输出 stdout:屏幕上正确的输出 文件描述符->1
标准错误 stderr:屏幕上错误的输出 文件描述符->2
相关符号
>
:标准输出重定向,覆盖重定向,1>或>标准输出重定向,2>标准错误重定向
>>
:重定向追加,1>>标准输出追加,2>>标准错误追加
<
:标准输入&>
:标准输出标准错误重定向
echo
将输入的字符串送往标准输出,并在最后加上换行符,可理解为打印字符串。
选项:
-n 不输出最后的换行符
-e 解释转义字符(将字符串中特殊字符进行处理)
可结合>或>>进行文件的创建或内容追加
Linux下文件查找命令
命令查找
which
找出命令的绝对路径whereis
找出命令的路径以及文档手册信息
文件查找
find
精确查找,磁盘搜索,IO读写,CPU开销大
用法1:找出来输出到屏幕find 查找路径 选项 关键字
用法2:找出来执行命令find 查找路径 选项 关键字 动作
默认为
-ls
打印信息,-delere
删除
查找当前目录的file文件并复制到tmp目录下:
{}
表示find
查询到的结果
文件打包和压缩
常用压缩解压工具
压缩工具 | 说明 | 解压缩工具 |
---|---|---|
zip | 兼容类unix与windows,可以压缩多个文件或目录 | unzip |
gzip | 压缩单个文件,压缩率相对低,cpu开销低 | gunzip |
bzip2 | 压缩单个文件,压缩率相对高,cpu开销高 | bunzip2 |
xz | 压缩单个文件,压缩率高,时间相对长,解压快,cpu开销高 | unxz |
### 工具的用法 |
- zip
压缩:zip 压缩的文件 需要压缩的文件
选项 :-r
递归压缩,压缩目录 压缩后的模式默认为.zip,也可手动加
解压缩:unzip 要解压的文件 [-d 解压路径]
- gzip
压缩:gzip 需要压缩的文件
选项:-r
递归压缩-d
解压缩
解压缩gunzip
或者gzip -d
- bzip2
压缩:bzip2 需要压缩的文件
选项:-d
解压缩
解压缩bunzip2
或者bzip2 -d
- xz
压缩:xz 需要压缩的文件
解压缩:unxz
或xz -d
文件打包工具
tar
命令:可以将多个文件打包成一个并且压缩,不会改变文件的属性
用法:tar [选项] 打包后的文件 需要打包的文件
| 常用选项 | 说明 |
| ------------------ | ---------------- |
| -c |创建tar包(打包)
| -z |调用gzip压缩
| -j |调用bzip2压缩
| -J |调用xz压缩
| -v |显示详细信息
| -f|指定包名
| -x |解压
| -C |指定解压路径
| -t |列出或查看tar包内容
|-r|往tar包追加内容
打包
解压
查看
日期相关指令
date
date
:打印或设置当前系统的日期和时间-s
设置系统日期或事件 只有root权限可以-d
打印非当前日期时使用
hwclock
查看并设置硬件时间-s
用硬件时间设置系统时间-w
用系统时间设置硬件时间-l
查看本地硬件时间timedatectl
查询或更改系统时间- 调用当前系统日期
$()
:括号里的命令优先执行``
里的命令优先执行(不推荐) 创建目录,以当前系统日期命名:
创建文件,以3天后系统日期命名:
cal
cal
查看日历
用户组管理
用户管理
概念
- 用户
Linux操作系统中用于管理系统或服务的人- 管理的内容
Linux下一切皆文件,管理的是相应的文件- 如何管理
文件的基本管理:创建、删除、复制、查找、打包压缩等,文件的权限增加、减少等
文件的高级管理:程序文件的安装、卸载、配置等
分类
- 超级用户
管理员root,具有所有权限,UID=0- 系统用户
也叫程序用户,一般由程序创建,用于程序或者服务运行时候的身份。
默认不允许登陆系统,1<=UID<=999- 普通用户
一般由管理员创建,用于对系统进行有限的管理维护操作。
默认可以登陆系统,1000<=UID<=60000。
基本管理
- 创建用户
useradd
选项:-u
指定用户uid,唯一标识-g
指定用户的默认组(主组)-G
指定用户的附加组(一个用户可加入多个组,但默认组只有一个)-d
指定用户家目录(默认在/home/xxx)-s
指定用户默认shell
使用id 用户名
查看用户信息su - 用户名
登陆
- 密码设置
passwd
passwd 用户名
给某个用户设置密码passwd
给当前用户设置密码echo 密码|passwd --stdin 用户名
跳过验证直接设置密码
普通用户设置密码必须符合安全规范
用户信息保存在/etc/passwd
用户密码信息保存在/etc/shadow
- 更改用户密码信息
chage
选项:- d
最近日期- E
过期日期- I
过期I天后,设定密码失效- l
显示账户信息- m
最小天数- M
最大天数- W
警告天数- 更改用户信息
usermod
usermod [选项] 用户名
选项:-u
指定用户uid,唯一标识-g
指定用户的默认组(主组)-G
指定用户的附加组(一个用户可加入多个组,但默认组只有一个)-d
指定用户家目录(默认在/home/xxx)-s
指定用户默认shell- 删除用户
userdel
userdel [选项] 用户名
不会删除目录及邮箱 要删除使用-r
选项:-r
删除用户并移除其目录和邮箱-f
强制删除正在创建的用户
组管理
组和用户的关系
- 组的目的是为了方便管理用户
用户是操作系统上管理维护系统或服务的人
组是用户的一个属性信息
任何一个用户默认都会有一个主组(默认组)
一个用户除了主组也可以有多个其他组(附加组)- 用户的主组和附加组之间无关
- 文件所属的组是创建文件的用户的默认组
组的管理
- 创建组
基本语法groupadd [选项] 组名
-g
指定组的GID,唯一编号
创建一个组 指定GID=2000
通过tail etc/group
查看组信息
- 删除组
goupdel 组名
若一个组是其他用户的主组 不可删除
- 组成员管理
gpasswd [选项] 组名
选项:-a
添加用户到组-d
从组中删除成员-A
指定管理员gpasswd -A stu2 admin
将stu3设置为组admin的管理员,使用其他用户管理组会失败-M
指定组成员,可以批量添加用户到组中(会覆盖原成员)-r
删除密码gpasswd 组名
给组设置密码
文件编辑工具vim
- linux下的文本编辑器:emacs、nano、gedit、vi、vim
- vi编辑器通常被称为vi,它是Linux和Unix系统上最基本的文本编辑器,类似于Windows下的记事本
- 所有的Unix like系统都会内置vi文本编辑器,很多软件的编辑接口都主动调用vi,vim具有程序编辑能力,可以主动以字体颜色辨别语法正确性,方便程序设计,程序简单,编辑速度快
三种模式
命令行模式
进行基本的复制、删除、跳转、撤销、移动等操作在第一行按下yy,在bin行按下p,复制到该行下面,在daemon行按下P,复制到改行上面
编辑模式
功能:编辑文件内容
进入方式:
i 在光标所在字符前开始插入
a 在光标所在字符后开始插入
o 在光标所在行的下面另起一新行插入
I 在光标所在行的行首开始插入 如果行首有空格则在空格之后插入
A 在光标所在行的行尾开始插入
O 在光标所在行的上面另起一行开始插入
S 删除光标所在行并开始插入底行模式
命令行进入底行模式 按冒号:
编辑模式进入底行模式:先按esc
退出到命令模式,再按冒号:
w
保存文件wq
保存退出q
不保存退出x
在文件未修改情况下,表示直接退出,否则表示保存退出
替换搜索/ 搜索内容
n往下匹配,N往上匹配三种模式的切换
全部评论
(3) 回帖