Linux 在设计之初,就是基于 Intel x86 系列 CPU 架构计算机的,它是一个基于 POSIX 的多用户、多任务并且支持多线程和多 CPU 的操作系统,它是由世界各地成千上万的程序员设计和开发实现的,当初开发 Linux 系统的目的就是建立不受任何商业化软件版权制约的、全世界都能自由使用的类 Unix 操作系统兼容产品。
在过去的 20 年里,Linux 系统主要被应用于服务器端、嵌入式开发和 PC 桌面 3 大领域,其中服务器端领域是重中之重。例如,我们熟知的大型、超大型互联网企业(百度、腾讯、Sina、阿里等)都在使用 Linux 系统作为其服务器端的程序运行平台,全球及国内排名前 1000 的 90% 以上的网站使用的主流系统都是 Linux 系统。
从上面的内容可以看出,Linux操作系统之所以如此流行,是因为它具备如下这些优秀的特点:
Linux 不仅是免费的,更是开源的,这意味着任何人都可以获得其代码并根据自己的需求进行修改。事实上,这已经孵化出专属 Linux 各发行版的巨大生态系统,我们将在《常见Linux发行版本》一节中展开探讨。
Linux 与 Unix 系统兼容,该系统的构建采用了一些与 UNIX 操作系统相同的技术,具备 Unix 几乎所有的优秀特性(系统的稳定性和安全性尤为突出)。
和其他操作系统相比,Linux 更容易安装,且不会收到任何商业化版本的制约。
Linux 让开展各种实际有用且具有创造性的事情成为可能。例如,我们可以在一个U盘上装载 Linux 的自生系统引导映像(live boot image),启动一台硬盘已经崩溃的计算机,之后查找并解决该问题。或者,因为 Linux 是一个真正的多用户操作系统,它具有非常好的私密性和稳定性,整个团队可以同时从本地或远程登录进行工作。
Linux下的crontab定时执行任务命令详解:轻松实现任务自动化
crontab命令主要用于设置周期性被执行的指令,今天将给大家详细讲解Linux下的crontab定时执行任务命令,有兴趣的伙伴可以阅读文章了解!
在Linux中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。cron的配置文件称为“crontab”,是“cron table”的简写。
Linux下的crontab定时执行任务命令详解
一、cron服务
cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看服务状态
二、cron在3个地方查找配置文件
1、/var/spool/cron/ 这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如tom建的crontab任务对应的文件就是/var/spool/cron/tom。一般一个用户最多只有一个crontab文件。
三、/etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。
MAILTO=root:是说,当 /etc/crontab 这个档案中的例行性命令发生错误时,会将错误讯息或者是屏幕显示的讯息传给谁?由于 root 并无法再用户端收信,因此,我通常都將这个 e-mail 改成自己的账号,好让我随时了解系统的状态!
01 * * * * root run-parts /etc/cron.hourly:在 #run-parts 这一行以后的命令,我们可以发现,五个数字后面接的是 root ,这一行代表的是『执行的级别为root身份』当然,你也可以将这一行改为成其他的身份!而 run-parts代表后面接的 /etc/cron.hourly 是『一个目录内(/etc/cron.hourly)的所有可执行文件』,也就是说,每个小时的01分,系统会以root身份去/etc/cron.hourly这个目录下执行所有可执行的文件!后面三行也是类似的意思!你可以到 /etc/ 底下去看看,系统本来就预设了这4个目录!你可以将每天需要执行的命令直接写到/etc/cron.daily即可,还不需要使用到crontab -e的程式!
四、/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。
五、权限(?)
crontab权限问题到/var/adm/cron/下一看,文件cron.allow和cron.deny是否存在
用法如下:
1、如果两个文件都不存在,则只有root用户才能使用crontab命令。
2、如果cron.allow存在但cron.deny不存在,则只有列在cron.allow文件里的用户才能使用crontab命令,如果root用户也不在里面,则root用户也不能使用crontab。
3、如果cron.allow不存在, cron.deny存在,则只有列在cron.deny文件里面的用户不能使用crontab命令,其它用户都能使用。
4、如果两个文件都存在,则列在cron.allow文件中而且没有列在cron.deny中的用户可以使用crontab,如果两个文件中都有同一个用户,以cron.allow文件里面是否有该用户为准,如果cron.allow中有该用户,则可以使用crontab命令。
AIX 中 普通用户默认都有 crontab 权限,如果要限制用户使用 crontab ,就需要编辑/var/adm/cron/cron.deny
HP-UNIX 中默认普通用户没得crontab 权限 ,要想放开普通用户的crontab 权限可以编
六、创建cron脚本
第一步:写cron脚本文件,命名为crontest.cron。
15,30,45,59 * * * * echo "xgmtest....." >> xgmtest.txt表示,每隔15分钟,执行打印一次命令
第二步:添加定时任务。执行命令 “crontab crontest.cron”。搞定
第三步:“crontab -l” 查看定时任务是否成功或者检测/var/spool/cron下是否生成对应cron脚本
注意:这操作是直接替换该用户下的crontab,而不是新增
七、crontab用法
crontab命令用于安装、删除或者列出用于驱动cron后台进程的表格。用户把需要执行的命令序列放到crontab文件中以获得执行。
每个用户都可以有自己的crontab文件。/var/spool/cron下的crontab文件不可以直接创建或者直接修改。该crontab文件是通过crontab命令创建的
在crontab文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。
每个域之间使用空格或者制表符分隔。格式如下:
minute hour day-of-month month-of-year day-of-week commands
合法值 00-59 00-23 01-31 01-12 0-6 (0 is sunday)
除了数字还有几个个特殊的符号就是“*”、“/”和“-”、“,”,*代表所有的取值范围内的数字,“/”代表每的意思,“/5”表示每5个单位,“-”代表从某个数字到某个数字,“,”分开几个离散的数字。
-l 在标准输出上显示当前的crontab。
-r 删除当前的crontab文件。
-e 使用VISUAL或者EDITOR环境变量所指的编辑器编辑当前的crontab文件。当结束编辑离开时,编辑后的文件将自动安装。
八、例子:
每天早上6点
0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。
每两个小时
0 */2 * * * echo "Have a break now." >> /tmp/test.txt
晚上11点到早上8点之间每两个小时和早上八点
0 23-7/2,8 * * * echo "Have a good dream" >> /tmp/test.txt
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3 command line
1月1日早上4点
0 4 1 1 * command line SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号 HOME=/
每小时执行/etc/cron.hourly内的脚本
01 * * * * root run-parts /etc/cron.hourly
每天执行/etc/cron.daily内的脚本
02 4 * * * root run-parts /etc/cron.daily
每星期执行/etc/cron.weekly内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly
每月去执行/etc/cron.monthly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly
注意: “run-parts”这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名。
每天的下午4点、5点、6点的5 min、15 min、25 min、35 min、45 min、55 min时执行命令。
5,15,25,35,45,55,16,17,18 * * * command
每周一,三,五的下午3:00系统进入维护状态,重新启动系统。
00 15 * * 1,3,5 shutdown -r +5
每小时的10分,40分执行用户目录下的innd/bbslin这个指令:
10,40 * * * * innd/bbslink
每小时的1分执行用户目录下的bin/account这个指令:
1 * * * * bin/account
每天早晨三点二十分执行用户目录下如下所示的两个指令(每个指令以;分隔):
20 3 * * * (/bin/rm -f expire.ls logins.bad;bin/expire$#@62;expire.1st)
每年的一月和四月,4号到9号的3点12分和3点55分执行/bin/rm -f expire.1st这个指令,并把结果添加在mm.txt这个文件之后(mm.txt文件位于用户自己的目录位置)。
12,55 3 4-9 1,4 * /bin/rm -f expire.1st$#@62;$#@62;mm.txt
关于Linux下的crontab定时执行任务命令就给大家介绍到这里了,希望对大家有所帮助。
学习 Linux cd 命令:轻松切换目录的简易指南
Command是Change Directory的缩写,用于切换工作目录。Linux命令按照来源方法可以分为两种,即Shell内置命令和外部命令。所谓的Shell内置命令,就是Shell自带的命令。这些命令没有可执行文件;外部命令是程序员单独开发的,所以会有命令的执行文件。Linux中绝大多数命令都是外部命令,而cd命令是典型的Shell内置命令,所以cd命令没有文件执行的路径。
cd 命令的基本格式如下:
[root@localhost ~]# cd [相对路径或绝对路径]
除此之外,cd 命令后面可以跟一些特殊符号,表达固定的含义,如 所示:cd 命令的特殊符号 特殊符号 作 用 ~ 代表当前登录用户的主目录 ~用户名 表示切换至指定用户的主目录 - 代表上次所在目录 代表当前目录 .. 代表上级目录 它们的用法分别是:
[root@localhost vbird]# cd ~
#表示回到自己的主目录,对于 root 用户,其主目录为 /root
[root@localhost ~]# cd
#没有加上任何路径,也代表回到当前登录用户的主目录
[root@localhost ~]# cd ~vbird
#代表切换到 vbird 这个用户的主目录,亦即 /home/vbird
[root@localhost ~]# cd ..
#表示切换到目前的上一级目录,亦即是 /root 的上一级目录的意思;
需要注意的是,在 Linux 系统中,根目录确实存在 .(当前目录)以及 ..(当前目录的父目录)两个目录,但由于根目录是最顶级目录,因此根目录的 .. 和 . 的属性和权限完全一致,也就是说,根目录的父目录是自身。
[root@localhost /]# cd - #表示回到刚刚的那个目录
如果你仔细观察的话,不难发现,其实在 [root@localhost ~] 中,就已经指明了当前所在的目录,通常刚登陆时会位于自己的主目录中,而 ~ 就表示主目录,因此也就有了通过使用 cd ~ 可以回到自己的主目录。 【例 1】学习 cd - 的用法。
[root@localhost ~]# cd /usr/local/src #进入/usr/local/src目录 [root@localhost src]# cd - /root
[root@localhost ~]#
#"cd -"命令回到进入 src
目录之前的主目录 [root@localhost ~]# cd - /usr/local/src [root@localhost src]# #
再执行一遍"cd -"命令,又回到了 /usr/local/src 目录
【例 2】学习 cd . 和 cd .. 的用法。[root@localhost ~]# cd /usr/local/src #进入测试目录
[root@localhost src]# cd .. #进入上级目录
[root@localhost local]# pwd /usr/local
#pwd是査看当前所在目录的命令,可以看到我们进入了上级目录 /usr/local [root@localhost local]# cd . #进入当前目录 [root@localhost local]# pwd /usr/local
#这个命令不会有目录的改变,只是告诉大家"."代表当前目录
Linux:探索开源世界的未知领域
和大家熟知的Windows操作系统软件一样,Linux也是一款操作系统软件,它的logo是一只企鹅(如图1)。与Windows不同,Linux是一套类似Unix的操作系统软件,带有开源程序,可以自由分发。
Linux 在设计之初,就是基于 Intel x86 系列 CPU 架构计算机的,它是一个基于 POSIX 的多用户、多任务并且支持多线程和多 CPU 的操作系统,它是由世界各地成千上万的程序员设计和开发实现的,当初开发 Linux 系统的目的就是建立不受任何商业化软件版权制约的、全世界都能自由使用的类 Unix 操作系统兼容产品。
在过去的 20 年里,Linux 系统主要被应用于服务器端、嵌入式开发和 PC 桌面 3 大领域,其中服务器端领域是重中之重。例如,我们熟知的大型、超大型互联网企业(百度、腾讯、Sina、阿里等)都在使用 Linux 系统作为其服务器端的程序运行平台,全球及国内排名前 1000 的 90% 以上的网站使用的主流系统都是 Linux 系统。
从上面的内容可以看出,Linux操作系统之所以如此流行,是因为它具备如下这些优秀的特点:
Linux 不仅是免费的,更是开源的,这意味着任何人都可以获得其代码并根据自己的需求进行修改。事实上,这已经孵化出专属 Linux 各发行版的巨大生态系统,我们将在《常见Linux发行版本》一节中展开探讨。
Linux 与 Unix 系统兼容,该系统的构建采用了一些与 UNIX 操作系统相同的技术,具备 Unix 几乎所有的优秀特性(系统的稳定性和安全性尤为突出)。
和其他操作系统相比,Linux 更容易安装,且不会收到任何商业化版本的制约。
Linux 让开展各种实际有用且具有创造性的事情成为可能。例如,我们可以在一个U盘上装载 Linux 的自生系统引导映像(live boot image),启动一台硬盘已经崩溃的计算机,之后查找并解决该问题。或者,因为 Linux 是一个真正的多用户操作系统,它具有非常好的私密性和稳定性,整个团队可以同时从本地或远程登录进行工作。
Linux 提供了复杂的软件包管理系统,可以放心地安装和维护每一个在线资源库中的软件应用。
Linux所使用的默认系统管理员账号的标题(2022年5月)
Linux操作系统的管理员账号密码,Linux系统将管理账号分为管理用户账号跟管理组账号,作用本质一样,都是基于用户身份来控制对资源的访问,区别在于是单个用户还是多个用户组成的群组。
在 Linux系统中,根据系统管理的需要将用户账号分为不同的类型,同时也有不同的权限与不同的功能,主要分为超级用户、普通用户和程序用户。
1、超级用户:root用户是 Linux系统中默认的超级用户账号,对主机拥有最高的权限,类似于 Windows系统中的 *****istrator用户。只有当进行系统管理、维护任务时,才建议使用root用户登录系统,日常事务处理建议只使用普通用户账号。
2、普通用户:普通用户账号需要由root用户或其他管理员用户创建,拥有的权限受到一定限制,一般只在用户自己的宿主目录中拥有完整权限。
3、程序用户:在安装 Linux系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,而仅用于维持系统或某个程序的正常运行,如bin、 daemon、ftp、mail等。
新闻阅读
40MB
生活休闲
18.74MB
便携购物
106.79MB
生活休闲
18.74MB
生活休闲
0KB
新闻阅读
1.50MB
便携购物
61.48MB
生活休闲
1.51MB
便携购物
30.16MB
休闲益智
46.15MB
角色扮演
5.66MB
休闲益智
31.40MB
模拟经营
20.13MB
模拟经营
20.13MB
角色扮演
33.10MB
角色扮演
1.44GB
休闲益智
476MB
模拟经营
97.63MB