linux常用指令

查看目录下所有文件夹

ls /(想要查看的路径)      

查看本机ip地址

ip addr  

输出结果中不同颜色代表不同的文件类型,

其中蓝色表示目录,
绿色表示可执行文件,
浅蓝色表示链接文件,
红色表示压缩文件,
黄色表示设备文件等

用户在磁盘中查找文件时,所历经的文件夹线路称为文件路径

路径跳转

cd 所要跳转的路径

绝对路径 ->从根目录开始往下递进(根目录为/)
相对路径 ->从当前目录开始往下递进(./可以省略)

创建目录

mkdir 目录名称     

创建多层目录

mkdir  -p(小写的) 

显示当前工作目录

pwd -P(大写的) 

显示当前目录下隐藏文件

ls -a

显示目录详细信息

ls -l 

删除空文件夹

rmdir 想要删除的空目录路径 

连同上级空目录一起删除

rmdir  -p

创建文件

touch  文件名.文件类型

显示文件内容(无法编辑)

cat  想要查看的文件路径  -->
cat -n  想要查看的文件路径   -->除了显示内容之外,还显示行数
more  -->打开大文件使用

只显示符合条件的搜索内容

grep '搜索关键字'  需要搜索的文件

复制

cp 源文件 目标文件 -->复制,成功后源文件还存在

移动

mv 源文件 目标文件  -->移动,成功后源文件不存在

删除

rm 文件路径      -->删除

vim 编辑器指令

光标指令: 0   ->移动到此行首个字符
	 $ ->移动到此行末尾字符
	gg -->移动到首行首字符
	G -->移动到末尾行首字符
	/检索的关键字   ->定位到关键字所在位置
	/^该行首字符    ->定位到首字符为检索字的行
	/检索行的尾字符$  ->定位到末尾为检索字得行
编辑指令:
	yy   ->复制当前行	
	p   ->粘贴
	dd  ->删除
	u   ->撤销上一步操作
末行模式指令:
	:wq  ->保存并退出
	:w   ->保存(不退出)
	:q   ->退出(不保存)
	:w!  ->强制保存
	:q!   ->强制退出
	:set nu  ->显示行号
	:set nonu  ->不显示行号

命令模式:对文件进行 复制,删除,粘贴,检索等操作
编辑模式:对文件进行新增,修改等操作(在命令模式下按i进入编辑模式)
末行模式:对文件保存,退出等操作

显示指定文件或文件夹的详细信息

stat  文件路径     

获取指定文件的类型

file  文件路径  

查看当前账户/其他账户 uid/gid

id

id  账户名

查看当前文件夹下文件及文件夹所属账户

ll

查看进程列表

ps aux|less

创建用户

useradd  用户名 //会默认创建一个和用户名一样的组
useradd 用户名 -G 组名  //前提是已经创建分组了   //往主组之后添加新组
useradd 用户名 -d 文件夹路径   //给新创建的用户指定操作目录   
默认生成的uid是在现有最大id的基础上+1
useradd 用户名 -u 指定用户编号(编号只能为数字且不可重复)
useradd 用户名 -g 指定用户主组编号/名称      //直接替换主组,只保留一个组

创建组

groupadd  组名
groupadd  组名  -g  编号(gid)//创建指定编号的组

组的作用:

可以更方便的对部分用户做权限操作

​ 例如

ss01用户  刚开始只是普通权限,由于工作需要,需要对权限进行调整

那么可以直接把ss01加入该权限的组中即可,不用再单独设置权限。

给账户添加组

gpasswd -a  yangyang01 dcc01
//yangyang01是要修改的账户名
//dcc01是要添加进的组名(只能是组名不能是gid)

查看组的信息

tail /etc/group
//新创建的组会在文件的最下面显示

删除用户

userdel  用户名

userdel  -r  用户名    //删的更彻底

修改用户密码

passwd 用户名

普通用户获取管理员权限

sudo su

修改某一个文件或文件夹的属主/属组

chown 所要修改的账户名 修改的文件/文件夹路径
//如果要同时修改属主和属组则
chown 所要修改的账户名.所修改的组名 修改的文件/文件夹路径

修改文件属组

chgrp 所修改的组名 修改的文件/文件夹路径
//若要修改该文件夹下所有文件的属组则
chgrp -R 所修改的组名 修改的文件/文件夹路径 
//-R为递归参数

修改文件权限

chmod 对象+权限 文件/文件夹路径
//删除所有对象的权限
chmod a=- 文件/文件夹路径
//同时给不同身份修改权限 不同身份操作之间用,隔开
chmod u=r,g=rx,o+w 文件/文件夹路径

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jiHRRBgC-1658409792284)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20211014133623435.png)]

权限类型

读取    r     4
写入    w     2
执行    x     1

chown和chmod的区别

//chown相当于改变文件/文件夹的所属权    相当于你买了个房子钥匙给你了,只有拿钥匙的人才能进入
//chmod相当于改变文件访问模式   相当于你虽然没有钥匙,但是门是开着的,你随时可以进入

宝塔面板安装代码

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

查看某文件/文件夹的ACL权限

getfacl 文件路径

设置某文件/文件夹的ACL权限

setfacl -m u:zhangsan:rw  文件路径
//-m参数可以修改该文件的ACL权限
//其中u表示user,g表示组
//zhangsan表示需要修改权限的用户名
//rw表示读写权限
setfacl -x u:zhangsan  文件路径
//-x参数可以删除用户对该文件的所有权限
setfacl -b 文件路径
//-b参数可以删除该文件所有ACL权限

ACL权限高级特性

最大有效权限mask

setfacl  -m  mask::r  文件路径      //将该文件的mask权限设为r,设置完成后无论该文件用户拥有怎样的权限,实际权限只有r

要注意的是mask并不影响全部用户,仅仅只对设置ACL权限的用户受影响。

继承权限

setfacl -m d:u:zhangsan:rwx 文件路径
//继承上级目录权限
//zhansgsan指的是用户名
//rwx指的是权限
//d指的是default继承指令

高级权限

suid

chmod u+s 文件路径
//任何用户在执行该文件时,其身份是该文件的属主,在进程文件(二进制,可执行)上增加SUID
//权限,让本来没有相应权限的用户也可以访问没有权限访问的资源。

sgid

chmod g+s 文件路径
//在一个程序上添加SGID,用户在执行过程中会获得该程序用户组的权限(
//相当于临时加入了程序的用户组)
//当某一个文件夹设置了sgid权限,其子文件/文件夹会继承该文件夹属组

Sticky权限

chmod o+t
当前用户对目录具有w、x权限,在该目录下建立文件或目录,仅有自己与root才有权删除该文件

注意:仅对子文件夹生效,子文件夹的后级不生效

文件属性chattr

查询文件隐藏属性lsattr
a      使文件无法用vim编辑器修改

i       无法接受任何形式的修改

umask进程掩码

umask 想要缺省的权限
例:
	umask 0777
	//为删除创建文件默认全部权限

系统4大核心资源

Disk IO 磁盘

Memory 内存

CPU 中央处理器

Network 网络

进程的组成

•已分配内存的地址空间。

•安全属性,包括所有权凭据和特权。

•程序代码的一个或多个执行线程。

•进程状态。

•每个进程都有一个唯一的进程标识PID,一个PID只能标识一个进程,PPID为父进程ID,需要给该进程分配系统资源。

进程的三种状态

•就绪态:进程已经具备运行条件,但是CPU还没有分配过来。

•运行态:进程占用CPU,并在CPU上运行。

•阻塞态:进程因等待某件事发生而暂时不能运行。

按照CPU占用来排序进程信息

ps aux --sort -%cpu

查看进程详细信息

ps -ef

自定义查看进程信息

ps axo 想要查看的信息名称

查看进程pid的几种方式

cat 文件路径

pidof 进程名

pgrep 进程名

动态查看进程

top
top   -d                 //设置刷新时间
top   -p//查看指定进程
按M键按照内存占用排序
按P键按cpu占用排序
按N键以pid大小排序
按R键对排序进行反转
按F键显示自定义显示字段
按上下键移动
按空格键选中
按q键退出自定义显示字段
按W键保存自定义显示字段
按1键显示所有CPU的负载

进程数据含义

load average    xxx,xxx,xxx        //cpu1分钟    5分钟    15分钟平均负载值
users                              //当前用户数
top  -xxxxx                        //当前时间
up  xxxx                           //启动后运行的时间
Tasks: xxx total                   //进程的个数
x running                          //正在使用cpu进程的个数
xxx sleeping                       //进程休眠个数
x stopped                          //进程停止个数
x zombie                           //进程僵死个数
%Cpu(s):                           //cpu使用情况
KiB Mem                            //内存使用情况
KiB Swap                           //交换分区使用情况

获取当前在线用户名

users

结束进程

kill pid
//pid为进程编号
kill -信号编号  pid
//不同编号对应不同效果
killall 服务名称
//终止该名称下所有进程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ASTsGwhA-1658409792287)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20211109182649705.png)]

使用yum安装vsftpd服务程序

yum -y install vsftpd   //安装
systemctl start vsftpd  //启动

安装vim编辑器

yum -y install vim

作业控制

sleep 进程名  //带&符号的是后台运行,不带则在前台运行

jobs  //显示当前shell中作业列表及状态
bg 作业编号 //修改进程前后台,前台改为后台,
fg 作业编号          //后台改为前台
Ctrl+c       //结束当前进程
Ctrl+z       //暂停当前进程
kill %作业编号  //终止作业

每一个进程在运行中都会打开一些文件,每一个文件都会有一个指定的数字标识,这个标识就叫做文件描述符

0、1、2这3个文件描述符,这也是绝大多数进程都有的。0表是为标准输入,可以理解为键盘输入;1表示为标准输出,输出到终端;2表示为标准错误,输出到终端;3及以上为常规文件的描述符

date > date.txt    //输出重定向到date.txt(覆盖)
date >> date.txt   //输出重定向到date.txt(追加)
linux > date.txt    //错误重定向到date.txt(覆盖)
linux >> date.txt   //错误重定向到date.txt(追加)
dd if=/dev/zero of=dsj01.txt bs=1M count=2
//把数据从指定文件里按指定大小指定次数复制到指定文件中
//if后跟源文件   of后跟目标文件  bs后跟单次复制大小   count后跟复制次数
at now +60 min
cat  <<SKP
+--------------------------------+
|                                |
|                                |
|      ==================        |
|          脚本测试功能          |
|      ==================        |
|                                |
|      1.查询ip                  |
|      2.安装vim编辑器           |
|      3.安装mysql               |
|      4.退出                    |
|                                |
+--------------------------------+
SKP
echo "请输入指令:"
read abc
if [ $abc -eq 1 ]
then
 ip addr
elif [ $abc -eq 2 ]
then
 yum -y install vim
elif [ $abc -eq 3 ]
then
 yum -y install mysql
elif [ $abc -eq 4 ]
then
 exit
fi

调用脚本指令

bash 脚本名称.sh

shell脚本中的if

if 空格 [ 空格 $abc -eq 1 空格]
then
	要执行的指令
elif
	另外一个要执行的指令
fi
fdisk  -l   查询MBR分区

lsblk      查询硬盘

fdisk    磁盘路径         mbr分区指令
//m 查看帮助
//n 分区     p表示主分区   e表示逻辑分区
//p查看分区情况
//w保存分区


//yum -y install gdisk    下载gdisk插件
gdisk   磁盘路径          gpt分区指令
//?查看帮助
//n开始分区
//p查看分区
//w保存分区


mkfs.xfs /dev/nvme0n1p1              xfs文件系统格式化
mkfs.ext4 /dev/sdb1					ext4文件系统格式化


mount 分区路径 挂载路径

df -h               查看文件系统挂载点
pvcreate   磁盘路径            将磁盘格式化为物理卷
pvscan   查看物理卷
lvscan   查看逻辑卷
vgcreate  组名       创建卷组
lvcreate -L 100M -n qf01 dataqf
//100M指的是逻辑卷大小,qf01逻辑卷名字 dataqf 卷组名
echo  查找某个变量

which   文件名
tar -czf  压缩后的文件名     需要压缩的路径
tar -xvf  解压文件的名称   -C 解压到某个文件夹

盘路径 mbr分区指令
//m 查看帮助
//n 分区 p表示主分区 e表示逻辑分区
//p查看分区情况
//w保存分区

//yum -y install gdisk 下载gdisk插件
gdisk 磁盘路径 gpt分区指令
//?查看帮助
//n开始分区
//p查看分区
//w保存分区


 

mkfs.xfs /dev/nvme0n1p1 xfs文件系统格式化
mkfs.ext4 /dev/sdb1 ext4文件系统格式化

mount 分区路径 挂载路径

df -h 查看文件系统挂载点






pvcreate 磁盘路径 将磁盘格式化为物理卷
pvscan 查看物理卷
lvscan 查看逻辑卷
vgcreate 组名 创建卷组
lvcreate -L 100M -n qf01 dataqf
//100M指的是逻辑卷大小,qf01逻辑卷名字 dataqf 卷组名


echo 查找某个变量

which 文件名


tar -czf 压缩后的文件名 需要压缩的路径
tar -xvf 解压文件的名称 -C 解压到某个文件夹


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值