Linux-04-磁盘进程软件定时任务
磁盘管理
目录结构 tree
tree /xxx
查看 xxx 目录下递归子目录的所有内容,需要 yum 下载。
文件大小 du
du disk usage,可以查看磁盘使用情况。
du -ah /xxx
查看目录下所有文件大小情况。
du -sh /xxx
查看目录下文件总大小
du -ah --max-depth=n
查看目录下 n 层的文件大小情况
磁盘空间 df
df disk free 查看当前机器的磁盘空间,剩余量,挂载位置等等。
df -h
-h 是 human 的意思,可以让数据方便易懂。
1 | Filesystem Size Used Avail Use% Mounted on |
这里的 /dev.vdal
是挂载的硬盘。 tmpfs
是 temporary file system 的缩写,指的是 内存 和 虚拟内存。devtmpfs
指的是基于内存的文件系统,用来加快系统速度。
内存空间 free
free -h
查看内存和虚拟内存空间使用情况。
1 | total used free shared buff/cache available |
设备挂载查看 lsblk
lsblk list block 表示展示块设备,也就是挂载的设备。
lsblk -f
详细展示信息。
1 | NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT |
sr0 指的是 scsi rom 0,是设备中存在的一块光盘。
vda 表示 visual disk A 第一块虚拟硬盘,B 表示第二块。也可能会遇到 sda ,s 表示 sata 接口。
设备挂载/卸载 mount/umount
挂在之前需要查看 lsblk 看看是否存在为挂载设备,如果有可以挂载。
mount 设备地址 挂载地址
选项有很多,设备地址一般在 /dev
下面,挂在地址一般设置再 /mnt
目录下。
mount 设备地址/挂载地址
取消挂载。
比如 mount /dev/cdrom /mnt/cdrom
就是将设备 cdrom 挂载到 mnt 文件夹下面,然后就可以访问设备了。然后 umount /mnt/cdrom
解除挂载。
如果要实现设备开机自动挂载,在 /etc/fstab
file system table 中添加设备即可。
磁盘分区 fdisk
fdisk -l
list 展示磁盘分区信息,内容非常详细。
当插入一块新的硬盘的时候,需要重启计算机,然后才能看到此硬盘。第一块硬盘结尾是 a,第二块是 b …。硬盘不能够直接被挂载,能够被挂载访问的是硬盘的分区。
分区过程:
fdisk /dev/sdb
对 sdb 新硬盘进行分区管理输入 m 查看帮助。输入 n 进行分区,没有特殊要求一路回车,有特殊要求就研究一下。默认新的分区为 sdb1 设备,表示第一个分区。
分完之后输入 w 保存修改。然后就能在 fdisk 中看到分区,但是看不到文件系统信息。
然后对新的硬盘分区进行格式化,赋予文件系统。使用 mkfs make file system 命令:
mksf /dev/sdb1
使用的是默认的 ext2 系统,我们可以用-t ext4
指定最新的文件系统类型。分区完之后就可以被 Linux 识别访问了,这个时候将硬盘分区挂载到想要挂载的目录即可。
进程管理
查看进程 ps
ps process status,查看进程状态。ps aux
显示所有进程详细信息,ps -ef
显示进程的父子关系。
命令返回内容。
1 | USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND |
USER:该进程是由哪个用户产生的;
PID:进程的 ID 号;
%CPU:该进程占用 CPU 资源的百分比,占用越高,进程越耗费资源;
%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
VSZ:该进程占用虚拟内存的大小,单位 KB;
RSS:该进程占用实际物理内存的大小,单位 KB;
TTY:该进程是在哪个终端中运行的。对于 CentOS 来说,tty1 是图形化终端,tty2-tty6 是本地的字符界面终端。pts/0-255 代表虚拟终端。
STAT:进程状态。常见的状态有:R:运行状态、S:睡眠状态、T:暂停状态、Z:僵尸状态、s:包含子进程、l:多线程、+:前台显示、< 高优先级、N 低优先级。
START:该进程的启动时间;
TIME:该进程占用 CPU 的运算时间,注意不是系统时间;
COMMAND:产生此进程的命令名;
杀掉进程 kill
kill 进程号
终止进程。kill -9 进程号
强行终止进程。
进程启动树 pstree
pstree -pu
p 是 PID,u 是 user。表示 pstree 额外显示进程的 PID 和 User。
如果进程的所有者 User 和父进程相同,则不会显示 User ,不同才会显示。
监控进程状态 top
top [选项]
返回实时的进程状态。
参数:
-d 秒数
指定 top 命令每隔几秒更新。默认是 3 秒在 top 命令的交互模式当
中可以执行的命令:-i
使 top 不显示任何闲置或者僵死进程。-p
通过指定监控进程 ID 来仅仅监控某个进程的状态。
操作:(直接摁字母)
- P 以 CPU 使用率排序,默认就是此项
- M 以内存的使用率排序
- N 以 PID 排序
- q 退出 top
- u 显示输入用户的进程
- k 杀掉指定进程,并发送信号 9(等效于 -9)
网络端口和进程 netstat
netstat -anp | grep 进程号
查看和进程使用的相关端口。
netstat -lnp | grep 端口号
查看端口占用情况。
参数里面 a 表示 all,所有的端口都显示,无论是否处于监听状态。l 表示 listen,只显示处于监听状态的端口,如果有返回值则被占用。np 是为了更好的显示,不显示别名,显示网路端口占用进程。
设置定时任务
借助于 crontab 命令,使用之前需要检查负责执行此命令的服务是否在运行:systemctl restart crond
。
-e 编辑 crontab 定时任务
-l 查询 crontab 任务
-r 删除当前用户所有的 crontab 任务
剩下的具体设置方法,建议看一些更加详细的博文。
软件管理
管理工具 RPM
RPM(RedHat Package Manager),RedHat软件包管理工具。这是一个 RPM 包的名称:Apache-1.3.23-11.i386.rpm
- “apache” 软件名称
- “1.3.23-11”软件的版本号,主版本和此版本
- “i386”是软件所运行的硬件平台,Intel 32位处理器的统称
- “rpm”文件扩展名,代表RPM包
此管理工具对应的命令是 rpm
。
查询 -q
rpm -qa
query all,查询所有安装的应用。
rpm -qi 应用名
query information,查询应用的具体安装信息。
推荐使用 rpm -qa | grep 应用名
来判断是否安装某应用。
卸载 -e
rpm -e 应用名
erase,检查应用依赖后再卸载。
rpm -e --nodeps
erase with no dependence,不检查依赖,直接卸载应用。
安装 -i
需要有一个完整的 RPM 包,才可以安装。
rpm -ivh 安装包路径
install 安装,vh 表示显示详细过程。
应用商店 yum
基于 rpm 的一个 下载安装 管理程序,会从默认的服务器下载对应的安装包。
install 软件名
下载安装软件update 软件名
更新软件check-update 软件名
查询更新
指定连接下载 wget
全称是 web get,直接输入 wget 资源URL
就会下载到当前目录里面。如果要重命名下载好的文件,则:wget -O 新名字 资源URL
。