文章目录
- Linux
- 概述
- 基础篇
- Linux 的安装教程 ⇒ 太简单了,百度一搜一大堆。此处略……
- Linux 的目录结构
- 常用的连接 linux 的开源软件
- vi 和 vim 编辑器
- Linux 的关机、开机、重启
- 用户登录和注销
- 用户管理
- 添加用户 ⇒ ( useradd 用户名 ) ( useradd -d 制定目录 新的用户名 )
- 设置密码 ⇒ ( password 用户名 )
- 删除用户 ⇒ ( userdel 用户名 ) ( userdel -r 用户名 )
- 查看用户信息(id 用户名)
- 查看自己的信息(whoami / who am i)
- 用户组
- 新增组(groupadd 用户组)
- 删除组(groupdel 用户组)
- 增加用户时,直接上组(useradd -g 用户组 用户名)
- 修改用户的组(usermod -g 用户组 用户名)
- 用户和组相关的文件
- linux 运行级别
- 帮助指令
- 文件目录类
- 权限
- 修改文件属性 [ chgrp [ -R ] 属组名 文件名 ]
- 修改文件属主,也可以同时更改文件的属组 [ chown [ -R ] 属主名:[ 属组名 ] 文件名 ]
- chmod:更改文件(9个)属性
- 链接(硬链接、软链接)
- 磁盘管理(df、du)
- 进程管理
- 结构进程树
- 杀掉进程
- 环境安装
- rpm安装(jdk)、解压缩(tomcat)、yum在线安装(docker)
- jdk安装
- 测试运行jar程序
- 遇到问题解决(打包后只有4kb,并且提示找不到主类?
- 向这类安装,参考百度,配置什么的,都很详细,
Linux
概述
Linux 是一个开源、免费的操作系统,其安全性、稳定性、搞笑 、处理 得到了各行各业的认可。
需要牢记的一句话:“在Linux中,一切皆为文件”。
Linux 的吉祥物:Tux
主要发行版:RedHat、CentOs、Ubuntu(乌班图)
基础篇
Linux 的安装教程 ⇒ 太简单了,百度一搜一大堆。此处略……
Linux 的目录结构
根目录 ⇒ " / "
/
:根目录
/bin
:存放着经常使用的命令。
/sbin
:s 代表 super User 的意思。存放着 系统管理员使用的系统管理程序。
/home
:存放普通用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该用户名是以用户的账号命名。
/root
:该目录为系统管理员,也称之为超级权限的用户主目录。
/lib
:系统开机所需要的最基本的动态连接共享库,类似于Windows里的DLL文件。几乎所有应用程序都需要用到这些共享库
/lost + found
:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/etc
:所有的系统管理所需要的配置文件和子目录,比如安装mysql数据库的my.conf
/usr
:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows中的 program files 目录
/boot
:存放的是启动Linux时需要的一些核心文件,包括一些连接文件以及镜像文件
/proc
:这个目录是一个虚拟目录,他是系统内存的映射,访问这个目录来获取系统的信息。
/srv
: 是service缩写,该目录存放一些服务启动后需要提取的数据
/sys
:这是linux内核的一个很大的变化,该目录下安装了2.6内核中新出现的一个文件系统sysfs
/tmp
:这个目录是用来存放一些临时文件的。
/dev
:类似于 windows 中的设备管理器,把所有的硬件用文件的方式存储。
/mnt
:系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将外部储存挂载到/mnt/
下,这样进入该目录就可以看到里面的内容了。
/opt
:这是给主机额外安装软件所摆放的目录。比如,安装:“ oracle数据库 ” 就可以放到该目录下,默认为空。
/usr/local
:这是给另一个主机额外安装软件的目录。一般通过源码编译的方式安装。
var
:这个目录中存放着在不断扩充的东西,习惯将经常被修改的目录放到这个文件夹下面。比如日志…等。
/selinux [ security-enhanced linux ]
:SELinux 是一种安全子系统。它控制程序只能访问特定文件。有三种工作模式,可以自行设置。
/www
:关于网站相关的资源
常用的连接 linux 的开源软件
Xshell
和Xftp
⇒ 官网可以下载,不会的话可以去百度,很简单。
vi 和 vim 编辑器
内置的工具,相当于 windows 中的记事本
命令 | 功能 |
---|---|
i/a | 编辑模式 |
:wq | 写入并退出 |
:q | 退出 |
:q! | 不保存的退出 |
yy / 5yy | 拷贝当前行 / 拷贝当前向下的5行 |
p | 粘贴 |
dd / 5dd | 删除 / 删除当前向下的5行 |
/ nihao | 查找字符串 “nihao” |
n | 查找下一个 |
N | 查找上一个 |
:set nu / :set nonu | 查看当前行号 / 销毁当前行号 |
G | 快速定位到末尾行(一般模式下) |
gg | 快速定位到首行(一般模式下) |
u | 撤销动作 |
快速定位到某一行 | 行号 + G |
ctrl + f | 向下翻页 |
ctrl + b | 向上翻页 |
Linux 的关机、开机、重启
指令 | 功能 |
---|---|
shutdown -h now/时间 | 现在关机 / xx分钟后关机(默认是一分钟) |
shutdown -r now/时间 | 现在重启 / xx分钟后用重启 |
halt | 和上面的指令一样 |
reboot | 现在重启计算机 |
sync | 将内存的数据存储到磁盘内(防止数据没有保存)⇒ 小心使得万年船 |
用户登录和注销
尽量使用普通身份登录,然后可以和管理员相互切换。
指令 | 功能 |
---|---|
su - 用户名 | 切换身份 |
logout | 注销用户(在图形界面是无效的!)⇒ 如果是当前用户的账号下,则退出系统! |
用户管理
添加用户 ⇒ ( useradd 用户名 ) ( useradd -d 制定目录 新的用户名 )
默认家的目录在 / home / 用户名
设置密码 ⇒ ( password 用户名 )
别忘了设置用户名,要不然则是更改当前用户的用户名。
删除用户 ⇒ ( userdel 用户名 ) ( userdel -r 用户名 )
删除用户的话,用户虽然不能登录,但是 home 目录还是会存在。此时此刻,我们要慎重考虑需不需要带
-r
了。带的话,就会和家目录一起被干掉。
一般情况下还是建议保留的。
查看用户信息(id 用户名)
查看自己的信息(whoami / who am i)
用户组
新增组(groupadd 用户组)
如果 新增用户 没有选择 “组” 的情况下,会默认创建一个 用户名 组成的组。
删除组(groupdel 用户组)
增加用户时,直接上组(useradd -g 用户组 用户名)
修改用户的组(usermod -g 用户组 用户名)
用户和组相关的文件
/etc/passwd 文件
:用户配置的文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell
/etc/shadow 文件
:口令的配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group 文件
:组配置文件,记录Linux包含的组的信息
每行的含义:组名:口令:标识号:组内用户列表
linux 运行级别
查看当前用户级别:
systemctl get-default
命令:通过
init
来 控制运行级别
运行级别 | 说明 |
---|---|
0 | 关机 |
1 | 单用户模式 |
2 | 多用户没有网 |
3 | 多用户有网络 |
4 | 系统未使用保留给用户 |
5 | 图形界面 |
6 | 系统重启 |
帮助指令
Linux下,文件或者文件夹,前面有个小点的,基本上都是隐藏文件。
Linux下,选项是可以组合使用的。
man 指令
help 指令
示例:
help add
文件目录类
绝对路径:从根目录下开始
相对路径:从当前路径下开始
命令 | 作用 | 注释 |
---|---|---|
pwd | 显示当前路径 | 绝对路径 |
ls [-a] [-l] | 显示当前路径 【所有的,包括隐藏的】【以列表的方式】 | 相对路径 |
cd ~ / cd .. | 回到家路径 / 返回上一级 | cd /home/test/hah ⇒ 快速定位绝对路径 |
mkdir [-p] 文件路径 | 创建目录 【多级】 | 示例:mkdir -p /test/hah/test |
rmdir [-rf] 文件路径 | 删除文件夹【递归、强制】 | 谨慎使用 |
touch 文件名 | 创建一个空的文件 | |
cp [-r] 目标文件名/目标位置 复制到的位置 | 拷贝文件【递归】拷贝的文件名 把文件拷贝到哪 | 最前面加上\ ,则不会有提示,例如\cp -r /bin/hah /test/testcp |
rm -rf | 如上 | 这里指的是文件夹,上面指代的是文件,但是方法是一样的 |
mv 旧名字 新名字 /mv 旧目录/ 新路径 / mv 路径 | 重命名 / 将目录下的文件全部移动到新路径 / 移动、剪贴 | 举一反三,可以移动并重命名,示例:mv 旧名字 路径+新名字 |
cat [-n] 文件 | 查看文件【显示行号】 | cat只能查看,却不能修改,一般会带上管道命令 | more |
echo | 输出到控制台 | 可以尝试一下echo $path |
head 【-n 5】文件名 | 显示文件开头内容 | 默认不写参数的话,是默认前十行 |
tail 【-n 5】【-f】文件名 | 显示文件的末尾内容【末尾十行】【实时更新】 | 默认不写参数的话,是默认后十行 |
> | 覆盖、重定向 | cat 文件一 > 文件二 【如果文件不存在,则自动创建】 |
>> | 追加 | echo "内容" >> 文件 【如果文件不存在,则自动创建】 |
cat | 显示日历 | |
ln 指令 | ln -s 【源文件/目录】【软连接路径 + 名称】 | 也称为符号链接符,也称之为 windows 的快捷方式 |
history 【10】 | 查看历史执行的命令 【十条】 | !5 执行第5条命令 |
date | date /date +%Y/%m 当前时间/当前几点、当前多少分钟 |
more
管道符指令
命令 | 用法 |
---|---|
空格 | 向下翻页 |
回车 | 向下翻一行 |
q | 表示离开,不再显示内容 |
Ctrl + F | 向下滚动一屏 |
Ctrl + B | 向上返回一屏 |
= | 输出当前的行号 |
:f | 输出文件名和当前行号 |
less指令
⇒ 一般用于比较大的文件
和
more
文件类似,但是是一部分一部分加载,不会和more
一样,一口气加载完。
指令 | 用法 |
---|---|
空格 | 向下翻动一页 |
[pagedown] | 向下翻动一页 |
[pageup] | 向上翻动一页 |
/字符串 | 向下搜索字符串的功能,用n或N来控制查找方向 |
?字符串 | 向上搜索字符串的功能,用n或N来控制查找方向 |
q | 离开less程序 |
权限
首先我们看第一列
字符 | 代表的含义 |
---|---|
d | 目录 |
- | 文件 |
I | 表示为链接文档 |
b | 可储存装置接口设备 |
c | 一次性读取装置,例如:键盘鼠标 |
其次我们看后面,rwx ⇒ 读、写、操作
修改文件属性 [ chgrp [ -R ] 属组名 文件名 ]
[ -R ] : 递归更改文件数组。就是在更改某个文件目录的数组时,如果加上 -R 的参数下,那么该目录的所有文件的属组都会改变。
修改文件属主,也可以同时更改文件的属组 [ chown [ -R ] 属主名:[ 属组名 ] 文件名 ]
[ R ]:同上
chmod:更改文件(9个)属性
你权限操作此文件
chmod [ -R ] rwx 文件和目录
字符 | 对应的数字 |
---|---|
r | 4 |
w | 2 |
x | 1 |
设置的方式有两种。一种是数字( chmod 777 ),一种是字符
链接(硬链接、软链接)
硬链接: A—B,拥有多个路径,防止误删。
软链接:类似 windows 下的快捷方式,删除了原文件,则访问不了
磁盘管理(df、du)
df : 列出文件系统整体的磁盘使用量 ⇒ 默认的是 字节,如果查看 mb 的情况下,使用 df -h
du : 检查磁盘空间使用量
du -a : 查看所有文件和子文件夹
进程管理
进程一般存在的方式: 前台 和 后台 运行。
ps查看当前系统 中正在执行的各种进程的信息。
参数 | 信息 |
---|---|
-a | 显示当前终端运行的所有进程信息(当前的进程一个) |
-u | 以用户的信息显示进程 |
-x | 显示后台运行进程的参数 |
查看专属的相关进程信息方式 | ps -aux | grep mysql |
可以查看到父进程的信息 | ps -ef | grep mysql |
结构进程树
pstree -pu
参数 | 含义 |
---|---|
-p | 显示父 id |
-u | 显示用户组 |
杀掉进程
参数 | 含义 |
---|---|
kill -9 进程的id | 结束进程(数字9) |
环境安装
rpm安装(jdk)、解压缩(tomcat)、yum在线安装(docker)
jdk安装
然后 vim 到
/etc/profile
中配置环境 ,写在最下面,然后保存退出
export JAVA_HOME=/usr/local/jdk/jdk-17.0.10
export PATH=$JAVA_HOME/bin:$PATH
测试运行jar程序
利用这些代码来开启端口号(百度有哦,一百度开启linux端口号就出来啦~~ 。我直接跳过啦)
遇到问题解决(打包后只有4kb,并且提示找不到主类?
向这类安装,参考百度,配置什么的,都很详细,
完结撒花