天河42期吕锡良 发表于 2022-5-26 21:37:36

Linux笔记5.26

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的路径

find /root -size +10k -size -1024k

c --字节(平常使用ll(ls -l)指令查看到文件大小)
k --千字节
M --兆字节(千k)
G--吉字节(千M)


------------------------------------
查看当前linux系统中有什么用户: cat /etc/passwd

cat /etc/group:查看用户组

useradd 用户名:添加一个新用户
注意:直接添加一个新用户时,会默认添加一个和用户名相同的用户组
passwd 用户名:给对应的用户设置密码(需要使用管理员用户操作,创建用户后需要给对应的用户添加密码)


高权用户切低权用户,不需要输入密码
低权切高权需要输入密码
低权切低权也需要输入密码


groups 用户名:查看对应用户在哪些组中

useradd 用户名 -g 已存在的用户组 :新建一个用户并把用户添加到指定的组中(就不会新建一个和用户名相同的组)

groupadd 组名:创建一个空的用户组,里面没有任何的用户
gpasswd -a 用户名 组名:把对应的用户添加到某个组中
gpasswd -d 用户名 组名:把对应的用户从某个组中进行移除(不能把用户在自己诞生的组中进行移除)

groupdel 组名:删除用户组(要确认这个组中没有用户,当组中有用户要先删除用户才可以删除组)
userdel 用户名:删除对应的用户
userdel -rf 登录过的用户:强制删除用户


-------------------------------------
Linux的权限三剑客:
chmod:改变文件的用户权限
chown:改变文件的属主(拥有者)
chgrp:改变文件的属组(拥有组)

-rw-r--r--. 1 root root   0 May 24 10:55 a1
最前面的-表示这是一个普通文件,第一组rw-表示文件的属主(拥有者root)有r读w写的权限,第二组r--表示文件的属组(root组中的用户)有r读的权限,第三组r--表示其他用户(既不是属主用户也不是属组用户的用户)有r读权限

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表示文件的属组有读写执行权限,第3个数字7表示其他用户有读写执行权限)

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

chmod +x 文件:在不改变原有权限的情况下,给所有的用户对该文件添加执行权限

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

chmod o+r 文件:给其他用户对该文件拥有读的权限
chmod u-r 文件:给文件的拥有者删除对该文件的读权限

chmod 777 -R 目录:对整个目录及里面所有文件或者目录都进行权限操作(-R参数有助于对目录及目录中所有的内容进行相同的权限查找)

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

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


-----------------------
打包操作:
linux中常见的包tar、tar.gz、zip、gz、war包
(1)tar包的操作
打tar包:
tar -cvf +包名.tar +原文件
tar -cvf ht.tar head_tail.txt==》对head_tail.txt文件打包为一个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 -r +包名.zip +原目录

解zip包:
unzip +包名.zip

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

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

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

scp:远程文件传输命令(远程文件复制拷贝命令)
A服务器==》本地服务器
B服务器==》远程服务器
1,在A服务器到B服务器取文件--下载文件(在对方服务器中把文件复制过来)
scp +B用户名@B服务器IP:B服务器中文件的绝对路径 +本地存放文件的路径
scp -r +B用户名@B服务器IP:B服务器中目录的绝对路径 +本地存放文件的路径

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 -sh:带单位地查看当前目录使用磁盘的空间大小
du -sh +指定的文件或者目录路径:带单位地查看指定文件或者目录占用磁盘空间的大小

free :查看linux系统的内存使用情况,默认是KB为单位
free -m:以M兆为单位显示Linux系统的内存使用情况

1TB=1024GB
1GB=1024MB
1MB=1024KB
1KB=1024B
1B=1byte=8bit
在计算机中最小的定位是bit,1bit=一个字节0或者1

top :动态显示当前Linux服务器的程序占用的性能情况(类似Windows系统任务管理器),查看CPU/内存的使用情况,默认是3秒刷新一次。退出通过Ctrl+c、‘q’键
top页面的内置命令:
N --以PID(进程号)的大小排序进程列表
P --以%CPU(CPU使用率)大小进行排序
M--以%MEM(内存使用率)大小进行排序

top -p +进程号:查看对应进程的性能情况
top -d +秒数 :让top页面间隔多少秒刷新一次

ps -ef |grep '进程号'==>查看对应进程号是哪个程序任务启动的
ps -ef |grep '服务名称' ==》查看对应服务有没有启动,和对应的进程号

进程号pid:任何的程序在启动后,系统都会分配一个进程号给到对应的程序

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































页: [1]
查看完整版本: Linux笔记5.26