广州37期-李桂宁 发表于 2021-12-10 21:51:23

day05_linux

xshell连接Linux






文件权限:
Linux权限管理三剑客:
chmod:改变文件或目录权限
chown:改变文件的属主(拥有者)
chgrp:改变文件的属组(拥有组)




-rw-r--r--. 1 root root   0 Dec7 23:59 a1
第一个字符- :说明这是文件。后面的第一组 rw- 表示文件的拥有者root对它有读和写的权限。第二组r-- 表示在root用户组里面的用户对这个只有读权限。最后r-- 表示其他用户对这个文件也只有读权限

r read 读 ==》权限:4
w write 写 ==》 权限:2
x execute 执行 ==》权限:1
- 表示对应位置没有权限 ==》 权限:0

r 读权限对应的命令有:cat 、less、more、head、tail等等
w 写权限对应的命令有:vim、vi、cp、mv等等
x 执行权限对应的命令有:sh (执行shell脚本的命令)、cd

chmod 777 +文件/目录:给一个文件/目录赋予最高权限



chmod g+r 文件:对文件的拥有组加读权限



chmod g-w 文件:对文件的拥有组去掉写权限



chmod u+w 文件:对文件的拥有者加写权限
chmod o+x 文件:对其他用户增加对文件的执行权限
chmod +r 文件:对所有的用户增加这个文件的读权限

u:属主文件的拥有者
g:属组文件的拥有组里面的所有用户
o:既不是文件的拥有者也不是文件的拥有组里面的用户

chmod -R 777 目录:参数-R作用是对目录及目录里面所有的文件和子目录都进行赋予权限



chown dcs37 文件:把文件的拥有者修改为dcs37这个用户




chown root:dcs37 文件:把文件的拥有者修改为root,文件的拥有组修改为dcs37




chgrp dcs37 文件:把文件的拥有组修改为dcs37




----打包----
Linux系统常见的包:tar、tai.gz、zip、gzip、war包

打tar包:
tar -cvf 包名称.tar 原文件


打包后的包文件 比 原文件大
c:表示打包操作
v:表示打包的进度
f:表示打包的文件


解tar包
tar -xvf 包名.tar
x:表示解包操作




打tar.gz包
tar -zcvf 包名.tar.gz 原文件
z:表示这是tar.gz包的操作



解tar.gz包
tar -zxvf 包名.tar.gz




打zip包:
zip 包名.zip 原文件




zip -r 包名.zip 原目录   ==》对目录及里面所有文件进行打zip包的操作,否则只会对目录进行打包,里面的文件是不会加到包里面




解zip包:
unzip 包名.zip



tar包、tar.gz包和zip包都可以对目录进行打包操作,但是我们对目录打包为zip包就必须要加 -r 参数,否则只对目录进行打包,不会对目录里面的内容进行打包


gz包只能对文件进行操作,不能对目录进行操作。而且不管是打包还是解包,原文件都会消失



打gz包
gzip 文件名




解gz包:
gunzip gz包文件




----yum----
yum install +应用名 :在线下载安装应用
yum list :查看可以安装的yum工具

rpm命令:离线安装命令
rpm -ivhrpm安装包
i :安装软件包
v :可视化,可以看到更多的安装信息
h :显示安装的进度

rpm -qa :查看本机安装好的工具
rpm -e 应用名称:卸载对应的应用


两台Linux服务器之间的文件传输
前提:
1,要知道对方服务器的IP,用户名,密码,对方文件的绝对路径
2,两台服务器必须是在同一个局域网

A服务器:本地
B服务器:对方
scp命令:
1,从A服务器到B服务器取文件--下载
scp +B用户名@B服务器IP:B服务器文件的绝对路径 +本地服务器的路径




如果需要对目录进行传输,那么要加参数 -r
scp -r +B用户名@B服务器IP:B服务器目录的绝对路径 +本地服务器的路径




2,从A服务器把文件送到B服务器 --上传
scp +本地文件的绝对路径 +B用户名@B服务器IP:B服务器存放的绝对路径


scp -r +本地目录的绝对路径 +B用户名@B服务器IP:B服务器存放的绝对路径

涉及到对方服务器的都是要写绝对路径

FTP工具
ftp文件传输协议
sftp安全文件传输协议
步骤:
1, sftp +对方服务器ip:进入ftp工具
2,输入对方的root用户密码
3,出现sftp> 表示已经进入sftp工具,并连接到对方服务器,在这个工具里敲的指令就是sftp工具的指令(跟Linux指令有点像,但完全不是)
4,使用get或put命令
1,get命令 下载命令 拿 从对方服务器拿文件到本地服务器
get +B服务器的文件绝对路径 +本地服务器的存放路径





help:查看sftp工具的帮助手册




2,put命令 上传命令 放 向对方服务器放文件
put +本地服务器文件的路径 +B服务器的存放路径



5,exit :退出当前协议


假如虚拟机没有ip
1,重启Linux系统的网卡:使用root用户,执行 service network restart
2,在windows系统,win+R,输入services.msc 点击确定进入‘服务’窗口,点击名称,输入英文VM,把VM开头的服务全部重启一遍,然后回到虚拟机重启Linux系统的网卡:使用root用户,执行service network restart

------
df命令 :查看磁盘使用情况
df -h :带单位查看磁盘使用情况



du -sh:查看当前目录的使用磁盘空间大小的情况
du -sh +文件/目录的路径:查看对应文件或目录使用磁盘空间大小的情况



free:查看Linux系统的运行内存情况
free -m:以M兆为单位进行显示




top :动态显示当前Linux系统CPU使用情况,内存使用情况 性能监控的命令
Ctrl + c退出
一般用于查看Linux系统的性能,如果系统出现系统响应缓慢,死机的情况,我们可以通过top命令查看当前系统占用内存或CPU比较高的程序,查看对应的PID(进程号)

服务器的性能要求:CPU使用率、内存使用率需要控制在80%~85%以内,高于这个值就要优化了

top的内部命令
N:以PID的大小进行排列显示进程
P:以CPU使用率大小进行排列进程
M:以内存使用率大小进行排序进程

top命令的参数:
top -p+进程PID:查看指定进程的性能情况



top -d数字 : 间隔多少秒刷新一次,不要小于3秒

ps -ef | grep ’任务名称‘:查看对应任务的进程号




ps-ef | grep '进程PID’ :查看对应进程PID的任务




kill -9 +进程PID:强制杀死服务



面试题:怎么查看服务已经启动?
ps -ef | grep ’任务名称‘:查看服务是否启动

如何查看端口是否被占用?不知道端口号的情况下怎么查看?
netstat -ntlp:查看当前已经使用的端口



netstat - anp | grep '端口号':查看端口号是否被占用

lsof -i:端口号 :查看端口号是否被占用



who:查看当前系统已登录的用户有哪些
whoami:查看当前登录的用户
hostname:查看当前系统的ip
uname:查看系统的名称
getconfLONG_BIT:查看系统的位数 如32位
32位系统最多是支持4G内存,64位系统理论上支持最多内存是256G,理论上64位系统比32位快2倍


Linux系统操作的指令都是有记录的
history :查看历史操作命令

clear :清空当前屏幕

date:查看当前Linux服务器的时间
date -s ‘2022-01-01 07:47:00’:修改服务器时间



alias指令:查看当前系统有什么自定义命令
alias p=ping




alias +自定义命令=系统命令:当执行自定义时,就是执行系统命令
unalias +自定义命令:取消自定义命令



同步网络时间


ln命令:创建链接
软链接:好比是windows系统的快捷方式
创建软链接一定使用绝对路径
ln -s +引用的文件绝对路径 +链接文件的路径



硬链接:本质上还是文件,相当于文件备份
ln -d +引用的文件绝对路径 +链接文件的路径
硬链接文件和原文件的内容是互相关联着的,但是删除任意一方不影响另一方



service 服务指令
service xxx(服务名称)start :启动服务
service xxx(服务名称)stop:停止服务
service xxx(服务名称)restart:重启服务
service xxx(服务名称)status:查看服务状态

防火墙服务iptables
service iptables stop :关闭防火墙
service iptables status:查看防火墙状态
service iptables start:启动防火墙
service iptables restart:重启防火墙

vim是vi的升级版
vim文本编辑器
vim里面的内置命令 不是Linux指令

命令模式
:q   :直接退出,前提不能修改文件
:q!:强制退出,当修改过文件,又不希望保存
:w      :保存
:wq   :先保存再退出
:wq!:强制保存并退出
命令后面加 ! 表示强制执行
1,命令模式不能进行编辑
2,按Esc键从编辑模式进入命令模式
3,在vim工具不要使用Ctrl + s 保存,因为Ctrl+s会导致生成一个隐藏的缓存文件(.swp后缀文件),会导致你的文件无法保存,可以用删                          除该隐藏文件重新进入该文件

编辑模式:必须要进入编辑模式后才可以对文件进行内容编辑
i :进入编辑模式,在光标使用位置的前面进行输入
I:大写的i,进入编辑模式,回到行首进入编辑模式
a:光标后移一位,进入编辑模式
A:光标移动到行末,进入编辑模式
o:光标所在行往下插入一行进入编辑模式
O:光标所在行向上插入一行进入编辑模式
x:删除光标所在位置的字符
X:删除光标前面的一个字符,但是不能退行
dd:一次性删除一行的内容
D:删除光标所在位置至行末的字符
u:撤销功能
r:之后输入一个字符,会替换光标所在位置的一个字符
yy:复制光标所在的当前行内容
3yy:复制光标所在行之后的3行
p:把复制的内容粘贴到下一行
P:把复制的内容粘贴到上一行

末行模式:在退出编辑模式后,输入:在页面的最后一行
:/关键字:查找文件最后所有的关键字,并高亮显示
:noh          :取消高亮
:set nu      :显示行号
:set nonu   :取消行号

把一个文件的指定范围的行的内t容写入到一个新文件中(只能写到新文件,会自动生成一个新文件)
:1,10w+新文件的绝对路径(复制当前文件的1到10行,写入到新文件中)

面试题:vim中替换文本内容
:%s/原字符/新字符/g
:%s/23/dcs/g:把文件中所有的 23 替换为dcs
%s表示替换
/表示分隔符
/g表示全局,不加g参数,只能替换每一行的第一匹配到字符


页: [1]
查看完整版本: day05_linux