Linux学习笔记
2024-09-19 14:37:32 0 举报
AI智能生成
登录查看完整内容
Linux学习笔记_NEW是一份关于Linux操作系统的详细指南,旨在帮助用户深入了解Linux的基本概念、命令和使用技巧。这份笔记涵盖了Linux文件系统、权限管理、网络配置、包管理、shell脚本、编辑器、版本控制、云计算等多个方面。通过丰富的实例和详细的解释,用户能够快速掌握Linux操作系统的使用方法和技巧,提高工作效率。
作者其他创作
大纲/内容
Linux学习笔记
https://blog.csdn.net/qq_57492774/article/details/131772646
终端界面
终端工具:WindTerm
子主题
https://blog.csdn.net/peter_52/article/details/121958639
切换鼠标在虚拟机和主机间的快捷键:右Ctrl
3
2
1
6
5
4
9
8
7
12
11
10
指引
安装指引
https://man.niaoge.com/
https://www.w3cschool.cn/
linux命令大全
目录
在 Linux 中,“~”表示当前用户的主目录,而“/”表示根目录。“~”会根据登录的用户不同而指向不同的主目录,比如用户“user1”登录,“~”就指向“/home/user1”。“/”则是整个文件系统的起点,包含了系统的关键目录和文件,如“/bin”、“/etc”、“/usr”等。
目录结构
图例
在linux中有一个特殊的符号:\"~\",表示当前用户的家目录,切换方式:#cd ~
TAB键补全命令
查看命令帮助:#命令 --help
指令与选项
含义:ls(list)
用法1:#ls含义:列出当前工作目录下的所有文件/文件夹的名称用法 2:#ls 路径含义:列出指定路径下的所有文件/文件夹的名称关于路径(重要):路径可以分为两种:相对路径、绝对路径。相对路径:相对首先得有一个参照物(一般就是当前的工作路径);写法:通常用到2个符号:“./”(表示当前目录下)、“../\"(表示上一级目录下)绝对路径:绝对路径不需要参照物,直接从根\"/\"开始寻找对应路径;
#ls 选项 路径:在列出指定路径下的文件/文件夹的名称,并以指定的格式进行显示
用法1:#ls -l 路径:-l:表示list,表示以详细列表的形式进行展示
用法2:#ls -la 路径:-a:all表示显示所有的文件/文件夹(包含隐藏文件/文件夹)
1.第一列表示文档类型,”-“表示文件,”d“表示文件夹2.”root“表示所属用户和用户组3.数字列表示文字大小,单位字节4.Aug 月份5.在linux中,隐藏文档都是以”.“开头
用法3:#ls -lh 路径:列出指定路径下的所有文件/文件夹的名称,以列表的形式 且在显示文档大小的时候以可读性较高的形式显示。
常见用法
加选项
蓝色:文件夹
白色/黑色:文件
绿色:其权限为拥有所有权限
颜色含义
ls
pwd含义:print working directory 打印当前工作目录
pwd
cd 含义:change directory 改变目录,用于切换当前工作目录
”../“:表示上一级目录下
案例:1.在绝对路径切换到/usr/local2.当前在/usr/local下,需要用相对路径切换目录到home目录下的admin用户的家目录中
语法1:#cd 路径
直接回到当前家目录
语法2:#cd
语法
绝对路径是从根目录(/)开始的完整路径。例如,/home/user/documents/file.txt 就是一个绝对路径,无论当前工作目录在哪里,都能准确地定位到指定的文件或目录。相对路径是相对于当前工作目录的路径。例如,如果当前工作目录是 /home/user,那么 documents/file.txt 就是一个相对路径,表示在当前目录下的 documents 目录中的 file.txt 文件。
cd
mkdir含义:make directory 创建目录/目录
语法1:#mkdir 路径(可以是文件夹名称或是包含名称的一个完整路径)
不加将会报错
p表示 “parents”(父目录)
语法2:#mkdir -p 路径(创建多层不存在的目录)
较少使用创建a1 a2 a3 3个文件夹
语法3:#mkdir 路径1 路径2 路径3 ...(一次性创建多个目录)
mkdir
touch含义:Touch 创建文件
1.创建一个文件:linux.txt2.使用touch在yunwei_x目录创建linux_1.txt3.ls yunwei_x/a1
语法:#touch 路径(可以文件名或是路径)
touch
cp含义:copy 拷贝文件/文件夹到指定的位置
复制时,建议保持文件名称不变
语法1:#cp 被复制的文档路径 文档到被复制到的路径
复制文件夹下的文件及文件夹(含文件夹下的文件)
r 代表 recursive,意思是 “递归的”
语法2:#cp -r 表示递归复制
一般不这么做:复制的同时,对新位置文件进行重命名
复制过程可以对被复制的文件进行重命名
cp
mv含义:move 移动(剪切):移动文档到新的位置
移动mv_test.txt 到a/b/c下
移动文件夹c到a1目录下
#mv 需要移动的文档路径 需要保存的位置路径
文件重命名
文件夹重命名
语法与移动一致
重命名
mv
rm含义:remove表示移除/删除文档,可删除多个文件/文件夹
不想频繁确认,可以在指令中添加
-f:force 强制删除
用于删除文件夹
-r:表示递归
选项
不带选项删除文件,会有提示,需要输入Y/N
删除单个文件
删除a1目录
删除文件夹
rm -f linux_*:删除”linux_“开头的文件/文件夹
删除公共特性的文件,加通配符:”*“
语法:#rm 选项 需要删除的文档路径
rm
按i,进入编辑界面,按ESC退出编辑,再按下列命令:1.如果没有对文件进行修改,要直接退出,输入以下命令::q(:是命令符)2.如果对文件进行了修改,但不想保存修改直接退出,输入::q!3.如果对文件进行了修改并且想要保存修改后退出,输入::wq
vim含义:是一款文本编辑器(编辑器之神)
在没有按下其他按键时,按下shift+: 输入q回车进行退出
语法:#vim 文件的路径,打开一个文件(可以存在/不存在)
Vi 和 Vim 的核心功能和命令是相似
vim
含义:一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果保存到文件中进行分析/统计,则这时候需要用到重定向。
符号:\">\":覆盖输出,会覆盖掉原先文件内容“>>”:追加输出,不会覆盖掉原先文件内容
语法:#正常的执行执行>/>>文件的路径,注意文件可以不存在,不存在则自动新建
使用覆盖/追加重定向,保存 ls -a 的执行结果,保存到当前目录下的ls.txt,执行vim查看结果
示例:
输出重定向
只查看,不需要编辑就用cat
还可以对文件进行合并
cat含义:有直接打开一个文件的功能,不需要进行退出操作
语法1:#cat 文件路径
图例,将1.txt和2.txt的内容合并到3.txt(配合重定向)
语法2:#cat 待合并的文件路径1 待合并的文件路径2 ...> 合并之后的文件路径
cat
作用:用于创建、查看和提取归档文件
压缩的归档文件:tar -czvf archive.tar.gz file1 file2 dir1-c表示创建新的归档文件。-v表示显示详细信息。-f指定归档文件名,这里是archive.tar。后面跟着要归档的文件和目录(file1、file2和dir1)。创建一个压缩的 tar 归档文件(例如使用 gzip 压缩)-z表示使用 gzip 压缩。生成的文件扩展名为.tar.gz
语法1:创建归档文件
当前文件:tar -xf filename.tar-x表示提取(解包)。-f后面指定要解压的 tar 文件的文件名。
-C(大写C)
指定路径:tar -xf filname.tar -C 路径-C:“创建(create)” 新的归档文件
语法2:解压文件
tar
基础命令
语法:#df -h
du与df的区别:想知道某个目录或文件占用了多少空间,使用 du;如果想了解整个文件系统的空间使用概况,使用 df。
df -h
作用:查看内存使用情况,已MB为单位free表示 “空闲、释放”,-m 选项表示以兆字节(Megabyte)为单位显示内存信息。
可以加-h
语法:#free -m
SWAP:当系统真实内存不够用的时候,可以临时使用磁盘来充当内存
avilable:可利用的
其他解释
free -m
作用:查看一个文件的前N行,如果不指定,默认显示前10行
查看前5行
n 代表 number,意思是 “数量、数字”
语法:#head -n(n表示数字)文件路径
head
-n :查看一个文件的末n行,如果不指定,默认显示后10行
F代表 Follow,意思是 “跟随、跟踪”
-F :查看一个文件的动态变化
作用
语法1:#tail -n 文件路径
要用大写的F
语法2:#tail -F文件路径
退出:ctrl+c
tail
作用:查看文件,以较少的内容输出,按下辅助功能键:数字+回车+空格键+上下方向键查看更多
语法:#less 需要查看的文件路径
退出:q
less
作用:统计文件内容信息:行数、单词数、字节数wc 是单词 word count 的缩写,意思是 “单词计数”依照空格判断单词数量。
#wc -lwc 需要统计的文件路径
常用
-l:lines表示行数
wc -l filename :lines,只统计文件的行数。wc -w filename :只统计文件的单词数。wc -c filename :只统计文件的字节数。
wc
作用:表示操作时间日期(读取、设置)%F:表示完整的年月日%T:表示完整的时分秒%Y:表示四位年份%m:表示两位数月份(带前导0)%d:表示日期(带前导0)%H:表示小时(带前导0)%M:表示分钟(带前导0)%S:表示秒数(带前导0)
CST:中国标准时间China Standard Time
语法1:#date
注意大小写:date +%F 等价于:date +%Y-%m-%d
语法2:#date +%F
注意大小写,等价于:date \"+%Y-%m-%d %H: %M: %S\"
语法3:#date \"+%F %T\"(引号表示让“年月日时分秒”成为一个不可分割的整体)
作用:获取之前或者之后的某个时间(用于数据备份)
#date \"-1 day\" \"+%F %T\":输出一天前的时间
#date -d \"-1 year\" \"+%F %T\"
语法4:
获取当前时间
获取之前或之后的时间
sudo date -s \"2024-08-13 09:47:50\"“sudo” 全称为 “superuser do” ,用于以管理员(超级用户)权限来执行其他命令
设置时间:#sudo date -s \"日期 时间\"
date
作用:calendar”(日历),用来操作日历
语法1:#cal 直接输出当前月份的日历
语法2:#cal -3表示输出上一个月+本月+下个月的日历
语法3:#cal -y 表示输出某一个年份的日历
cal
作用:清除终端中已经存在的命令和结果(信息)
语法:#clear
注意:该命令并不是真的清除之前的的信息,而是把之前的信息隐藏到了上面,通过滚轮可以查看以前的信息。
clear/ctrl+L
管道符:|,管道一般可以用于“过滤”,“特殊”,“扩展处理”; 以管道作为分界线:前面的命令有个输出,后面需要先输入,然后再过滤,最后再输出,通俗的讲就是管道前面的输出就是后面指令的输入,实现了命令之间的数据传递和协同工作。
语法:管道不能单独使用,必须需要配合前面所讲的一些指令来一起使用,只要用于辅助作用
grep:主要用于过滤
#ls /|grep y:需要通过管道查询出根目录下包含\"Y\"字母的文档
查看该目录下3.txt文件中含有字母\"d\"的内容
过滤:ls |grep
#cat 路径|less
特殊:cat |less
#ls 路径|wc -l :查看用户主目录下文档个数
扩展处理:ls |wc -l
用法
管道
进阶命令
帮助选项
作用:操作服务器的主机名(读取、设置)
表示输出完整的主机名
语法1:#hostname
表示输出当前主机名中的FQDN(完全限定域名)
f 代表 fully qualified domain name,意思是 “完全限定域名”。
语法2:#hostname -f
hostname
作用:查看一个用户的一些基本信息(用户id,用户组id,附加组id...),该指令如果不指定用户则默认当前用户
显示当前用户的基本信息
语法1:#id
显示指定用户的基本信息
语法2:#id 用户名
#cat etc/passwd
#cat etc/group
验证上述信息是否正确:1.验证用户信息:通过文件/etc/passwd2.验证用户组信息:通过文件/etc/group
id
作用:“我是谁?”显示当前登录的用户名,一般用于shell脚本,用于获取当前操作的用户名方便记录日志。
语法:#whoami
whoami
-e 选项中的 e 代表 all processes,意思是 “所有进程”。-f 选项中的 f 代表 full format listing,意思是 “完整格式列表”。
UID:该进程执行的用户id;PID:进程id;PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程;C:CPU的占用率,其形式是百分比;STIME:进行启动的时间;TTY:终端设备,发起该进程的设备识别符号,如果显示的“?”则表示该进程并不是终端发起;TIME:进程的执行时间;CMD:该进程的名称或对应的路径。
#ps -ef |grep postix:在ps的结果中过滤出想要查看的进程状态。
#ps -ef |grep 进程名称
语法:#ps -ef
ps -ef
PID :进程Id;USER:该进程对应的用户;PR:优先级;VIRT:虚拟内存;RES:常驻内存;SHR:共享内存; 计算一个进程实际使用的内存=常驻内存(RES)-共享内存(SHR)font color=\"#e74f4c\
作用:查看服务器进程占的资源
1(数字):当服务器拥有多个CPU的时候使用,“1”快捷键来切换是否显示各个CPU的详细信息
P:表示将结果按照CPU使用率进行降序排列
M:表示将结果按照内存(MEM)的降序
退出:按“q”
top
作用:“disk usage”(磁盘使用情况)的缩写,用于快速查看当前目录或指定文件 / 目录所占用的磁盘空间大小,以一种更易读的方式显示。
-s 选项中的 s 代表 summarize,意思是 “汇总、总结”。-h 选项中的 h 代表 human-readable,意思是 “人类可读的”,即以更易读的方式(如合适的单位)显示磁盘使用量。
语法:#du -sh 目录路径
此命令会以人类可读的方式(-h选项)显示当前目录下一级目录的占用空间大小,--max-depth=1限定只显示一级深度的目录。|通过管道符-r表示逆序排序,即从大到小排列sort用于对文本文件的内容进行排序du -h --max-depth=1 | sort -hr
语法2
概要
du -sh
作用:用于查找文件
在根目录根据文件名搜索文件“init.d”
在/etc下查找*.conf的文件,并用管道命令统计数量find /etc -name *.conf |wc -l
f,find /etc/iproute2 -type f |wc -l
d
语法:#find 路径范围 选项 选项的值-name:按照文档名称进行搜索(支持模糊搜索)-type:按照文档的类型进行搜索,f表示文件,d表示目录
find
作用:用于控制一些软件的服务启动/停止/重启
例:需要启动本机安装的Apache(网站服务器软件),其服务名httpd.conf
语法:#service 服务名 start/stop/restart
service
作用:表示杀死进程(当遇到僵尸进程或出于某种原因需要关闭进程的时候)
语法1:#kill 进程PID,需要配合ps 一起使用
语法2:#killall 进程名称
kill
作用:用于操作网卡的相关命令
语法:#ifconfig,获取网卡信息
语法:#ip addr/ip a
ifconfig或ip
作用:重新启动计算机
语法1:#reboot
模拟重启但不重启(只写关机与开机的日志信息,用于测试)
w 代表 write,表示将重启操作记录到 /var/log/wtmp 日志文件中
语法2:#reboot -w
语法:
reboot
#init 0
#halt
#poweroff
作用:关机(慎用)
立即关机
语法1:#shutdown -h now
1.定时关机,并增加提醒2.ctrl+c 关机取消,7.x版本以后用shutdown -c
h 这个选项的作用是让系统关机(halt)
语法2:#shutdown -h 12:00
shutdown
作用:输出计算机持续在线时间
语法:#uptime
uptime
作用:获取操作系统相关信息
语法1:#uname
获取计算机详细信息(类型、版本、主机名、内核版本、发布时间、开源计划)
语法2:#uname -a
uname
作用:查看网络连接状态
选项说明:-t:表示只列出TCP协议的连接;-n:表示将地址从字母组合转换成ip地址,将协议转换成端口号;-l:表示过滤出“state(状态)”列中其值为LISTEN的连接;-p:显示发起链接对应连接进程PID、进程名称。
-t 选项中的 t 代表 TCP,用于显示 TCP 协议相关的连接信息-p 选项中的 p 代表 program,用于显示与每个连接相关的进程 ID 和进程名称。-l 选项中的 l 代表 listening,用于显示处于监听状态的套接字。-n 选项中的 n 代表 numeric,以数字形式显示地址和端口号,而不进行名称解析
语法1:#netstat -tnlp
netstat -tnlp
作用:manual手册(包含linux中全部命令的手册)
语法:#man 命令
man
高阶指令
命令/指令
光标前:ctrl+u
光标后:ctrl+k
1.如何在命令行中光标前后的命令
#rm -f /tmp/A*
2.如何删除/tmp下所有A开头的文件
3.系统重要文件备份,如何将/etc/passwd备份到/tmp目录下
4.如何查看系统最后创建的3个用户
#cat /etc/passwd |wc -l
5.什么命令可以统计当前系统中一共有多少账户
tail -3 etc/passwd
head -3 etc/passwd
6.如何查看/etc/passwd的头3行和尾3行
7.查看/etc所占的磁盘空间
不加删除tmp文件,所以加*
#rm -rf /tmp/*
8.如何只删除/tmp下所有文件
练习
重点是光标的移动、模式切换、删除、查找、替换、复制、粘贴、撤销命令的使用
行首:按键:shift+^
行尾:shift+$
首行:gg
末行:G
ctrl+b
Pageup
上翻
ctrl+f
Pagedown
下翻
翻屏
光标的移动操作
复制:yy
粘贴:p,想要粘贴的地方按下p键
复制光标所在行
复制:数字 yy,向下复制,包含当前行
复制多行
光标的复制操作
光标所在行:dd,
向下剪切/删除:数字dd,向下删除,包含当前行
剪切/删除光标所在的当前行,但是删除之后下一行不上移:D
严格意义是剪切命令,如果不粘贴就是删除效果
剪切/删除
撤销:u(undo)
恢复:ctrl+r,取消之前撤销的操作
撤销/恢复
快速将光标移动到指定的行数:数字G
以当前光标为准向上/下/左/右移动N行:数字+方向键
%a的位置会有2种显示的可能:%a(active)表示当前正在打开的窗口#:表示上一个打开的文件
查看已打开的文件:\":files\"
如果需要指定切换文件名称:“:open 已经打开的文件名”如果编辑了文档,需要先保存,才能切换到另一个文件
可以一直按一个命令
可以通过其他命令切换上一个文件/下一个文件:\":bp\":表示切换到上一个缓冲区(buffer previous)\":bn”:表示切换到下一个缓冲区(buffer next)
切换文件方式
多个文件切换
扩展
命令模式(默认):不能对文件直接编辑,可以输入快捷键进行一些操作(删除行、限制行、移动光标、粘贴等)
\"i\":光标所在位置的前面插入
“a”:光标所在位置的后面插入
退出方式:Esc
输入:“:w”保存文件
输入:“:w”路径,另存为
输入:\"wq\"保存并退出
退出:“:q”
强制退出:“:q!”刚才做的修改不做保存
支持另外一个保存退出方式:“:x”,在文件没有修改的情况下,表示直接退出;在修改的情况下,表示保存并退出
保存退出
:!ls 路径
调用外部命令:\":!外部命令\"
取消高亮:\":nohl\"
搜索/查找:“:/关键词”,上/下切换:N/n
:s/搜索的关键词/新的内容,只替换光标所在行的第一组,符合条件的内容
:s/搜索的关键词/新的内容/g,光标所在行的全部符合条件的内容
:%s/搜索的关键词/新的内容,替换整个文档中每行第一个符合条件的内容
:%s/搜索的关键词/新的内容/g,替换整个文档中符合条件的内容
其他:%表示整个文件,g表示全局(global)
替换
显示行号:\":set nu\",不显示:“:set nonu”
按1次Esc退出,按2次Esc删除末行命令
输入\":\"进入末行模式
模式间的切换
其他操作
末行模式:可以在末行输入命令对文件进行操作(搜索、替换、保存、退出、撤销、高亮等)
vim的三种模式(大众认知)
语法1:#vim 文件路径,打开指定的文件
语法2:#vim +数字 文件路径,打开指定的文件并将光标移动到指定行
语法3:#vim +/关键词 文件路径,打开指定的文件并高亮显示关键词
使用 :next 命令切换到下一个文件,使用 :prev 命令切换到上一个文件
使用 Ctrl + ^ 组合键在最近访问的两个文件之间切换
语法4:#vim 文件路径1 文件路径2 ..,同时打开多个文件
打开文件的方式
当在编辑文件时,需要使用计算器去计算一些公式,vim集成了简易的计算器
使用方式:编辑模式下按ctrl+r,输入“=”,光标会跳转到最后一行,输入需要计算的内容,按回车输出结果
计算器的应用
如果没有就新建一个
输入命令:\"set nu\",保存退出,所有文档都加了编号
个人配置文件:\"/.vimrc\"
如果针对同一个配置下,个人配置种存在,以个人配置为准;如果个人配置种不存再这一项,以全局为准
全局配置文件:“/etc/vimrc”
打开显示:\":syntax on\" ,表示:语法
关闭显示:“:symtax off”
代码着色开关(临时)
vim 的配置
定义:在编辑文件之后没有正常的退出,而是遇到突然关闭终端或者断电的情况,则会显示下面的效果
查找“.*”交换文件并删除即可
解决办法
异常退出
VIM
作用:相当于创建一些属于自己的自定义命令
别名机制依靠一个别名映射文件:“~/.bashrc”
注意:要使别名文件生效,要重新登录当前用户
别名机制
支持另外一个保存退出方式:“:x”(小写,\":X\"表示对文件加密),在文件没有修改的情况下,表示直接退出;在修改的情况下,表示保存并退出
\":x\"文件的时间不会被更新,\":wq\"文件修改时间会被更新
退出方式
查看进程,/etc/inittab
在linux中存在一个进程,init(initalize,初始化),进程id是1
\"#\"在配置文件中表示注释
回到桌面:\"init 5\"
\"init\"
运行模式
-g:指定用户的用户主组,选项的值可以是用户组Id,也可以是用户组名
-G:指定用户的用户附加组,选项的值可以是用户组Id,也可以是用户组名
-u:uid用户的id(用户的标识符),系统默认会从500 之后按顺序分配uid,可以自定义(类似QQ自选靓号)
-c:添加注释
常用选项
#useradd zhangsan
注意:创建同名的家目录、同名的用户组
不带选项
#useradd -g 1000 -G1000 -u 666 lisan
带选项
增加:#useradd 选项 用户名
选项-r:删除用户的同时,删除其家目录
ps -ef |grep 用户名
kill 进程ID
删除已经登录的用户,kill 对应用户的全部进程
删除:#userdel 选项 用户名
#usermod -l li zhangsan
-l:表示修改用户名,新用户名在前面,旧用户名在后面,入”zhangsan\"改成\"lisi\"
usermod:user modify 用户修改
linux不允许没有密码的用户登录系统,因此前面创建的用户目前都是锁定状态,需要设置密码才能登录
语法:#passwd 用户名
设置密码
修改:#usermod 选项 用户名
su:switch user,如果用户名不指定则表示切换到root用户
从root切换到普通用户,不需要密码
切换用户之后的工作路径是不变的
普通用户无法让问root,反之可以
注意
切换用户:#su 用户名
查看用户的主组可以查看passwd文件,查看附加组可以查看gourp文件
所有和用户操作的命令(passwd除外),只有root超级管理员有权限执行
用户更改自己的密码,不需要加用户名
用户
常用选项-g:选择自己设置一个自定义的用户组id,如不指定,默认从500之后递增
增加:#groupadd 选项 用户组
常用选项-n:表示设置新的用户组的名称
修改:#groupmod 选项 用户组
注意:如果需要删除一个组,但是这个组是某个的主组时,则不允许删除
删除:#groupdel 选项 用户组
linux下的用户属于与它同名的用户组,这个用户组在创建用户的同时创建
用户组名:密码:用户组ID:组内用户名密码:x表示占位符,虽然用户组可以设置密码,大部分情况不设置组内用户名:表示附加组是改组的用户名称
文件结构
用户组
#group -n xingzheng_1 xingzheng -g 1444
/etc/passwd:存储用户的关键的信息
/etc/group:存储用户组的关键的信息
/etc/shadow:存储用户密码的信息
注意文件路径
#tail -4 /etc/passwd |grep zhangsan
用户名:密码:用户ID:用户组ID:注释:家目录:解释器shell用户名:创建新用户的名称,后期登录的时候需要输入密码:此密码位置一般情况都是”x“,表示密码的占位用户ID:用户的标识符注释(-c):解释该用户是做什么用的家目录:用户登录系统之后默认的位置解释器shell:等待用户进入系统输入指令之后,该解释器会收集用户输入的指令,传递给内核处理
认识passwd文件
id 用户名
用户与用户组管理
网卡配置文件位置:/etc/sysconfig/network-scripts/网卡文件命名的名称:ifcfg*
ONBOOT:是否开机启动bootproto:iP 地址分配方式HWADDR:硬件地址,MAC地址
#service network restart
#/etc/init.d/network restart共性目录:/etc/init.d
#ifdown 网卡名,停止某个网卡
#ifup 网卡名,开启某个网卡
重启单个网卡
提示:在实际工作中不要随意禁网卡
重启网卡
#ln -s /etc/sysconfig/network-scripts/ifcfg-enp0s3 ~/ifcfg-enp0s3在家目录下增加ifcfg-enp0s3的快捷方式,名称不变
#ln -s 修改网卡的配置文件,文件目录层次很深,可以在浅的目录中创建一个快捷方式,方便以后查找
网络设置
查询主机名:hostname、hostname -f
#hostname 设置的主机名,,切换用户
临时:立竿见影
#hostnamectl set-hostname 主机名 centos 7.0+
#vim /etc/sysconfig/network 主机名 u
永久设置:需要重启
设置
设置主机名
不想重启就先设置临时,再设置永久
作用:相当于windows下开机启动项的管理服务,并非所有的服务都有开机启动
#chkconfig --list |grep http.d
其中0-6表示各个启动级别:3级别为关闭,表示默认开机不启动5则表示桌面环境下开机不启动
查询服务:#chkconfig --list
删除服务:#chkconfig --del 服务名
centos 7.0+:systemctl list-unit-files
添加服务:#chkconfig --add 服务名
#chkconfig --level 连在一起的启动级别 服务名 on/off#chkconfig --level 35 http.d on
设置服务在某个级别下开机启动/不启动
chkconfig
作用:ntp主要用于计算机时间同步管理操作
ntpdate ntp.aliyun.com
一次性同步时间:#ntpdate ip地址
#service ntpd start
设置时间服务,启动\"ntpd\"服务
ntp服务
作用:防范网络共计防水墙:bbs 论坛灌水
语法:#service firewalld start/restart/stop
防火墙服务
Linux自有服务(内置)
Linux系统一般将文件可存/取访问的身份分为3个类别:owener(所有者)、group、others,且3种身份各有read、write、execute(执行)等权限。
在多用户(可以不同时)计算机系统管理中,权限是指某个特定的用户具有特定的系统资源使用权限,像是文件夹、特定系统指令的使用或存储量的限制。
权限概述
属主与属组
文件夹:影响用户是否能够列出目录结构
文件:影响用户是否可以查看文件内容
读权限
文件夹:影响用户是否能够在文件夹下创建/删除/复制到/移动到文档
文件:影响用户是否能够编辑文件内容
写权限
一般对于文件来说,特别是脚本文件
执行权限
权限构成
由于Linux是多用户、多任务的操作系统,可能有多人同时在某台主机上工作,但每个人均可在主机上设置文件的权限,让其成为个人的“私密文件”
Owner身份(文件的所有者)
同组同权限
Group身份(与文件所有者同组的用户)
相对概念,相对于所有者
Others身份(其他人)
所有用户中权限最大,管理普通用户
Root身份(超级用户)
身份介绍
权限概念
作用:修改文件/文件夹的权限
语法:#chmod 选项 权限模式 文档
选项:-R,表示递归设置权限(文件类型是文件夹)
权限模式:该文档需要设置的权限信息
文档:可以是文件,也可以是文件夹,可以是相对路径也可以是绝对路径
注意:只有root用户、文档所有者才有设置权限
其他
chomd
作用:更改文档的所属用户,ch:change,own :owner
文件:#chown username 文档路径
文件夹:#chown -R username 文档路径
chown
作用:更改文档的所属用户组,grp :group
文件:#chgrp groupname 文档路径
使用ll ,|grep
文件夹:#chgrp -R groupname 文档路径
chgrp
语法:#chown -R username:groupname 文档路径
综合命令chown:一个命令修改用户与用户组
属主与属组设置
u:表示所有者身份owner(user)
g:表示给同组设置(group)
o:表示others,给其他用户设置权限
a:表示all,给所有人(包含ugo部分)设置权限
注意:如果在设置权限的时候不指定给谁设置,则默认给所有用户设置
字母形式
数字形式:#chmod 777 xx.txt
r:读
w:写
x:表示执行
-:表示没有权限
注意:当文档拥有执行权限(任意部分),则其颜色在终端中是绿色
字符
+:表示给具体的用户新增权限(相对当前)
删除文件夹abcd的可读权限
-:表示删除用户的权限(相对当前)
不给任何权限
=:表示将权限设置成具体的值(注重结果)
权限分配
权限字符
权限指令
提权漏洞
属主:所属的用户(文件的主人:用户名)属组:所属的用户组这两项信息再文档创建的时候会使用创建者的信息(用户名、用户所属的主组)
十位字符表示含义:第1位:表示文档类型,取值常见的有“d”表示文件夹、“-”表示文件、\"l\"表示软链接、“s”表示套数字等等;第2-4位:表示文档所有者的权限情况,第2位标识读权限的情况,取值r、-;第3位表示写权限的情况,w表示可写,-表示不可写;第4位标识执行权限的情况,取值有x、-。第5-7位:表示所有者同在一个组的用户的权限情况,第5位标识读权限的情况,取值r、-;第6位表示写权限的情况,w表示可写,-表示不可写;第7位标识执行权限的情况,取值有x、-。第8-10位:表示除了上面的前2部分的用户之外的其他用户的权限情况,第8位标识读权限的情况,取值r、-;第9位表示写权限的情况,w表示可写,-表示不可写;第10位标识执行权限的情况,取值有x、-。
语法1:#ls -l 路径,等价于:ll
使用sudo进行权限设置,可以让root管理员事先定义某些特殊命令谁可以执行,默认
默认sudo中是没有除root用户之外用户的规则,要想使用先配置sudo
编辑配置文件方法
所在路径:/etc/sudoers
root :表示用户名,如果是用户组用\"%组名\"ALL:表示允许登录的主机(地址的白名单)=:固定不动(ALL):表示以谁的身份执行,ALL表示root身份ALL:表示当前用户可以执行的命令,多个命令可以使用,用\
配置普通用户权限
给admin分配root权限
! which useradd
在编辑模式用“! 命令”调用外部命令,不用退出编辑模式
案例
注意:在写sudo 规则时不建议写直接形式的命令,而是写命令完整路径,可以使用which命令查看,语法:#which 指令名称
tail -1 /etc/passwd |grep yonglu
增加一个用户
修改密码
sudo 需要执行的指令
sudo
如何给普通用户分配管理员命令权限
Linux权限管理
#tar -zxvf *.tar.gz
#tar -jxvf *.tar.bz2
-z 或--gzip或--ungzip:通过gzip指令处理文件;-x 或--extract或--get:从文件中还原文件;-v:显示操作过程(可不加);-f 或--file:指定一个文件;-j :支持bzip2解压文件;
含义
解压语法
-qa 是 “query all”(查询所有)的缩写
#rpm -q 包名
查询软件:#rpm -qa |grep 包名
-e:erase
卸载软件:#rpm -e 包名【--nodeps】
如果要强制安装可以使用--force参数,但这可能会覆盖现有文件或忽略某些错误,需谨慎使用。如果要忽略依赖关系进行安装可以使用--nodeps参数,同样这也可能导致软件安装后无法正常运行,需谨慎使用。
-i:install-v:显示详细的安装过程信息。-h:以#号显示安装进度条
安装软件:#rpm -ivh 包名
u:update
升级软件:#rpm -Uvh 包名
查询哪个软件包拥有指定的文件
#rpm -qf 文件路径
1.二进制包(rpm)
优点:安装简单快捷
缺点:完全丧失了自定义性
优缺点
yum list |grep mariadb
列出当前电脑已安装的软件和可以安装的软件
#yum list installed |grep mysql
yum list installed | grep 软件包名称
#yum list
搜索指定的关键词的包
#yum search 包名
选项y:yes
安装指定的包
#yum [-y] install 包名
更新指定的包,不指定的包则更新全部软件
#yum [-y] update [包名]
卸载指定的包
#yum [-y] remove 包名
建议不加:-y
2.yum傻瓜式安装
配置的操作主要是指定的安装目录,需要的依赖再什么地方、指定不需要可选依赖配置文件的路径、通用数据存储位置等等。
指定安装的路径:--prefix=路径
需要依赖的的路径:--with-PACKAGE 名=包所在的路径
不需要依赖:--without-PACHAGE 名
./configure --prefix=/usr/local/ncurses(指定目录名)
1.配置(config/configure/bootstrap)
2.编译(make/bootstrapd)
注意:切换到源码路径安装
3.安装(make install/bootstrapd install)
3.源码包
编译同时安装:#make && make install
建议:熟练后用源码包安装
安装方式
存放路径:/usr/local/src
下载地址:https://www.oracle.com/java/technologies/downloads/
配置环境变量
以下是在 Linux 系统中安装 JDK 的步骤:一、下载 JDK1. 打开浏览器,访问 Oracle 官网或者从其他可靠来源下载适合你系统的 JDK 安装包。通常是一个 `.tar.gz` 或 `.rpm` 文件。二、安装(以 `.tar.gz` 为例)1. 使用 SSH 连接到你的 Linux 服务器。2. 将下载的 JDK 安装包上传到服务器,或者使用 `wget` 命令直接从网络下载到服务器上。 例如:`wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz`3. 解压安装包到指定目录(通常可以选择 `/usr/local/`)。 sudo tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/local/4. 配置环境变量: - 打开 `/etc/profile` 文件进行编辑。可以使用 `sudo vi /etc/profile` 命令。 - 在文件末尾添加以下内容: export JAVA_HOME=/usr/local/jdk-17(这里替换为你的实际 JDK 安装路径:/root/soft_install/jdk-22.0.1) export PATH=$PATH:$JAVA_HOME/bin - 保存并退出文件。5. 使环境变量生效: source /etc/profile 6. 验证安装: java -version 或 echo $JAVA_HOME
JDK安装方法
#sudo yum remove java-\\*
java卸载
JAVA-JDK
https://dev.mysql.com/downloads/file/?id=532476
下载地址:https://www.cnblogs.com/a565810497/p/18404779
在root/soft_install建立mysql目录,cd到这个目录进行解压:tar -xf /root/soft_install/mysql-9.0.1-1.el9.x86_64.rpm-bundle.tar
1.解压软件
cd 到mysql目录安装
1.安装MySQL
sudo systemctl start mysqldsudo systemctl enable mysqld
2.启动 MySQL 服务
MySQL 在安装时会生成一个临时的 root 密码。可以通过以下命令查看临时密码:sudo grep 'temporary password' /var/log/mysqld.log
3.获取临时 root 密码
使用临时密码登录 MySQL,并运行安全配置脚本:mysql_secure_installation在这个过程中,可以设置新的 root@localhost 密码,删除匿名用户,禁止远程 root 登录等。设定好密码(Aa123456@)后,基本选择都选y,有特殊定制可以根据个人情况而定
4.运行安全配置脚本,初始化MySQL配置
使用新设置的密码登录 MySQL:mysql -u root -p
5.登录 MySQL
quit
6.退出MySQL
2.按顺序安装
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NEW_password123';
3.修改密码
mysql安装方法
mysql
确保已安装JAVA
下载链接:https://tomcat.apache.org/download-90.cgi
指引:https://blog.csdn.net/m0_46695127/article/details/139553463
#tar -xf /root/soft_install/apache-tomcat-9.0.94.tar.gz
1.解压文件
/etc/profile
export CATALINA_HOME=tomcat路径export PATH=$PATH:$CATALINA_HOME/bin
2.配置tomcat
#source /etc/profile
3.保存文件并使环境变量生效
cd切换到/root/soft_install/tomcat/apache-tomcat-9.0.94/bin#./startup.sh
./shutdown.sh
4.启动/停止tomcat
http://服务器ip:8080/
5.验证tomcat
安装方法
tomcat
Nginx
1.确保已安装依赖:sudo yum install gcc gcc-c++ make tcl
2.下载:wget http://download.redis.io/releases/redis-7.0.11.tar.gz
tar -xf /root/soft_install/redis-7.0.11.tar.gz
3.解压文件
cd切换到/root/soft_install/redis/redis-7.0.11#make
4.执行编译命令
sudo make install
5.安装
暂无
6.配置
#redis-server /root/soft_install/redis/redis.conf
7.启动 Redis 服务器
redis
docker
软件
软件安装+sudo安装在/opt/
0 条评论
回复 删除
下一页