【Linux常用命令(4)Linux基础命令】

简介: 【Linux常用命令(4)Linux基础命令】

欢迎大家又来学习了。

一.磁盘和文件系统:

      主分区:最多四个

      扩展分区:做多一个

      逻辑分区:IDE硬盘最多59个逻辑分区

                         SCSI硬盘最多支持11个逻辑分区

             1.检测查看硬盘:fdisk -l 磁盘设备

           2.  在交互式的操作环境中管理磁盘分区:fdisk   磁盘设备

            交互常用指令:

                    m:查看操作指令的帮助信息

                    p:列表查看分区信息

                    n:新建分区

                    d:删除分区

                    t:变更分区类型

                    w:保存分区设置并退出

                    q:放弃分区并退出

            3.创建文件系统:mkfs -t 文件系统类型 分区设备

                    4.创建XFS文件系统:mkfs -t xfs 分区设备

                   5.创建FAT32文件系统:mkfs -t vfat -F 32 分区设备

                           选项:-F 指定FAT的版本

             6.创建交换文件系统:mkswap  分区设备

                    swapon:启动交换分区

                    swapoff:停用交换分区

      7.重新读取分区表信息:partprobe

     LVM:逻辑卷管理  #动态调整磁盘容量

           8.图形界面管理工具:system-config-lvm

           

             LVM机制:PV VG LV

                    功能:

                          scan扫描

                           create建立

                           display显示

                           remove删除

                           extend扩展

                           reduce减少

          主要命令:

                    pvcreate 设备名1 设备名2

                    vgcreate 卷组名 物理卷名1 物理卷名2

                   lvcreate -L 容量大小 -n 逻辑卷名 卷组名

                    lvextend -L +大小 /dev/卷组名/逻辑卷名

             ext4格式增减:

               lvresize -L +200G /dev/Vgtest/Lvtest     #增加200G容量

     e2fsck -f /dev/Vgtest/Lvtest                    #强制检测文件系统

          resize2fs /dev/Vgtest/Lvtest                    #刷新

                    umount /dev/bdqn     #如果要减少容量需要先挂载光盘

                  e2fsck -f /dev/Vgtest/Lvtest      #对lv强制执行文件系统检测

                  resize2fs /dev/Vgtest/Lgtest     #使用resize2fs对lv逻辑卷的逻辑边界空间大小调整为缩减后的大小

                  resize2fs /dev/Vgtest/Lgtest     #使用resize2fs对lv逻辑卷的逻辑边界空间大小调整为缩减后的大小

             9.磁盘配额:

                    作用范围:针对指定的文件系统

                    限制对象:用户,组

                    限制类型:磁盘容量,文件数量

                  限制方法:软限制(soft) 硬限制(hard)

                    启动磁盘配置支持:usrquota,grpquota

             ext4文件系统磁盘配额

生成配置文件 quotacheck -ug /dir

开启配额功能 quotaon /dir      关闭配额功能:quotaoff /dir

编辑用户配额 edquota -u 用户 /dir


          10.XFS格式配额格式:

             xfs_quota -x -c ‘limit -u bsoft=N bhard=N isoft=N ihard=N 用户名’ 挂载点

             选项:

                   -u:用户

                    -g:组

                    -x:专家

                    -c:limit命令创建配额

            bsoft:磁盘容量软限制

             bhard:磁盘容量硬限制

             isoft:文件数量软限制

             ihard:文件数量硬限制

            11.查看配额使用情况:

                    格式:xfs_qouta -x -c ‘report 选项’ 挂载点

                           选项:-a -i -b -u -g

查看磁盘使用情况:df 【选项】 【文件】

                           -hT:显示MB大小和文件类型

      12.挂载,卸载文件系统:

           挂载文件系统mount

                    格式:

                           mount 【-l】 #查询系统已经挂载的设备

                           mount 【-a】 #依据配置文件/etc/fstab的内容自动挂载

                           mount 【-t 文件系统】存储设备 挂载点目录

                           mount -o loop ISO镜像文件 挂载点目录           #指定系统文件挂载到指定目录

             卸载已挂载的文件系统:umount  文件位置或挂载点目录

            设置自动文件系统的自动挂载:/etc/fstab

格式:

设备名

文件系统挂载点

文件系统类型

挂载参数:例:defaults,rw,ro,noexec,表示默认参数

文件是否需要dump备份:一般为1时表示需要,设为0时将被dump忽略

启动时进行磁盘的检测的顺序:0表示不进行检查,1表示优先检查,2表示其次检查,根分区应设为1,其他分区设为2.

     13. 显示磁盘状态命令:dumpe2fs

             语法:dumpe2fs 分区设备文件名

      14.dump备份命令

      格式:dump [选项] 备份之后的文件名 源文件或目录

选项:

      -level:就是我们说的0-9是个备份级别

      -f 文件名:指定备份之后的文件名

      -u:备份成功之后,把备份时间记录在/etc/dumpdates文件

      -v:显示备份过程中更多的输出信息

      -j:调用bzlib库压缩备份文件,其实就是把备份文件压缩为.bz2格式

      -W:显示允许被dump的分区的备份等级及备份时间

15.restore还原命令

      格式:restore [模式选项]  [选项]

选项:

      -C:比较备份数据和实际数据的变化

      -i:进入交互式模式,手工选择需要恢复的文件

      -t:查看模式,用于查看备份文件中拥有那些数据

      -r:还原模式,用于数据还原

      -f:指定备份文件的文件名

二.权限管理-ACL权限

1.查看分区ACL权限是否开启

语法:dumpe2fs -h /dev/sda3

:查询指定分区详细文件系统信息的命令

      选项:-h:显示超级块中信息,而不显示磁盘块组的详细信息

临时开启分区ACL权限

mount -o remount,acl /

:重新挂载跟分区,并挂载加入acl权限

             永久挂载:/dev/fstab  添加内容

      2.管理ACL命令:

查看ACL命令:getfacle 文件名  #查看acl权限

设定ACL权限的命令:

语法:setfacl 选项 文件名

       选项:

                     -m:设定ACL权限

                            格式:setfacl -m u:user:rwx project/

                                          u用户g组 m mask权限:用户名:权限  目录

                     -x:删除指定的ACL权限

                            格式:setfacl -x u:user project/

                                                       用户名

                     -b:删除所有的ACL权限

                           格式:setfacl -b 文件名

                     -d:设定默认ACL权限

#为父目录设定ACL权限,子文件也会继承权限

                           格式:setfacl -m d:u:用户名:权限  目录名

                     -k:删除默认ACL权限

-R:递归设定ACL权限

#所有子文件和子目录也会拥有ACL权限

                            格式:setfacl -m u:用户名:权限 -R 目录名

三.权限管理-文件特殊权限

1.SetUID   #身份升级            

配置前提:

拥有x执行权限

只可以对二进制执行命令文件使用

设定SetUID:

       chomod 4755 文件名

       chomod u+s 文件名

2.SetGID

配置针对执行文件前提:

 与配置SetUID相似

当用户去访问配置了SetGiD的文件后自动跳转好root组进行使用

可以对目录配置

普通用户必须对目录拥有r和x权限

此目录中的有效组变成此目录的属组

其他用户先建立了文件属组会变成这个目录的属主

设定SetGID:

       chomod 2755 文件名

       chomod g+s 文件名

3.Sticky BIT

SBIT粘着位作用:

1.只对目录有效

2.普通用户对该目录拥有w和x权限

3.普通用户自己创建的只有自己可以删除,其他普通用户没有权限    

             设定Sticky BIT:

                    chmod 1755 /目录位置

                    chmod o+t /目录位置

文件系统属性chattr

格式:chattr [+-=] [选项] 文件或目录名

+:增加权限

-:删除权限

=:等于某权限

      选项:

i:对文件设置I属性,不允许对文件进行删除,改名也不能添加和修改数据

      对目录只能修改文件和数据,不能建立和删除

             a:对文件只能增加数据

                    对目录只允许在目录下建立和修改不可以删除

4.sudo权限

                    sudo使用

                           visudo #实际修改的是/etc/sudoers文件

                    语法:

                           root    ALL=(ALL)                         ALL

                           用户名   被管理主机的地址=(可使用的身份)授权命令

                          #%wheel  ALL=(ALL)                         ALL

                           #%组名    被管理主机的地址=(可使用的身份)授权命令(绝对路径)

四.进程管理

1.查看进程信息:

ps :查看静态的进程统计信息

选项:

-A:显示所有程序。与-e具有同样的效果

-a: 显示所有终端机下执行的程序,除了阶段作业领导者之外。(跟终端无 关的程序)

a: 显示现行终端机下的所有程序,包括其他用户的程序。

-u: -u:此选项的效果和指定"-U"选项相同。

u:以用户为主的格式来显示程序状况。

x:显示所有程序,不以终端机来区分,通常与a这个参数一起使用。

-l或l(小写L):采用详细的格式来显示程序状况。

-j或j:采用工作控制的格式显示程序状况。(jobs format)

-f:显示UID,PPIP,C与STIME栏位。

2.top:查看动态的进程排名信息

选项:

-b:以批处理模式操作;

-c:显示完整的治命令;

-d:屏幕刷新间隔时间;

-I:忽略失效过程;

-s:保密模式;

-S:累积模式;

-i:设置间隔时间;

-u:指定用户名;

-p:指定进程;

-n:循环显示的次数。

3.pgrep:根据特定条件查询进程PID信息

选项:

-l:显示进程名

-U:指定用户

-t:指定终端

d)pstree:以树形结构列出进程信息

      选项:

             -a:显示完整信息

             -u:列出对应用户名

             -p:列出对应PID

后台启动:在命令行尾加入&符号

ctrl+Z:调入到后台并停止执行

4.jobs:查看处于后台的任务列表

      选项:

             -l:显示进程号;

-p:仅任务对应的显示进程号;

-n:显示任务状态的变化;

-r:仅输出运行状态(running)的任务;

-s:仅输出停止状态(stoped)的任务。

5.fg:将后台进程恢复到前台       格式:fg  number

6.bg:将后台进程恢复到后台

      格式:bg number

离线管理:nohup

nohup [选项与参数] --->在终端前台工作

nohup [选项与参数] & --->在终端后台工作

      7.终止进程的运行

ctrl+C:中断正在执行  的命令

kill:用于终止指定PID号的进程

killall:用于终止指定名称的所有进程

选项:-9:强制终止

8.pkill:根据特定条件终止相应的的进程

选项:

      -U:根据进程所属的用户名终止相应进程

      -t:根据进程所有的终止相应进程

       五.计划任务管理:

            1. 一次性计划任务:at [HH:MM] [yyyy-mm-dd]

                    ctrl+D:提交任务

             atq:查看未执行的任务列表

             atrm:删除任务

                   格式:atrm 【ID号】

          2.  batch

             注:batch不同于at的地方仅在与其所生成的任务计划是在系统空闲时执行的,所有batch命令后不用指定时间。

           其余和at命令相同

       3.lsof [进程号,端口]

             选项:

                   -p:执行进程号

                    -i:指定端口

             例:lsof -p 42352  #一般用于查看木马进程,在读那些文件

                   lsof -i :22      #用于查看端口,或查看黑客开启的后面端口是哪个进程在使用

4.crontab命令

主要设置文件:

       全局配置文件:/etc/crontab

       系统默认的设置:/etc/cron.*/

       用户定义的设置:/var/spool/cron/用户名

管理crontab计划任务

       编辑计划任务:

              crontab -e [-u 用户名]

       查看计划任务:

              crontab -l [-u 用户名]

       删除计划任务:

              crontab -r [-u 用户名]

选项:

      -u:管理员可为其他用户创建任务

       -e:打开编辑页面定义任务

       -l:列出已经定义的所有任务

       -r:移除所有任务

格式:

       分钟 小时 日期 月份 星期  命令

时间数值的特殊表示方法

                       *:表示该范围的任意时间

                           ,:使用间隔的多个不连续时间点

                         -:表示一个连接的时间范围

                           /:指定间隔的时间频率

六.分析和排查系统故障

日志消息的级别

0 EMERG:紧急

1 ALERT:警告

2 CRLT:严重

3 ERR:错误

4 WARNING:提醒

5 NOTICE:注意

6 INFO:信息

7 DEBUG:调式

1.日志的功能

      用于记录系统、程序运行中发生的各种事件

      通过阅读日志,有助于诊断和解决系统故障

2.日志文件的分类

内核及系统日志

     由系统服务rsyslog统一进行管理,日志格式基本相似

用户日志

     记录系统用户登录及退出系统的相关信息

程序日志

     由各种应用程序独立管理的日志文件,记录格式不统一

3.日志保存位置

      默认位于:/var/log 目录下

4.主要日志文件介绍

内核及系统日志

     /var/log/messages

计划任务日志

      /var/log/cron

系统引导日志

     /var/log/dmesg

邮件系统日志

      /var/log/maillog

用户登录日志

      /var/log/lastlog:最近的用户登录事件

  /var/log/wtmp:用户成功登录、注销及系统开、关机事件,对应命令 last

      /var/log/btmp: 用户失败登录,错误验证尝试事件,对应命令 lastb

      /var/run/utmp:当前登录的每个用户的详细信息,对应查看命令 users  who  w

      /var/log/secure:与用户验证相关的安全性事件

5.日志配置文件

/etc/rsyslog.conf

*.info             #任何服务info级别及以上日志

mail.none      #例外,不记录

6.日志级别

0  EMERG(紧急/疼痛):会导致主机系统不可用的情况

1  ALERT(警告):必须马上采取措施解决的问题

2  CRIT(严重):比较严重的情况

3  ERR(错误):运行出现错误

4  WARNING(提醒):可能会影响系统功能的事件

5  NOTICE(注意):不会影响系统但值得注意

6  INFO(信息):一般信息

7  DEBUG(调试):程序或系统调试信息等

7.日志一般格式

Jun  3 13:26:35 localhost vmusr[2439]: [critical] [GLib-GObject]

时间标签      主机         子系统名      日志级别和信息

8.程序日志

由相应的应用程序独立进行管理

Web服务:/var/log/httpd/

access_log、error_log

代理服务:/var/log/squid/

access.log、cache.log、

9.分析工具

      文本查看、grep过滤检索、Webmin管理套件中查看

      awk、sed等文本过滤、格式化编辑工具

      Webalizer、Awstats等专用日志分析工具

10.日志管理策略

及时作好备份和归档

延长日志保存期限

控制日志访问权限:日志中可能会包含各类敏感信息,如账户、口令等

集中管理日志:

     将服务器的日志文件发到统一的日志文件服务器(ELK)

      便于日志信息的统一收集、整理和分析

      杜绝日志信息的意外丢失、恶意篡改或删除

11.MBR故障修复

Mbr扇区    

      引导程序GRUB   446

      分区表          64

      结束标志      2

故障原因:

      病毒、木马等造成的破坏

      不正确的分区操作、磁盘读写误操作

故障现象:

      找不到引导程序,启动中断

     无法加载操作系统,开机后黑屏

解决思路:

      应提前作好备份文件

      以 CentOS 7安装光盘引导进入急救模式

      从备份文件中恢复

Mbr扇区故障模拟:

1.添加新硬盘: 分区 fdisk  /dev/sdb    格式化 mkfs.xfs  /dev/sdb1 挂载到 mount /dev/sdb1   /bak

2.备份mbr扇区:dd  if=/dev/sda  of=/bak/mbr.bak  bs=512  count=1

3.模拟故障:dd if=/dev/zero of=/dev/sda bs=512 count=1

4.重启:观察现象

排除故障

1)挂系统盘,进入急救模式 3--2-1

2)重新挂载:mount /dev/sdb1  /aa

3)恢复:dd  if=/aa/mbr.bak   of=/dev/sda  bs=512  count=1

4)exit

12.修复 GRUB 引导故障

故障原因:

      MBR 中的 GRUB 引导程序遭到破坏

      grub.conf 文件丢失、引导配置有误

故障现象:

      系统引导停滞,显示“grub>” 提示符

解决思路:

      尝试手动输入引导命令

      进入急救模式,重写或者从备份中恢复 grub.conf

      向 MBR 扇区中重建 grub 程序

模拟grub引导故障

1.cp  /boot/grub2/grub.cfg   /boot/grub2/grub.cfg.bak

2.Rm  -f   /boot/grub/grub.cfg

3.Reboot

解决grub引导故障

插入系统盘,光盘启动

进入急救模式

chroot  /mnt/sysimage

cp  /boot/grub/grub.cfg.bak    /boot/grub/grub.cfg  

13.修复文件系统

故障原因

      非正常关机、突然断电、设备读写失误等

      文件系统的超级块(super-block)信息被破坏

故障现象

     无法向分区中读取或写入数据

      启动后提示“Give root password for maintenance”

解决思路

      根据提示输入 root 口令,进入修复状态

      使用xfs_repair命令进行修复

模拟故障:

      破坏:  创建分区、格式化,先不要挂载

             dd if=/dev/zero of=/dev/sdb1 bs=512 count=4

      修复:xfs_repair /dev/sdb1

14.硬盘i节点耗尽

故障原因

      磁盘空间已被大量的数据占满,空间耗尽

      虽然还有可用空间,但文件数i节点耗尽

故障现象

      无法写入新的文件,提示“… : 设备上没有空间”

      部分程序无法运行,甚至系统无法启动

解决思路

      清理磁盘空间,删除无用、冗余的文件

      转移或删除占用大量 i 节点的琐碎文件

      进入急救模式进行修复

      为用户设置磁盘配额

模拟故障:

      添加一块硬盘

      划分一个100M的分区,格式化,挂载到/data目录下

      df -i  /data (查看i节点的数量)

      vim  killnode.sh

             #!/bin/bash

             i=1

             while [ $i -le 前面查到的i节点数 ]

             do  

                    touch /data/file$i

                    let i++

             done

      sh   killnode.sh &

     

15.磁盘坏道

故障原因

     磁盘设备中存在坏道(逻辑的或物理的)

故障现象

      读取磁盘中的数据时,磁盘设备发出异常声响。

      访问磁盘中的某个文件时,反复读取且出错,提示文件损坏

      对于新建立的分区无法完成格式化

      系统使用该磁盘时频繁死机

解决思路

      检测硬盘中是否存在坏道

      修复硬盘,或更换新的硬盘

      badblocks -sv /dev/sdb

make方法

make clean #清除上一次make命令生成的文件

make distclean #清除上一次make以及configure命令生成的文件

make -j 4 #使用4进程同时编译,提升编译速度

XFS增量备份

语法:xfsdump -f 备份目标位置 备份目录(挂载目录或磁盘分区)

提示:编写标签,第一次为会话标签,第二次为设备标签

免交互备份:

语法:xfsdump -f 存放位置 备份目录 -L 会话标签 -M 设备标签

xfsdump -f /opt/dump_sda1 /dev/sda1 -L dump_sda1 -M sda1_is

指定只备份分区中某个目录

参数:-s 文件路径 只能指定的问价进行备份,-s指定时,路径写的是相对路径(-s可以是文件或目录)

格式:xfsdump -f /opt/233_dump -s 233.txt /dev/sdb1  -L dump_233 -M sdb1

查看备份记录

xfsdump -I

文件系统恢复

语法:xfsrestore -f 指定恢复文件的位置  指定存放恢复后的文件的路径

恢复单个文件

语法:xfsrestore -f 恢复文件路径 -s 恢复文件 恢复目录

增量备份

先备份完整备份

语法:xfsdump -l 1 -f 备份保存位置 备份文件

-l <level> 做一个等级为1的备份

恢复增量备份

语法:xfsrestore -f 恢复文件  恢复目标位置

注:按顺序恢复增量备份,恢复数据会不完整

windows文本文件上传到Linux上出现乱码

解决:

格式:iconv -f gb2312 -t utf8 乱码文件 -o 转换为的名称

在Linux上编写的shell脚本到windowx上出现没有换行

解决:

工具:dos2unix unix2dos等工具

格式: dos2unix Linux上的shell文件

使用远程xshell命令上传文件和下传文件

注:需要rz工具下载,只可以用于远程工具连接

rz本地上传文件   sz下传文件

系统监控

proc文件系统

和整个Linux系统相关的参数如下:

/proc/cmdline:加载kernal时的相关指令与参数

/proc/cpuinfo:CPU相关的信息,包括频率,类型与运算能力

/proc/devices:记录了系统各个主要设备的主设备号码

/proc/filesystems:记录系统加载的文件系统

/proc/loadavg:平均负载值top看到的

/proc/meminfo:内存信息,free命令查看的

/proc/modules:系统已经加载的模块

/proc/mounts:系统已经挂载的数据

/proc/partitons:系统的分区文件

/proc/version:系统的核心版本uname -a看到的内容

常用的系统监视命令:

uptime

显示顺序:现在的时间,系统运行时间,目前多少登录用户,系统在过去一分钟,5分钟,15分钟内的平均负载。

[root@localhost 1]# uptime

07:32:01 up 15 min,  1 user,  load average: 0.00, 0.01, 0.02

free

显示当前系统未使用和已经使用的内存数目。

[root@localhost 1]# free -h

             total        used        free      shared  buff/cache   available

Mem:           976M         79M        761M        7.0M        135M        745M

Swap:          2.0G          0B        2.0G

vmstat

显示虚拟内存状态,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。

[root@localhost 1]# vmstat

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----

r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

1  0      0 779916    896 138060    0    0    93     5   44  111  0  0 100  0  0

mpstat

最大特点:可以查看CPU中每个计算机核心的统计数据。

注:需要安装sysstat

iostat

用于监视系统输入输出设备和CPU的使用情况。能查看到系统IO情况信息,从而确定IO性能是否存在瓶颈。

sar

sar是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况,系统调用的使用情况,磁盘I/O,CPU效率,内存使用情况,进程活动及IPC有关的活动等。

sar命令常用格式:sar [options] [-A] [-o file] t [n] 其中:

t为采样间隔,n为采样次数,默认值是1;

-o file表示将命令结果以二进制格式存放在文件中,file 是文件名。

options 为命令行选项,sar命令常用选项如下:

-A:所有报告的总和

-u:输出CPU使用情况的统计信息

-v:输出inode、文件和其他内核表的统计信息

-d:输出每一个块设备的活动信息

-r:输出内存和交换空间的统计信息

-b:显示I/O和传送速率的统计信息

-a:文件读写情况

-c:输出进程统计信息,每秒创建的进程数

-R:输出内存页面的统计信息

-y:终端设备活动情况

-w:输出系统交换活动信息



相关文章
|
2天前
|
安全 网络协议 Linux
linux必学的60个命令
Linux是一个功能强大的操作系统,提供了许多常用的命令行工具,用于管理文件、目录、进程、网络和系统配置等。以下是Linux必学的60个命令的概览,但请注意,这里可能无法列出所有命令的完整语法和选项,仅作为参考
195 2
|
1天前
|
存储 Linux Shell
YUM管理器的命令列表-Linux
YUM管理器的命令列表-Linux
7 0
|
2天前
|
Linux 程序员 计算机视觉
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
16 0
|
2天前
|
Linux
Linux的find命令使用
【5月更文挑战第11天】Linux的find命令使用
15 3
|
2天前
|
监控 Linux 数据处理
|
2天前
|
编解码 Ubuntu Linux
|
2天前
|
JSON Linux 数据格式
Linux命令发送http
请注意,`curl`命令非常灵活,可以根据您的需求进行多种配置和自定义。您可以查看 `curl`命令的文档以获取更多详细信息。
13 0
|
2天前
|
安全 Linux 测试技术
|
2天前
|
安全 Linux Windows
Linux中Shutdown命令使用介绍
Linux中Shutdown命令使用介绍
13 2
|
2天前
|
缓存 关系型数据库 Linux
Linux目录结构:深入理解与命令创建指南
Linux目录结构:深入理解与命令创建指南