天河42期曾奔腾 发表于 2022-5-26 21:26:32

5.26作业

本帖最后由 天河42期曾奔腾 于 2022-5-26 21:30 编辑

Linux三剑客指令:
sed:流文本编辑工具
grep:文本搜索工具
awk:报告生成器

获取文件中的13-21行
sed -n ‘ 13,21p’ 文件名

find 查找文件
1.find + 需要被搜索的路径 -name + ‘ 文件名 ’:通过文件名(-name)的方式进行搜索;
模糊匹配: * 或 ?
‘*’表示匹配0个或多个字符
‘?’表示一个?可以匹配一个字符
2.find + 需要被搜索的路径 -type f:查找所有类型为文件(file)的路径;
3.find+需要被搜索的路径 -type d:查找所有类型为目录(directory)的路径;
4.find + 需要被搜索的路径 -size -10k:查找文件大小小于10k的文件的路径;
5.find + 需要被搜索的路径 -size +10k:查找文件大小大于10k的文件的路径。
c -- 字节 (平常使用 ll (ls -l ))指令查看到的文件大小)
k -- 千字节
M -- 兆字节(千k)
G -- 吉字节 (千M)
cat /etc/passwd:查看当前Linux系统中有什么用户;
cat /etc/group :查看用户组
useradd 用户名:添加一个新用户
注意:直接添加一个新用户时,会默认添加一个和用户名相同的用户组
passwd 用户名:给对应用户设置密码(需要使用管理员用户操作,创建用户后需要给对应的用户添加密码);

groups 用户名:查看对应用户在哪些组中;
useradd 用户名 -g 已存在的用户组:新建一个用户,并把用户添加到指定的组中(就不会新建一个和用户名相同的组)
groupadd:创建一个空的用户组,里面没有任何用户;
gpasswd -a (add)用户名 组名:把对应的用户添加到某个组中;
gpasswd -d (delete) 用户名 组名:把对应的用户从某个用户组中移除(不能把用户在自己诞生的组中移除)。

groupdel 组名:删除用户组(要确认这个组中没有用户,当组中有用户,要先删除用户才可以删除组);
userdel 用户名:删除对应的用户;
userdel -rf 登陆过的用户:强行删除用户。
Linux的权限三剑客:
chmod:改变文件的用户权限
chown:改变文件的属主(拥有者)
chgrp:改变文件的属组(拥有组)

-rwxr--r--. 1 root root   0 May 24 10:55 a1
最前面的 - 表示这是一个普通文件,第一组的rw-,表示文件的属主(root)对该文件有r读权限、w写权限、x执行权限,第二组r--表示文件的属组用户(root组中的用户)有r读权限,没有w写、x执行权限,第三组r--表示其他用户(既不是文件属主用户,也不是文件属组用户的用户)有r权限,没有w写权限、x执行权限。
r (read)读 ==》 权限4 ==》可以执行的指令cat、less、more、head、tail等等;
w (write)写 ==》权限2 ==》可以执行的指令vim、vi等等;
x (execute)执行 ==》权限1 ==》可以执行的指令sh (执行shell脚本),rpm(离线安装指令),service(启动服务指令);
- 表示所在位置没有对应的权限 ==》 权限0
r+w+x ==》 4+2+1=7 表示有 读写执行 权限;

chmod 777 +文件 :赋予文件最高权限的操作(3个7分别表示不同用户对该文件的权限情况,第一个数字7表示文件的属主有读写执行权限,第二个7表示文件属组内用户有读写执行权限,第三个7表示既不是属主,也不是属组用户有读写执行权限)。

例:给某个文件赋予 属主有读权限,属组有写和执行权限,用它用户没有权限,通过chmod进行修改
chmod 430 +文件
属主有读权限 ==》r-- ==》4+0+0 ==》4
属组有写、执行权限 ==》 -wx ==》0+2+1 ==》3
其他用户没有权限 ==》 ---==》0+0+0 ==》0

属主(user 简称u):文件的拥有者,创建者;
属组(group 简称g):和文件创建者同属一个组的其他用户;
其他用户(others 简称o):既不是文件的创建者也不是和文件创建者在同一个组中的用户。

chmod +x 文件:在不改变权限的情况下,给所有用户对该文件添加执行权限;
chmod -x 文件:在不改变权限的情况下,让所有用户对该文件去除执行权限;
chmod o+r 文件:给其他用户对该文件拥有读的权限;
chmod u-r 文件:给文件的拥有者删除对该文件的读权限;
chmod 777 -R 目录:对整个目录及目录内所有文件或目录都进行权限操作( -R参数有助于对目录及目录中所有的内容进行相同的权限操作)

chown dcs42 文件:把文件的拥有者修改为dcs42用户;
chown 用户名:用户组名 文件:同时改变文件的拥有者和拥有组
例:chown root:dcs42 文件:同时改变文件的拥有者为root和拥有组为dcs42;

chgrp dcs42 文件:改变文件的拥有组为dcs42;
chgrp dcs42 -R 目录:改变目录及里面所有文件或目录的拥有组为dcs42;

-------------------------------------------------------------------------------------------
打包操作
Linux中常见的包tar、tar.gz、gz、war包
(1)tar包的操作
打tar包: tar -cvf + 包名.tar +原文件
                tar -cvf + ht.tar +a1 ==》对a1文件打包为一个tar包命名为ht.tar;
                                                       c代表执行打包操作,v代表打包的进度,f代表打包的文件
                把一个文件打成tar包后,会比原文件大;
解tar包:
tar -xvf +包名.tar:-x参数表示执行解包的操作

(2)tar.gz包 ==》是有压缩功能的,包文件会比原文件小;
打tar.gz包:
tar -zcvf +包名.tar.gz +原文件
-z参数:表示要操作的文件是tar.gz包文件

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

(3)zip包
对文件进行打zip包:zip +包名.zip +原文件
zip -r +包名.zip +原目录:对目录进行打zip包,必须要加参数-r,否则只会对最外层的目录进行打包,里面的文件是不会被打包的;
解zip包:unzip +包名.zip

(4)gz包:只能对文件进行操作
打gz包:gzip +文件名
解gz包:gunzip +包名.gz
注意:不管是打包还是解包,对应的文件都会消失,他只能操作文件,不能操作目录

tar包、tar.gz包、zip都是可以对多层的目录进行打包的,gz包不能对目录进行打包,但是我们对目录进行打zip包时,必须加上参数-r。

----------------------------------------------------------------
不同Linux服务器之间的文件传输
前提:需要获取对方服务器的IP地址、有权限用户及密码、两台服务器需要在同一个局域网中,要知道对方服务器的文件路径;

scp:远程文件传输命令(远程文件复制拷贝命令)
A服务器 ==》本地服务器
B服务器 ==》 远程服务器
1.在A服务器到B服务器获取文件--下载文件(在对方服务器中把文件复制过来)
scp +B用户名@B服务器IP地址:B服务器中文件的绝对路径 +A本地存放该文件的路径
scp -r +B用户名@B服务器IP地址:B服务器中目录的绝对路径 +A本地存放该目录的路径
2.在A服务器往B服务器送文件--上传(把本地的内容复制到对方服务器)
scp +本地文件的路径 + B服务器用户名@B服务器的IP地址:B服务器中存放该文件的绝对路径
scp -r +本地目录的路径 + B服务器用户名@B服务器的IP地址:B服务器中存放该目录的绝对路径
SFTP工具:
Linux系统中内置得到一个用于文件传输的命令行工具。虽然里面的指令和Linux指令很像,但是完全不同的东西
ftp ==》 文件传输协议
sftp ==》 安全文件传输协议

步骤:1.sftp +远程服务器的IP地址 ==》进入sftp工具;
         2.输入远程服务器的root用户的密码;
         3.看见sftp> 开头,表示已经进入sftp工具中;
         4.get或者put进行文件传输操作:(1)get下载命令: 拿 从远程服务器取文件到本地服务器;
                                                                         get +远程服务器的文件路径 +本地服务器存放的路径;
                                                                (2)put上传命令: 放 从本地服务器放文件到远程服务器;
                                                                         put +本地服务器的文件路径 +远程服务器存放的路径;
         5.退出,exit、bye、quit任意一个指令都可以退出sftp工具。

-------------------------------------------------------------------------------------------------------
**查看服务器性能相关的指令
df:查看硬盘(磁盘)的使用情况
df -h:带单位的查看磁盘的使用情况

du:直接查看文件的大小
du -sh:带单位的查看当前目录使用磁盘的空间大小
du -sh +指定的文件/目录的路径:带单位的查看指定文件或目录占用磁盘的空间大小
free:查看Linux系统的内存使用情况,默认是KB为单位;
free -m:以M兆为单位显示Linux系系统的内存使用情况。
1TB = 1024 GB
1GB = 1024 MB
1MB = 1024 KB
1KB = 1024 B
1B = 1 byte = 8 bit
在计算机中最小的单位是bit,1 bit=一个字节0或者1

top:动态显示当前Linux服务器的程序占用的性能情况(类似Window任务管理器),可以查看CPU/内存的使用情况,默认是3秒刷新一次,退出通过Ctrl+c、Q键。
top页面的内置命令:N --以PID(进程号)的大小排序进程列表
                                  P --以%CPU(CPU使用率)大小进行排序
                                  M --以%MEM(内存使用率)大小进行排序
top -p +进程号:查看对应进程的性能情况
top -d +数字(秒数):让top页面间隔多少秒刷新一次

进程号PID:任何的程序在启动后,系统都会分配一个进程号给到对应的程序
ps -ef |grep '进程号' ==》查看对应进程号是哪个程序任务启动的
ps -ef |grep ' 服务名称' ==》 查看对应服务有没有启动,和对应的进程号

面试题:kill -9 和 kill -15的区别?
kill -9 +pid:强制杀死对应程序
kill -15 +pid:强制杀死进程,但是会清理相关的其他进程

面试题:怎么查看服务是否启动




















页: [1]
查看完整版本: 5.26作业