linux中at的用法?linux安装软件包的命令

Linux入门之at指令详解

Linux操作系统因其强大功能和灵活性广受用户喜爱,at命令作为一项特别有趣的功能,允许用户安排任务在特定时间执行,非常适合自动化日常任务和管理工作流程。本文将深入解析at命令的使用,通过实例演示,帮助用户快速掌握其基本用法。

什么是at命令?

at命令是一种用于在Linux系统中安排任务在指定时间执行的工具,类似于Windows系统中的计划任务。它通过守护进程atd管理任务队列,支持执行简单脚本或复杂命令序列。

如何使用at命令?

在使用at命令前,确保at守护进程已在系统上安装并运行。大多数Linux发行版默认已安装,若未安装,可通过包管理器安装。

安装at守护进程

基于Debian系统:使用命令`sudo apt install at`安装。

基于Red Hat系统:使用命令`sudo yum install at`安装。

安装完成后,启动atd服务并确保在系统启动时自动运行。

基本语法

at命令基本语法为`at time`,其中`time`参数指定了任务执行时间。支持绝对时间和相对时间两种形式。

绝对时间

指定具体日期、小时、分钟执行任务,例如`at tomorrow 5 PM`将在明天晚上8点执行任务。

相对时间

基于当前时间计算偏移量执行任务,如`at+ 10 minutes`将在当前时间后10分钟执行任务。

任务队列与管理

执行任务后,系统会打印作业号。使用`atrm`命令后跟作业号可取消任务;使用`atq`命令查看已安排的任务列表。

通过实例学习at命令

以下实例帮助用户更好地理解at命令的使用。

实例1:执行简单命令

假设需每天午夜自动重启服务,使用命令`at midnight`执行`systemctl restart your_service_name`。

实例2:执行脚本

安排特定时间运行脚本,使用命令`at+ 30 minutes`执行`./your_script.sh`。

实例3:使用复杂时间格式

使用日期格式指定时间,命令`at 2024-03-25T12:00`打印"Hello, World!"。

安全性考虑

默认情况下,所有用户可使用at命令,可能引起安全问题。为避免风险,建议仅允许特定用户或用户组使用at命令,通过编辑`/etc/at.deny`和`/etc/at.allow`文件控制访问权限。

结论

at命令是Linux系统中不可或缺的工具,帮助用户自动化任务和提高工作效率。通过本文的实例演示,初学者可快速掌握at命令用法。实践是学习的关键,不妨在系统上尝试这些命令,探索它们如何优化您的Linux环境。

linux下at命令详解

linuxmount-a命令详解?

1、功能:

加载指定的文件系统;mount可将指定设备中指定的文件系统加载到Linux目录下(也就是挂载点)。可将经常使用的设备写入文件/etc/fastab,以使系统在每次启动时自动加载。mount加载设备的信息记录在/etc/mtab文件中。使用umount命令卸载设备时,记录将被清除。

2、用法:

mount

mount

mount

3、参数:

1.-a加载文件/etc/fstab中设置的所有设备。

2.-f不实际加载设备。可与-v等参数同时使用以查看mount的执行过程。

3.-F需与-a参数同时使用。所有在/etc/fstab中设置的设备会被同时加载,可加快执行速度。

4.-h显示在线帮助信息。

5.-L标签>加载文件系统标签为标签>的设备。

6.-n不将加载信息记录在/etc/mtab文件中。

7.-o选项>指定加载文件系统时的选项。有些选项也可在/etc/fstab中使用。这些选项包括:

async以非同步的方式执行文件系统的输入输出动作。默认是async

sync以同步的方式执行文件系统的输入输出动作。

atime每次存取都更新inode的存取时间,默认设置,取消选项为noatime。

noatime每次存取时不更新inode的存取时间。

auto必须在/etc/fstab文件中指定此选项。执行-a参数时,会加载设置为auto的设备,取消选取为noauto。

noauto无法使用-a参数来加载。

dev,nodev是否允许此文件系统可建立设备文件?dev为允许

suid,nosuid是否允许此文件系统含有suid/sgid的文件格式

exec,noexec是否允许此文件系统上拥有可执行二进制文件

user,nouser是否允许此文件系统上任何使用者执行mount?一般来说,mount仅有root可以执行,但执行user参数,则可让一般用户user也能够对此分区进行mount

defaults使用默认的选项。默认选项为rw、suid、dev、exec、autonouser与async。

nouser使一位用户无法执行加载操作,默认设置。

remount重新加载设备。通常用于改变设备的设置状态。

ro以只读模式加载。

rw以可读写模式加载。

8.-r以只读方式加载设备。

9.-t文件系统类型>指定设备的文件系统类型。常用的选项说明有:

minixLinux最早使用的文件系统。

ext2Linux目前的常用文件系统。

msdosMS-DOS的FAT。

vfatWin85/98的VFAT。

nfs网络文件系统。

iso9660CD-ROM光盘的标准文件系统。

ntfsWindowsNT的文件系统。

hpfsOS/2文件系统。WindowsNT3.51之前版本的文件系统。

auto自动检测文件系统。

10.-v执行时显示详细的信息。

11.-V显示版本信息。

12.-w以可读写模式加载设备,默认设置。

什么是AT工程师?

主要进行网络工程的设计等。

AT工程师的岗位职责

1.能够在linux系统下做开发;

2.最好可以对AT命令有了解;

3.能够做串口开发;

4.负责产品底层处理需求分析,设计和开发;

工程师指具有从事工程系统操作、设计、管理、评估能力的人员。工程师的称谓,通常只用于在工程学其中一个范畴持有专业性学位或相等工作经验的人士。

linuxdmesg命令详解?

linuxdmesg命令参数及用法详解(linux显示开机信息命令)

功能说明:显示开机信息。

语法:dmesg

补充说明:kernel会将开机信息存储在ringbuffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。

参数:

-c显示信息后,清除ringbuffer中的内容。

-s缓冲区大小>预设置为8196,刚好等于ringbuffer的大小。

-n设置记录信息的层级。扩展阅读一:dmesg命令主要用途

主要应用:

dmesg用来显示内核环缓冲区(kernel-ringbuffer)内容,内核将各种消息存放在这里。在系统引导时,内核将与硬件和模块初始化相关的信息填到这个缓冲区中。内核环缓冲区中的消息对于诊断系统问题通常非常有用。在运行dmesg时,它显示大量信息。通常通过less或grep使用管道查看dmesg的输出,这样可以更容易找到待查信息。例如,如果发现硬盘性能低下,可以使用dmesg来检查它们是否运行在DMA模式:

$dmesg|grepDMA

...

ide0:BM-DMAat0xf000-0xf007,BIOSsettings:hda:DMA,hdb:DMA

ide1:BM-DMAat0xf008-0xf00f,BIOSsettings:hdc:DMA,hdd:DMA

...上面几行可以说明每个IDE设备正在什么模式下运行。如果以太网连接出现问题,那么可以在dmesg日志中搜索eth:

$dmesg|grepeth

forcedeth.c:ReverseEngineerednForce

ethernetdriver.Version0.49.

eth0:forcedeth.c:subsystem:0147b:1c00

boundto0000:00:04.0

eth0:noIPv6routerspresent如果一切正常,那么dmesg显示每个网卡的硬件配置信息。如果某项系统服务未能得到正确的配置,dmesg日志很快就填满错误消息,这是诊断故障的良好起点。

还可以用来探测系统内核模块的加载情况,比如要检测ACPI的加载情况,使用dmesg|grepacpi

dmesg|egrep-i''(apm|acpi)''

Kernelcommandline:vga=274quietconsole=ttyS3,9600acpi=no-idleoot=/dev/hda3

ACPI:CoreSubsystemversion

ACPI:Subsystemenabled

ACPI:Systemfirmwaresupports:C2

ACPI:plvl2lat=99plvl3lat=1001

ACPI:C2enter=1417C2exit=354

ACPI:C3enter=-1C3exit=-1

ACPI:NotusingACPIidle

ACPI:Systemfirmwaresupports:S0S1S4S5

扩展阅读二:dmesg命令使用示例

使用示例

示例一将开机信息发邮件

mandmesg写道

Theprogramhelpsuserstoprintouttheirbootupmessages.Insteadofcopyingthemessagesbyhand,theuserneedonly:

dmesg>boot.messages

andmailtheboot.messagesfiletowhoevercandebugtheirproblem.

#dmesg>boot.messages

#ls-lboot.messages

-rw-r--r--1rootroot1583812-0912begin_of_the_skype_highlighting

1583812-0912免费end_of_the_skype_highlighting:55boot.messages#mail-s"BootLogofLinuxServer"public@web3q.netboot.messages

#示例二浏览dmesg输出的信息

#uname-a

Linuxnew552.6.18-194.el5#1SMPTueMar1621:52:43EDT2010i686i686i386GNU/Linux#dmesg|less

Linuxversion2.6.18-194.el5(mockbuild@x86-007.build.bos.redhat.com)(gccversion4.1.220080704(RedHat4.1.2-48))#1SMPTueMar1621:52:43EDT2010

BIOS-providedphysicalRAMmap:

BIOS-e820:0000000000010000-000000000009fc00(usable)

BIOS-e820:000000000009fc00-00000000000a0000(reserved)

BIOS-e820:00000000000e0000-0000000000100000(reserved)

BIOS-e820:0000000000100000-000000001f7d0000(usable)

BIOS-e820:000000001f7d0000-000000001f7efc00(reserved)

BIOS-e820:000000001f7efc00-000000001f7fb000(ACPINVS)

BIOS-e820:000000001f7fb000-000000001f800000(reserved)

BIOS-e820:00000000e0000000-00000000f0000000(reserved)

BIOS-e820:00000000fec00000-00000000fec02000(reserved)

BIOS-e820:00000000fed20000-00000000fed9b000(reserved)

BIOS-e820:00000000feda0000-00000000fedc0000(reserved)

BIOS-e820:00000000ffb00000-00000000ffc00000(reserved)

BIOS-e820:00000000fff00000-0000000100000000(reserved)

0MBHIGHMEMavailable.

503MBLOWMEMavailable.

Memoryforcrashkernel(0x0to0x0)notwithinpermissiblerange

disablingkdump

Usingx86segmentlimitstoapproximateNXprotection

Onnode0totalpages:128976

DMAzone:4096pages,LIFObatch:0

Normalzone:124880pages,LIFObatch:31

DMI2.3present.

UsingAPICdriverdefault

ACPI:RSDP(v000HP)@0x000fe270

ACPI:RSDT(v001HP30C40x31100620HP0x00000001)@0x1f7efc84

ACPI:FADT(v002HP30C40x00000002HP0x00000001)@0x1f7efc00

ACPI:MADT(v001HP30C40x00000001HP0x00000001)@0x1f7efcb8

ACPI:MCFG(v001HP30C40x00000001HP0x00000001)@0x1f7efd14

ACPI:SSDT(v001HPHPQPpc0x00001001MSFT0x0100000e)@0x1f7f6698

ACPI:DSDT(v001HPDAU000x00010000MSFT0x0100000e)@0x00000000

ACPI:PM-TimerIOPort:0x1008

ACPI:LocalAPICaddress0xfec01000

ACPI:LAPIC(acpi_idlapic_idenabled)

Processor#06:13APICversion20

ACPI:LAPIC_NMI(acpi_idhighedgelint)

ACPI:IOAPIC(idaddressgsi_base)

IOAPIC:apic_id1,version32,address0xfec00000,GSI0-23

:

示例三查看dmesg尾部的信息

#dmesg|tail

Bluetooth:L2CAPver2.8

Bluetooth:L2CAPsocketlayerinitialized

Bluetooth:RFCOMMsocketlayerinitialized

Bluetooth:RFCOMMTTYlayerinitialized

Bluetooth:RFCOMMver1.8

Bluetooth:HIDP(HumanInterfaceEmulation)ver1.1

eth0:noIPv6routerspresent

Installingknfsd(copyright(C)1996okir@monad.swb.de).

NFSD:Using/var/lib/nfs/v4recoveryastheNFSv4staterecoverydirectory

NFSD:starting90-secondgraceperiod

#

示例四安装SS7卡驱动时的内核日志

#cdSS7HD_DRIVER/

#ls

bbdddlnx_iss.hbbd_hbi.hbbd_ioc.cbbd_isr.cbbd_pci.cBSD_license.txtGPL_V2-only_license.txtinstall_ss7hd.shMakefile26

bbd_def.hbbd_hs.cbbd_ioc.hbbd_lnx.cbbd_pro.hbuild_ss7hd.shi21555.hMakefile24

#./build_ss7hd.sh

make:Enteringdirectory`/usr/src/kernels/2.6.9-22.EL-i686'

CC/root/setup/ss7dpklnx/SS7HD_DRIVER/bbd_hs.o

CC/root/setup/ss7dpklnx/SS7HD_DRIVER/bbd_ioc.o

CC/root/setup/ss7dpklnx/SS7HD_DRIVER/bbd_isr.o

CC/root/setup/ss7dpklnx/SS7HD_DRIVER/bbd_pci.o

CC/root/setup/ss7dpklnx/SS7HD_DRIVER/bbd_lnx.o

LD/root/setup/ss7dpklnx/SS7HD_DRIVER/ss7hddvr26.o

Buildingmodules,stage2.

MODPOST

CC/root/setup/ss7dpklnx/SS7HD_DRIVER/ss7hddvr26.mod.o

LD/root/setup/ss7dpklnx/SS7HD_DRIVER/ss7hddvr26.ko

make:Leavingdirectory`/usr/src/kernels/2.6.9-22.EL-i686'

#lsmod|grepss7

ss7hddvr26258080

#dmesg|tail

ACPI:PCIinterrupt0000:02:0d.0->GSI9(level,low)->IRQ9

BBD64bit

SS7HD-suspend

DialogicSS7HDDeviceDriverV100.00(SourceV1.21)

Copyright(C)DialogicCorporation2003-2010.AllRightsReserved

Usingmajordevicenumber251.

ACPI:PCIinterrupt0000:02:0d.0->GSI9(level,low)->IRQ9

BBD64bit

#./install_ss7hd.shremove

#lsmod|grepss7

#dmesg|tail

BBD64bit

SS7HD-suspend

DialogicSS7HDDeviceDriverV100.00(SourceV1.21)

Copyright(C)DialogicCorporation2003-2010.AllRightsReserved

Usingmajordevicenumber251.

ACPI:PCIinterrupt0000:02:0d.0->GSI9(level,low)->IRQ9

BBD64bit

SS7HD-suspend

#

示例五打印并清除内核环形缓冲区

#dmesg-c

Linuxversion2.6.18-194.el5(mockbuild@x86-007.build.bos.redhat.com)(gccversion4.1.220080704(RedHat4.1.2-48))#1SMPTueMar1621:52:43EDT2010

BIOS-providedphysicalRAMmap:

BIOS-e820:0000000000010000-000000000009fc00(usable)

BIOS-e820:000000000009fc00-00000000000a0000(reserved)

BIOS-e820:00000000000e0000-0000000000100000(reserved)

BIOS-e820:0000000000100000-000000001f7d0000(usable)

BIOS-e820:000000001f7d0000-000000001f7efc00(reserved)

BIOS-e820:000000001f7efc00-000000001f7fb000(ACPINVS)

BIOS-e820:000000001f7fb000-000000001f800000(reserved)

BIOS-e820:00000000e0000000-00000000f0000000(reserved)

BIOS-e820:00000000fec00000-00000000fec02000(reserved)

BIOS-e820:00000000fed20000-00000000fed9b000(reserved)

BIOS-e820:00000000feda0000-00000000fedc0000(reserved)

BIOS-e820:00000000ffb00000-00000000ffc00000(reserved)

BIOS-e820:00000000fff00000-0000000100000000(reserved)

0MBHIGHMEMavailable.

503MBLOWMEMavailable.

Memoryforcrashkernel(0x0to0x0)notwithinpermissiblerange

disablingkdump

Usingx86segmentlimitstoapproximateNXprotection

Onnode0totalpages:128976

DMAzone:4096pages,LIFObatch:0

Normalzone:124880pages,LIFObatch:31

DMI2.3present.省略输出

Bluetooth:HIDP(HumanInterfaceEmulation)ver1.1

eth0:noIPv6routerspresent

Installingknfsd(copyright(C)1996okir@monad.swb.de).

NFSD:Using/var/lib/nfs/v4recoveryastheNFSv4staterecoverydirectory

NFSD:starting90-secondgraceperiod

#dmesg#less/var/log/dmesg

Linuxversion2.6.18-194.el5(mockbuild@x86-007.build.bos.redhat.com)(gccversion4.1.220080704(RedHat4.1.2-48))#1SMPTueMar1621:52:43EDT2010

BIOS-providedphysicalRAMmap:

BIOS-e820:0000000000010000-000000000009fc00(usable)

BIOS-e820:000000

linux中at命令

at命令

at:计划任务,在特定的时间执行某项工作,在特定的时间执行一次。

格式:at+时间

例1:date//查看系统当前时间

at时间//系统计划启动任务时间

at> date>/root/1.txt//date:系统计划启动任务时间执行date命令;/root/1.txt执行命令写入位

置和文件

ctrl+d退出//退出at命令

例2:date//查看系统当前时间

at时间//系统计划启动任务时间

at> init 0/root/2.txt//init 0:系统计划启动任务时间执行init 0(关机)命令;/root/2.txt执

行命令写入位置和文件

例3:在固定时间内添加一个用户(这时建立的用户没有密码)

#at 12:00(时间)//at命令设定12:00执行一项操作

at>useradd aaa//在at命令里设定添加用户aaa

ctrl+d//退出at命令

tail-f/etc/passwd//查看/etc/passwd文件后十行是否增加了一个用户aaa

计划任务结束后,查看任务是否写入文件中,可以用cat或vi命令查看。

格式:cat(vi)+(路径)文件名

例1:cat(vi) 1.txt

日 2月 6 09:21:28 CST 2005

计划任务设定后,在没有执行之前我们可以用atq命令来查看系统没有执行工作任务。

格式:atq

例:atq

1 2005-02-06 09:23 a root

启动计划任务后,如果不想启动设定好的计划任务可以使用atrm命令删除。

格式:atrm+任务号

例:atrm 1//删除计划任务1

atq//查看计划任务是否删除

还可以进入到/var/spool/at目录里把计划任务删除,计划任务的文件都保存在该目录里,可以用rm-f

文件名来删除(以文件的形式删除计划任务,因为计划任务是以文件形式保存在该目录中)

例:#cd/var/spool/at//进入到/var/spool/at目录中

ls//显示目录中所有文件

rm-f a0000a0119b0df//删除计划任务

在通常情况下,超级用户都可以使用这个命令。对于其他用户来说,能否可以使用就取决于两个文

件:/etc/at.allow和/etc/at.deny。

当“用户名”写入/etc/at.deny中,用户不能执行at命令(管理员限制用户使用at命令)。

例:useradd text//新建一个text用户

ls/etc/at.deny//查看at.deny文件内容

vi/etc/at.deny//对at.deny文件进行编辑

text//对at.deny文件进行编辑,写入text用户名,进行at命令限制,然后wq(保存退出)

cat/etc/at.deny//显示at.deny文件内容

su- text//切换到text用户

at 12:00//text用户执行at命令,如果被限制则出现下面的提示。

You do not have permission to use at.你不允许使用at这个命令

at.allow比at.deny优先级高

at.allow文件中有的用户可以执行at,没有则不能。

linux操作系统在执行用户是否可以执行at命令时,先看at.allow文件没有才看at.deny文件。

注意:linux操作系统默认没有/etc/at.allow文件。

例:ls/etc/at.allow//查看是否已经建立at.allow文件

touch/etc/at.allow//建立/etc/at.allow文件

vi/etc/at.allow//对at.allow文件进行编辑

text//对at.allow文件进行编辑,写入text用户名,该用户名可以执行at命令,然后wq(保存退出)。

su- text//切换到text用户

at 12:00//text用户执行at命令,若不出现上面所说的提示就可以进行at命令设定了。

at命令格式

at HH:MM YYYY-MM-DD//HH(小时):MM(分钟) YYYY(年)-MM(月份)-DD(日)

例:at 4:00 2004-11-27

HH[am pm]+D(天) days//HH(小时)[am(上午)pm(下午)]+days(天)

例:4pm+ 3days:3天以后下午4:00执行at命令设定的计划任务。

阅读剩余
THE END