天河42期罗子苑 发表于 2022-5-26 21:19:15

Linux指令

本帖最后由 天河42期罗子苑 于 2022-5-31 18:17 编辑

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

获取文件中的13-21行:
sed -n '13,21p' 文件名

find 查找文件,返回文件的路径
find + 需要被搜索的路径 -name +文件名:通过文件名(name)的方式进行搜索

模糊匹配:*或者?
*表示匹配0个·或者多个字符
?表示一个?可以匹配一个字符
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\a51bde4a790a43ef8c2e13c87cfe3110\ujl4j(5`b~s8gp$qx}kz)cp.png

C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\53f222a7b9e64bf0a3e47463835a90fb\}fseibis~[@zk.png
(2)find +需要被搜索的路径 -type f:查找所有类型为文件(file)的路径
(3)find +需要被搜索的路径 -type d:查找所有类型为目录(directory)的路径
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\5ff3445e16224e7897a2ffd34a2255fb\fa{e9e}}3]v70r~9frj4qtv.png
(4)find +需要被搜索的路径-size -10k:查找文件大小小于10k的路径
(5)find +需要被搜索的路径-size +10k:查找文件大小大于于10k的路径
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\f2cbc350d9af4ce985ecf33e5aae0510\y4rvch9cpqy]%_d)%nk_}ek.png
c--字节(平常使用ll( ls-l指令查看到的文件大小))
k--千字节
M--兆字节(千k)
G --吉字节(千M)


----------------------------------------------------------------------
查看当前linux系统中有什么用户:cat /etc/passwd
cat /etc/group:查看用户组
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\cbbdb173ddb8461791515f422950625a\p4mf%(uff)eobt_e}mp)adq.png

C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\42e7e179809c4ae7a1e47254ae058500\x(a`b8i7ypbvb{{{hnhy$$v.png

useradd用户名:添加一个新用户
注意:直接添加一个新用户时会默认添加一个和用户名相同的用户组
passwd 用户名:给对应的用户设置密码(需要使用管理员用户操作,创建用户后需要给对应的用户添加密码)
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\55d90e1a8aeb4c5b8b5716fd4856234c\dt5d{tk5qirh{_x1jmuy52h.png

C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\c881a9a798db4e97b993dc4f47546827\{v0t]nxxksnrzu0a5tb6zxa.png
高权用户切低权用户:不需要输入密码
低权切高权需要输入密码
低权切低权也需要输入密码
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\c5f9a485a9554640b372f292998683d0\i]jb_sbqtz~r3`pofjg}~sl.png

groups 用户名:查看对应用户在哪些组中
useradd 用户名 -g 已存在的用户组:新建一个用户并把用户添加到指定的组织(就不会新建一个和用户名相同的组)
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\35eb19a7782547fd840fb00420b44668\nk53ml)$f[~dhd9$ex~`n{d.png
groupadd 组名:创建一个空的用户组,里面没有任何的用户
gpasswd -a 用户名 组名:把对应的用户添加到某个组中
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\50c88c57ff65423580e5f621d5485e39\76m]wrmeo~o61v(rrinqvoi.png
gpasswd -d 用户名 组名:把对应的用户从某个组中进行移除(不能把用户在自己诞生的组中进行移除)
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\9a579904dfa4475d8fa991f4cceef31e\2%~b%{td%3ggk0n_vo01tnu.png

groupdel 组名:删除用户组(要确认这个组中没有用户,当组中有用户要先删除用户才可以删除)
userdel 用户名:删除对应的用户
userdel -rf:登录过的用户:强制删除用户
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\35642224afd14a19bdd6746da04bf6ce\tu)p0ul@h$o_xm.png

Linux的权限三剑客:
chmod:改变文件的用户权限
chown:改变文件的属主(拥有者)
chgrp:改变文件的属组(拥有组)
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\8d564bc858d04cdfb1960324364e43b8\5(`ru_esrbu`z@v3svv23%s.png

-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 +文件

C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\b1aa67e0f81b499fbb9da4dfb3dcc4fb\t1gkc)ak$rl5zyu0~$~`huk.png
chmod +x 文件:在不改变原有权限的情况下,给所有的用户对该文件添加执行权限
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\38479b0178d24617b86b9cac893d2964\g7_1mtm{uleo6~pz7r8266o.png
属主(user简称u):文件的拥有者,创建者
属组(group简称g):和文件创建者同属一个组的其他用户
其他用户(others检查o):既不是文件的创建者也不是和文件创建者在同一组中的用户

chmod o+r 文件:给其他用户对该文件拥有读的权限
chmod u-r 文件:给文件的拥有着删除对该文件的读权限
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\02190b845d344eabadc91e7f3da6d4b7\dkddu4kp_owk}wgucli929v.png
chmod 777 -R 目录:对整个目录及里面所有文件或者目录都进行权限操作(-R参数有助于对目录及目录中所有的内容进行相同的权限查找)

chowndcs42文件:把文件的拥有者修改为dcs42用户
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\b3185e90f4744c979ba48dc9a18a3315\zild1dw4r
chown root:DCS 文件:同时改变文件的拥有者为root和拥有组为DCS
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\6b0f45a251cb4aa5a5cc43b25c3077c0\m$euo)[%stna{3xhaicgh
chgrp DCS -R 目录:改变目录及里面所有文件或目录的拥有组为DCS
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\b3cce4cd57f04f06a67f67ae80f03aad\dv}}%27mjgim7q4ycv)55kx.png

-----------------------------------------------------------------------------------------------------
打包操作:
linux中常见的包:tar、tar.gz、zip、gz、war包
(1)tar包的操作
打tar包:
tar-cvf+ 包名.tar + 原文件
c代表执行打包操作,v代表打包的进度,f表示打包的文件
把一个文件打成tar包后,打包后的文件会比原文件大
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\82d142bcbdd4477ca55d54c13d4388f7\v3)t6)4(rn040xy~9naj1b8.png
解tar包:
tar -xvf +包名.tar
-x参数代表执行解包的操作
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\be6234dd103748068acfafe4613aef20\0}@r$jnqwquzb}wuu5hz535.png
(2)tar.gz包 ==》是由压缩功能的 包文件会比原文件小
打tar.gz包:
tar -zcvf +包名.tar.gz +原文件
-z参数表示要操作的文件是tar.gz包文件
解tar.gz包
tar -zxvf +包名.tar.gz
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\362b8f5e65ce426fabbe543abf793380\c9{7$h399z{t}tgnm{vqqod.png
(3)zip包
对文件进行zip打包:zip +包名.zip +原文件
对目录进行打zip包,必须要加参数-r,否则只会对最外层的目录进行打包,里面的文件是不会被打包的:zip -r +包名.zip +原目录
解zip包:unzip +包名
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\8353b8d633254055bb3e02ec189e2629\hrief}cq(xq19%1$`$rhe)w.png
(4)gz包:它只能对文件进行操作
打gz包:gzip +文件名
解gz包:gunzip +包名.gz
注意:gz包不管是打包还是解包,对应的文件都会消失,它只能操作文件,不能操作目录
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\4bead9e75ea84d4795a09ad5d5796b1f\}{kd)3]z5~

C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\5defb33ee1ab42309fa305686d6188c5\q2q60}p3w(gz667f_${8w51.png
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服务器中目录的绝对路径+本地存放目录的路径
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\01dfa93786124ffba7ce233133c4f687\pjlrq`m0dam5m9.png
2.在A服务器往B服务器送文件--上传(把本地的内容复制到对方服务器)
scp + 本地文件的路径 +B用户名@B服务器IP:B服务器存放的绝对路径
scp -r + 本地目录的路径 +B用户名@B服务器IP:B服务器存放的绝对路径
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\16b463fff6d84ca98b17dfdabf77a1b4\)0]hy]%}poxtm~%gve~7@u0.png
SFTP工具:Linux系统中内置的一个用于文件传输的命令行工具。虽然里面的指令和Linux指令很像,但是是完全不同的东西
ftp:文件传输协议
sftp:安全文件传输协议
步骤:1.sftp + 远程服务器的IP地址 ==》进入sftp工具
2.输入远程服务器的root用户的密码
3.看见sftp>开头,表示已经进入sftp工具中
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\91c634c7adf74ceb887934547e48690f\byh8{go5sj]mm{xf(hi8geh.png
4.get或者put进行文件的传输操作
(1)get下载命令 拿 从远程服务器取文件到本地
get +远程服务器的文件路径 +本地存放的路径
(2)put上传命令 放 从本地
put +本地服务器的文件路径 +远程服务器的存放路径
5.退出:exit、bye、quit任意一个都可以退出sftp工具

-------------------------------------------------------------------------------------
*查看服务器性能相关的指令
df:查看硬盘(磁盘)的使用情况
df -h:带单位的查看磁盘的使用情况
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\396bf72fc46b47c88179da324e1f7574\dhuc26urp0hf%or6lllkc2l.png
du -sh:带单位地查看当前目录使用磁盘的空间大小
du -sh +指定的文件或目录路径:带单位地查看指定文件或者目录占用磁盘空间大小
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\14e0c35d254c471daed84da4c476f7ef\niw6l3%td`4%cqk]bfz(07k.png

C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\27adc429d22f4fcf886185325ec4fdda\f]37m%%q8{4r`3f_s$xm3$8.png

free:查看linux系统中的内存使用情况,默认是KB为单位
free -m:以M兆为单位显示linux系统中的内存使用情况
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\9bc9d300ac794176996f47457624e7b7\i752_bc)1b$cm55e$1
1TB =1024GB
1GB =1024MB
1MB =1024KB
1KB =1024B
1B=1byte =8bit
在计算机中最小的单位是bit,1bit=一个字节0或者1

top:动态显示当前Linux服务器的程序占用的性能情况(类似Windows系统任务管理器),查看CPU/内存的使用情况,默认3s刷新一次。退出Ctrl +C或者Q键
top页面的内置命令:
N --以PID(进程号)的大小排序进程列表
P--以%CPU(CPU使用率)大小进行排序
M--以%MEM(内存使用率)大小进行排序
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\f173002159ea434ba2ccf6169babfcf8\agm0``wf.png
top -p +进程号:查看对应进程的性能情况
top -d +秒数 :让top页面间隔多少秒刷新一次

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

进程号pid:任何的程序在启动后,系统都会分配一个进程号给到对应的程序
C:\Users\25367\AppData\Local\YNote\data\weixinobU7VjqHgjVs6SGCT3TSHacgVdsE\416079a51d4c498488124587abbed8ca\d}3gi)]_{`ii507g$fd6$_3.png

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





页: [1]
查看完整版本: Linux指令