linux基础操作2

133 阅读7分钟

一、linux调度

1、crontab

定时任务调度:指每隔指定的时间,执行特定的命令或程序。
基本语法:crontab [选项]
常用选项:

  • e: 编辑定时任务
  • l:查询定时任务
  • r:删除当前用户的所有定时任务 例如:
crontab -e
//然后输入调度内容在vim编译器里
*/1 * * * * ls -l /etc/ > /tmp/etc.txt

image.png

image.png

image.png

2、at

  1. at命令是一次性定时执行任务计划,at的守护线程atd以后台的模式运行,检查作业队列来运行
  2. 默认情况下,atd守护线程每60秒检查作业队列,有作业时会检查作业运行时间,如果时间与当前 时间匹配,则运行此作业。
  3. at命令是一次性定制的计划任务,执行完一个任务后就不再执行此任务了。
  4. 在使用at命令的时候,一定要保证atd进程的启动,可以用相关指令来查看 ps -ef | grep atd

image.png image.png

atq #查看有几个定时任务
atrm #删除定时任务
at [选项] [时间]
at > 命令(输入两次 Ctrl + D)

二、磁盘分区

1、基础知识点

查看分区信息:lsblk 在linux里面,硬盘有2种类型:

  • IDE硬盘 hdx~
    • hd:标识硬盘类型, IDE类型
    • x:不同硬盘的分区(a基本盘,b基本从属盘,c辅助盘,d辅助从属盘)
    • ~ 磁盘分区 1 2 3 4 5
  • SCSI硬盘 sdx~
    • sd:表示是SCSI硬盘
    • x:代表是第几块硬盘(a:第一块 b:第二块 c:第3块硬盘 d:第4块硬盘)
    • ~磁盘分区

image.png NAME :驱动器标识
FSTYPE :文件系统类型
LABLE :文件系统 LABLE
UUID :分区唯一标识符,格式化磁盘后,会给分区分配一个32位的唯一的字符串
MOUNTPOINT :挂载点

image.png

2、新增硬盘

虚拟机设置 里 选择硬件 添加硬盘 ,选择磁盘类型 ,点击创建新虚拟机磁盘,设置大小,点击 将虚拟机磁盘拆分成多个文件

3、给新增的硬盘分区

fdsik 磁盘目录
例如创建了sdb,他在dev目录里
fdisk /dev/sdb

image.png

image.png

4、格式化磁盘分区:为分区创建文件系统,准备存储数据。

mkfs -t ext4 /dev/sdb1 # 格式化
lsblk -f#查看分区详细信息

5、挂载分区:将分区连接到操作系统的目录树,使其内容可以被访问。

cd /
mkdir newdir
mount /dev/sdb1 /newdisk/
lsblk -f

6、磁盘情况查询

df -h #查看整个磁盘的占用情况
df -h [目录] #查询指定目录的磁盘占用情况

image.png

image.png

7、磁盘操作实用指令

  • 统计opt文件夹下的文件个数
ls -l /opt | grep "^-" |wc -l

image.png

  • 统计opt文件夹下的目录的个数
ls -l /opt | grep "^d" | wc -l   # "^d" 以文件目录开头 wc -l 统 计个数
  • 统计/opt文件下的文件的个数,包括子文件夹下的
ls -lR /opt | grep "^-" | wc -l # R 代表递归
  • 统计/opt文件夹下的目录的个数,包括子文件夹下的
ls -lR /opt | grep "^d" | wc -l
  • 以树状结构显示目录结构(如果没有tree,则使用 yum install tree 安装)
yum install tree #安装tree
tree 目录

三、网络

1、linux网络配置的指令

  • ipaddr 在linux查看ip地址
  • ifconfig 在linux查看ip地址
  • ping 是否ping通指定的ip地址
  • ipconfig 在windows操作系统里面查看网络的ip地址

2、linux网络环境配置(固定ip的方式)

首先查看 ip是否是变化的。 image.png

image.png

image.png 那么进行固定。

  • 第一步 编辑我们linux的网卡文件 这个网卡文件在/etc/sysconfig/network-scripts/ifcfg-ens33 打开这个文件,进行编辑
  • 编辑网卡文件
  • sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33 打开 编辑->虚拟网络编译器->更改设置->VMnet8->DHCP设置->查看ip地址的范围->在ifcfg-ens33 添加IPADDR="这里写的是ip地址范围内的随便一个"->添加子网掩码、网关到ifcfg-ens33(网关在vmnet8的nat设置里)->最后加DNS1、DNS2

image.png image.png

IPADDR=
NETMARSK=255.255.255.0
GETWAY=
DNS1=
DNS2=

3、设置主机名和host映射

查看主机名称方法
①hostname
②cat /etc/hostname
修改主机名
hostname new-hostname

也可以修改/etc/hostname指定主机名名称。注意,修改完成之后,需要重启linux系统才能生效。
image.png
在 Linux 中,/etc/hosts 文件用于将主机名映射到 IP 地址。这对于本地网络中的主机名解析非常有用。
思考:我们可以通过ping linux的ip地址能ping通linux。那么我们可不可以通过ping linux的主机名 来ping通linux呢,答案是不可以的
下面图片是windows的cmd里面操作,按win+r键,再输入cmd就打开了 image.png 找到 找到 C:\Windows\System32\drivers\etc:下面的hosts文件,进行相关的编辑:
输入一个ip和一个主机名。例如:

192.168.10.130 xq100  # ip地址是linux的ip地址

如何在linux里面通过本机的主机名来ping通主机呢?我们需要编辑/etc/hosts文件:

192.168.10.1 DESKTOP-EKI0P48   # ip是vmnet8的ip地址 后面的是windows的主机名称

四、linux进程管理

1、进程信息

ps

也加上下面几个参数,来查看进程信息
ps -a:显示终端所用的进程信息
ps -u:以用户的格式显示进程的信息
ps -x:显示后台程序运行的参数
ps -e:所有的进程
ps -f:全部全格式信息
image.png

image.png

ps -aux | more  

image.png

我们对上面查询的信息进行详细解释:
USER: 进程所属的用户名称。
PID:进程号。
%CPU:进程占用CPU的百分比。
%MEM:进程占用物理内存的百分比。
VSZ:进程占用虚拟内存的大小(KB)。
RSS:进程占用物理内存的大小(KB)。
STAT:进程状态,S-代表睡眠 R-正在运行 D-短期等待 Z-僵死进程 T-被停止的线程。
START:进程启动的时间。
TIME:进程使用CPU的时间。
COMMAND:进程启动所需要的命令和参数。

ps -ef | grep sshd

image.png

ps -ef | more

image.png

2、删除进程

kill [选项] 进程号 :通过进程号杀死/终止进程。
killall:会杀死当前进程和其子进程。
选项 -9: 强制删除

3、查看进程树

pstree [选项]

选项: -p:显示进程号 -u:显示进程所属用户

五、linux服务管理

service(本质)就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,比如说 (mysql3306,sshd222,redis6379),因为我们又称为守护进程,在Linux中是重要的知识点。

image.png

1、service管理指令

  • service 服务名 [start|stop,reload,status]
  • 在CentOs7.0后,很多服务不再使用Service,而是systemctl
  • service 指令管理的服务在/etc/init.d查看
    例如:我们可以简单使用一下,比如查看network服务的状态:
    image.png
  • 要知道更多系统服务,可以使用setup命令 输入后选择 系统服务

image.png
选择系统服务,回车,我们可以看到系统服务的详细信息:

image.png
注意:

  1. [*] 代表这些系统服务会随着开机自启动而启动
  2. 如果我们想去掉星号或者加上星号,上下按键切换到对应的服务按空格键即可。
  3. 使用Tab键选择OK或Cancel.

2、chkconfig指令

chkconfig也可以用来管理服务。但是cetos7后都是systemctl管理。

  • 基本用法
  • 先切换到/etc/init.d
  • chekconfig --list查看服务
  • 设置服务在指定级别启动/关闭 chkconfig --level [数字]network on/off

image.png
注意1: 上面的数字代表linux的运行级别
注意2:chkconfig重新设置服务自启动或者关闭,需要重启机器reboot生效

3、systemctl服务管理指令

systemctl 指令管理的服务在/usr/lib/systemd/system中查看。

  • 服务启动/停止/重启/重载/查看状态: systemctl [start | stop | restart | status] 服务名
  • 查看所有服务的自启动状态
[root@xq100 system]# systemctl list-unit-files | grep firewall #得到服务名
firewalld.service enabled   
[root@xq100 system]# systemctl status firewalld.service # 查看防火墙状态 
[root@xq100 system]# systemctl stop firewalld.service # 停止防火墙状态 
[root@xq100 system]# systemctl restart firewalld.service # 重启防火墙
  • 服务的状态如下:
    • masked 此服务禁止自启动
    • static 该服务无法自启动,只能作为其他文件的依赖
    • enabled 已配置为自启动
    • disabled 未配置为自启动
  • 查看某一服务是否自启动
[root@xq100 system]# systemctl is-enabled firewalld.service # 知道完整服务名 enabled
  • 设置服务自启动 (服务运行级别 3、5)
[root@xq100 system]# systemctl enable firewalld.service
  • 设置服务禁用自启动 (服务运行级别 3、5)
[root@xq100 system]# systemctl disable firewalld.service