linux基础管理

一、文件管理

1.linux目录结构

/ ###linux操作系统的根目录
/sbin ###管理员可执行命令的文件目录
/bin ###普通用户可执行命令的文件目录
/lib ###操作系统的库文件目录
/lib64 ###操作系统的库文件目录
/etc ###配置文件目录
/root ###root的家目录
/home ###普通用户的家目录
/usr/local ###一般的软件安装目录
/tmp ###临时文件存放目录
/media ###媒体介质目录
/mnt ###一般的挂载目录

2.文件管理

文件创建:

touch 文件名

多个文件创建:

touch 文件1 文件2 文件3

目录创建:

mkdir 目录名

多个目录创建:

mkdir -p 目录1 目录2 目录3 ###创建的是同级目录

mkdir -p 目录1/目录2/目录3 ###创建的是子目录

文件删除和目录删除:

rm 文件名

rm -f 文件名

rmdir 目录名

rm -rf 目录名

复制文件和目录复制:

cp 文件 文件1

cp -r 目录 目录1

移动文件和目录移动:

mv 文件 新目标目录下

mv目录 新目标目录下

查看文件内容:

cat

head

more

tail

grep

vi/vim编辑器:

0 ###跳到当前行行首

$ ###跳到行尾

yy ###复制当前行

nyy ###表示复制从当前行往后的n行

p ###粘贴

gg ###跳到文件行首

G ###跳到行尾

二、用户管理

1.用户相关文件

用户基本信息文件

用户基本信息文件:/etc/passwd

[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin


用户基本信息文件有7列信息,6个:号隔开,具体信息如下

用户名:密码占位符:用户uid:用户组id:描述:用户家目录:用户登录的shell

用户密码文件

用户密码文件:/etc/shadow

用户密码文件有9列信息,8个:隔开,具体如下:
[root@localhost ~]# cat /etc/shadow
root:$6$H7E8LF3.ktcnTzue$4gO7uGcmFqZsVwdmPIH0Ept9oB3mNafPwfCeYXaSWSMp.16NMkXRdmcDekjyR24TTPh9u4.xfTXw8s4Ev9NVc.::0:99999:7:::

用户名:密码信息:密码天数:最短密码修改时间间隔:密码最长有效期:密码到期告警时间:密码失效以后还可以使用的天数:密码只能使用的天数:备用
2.用户的增删改

增加用户:

useradd -u:指定uid -g:指定gid -G指定附加组

删除用户:

userdel -r:把用户相关的文件也删除掉

修改用户:

usermod

3.用户组相关文件

用户组基本信息文件

用户组文件: /etc/group

用户组文件有4列信息组成,3个:号隔开,具体如下:

[root@localhost ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:

组名:组密码(一般不设置):组id号:组成员

用户组密码信息文件(了解)

用户组密码信息文件:/etc/gshadow                一般不设置用户组的密码,所以基本没什么用
4.用户组的增删改

增加用户组:

groupadd 组名

删除用户组:

groupdel 组名

修改用户组:

groupmod 组名

三、权限管理

1.基本权限

基本权限主要是ugo rwx ####u表示用户本身,g表示用户组,o表示其它用户 r表示读权限,w表示写权限,x表示执行权限,rwx也可以对应数字421

修改权限:

chmod

修改属主、属组:

chown

2.特殊权限

suid:

chmod u+s 让其它用户拥有属主的权限

acl:

getfacl 查看不属于ugo里其他人的权限

setfacl 让其他人拥有不属于ugo里的权限

权限掩码umask:

修改umask掩码,会影响在操作系统内创建文件/文件夹的权限 ,创建文件夹的权限是用0777-umask掩码,创建文件的权限是用0777-umask掩码-0111

四、进程管理

1.静态查看进程

命令:ps

ps aux 查看所有进程

ps aux --sort 列名 排序

ps -ef 查看进程关系

2.动态查看进程

命令:top

top - 11:25:24 up  1:09,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 201 total,   2 running, 199 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.0 us,  0.7 sy,  0.0 ni, 97.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1935.1 total,    944.6 free,    762.7 used,    398.8 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   1172.4 avail Mem   

第一行:命令名称  时间  开机时间   登录用户数  cpu负载情况:1分钟   5分钟    15分钟                               
第二行:进程数   总进程数    正在运行进程数   睡眠进程数    停止进程数    僵尸进程数                             
第三行:cpu百分比  用户占比    系统占比                                                                           第四行:内存情况    总内存    空闲内存   使用内存   内存缓存                                                         第五行:交换内存情况

PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND          
 1 root      20   0  108292  16700  10924 S   0.0   0.8   0:00.80 systemd          
 2 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kthreadd         
 3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp
      
进程ID  用户  系统优先级  优先级   虚拟内存  真实内存  共享内存  cpu占比  内存占比  占用时间   进程名
3.进程的前后台

前台运行不释放终端,直到进程运行完毕退出

执行程序在后面加&放到后台运行

4.进程优先级调整

命令:renice

5.虚拟文件系统

/proc 这个目录下有每一个进程的目录,以进程的ID号命名,当进程被杀死,/proc下的目录也会被删除

五、重定向和管道

1.标准输入重定向

符号:<

2.标准输出重定向

符号:> ###会覆盖内容

符号:>> ###追加内容

3.标准错误输出重定向

符号:2>

4.管道

|

tee:三重管道

特殊管道:xargs

六、存储管理

1.磁盘管理

磁盘分区的两种格式:MBR、GPT,MBR最多只能4个主分区,若需要更多的分区,只能划分3个主分区,一个扩展分区,在扩展分区里边划分逻辑分区

创建分区:

fdisk /dev/sda

依次顺序:填写n创建分区,选择为p还是e,p为主分区,e为扩展分区,如果是扩展分区,分区大小容量用完,然后在扩展分区里在划分逻辑分区

格式化分区:

mkfs.ext4或者mkfs.xfs

挂载分区:

mount -t ###只是临时挂载

写在/etc/fstab下 例如格式:/dev/sda1 /mnt/sda1 ext4 defaults 0 0 ###永久挂载

写在开机自启动加载文件下.bashrc 格式:mount -t ext4 /dev/sda1 /mnt.sda1 ###永久挂载

2.lvm管理

名词: lvm 逻辑卷管理 pv 物理卷 vg 卷组 lv 逻辑卷

pv 物理卷:

pvcreate /dev/sda 将磁盘sda创为物理卷

vg 卷组 :

vgcreate vg1 /dev/sda 添加物理卷sda到卷组vg1中,没有卷组名的用vgcreate创建,有卷组名的用vgextend扩展卷组容量

lv 逻辑卷:

lvcreate -n lv1 -L +1G vg1 从vg1卷组中分出1G,用来创建lv1,有逻辑卷名的,扩展逻辑卷用lvextend

注意:这里如果是扩展lvm的容量的话,用lvextend扩展,扩展后lvdisplay可以看到lvm的容量增加了,但是df -Th看分区容量并没有增加,需要用xfs_growfs 去刷新逻辑卷,比如xfs_growfs /dev/vg1/lv1

格式化文件系统:

mkfs.ext4 /dev/vg1/lv1 将逻辑卷格式化文件系统

挂载:

创建一个空文件夹,用来挂载逻辑卷 mount /mnt/lv1 /dev/vg1/lv1

3.swap管理

swap叫交换分区,该分区主要用来做内存缓冲,当内存不够用的时候,会把内存中一部分睡眠进程放到swap分区中,以缓解内存的压力,swap分区的空间来自于硬盘空间

七、raid和文件系统

1.文件系统

文件系统类型:

windows fat16、fat32、NTFS

linux ext3(redhat5以前)、ext4(redhat6)、xfs(redhat7以后)

ext4和xfs的区别:

ext4文件系统最大支持1EB、xfs文件系统最大支持8EB

块和inode的概念:

块是文件内容存储的最小单位,默认是4k,inode是索引节点,inode主要存储文件编号,如果inode号达到最大数量,就无法再创建文件,如果块的存储达到磁盘分区最大容量,就无法再往块里边写入内容

2.raid

硬raid:

在开机之前做

软raid:

在开机以后做

raid0:

至少两块盘,主要提升读写速率,但是一块盘坏了,数据无法恢复

raid1:

至少两块盘,主要提升安全性,一块盘坏了,另外一块盘可恢复数据,但是存储容量只有50%

raid5:

至少3块盘,一块盘做奇偶校验运算结果,数据分别存储在另外两块盘中,读写速率提升了,存储容量也达到了n-1/n,数据安全性也得到了保障

raid5例子:

mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{e,d,f,g}    ###-C:创建raid  /dev/md0 raid设备  -l5 raid5 -n3 raid成员数量  -x1热备磁盘数量

mkfs.xfs   /dev/md0     ###格式化
 
mount /dev/md0 /mnt/md0   ###挂载

mdadm -D /dev/md0            ###查看详细信息

mdadm  /dev/md0 -f /dev/sde  -r /dev/sde         ####模拟磁盘坏了并移除 -f  fail  -r  remove

mdadm /dev/md0 -a /dev/sde
3.链接

软链接:

ln -s 源文件 链接文件

源文件修改–>软链接文件修改,源文件删除,链接问价失效

硬链接:

ln 源文件 链接文件

源文件修改–>硬链接文件修改,源文件删除,硬链接文件内容还在,但是不能跨磁盘分区创建硬链接

八、文件查找和解压缩

1.文件查找

which:多用于查找命令

locate:locate是查找数据库,开始时数据库会更新,刚创建的内容,locate是查找不到的,需要用updatedb更新

find:

按文件名查找

find / -name 文件名

按大小查找

find  / -size   大小             ###+表示大于,大小前面不加符号表示等于,-表示小于

指定查找深度

 find / -maxdepth 5 -name 文件名

按权限查找

find / -perm 755

按用户/用户组查找

find / -user yaoyuan     find / -group yaoyuan

按文件类型查找

find / -type  s

查找后处理

 find / -name 222.txt -delete   ###删除

 find / -name 222.txt  -exec cp -rvf {} /tmp \;   复制


2.打包和压缩
打包: 
tar  -cf /etc

解打包:  
tar -xf /etc.tar

打包压缩:
gzip      
tar -zvcf  /etc  etc.tar.gz

bzip      
tar -jvcf /etc    etc.tar.bz

xzip      
tar  -Jvcf /etc  etc.tar.zx

九、软件管理

1.rpm包管理
yum 方式:
yum源配置路径    /etc/yum.repos.d/XXX.repo

安装
yum install -y 软件名
yum update  ###更新操作系统所有包到最新

查询
yum repolist   ###查询仓库
yum list 软件名  ###查询软件包
yum provides 软件名   ###根据软件名称查询包的来源

卸载
yum remove -y 软件名

rpm 方式:
安装
rpm -ivh   软件包名

查询
rpm -qa  软件包名

卸载
rpm -evh  软件包名
2.源码包管理

下载源码包

解压

配置

编译

安装

十、计划任务

1.一次性调度

命令:at

at now+1min ###一分钟后执行,按crtl+d提交

atq ###查询任务

2.循环调度任务

* * * * * //表示 分 时 日 月 周

* * * * *   ###表示每分钟执行

*/5 * * * *   ###表示每5分钟执行

0 2 * * *   ###表示每天凌晨2点执行

0 2 10 * *   ###表示每个月10号的凌晨2点执行

0 2 10 5 *   ###表示每年5月10日凌晨2点执行

0 2 * * 5   ###表示每周五凌晨2点执行

循环调度任务存储文件位置/var/spool/cron

crontab  -e   ###编辑调度任务

crontab -l      ###查询调度任务
 
crontab -r      ###删除调度任务

crontab -u username          ###root用户编辑普通用户的调度任务

十一、日志管理

1.系统主日志程序

rsyslogd

2.系统主日志程序配置文件
配置文件:/etc/rsyslog.conf


日志的定义规则:

设备
authpriv、mail、cron、auth等称为设备

级别
debug、info、warning、error、critical、alert、emerg、none称为级别

文件位置
需要自定义日志输出的文件位置
3.常见日志
/var/log/messages      ###系统消息日志

/var/log/secure        ###系统安全日志

/var/log/cron          ###定时任务日志

十二、网络管理

1.配置文件配置网络(centos stream 9)
vim /etc/NetworkManager/system-connections/ens160.nmconnection
[root@localhost ~]# cat /etc/NetworkManager/system-connections/ens160.nmconnection 
[connection]
id=ens160
uuid=16a09fa9-9144-3af4-9993-af5dcc0d8bdf
type=ethernet
autoconnect-priority=-999
interface-name=ens160
timestamp=1721549625

[ethernet]

[ipv4]
address1=192.168.168.149/24,192.168.168.2
dns=8.8.8.8;
method=manual

[ipv6]
addr-gen-mode=eui64
method=auto

[proxy]

注意:centos7的网络配置文件位置在/etc/sysconfig/network-scrpits/ifcfg-ens33

2.nmcli命令配置网络
nmcli con mod ens160 ipv4.address 192.168.168.149/24     ###设置ipv4地址

nmcli con mod ens160 ipv4.method manual           ###设置为静态地址

nmcli con mod ens160 ipv4.gateway 192.168.168.2   ###设置网关

nmcli con mod ens160 ipv4.dns  8.8.8.8     ###设置dns服务器地址
3.主机名更改和网络测试工具
主机名修改:
hostnamectl set-hostname XXX  ###命令行修改
vim /etc/hostname    ###在文件中修改

网络测试工具:
ping         ###发送包的数量和回包的数量相等,则网络正常
ip route     ###查看路由表
traceroute   ###路由追踪
ip neighbor   ###查看网络邻居
4.服务器初始化配置

关闭防火墙

systemctl stop firewalld   ###临时关闭防火墙
systemctl disables firewalld ###永久关闭防火墙
systemctl status firewalld   ###查看防火墙状态

关闭selinux

selinux也是防火墙,主要是控制程序对文件的访问
getenforce    ###获取selinux状态
set enforce 0  ###临时关闭selinux
sed -i   s/=enforcing/=disabled/g    /etc/selinux/config   ###永久关闭selinux

配置yum源

yum源配置文件文职   /etc/yum.repos,d/xxx.repo     ###参考软件管理的配置
  • 19
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值