Hero Image
文件系统查找工具

众所周知,在Linux或者类Unix的文件系统中,想通过文件名关键字查找文件,可以通过find命令。那本文将推荐2款可以快速查找文件的工具,性能比find命令更好,可在某些场景下替换find的使用。 mlocate 大部分的Linux发行版的都提供了 mlocate 软件包,该软件包包含了一个locate命令用于查找文件,和一个updatedb命令用于更新文件索引供locate使用。 可直接通过系统的软件包管理工具直接安装 # CentOS/RHEL $ sudo dnf install mlocate # Debian/Ubuntu $ sudo apt install mlocate 安装完成后,首先需要执行以下命令进行文件索引 sudo updatedb 索引文件将默认存放在 /var/lib/mlocate/mlocatedb ,也可以修改配置文件 /etc/updatedb.conf 文件,添加某些不需要索引的文件夹,例如 # Paths which are pruned from updatedb database PRUNEPATHS="/tmp /var/tmp /var/cache /var/lock /var/run /var/spool /mnt /cdrom /usr/tmp /proc /media /sys /.snapshots /var/run/media" 完成索引之后,就可以使用 locate 命令进行文件查找了,例如 $ locate mlocate /etc/systemd/system/timers.target.wants/mlocate.timer /usr/bin/rpmlocate /usr/lib/systemd/system/mlocate.service /usr/lib/systemd/system/mlocate.timer /usr/sbin/rcmlocate /usr/share/doc/packages/mlocate /usr/share/doc/packages/mlocate/AUTHORS /usr/share/doc/packages/mlocate/ChangeLog /usr/share/doc/packages/mlocate/NEWS /usr/share/doc/packages/mlocate/README /usr/share/licenses/mlocate /usr/share/licenses/mlocate/COPYING /usr/share/man/man5/mlocate.db.5.gz /var/lib/mlocate /var/lib/mlocate/mlocate.

Hero Image
SYSTEMCTL管理系统服务

这是我在使用openSuSE过程中学习和使用systemd来管理系统的一些笔记。 首先那就让我们来先看看什么是systemd: Systemd Systemd是Linux下的一个程序,用来初始化系统。像SysV一样,其将会被Linux内核启动。 在opneSuSE上,systemd将会是系统进程号为1的进程,其负责初始化系统和启动系统服务。 openSuSE从12.3版本开始,用systemd作为默认的系统初始化程序代替了SysV。 想了解systemd和SysV的对于,可以参看这里。 用sytemctl进行系统管理 systemd提供了systemctl命令来进行系统服务管理,其调用格式如下: systemctl [通用选项] 子命令 [子命令选项] 在系统上管理服务 像SysV一样,通过子命令start|stop|restart等来管理服务: systemctl start|stop|status|restart|reload|… <服务名>.service 如查看当前cron服务的状态: # systemctl status cron.service cron.service - Command Scheduler Loaded: loaded (/usr/lib/systemd/system/cron.service; enabled) Active: active (running) since Mon 2015-01-26 15:50:21 CST; 3 days ago Main PID: 1247 (cron) CGroup: /system.slice/cron.service └─1247 /usr/sbin/cron -n systemctl支持一次操作多个服务,只要在子命令后添加多个服务名即可。 使用enable|disable来设置开启自动启动或者不启动一个服务: systemctl enable|disable <服务名>.service Systemd的启动目标 在SysV的启动系统上,用启动级别(runlevel)来表示系统的启动状态,已经哪些服务伴随这级别一起启动。 如 0 (关闭系统),3 (多用户带网络),5 (多用户带网络,显示图形用户界面)。 而在Systemd上,用目标(target)表示这个概念,如 graphical.target 提供了多用户带网,显示图像用户界面的启动目标,就相当与level 5。 systemd提供了很多内置的目标单元,可以用下面的命令查看: # systemctl list-unit-files –type=target