當前位置:首頁 » 操作系統 » linuxat命令安裝

linuxat命令安裝

發布時間: 2023-07-31 16:36:00

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命令設定的計劃任務。

② Linux安裝基本命令

Linux安裝基本命令大全

Linux常用命令,你還能記得多少呢?下文是我為大家准備的Linux常用命令,一起來看看吧!

安裝升級

查看軟體xxx安裝內容

dpkg -L xxx

查找軟體庫中的軟體

apt-cache search 正則表達式



aptitude search 軟體包

顯示系統安裝包的統計信息

apt-cache stats

顯示系統全部可用包的名稱

apt-cache pkgnames

顯示包的信息

apt-cache show k3b

查找文件屬於哪個包

dpkg -S filename

apt-file search filename

查看已經安裝了哪些包

dpkg -l

也可用

dpkg -l | less

翻頁查看

查詢軟體xxx依賴哪些包

apt-cache depends xxx

查詢軟體xxx被哪些包依賴

apt-cache rdepends xxx

增加一個光碟源

sudo apt-cdrom add

系統更新

sudo apt-get update (這一步更新包列表)

sudo apt-get dist-upgrade (這一步安裝所有可用更新)

或者

sudo apt-get upgrade (這一步安裝應用程序更新,不安裝新內核等)

清除所有已刪除包的殘餘配置文件

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

如果報如下錯誤,證明你的系統中沒有殘留配置文件了,無須擔心。

----------------------------------------------------------

dpkg: --purge needs at least one package name argument

Type dpkg --help for help about installing and deinstalling packages [*];

Use `dselect' or `aptitude' for user-friendly package management;

Type dpkg -Dhelp for a list of dpkg debug flag values;

Type dpkg --force-help for a list of forcing options;

Type dpkg-deb --help for help about manipulating *.deb files;

Type dpkg --license for right license and lack of warranty (GNU GPL) [*].

Options marked [*] proce a lot of output - pipe it through `less' or `more' !

----------------------------------------------------------

編譯時缺少h文件的自動處理

sudo auto-apt run ./configure

查看安裝軟體時下載包的臨時存放目錄

ls /var/cache/apt/archives

備份當前系統安裝的所有包的列表

dpkg --get-selections | grep -v deinstall > ~/somefile

從上面備份的安裝包的列表文件恢復所有包

dpkg --set-selections < ~/somefile

sudo dselect

清理舊版本的軟體緩存

sudo apt-get autoclean

清理所有軟體緩存

sudo apt-get clean

刪除系統不再使用的孤立軟體

sudo apt-get autoremove

如果使用

sudo apt-get autoremove --purge

的話會把這些孤立軟體的殘留配置文件也一並移除

查看包在伺服器上面的地址

apt-get -qq --print-uris download 軟體包名稱 | cut -d\' -f2

徹底刪除Gnome

sudo apt-get --purge remove liborbit2

徹底刪除KDE

sudo apt-get --purge remove libqt3-mt libqtcore4

一鍵安裝 LAMP 服務

sudo tasksel install lamp-server

刪除舊內核

sudo aptitude purge ~ilinux-image-.*\(\!\(`uname -r`\|generic-.*\)\)

導入ppa源的'key值

#W: GPG簽名驗證錯誤: http://ppa.launchpad.net jaunty Release: 由於沒有公鑰,下列簽名無法進行驗證: NO_PUBKEY 5126890CDCC7AFE0

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 5126890CDCC7AFE0 #5126890CDCC7AFE0替換為你需要導入的Key值

增加 add-apt-repository 命令

sudo apt-get install software-properties-common

增加一個ppa源

sudo add-apt-repository ppa:user/ppa-name

#使用 ppa 的地址替換 ppa:user/ppa-name

添加163鏡像源

sudo add-apt-repository "deb http://mirrors.163.com/ubuntu/ `lsb_release -cs` main restricted universe multiverse"

sudo add-apt-repository "deb http://mirrors.163.com/ubuntu/ `lsb_release -cs`-updates main restricted universe multiverse"

sudo add-apt-repository "deb http://mirrors.163.com/ubuntu/ `lsb_release -cs`-security main restricted universe multiverse"

系統升級

1 這里指的是版本間的升級,例如 9.04=>10.04。

2 使用該升級方式通常需要使用 backports 源。

sudo apt-get update

sudo apt-get install update-manager-core

sudo do-release-upgrade

系統

查看內核

uname -a

查看系統是32位還是64位

#查看long的位數,返回32或64

getconf LONG_BIT

#查看文件信息,包含32-bit就是32位,包含64-bit就是64位

file /sbin/init

或者使用

uname -m

查看Ubuntu版本

lsb_release -a

或 cat /etc/lsb-release

查看內核載入的模塊

lsmod

查看PCI設備

lspci

查看USB設備

lsusb

#加參數 -v 可以顯示USB設備的描述表(descriptors)

lsusb -v

查看網卡狀態

sudo apt-get install ethtool

sudo ethtool eth0

激活網卡的 Wake-on-LAN

sudo apt-get install wakeonlan

或 sudo ethtool -s eth0 wol g

查看CPU信息

cat /proc/cpuinfo

顯示當前硬體信息

sudo lshw

查看內存型號

sudo dmidecode -t memory

獲取CPU序列號或者主板序列號

#CPU ID

sudo dmidecode -t 4 | grep ID

#Serial Number

sudo dmidecode | grep Serial

#CPU

sudo dmidecode -t 4

#BIOS

sudo dmidecode -t 0

#主板:

sudo dmidecode -t 2

#OEM:

sudo dmidecode -t 11

顯示當前內存大小

free -m |grep "Mem" | awk '{print $2}'

查看硬碟溫度

sudo apt-get install hddtemp

sudo hddtemp /dev/sda

顯示系統運行時間

uptime

查看系統限制

ulimit -a

查看內核限制

ipcs -l

查看當前屏幕解析度

xrandr

硬碟

查看塊設備

lsblk

查看硬碟的分區

sudo fdisk -l

硬碟分區

#危險!小心操作。

sudo fdisk /dev/sda

硬碟格式化

#危險!將第一個分區格式化為 ext3 分區, mkfs.reiserfs mkfs.xfs mkfs.vfat

sudo mkfs.ext3 /dev/sda1

硬碟檢查

#危險!檢查第一個分區,請不要檢查已經掛載的分區,否則容易丟失和損壞數據

sudo fsck /dev/sda1

硬碟壞道檢測

sudo badblocks -s -v -c 32 /dev/sdb

#得到壞的塊後,使用分區工具隔離壞道。

分區掛載

sudo mount -t 文件系統類型 設備路經 訪問路經

#常用文件類型如下: iso9660 光碟機文件系統, vfat fat/fat32分區, ntfs ntfs分區, smbfs windows網路共享目錄, reiserfs、ext3、xfs Linux分區

#如果中文名無法顯示嘗試在最後增加 -o nls=utf8 或 -o iocharset=utf8

#如果需要掛載後,普通用戶也可以使用,在 -o 的參數後面增加 ,umask=022 如:-o nls=utf8,umask=022

分區卸載

sudo umount 目錄名或設備名

只讀掛載ntfs分區

sudo mount -t ntfs -o nls=utf8,umask=0 /dev/sdb1 /mnt/c

可寫掛載ntfs分區

sudo mount -t ntfs-3g -o locale=zh_CN.utf8,umask=0 /dev/sdb1 /mnt/c

掛載fat32分區

sudo mount -t vfat -o iocharset=utf8,umask=0 /dev/sda1 /mnt/c

掛載共享文件

sudo mount -t smbfs -o username=xxx,password=xxx,iocharset=utf8 //192.168.1.1/share /mnt/share

掛載ISO文件

sudo mount -t iso9660 -o loop,utf8 xxx.iso /mnt/iso

查看IDE硬碟信息

sudo hdparm -i /dev/sda

查看軟raid陣列信息

cat /proc/mdstat

參看硬raid陣列信息

dmesg |grep -i raid

cat /proc/scsi/scsi

查看SATA硬碟信息

sudo hdparm -I /dev/sda



sudo apt-get install blktool

sudo blktool /dev/sda id

查看硬碟剩餘空間

df

df --help 顯示幫助

查看目錄佔用空間

-hs 目錄名

閃盤沒法卸載

sync

fuser -km /media/閃盤卷標

使用文件來增加交換空間

#創建一個512M的交換文件 /swapfile

sudo dd if=/dev/zero of=/swapfile bs=1M count=512

sudo mkswap /swapfile

sudo swapon /swapfile

#sudo vim /etc/fstab #加到fstab文件中讓系統引導時自動啟動

/swapfile swap swap defaults 0 0

查看硬碟當前讀寫情況

# 首先安裝 sysstat 包

sudo apt-get install sysstat

#每2秒刷新一次

sudo iostat -x 2

測試硬碟的實際寫入速度

dd if=/dev/zero of=test bs=64k count=512 oflag=dsync

進程

查看當前的內存使用情況

free

連續監視內存使用情況

watch -d free

# 使用 Ctrl + c 退出

動態顯示進程執行情況

top

top指令運行時輸入H或?打開幫助窗口,輸入Q退出指令。

查看當前有哪些進程

ps -AFL

查看進程的啟動時間

ps -A -opid,stime,etime,args

查看目前登入用戶運行的程序

w

查看當前用戶程序實際內存佔用,並排序

ps -u $USER -o pid,rss,cmd --sort -rss

統計程序的內存耗用

ps -eo fname,rss|awk '{arr[$1]+=$2} END {for (i in arr) {print i,arr[i]}}'|sort -k2 -nr

按內存從大到小排列進程

ps -eo "%C : %p : %z : %a"|sort -k5 -nr

列出前十個最耗內存的進程

ps aux | sort -nk +4 | tail

按cpu利用率從大到小排列進程

ps -eo "%C : %p : %z : %a"|sort -nr

ps aux --sort -pcpu |head -n 20

查看當前進程樹

pstree

中止一個進程

kill 進程號(就是ps -A中的第一列的數字)

或者 killall 進程名

強制中止一個進程(在上面進程中止不成功的時候使用)

kill -9 進程號

或者 killall -9 進程名

圖形方式中止一個程序

xkill 出現骷髏標志的滑鼠,點擊需要中止的程序即可

查看進程打開的文件

lsof -p 進程的pid

顯示開啟文件abc.txt的進程

lsof abc.txt

顯示22埠現在運行什麼程序

lsof -i :22

顯示nsd進程現在打開的文件

lsof -c nsd

在後台運行程序,退出登錄後,並不結束程序

nohup 程序 &

#查看中間運行情況tail nohup

在後台運行互動式程序,退出登錄後,並不結束程序

sudo apt-get install screen

screen vim a.txt

#直接退出後使用

screen -ls # 2208pxs-0.ubuntu (Detached)

screen -r 1656 #恢復

#熱鍵,同時按下Ctrl和a鍵結束後,再按下功能鍵

C-a ? #顯示所有鍵綁定信息

C-a w #顯示所有窗口列表

C-a C-a #切換到之前顯示的窗口

C-a c #創建一個新的運行shell的窗口並切換到該窗口

C-a n #切換到下一個窗口

C-a p #切換到前一個窗口(與C-a n相對)

C-a 0..9 #切換到窗口0..9

C-a a #發送 C-a到當前窗口

C-a d #暫時斷開screen會話

C-a k #殺掉當前窗口

在後台運行互動式程序,退出登錄後,並不結束程序

tmux 進入後再運行其它命令

tmux attach #恢復

#熱鍵,同時按下Ctrl和b鍵結束後,再按下功能鍵

C-b c #創建一個新的運行shell的窗口並切換到該窗口

C-b n #切換到下一個窗口

C-b p #切換到前一個窗口(與C-a n相對)

C-b 0..9 #切換到窗口0..9

C-b d #暫時斷開會話

C-b & #殺掉當前窗口

詳細顯示程序的運行信息

strace -f -F -o outfile

增加系統最大打開文件個數

#ulimit -SHn

sudo vim /etc/security/limits.conf

文件尾追加

* hard nofile 4096

* soft nofile 4096

sudo vim /etc/pam.d/su

將 pam_limits.so 這一行注釋去掉

重起系統

清除僵屍進程

ps -eal | awk '{ if ($2 == "Z") {print $4}}' | xargs sudo kill -9

將大於120M內存的php-cgi都殺掉

ps -eo pid,fname,rss|grep php-cgi|grep -v grep|awk '{if($3>=120000) print $1}' | xargs sudo kill -9

Linux系統中如何限制用戶進程CPU佔用率

renice +10 `ps aux | awk '{ if ($3 > 0.8 && id -u $1 > 500) print $2}'`

#或直接編輯/etc/security/limits.conf文件。 ;

③ 在Linux環境下用at命令讓系統在當前時間5分鍾後將/root目錄下的install.log文

at now + 5 minutes cp /root/install.log /home/
at是命令
now是現在
+5 minutes就是加5分鍾後
cp 是復制的命令
寫是這樣寫,在shell中一般
at now + 5 minutes 直接按回車,寫入代碼
ctrl+d退出

④ Linux怎樣在某一特定時間執行命令(使用at」

簡介

at定時任務,指定一個時間執行一個任務,只能執行一次。需要安裝at服務,apt-get install at;

創建at任務

創建at任務方式有兩種,從文件輸入和從控制台輸入。以下分別用兩種方式創建1分鍾後將當前時間寫入 home/result 文件的命令

1、從文件輸入

附錄

1、at時間定義

at允許使用一套相當復雜的指定時間的方法。
1)能夠接受在當天的hh:mm(小時:分鍾)式的時間指定。假如該時間已過去,那麼就放在第二天執行。例如:04:00
2)能夠使用midnight(深夜),noon(中午),teatime(飲茶時間,一般是下午4點)等比較模糊的詞語來指定時間。
3)能夠採用12小時計時制,即在時間後面加上AM(上午)或PM(下午)來說明是上午還是下午。例如:12pm
4)能夠指定命令執行的具體日期,指定格式為month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年),指定的日期必須跟在指定時間的後面。例如:04:00 2009-03-1
5)能夠使用相對計時法。指定格式為:now + count time-units ,now就是當前時間,time-units是時間單位,這里能夠是minutes(分鍾)、hours(小時)、days(天)、weeks(星期)。count是時間的數量,幾天,幾小時。例如:now + 5 minutes 04pm + 3 days
6)能夠直接使用today(今天)、tomorrow(明天)來指定完成命令的時間。

⑤ 在Linux里使用at命令,提示未安裝,怎麼用sudo apt install安裝啊

sudoaptinstallat

⑥ 關於linux的 install命令

Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁碟操作、文件存取、目
錄操作、進程管理、文件許可權設定等。所以,在Linux系統上工作離不開使用系統提供的命
令。要想真正理解Linux系統,就必須從Linux命令學起,通過基礎的命令學習可以進一步理
解Linux系統。

不同Linux發行版的命令數量不一樣,但Linux發行版本最少的命令也有200多個。這里筆者
把比較重要和使用頻率最多的命令,按照它們在系統中的作用分成下面六個部分一一介紹。

◆ 安裝和登錄命令:login、shutdown、halt、reboot、install、mount、umount、chsh、
exit、last;

◆ 文件處理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;

◆ 系統管理相關命令:df、top、free、quota、at、lp、adser、groupadd、kill、
crontab;

◆ 網路操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、
finger、mail、 nslookup;

◆ 系統安全相關命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、
who;

◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。

本文以Mandrake Linux 9.1(Kenrel 2.4.21)為例,介紹Linux下的安裝和登錄命令。

login

1.作用

login的作用是登錄系統,它的使用許可權是所有用戶。

2.格式

login [name][-p ][-h 主機名稱]

3.主要參數

-p:通知login保持現在的環境參數。

-h:用來向遠程登錄的之間傳輸用戶名。

如果選擇用命令行模式登錄Linux的話,那麼看到的第一個Linux命令就是login:。

一般界面是這樣的:

Manddrake Linux release 9.1(Bamboo) for i586
kennel 2.4.21-0.13mdk on i686 / tty1
localhost login:root
password:

上面代碼中,第一行是Linux發行版本號,第二行是內核版本號和登錄的虛擬控制台,我們
在第三行輸入登錄名,按「Enter」鍵在Password後輸入賬戶密碼,即可登錄系統。出於安
全考慮,輸入賬戶密碼時字元不會在屏幕上回顯,游標也不移動。

登錄後會看到下面這個界面(以超級用戶為例):

[root@localhost root]#
last login:Tue ,Nov 18 10:00:55 on vc/1

上面顯示的是登錄星期、月、日、時間和使用的虛擬控制台。

4.應用技巧

Linux是一個真正的多用戶操作系統,可以同時接受多個用戶登錄,還允許一個用戶進行多
次登錄。這是因為Linux和許多版本的Unix一樣,提供了虛擬控制台的訪問方式,允許用戶
在同一時間從控制台(系統的控制台是與系統直接相連的監視器和鍵盤)進行多次登錄。每
個虛擬控制台可以看作是一個獨立的工作站,工作台之間可以切換。虛擬控制台的切換可以
通過按下Alt鍵和一個功能鍵來實現,通常使用F1-F6 。

例如,用戶登錄後,按一下「Alt F2」鍵,用戶就可以看到上面出現的「login:」提示符,
說明用戶看到了第二個虛擬控制台。然後只需按「Alt F1」鍵,就可以回到第一個虛擬控
制台。一個新安裝的Linux系統允許用戶使用「Alt F1」到「Alt F6」鍵來訪問前六個虛擬
控制台。虛擬控制台最有用的是,當一個程序出錯造成系統死鎖時,可以切換到其它虛擬控
制台工作,關閉這個程序。

shutdown

1.作用

shutdown命令的作用是關閉計算機,它的使用許可權是超級用戶。

2.格式

shutdown [-h][-i][-k][-m][-t]

3.重要參數

-t:在改變到其它運行級別之前,告訴init程序多久以後關機。

-k:並不真正關機,只是送警告信號給每位登錄者。

-h:關機後關閉電源。

-c:cancel current process取消目前正在執行的關機程序。所以這個選項當然沒有時間
參數,但是可以輸入一個用來解釋的訊息,而這信息將會送到每位使用者。

-F:在重啟計算機時強迫fsck。

-time:設定關機前的時間。

-m: 將系統改為單用戶模式。

-i:關機時顯示系統信息。

4.命令說明

shutdown命令可以安全地將系統關機。有些用戶會使用直接斷掉電源的方式來關閉Linux系
統,這是十分危險的。因為Linux與Windows不同,其後台運行著許多進程,所以強制關機可
能會導致進程的數據丟失,使系統處於不穩定的狀態,甚至在有的系統中會損壞硬體設備(
硬碟)。在系統關機前使用 shutdown命令,系統管理員會通知所有登錄的用戶系統將要關
閉,並且login指令會被凍結,即新的用戶不能再登錄。

5.舉例

shutdown -h 3:40
說明 3:40開始關機。

halt

1.作用

halt命令的作用是關閉系統,它的使用許可權是超級用戶。

2.格式

halt [-n] [-w] [-d] [-f] [-i] [-p]

3.主要參數說明

-n:防止sync系統調用,它用在用fsck修補根分區之後,以阻止內核用老版本的超級塊覆
蓋修補過的超級塊。

-w:並不是真正的重啟或關機,只是寫wtmp(/var/log/wtmp)紀錄。

-f:沒有調用shutdown,而強制關機或重啟。

-i:關機(或重啟)前,關掉所有的網路介面。

-f:強迫關機,不呼叫shutdown這個指令。

-p: 當關機的時候順便做關閉電源的動作。

-d:關閉系統,但不留下紀錄。

4.命令說明

halt就是調用shutdown -h。halt執行時,殺死應用進程,執行sync(將存於buffer中的資
料強制寫入硬碟中)系統調用,文件系統寫操作完成後就會停止內核。若系統的運行級別為
0或6,則關閉系統;否則以shutdown指令(加上-h參數)來取代。

reboot

1.作用

reboot命令的作用是重新啟動計算機,它的使用許可權是系統管理者。

2.格式

reboot [-n] [-w] [-d] [-f] [-i]

3.主要參數

-n: 在重開機前不做將記憶體資料寫回硬碟的動作。

-w: 並不會真的重開機,只是把記錄寫到/var/log/wtmp文件里。

-d: 不把記錄寫到/var/log/wtmp文件里(-n這個參數包含了-d)。

-i: 在重開機之前先把所有與網路相關的裝置停止。

install

1.作用

install命令的作用是安裝或升級軟體或備份數據,它的使用許可權是所有用戶。

2.格式

(1)install [選項]... 來源 目的地

(2)install [選項]... 來源... 目錄

(3)install -d [選項]... 目錄...

在前兩種格式中,會將

⑦ linux命令詳解之at

Linux下,有兩個命令可以用來作為計劃任務而執行,

要使用一次性任務計劃,linux必須要有負責這個計劃任務的服務,那就是atd服務
但是並非所有的linux distribution都默認會打開,我們需要手動激活愛聽的任務

如果服務未安裝,則需要手動安裝
#:yum install - y at 或 #:apt-get install at

如果擔心啟動是否執行OK的話,可使用命令查看:
#:ps aux |grep atd
或者使用
systemctl status atd
# 查閱一下 atd 目前的狀態,Active 狀態應是 running

使用 at 這個指令來產生所要運行的工作,並 將這個工作以文本文件的方式寫入 /var/spool/cron/atjobs/ 目錄內,該工作便能等待 atd 這個服務的取用與執行了。 不過,因為安全的理由,並不是所有的人都可以進行 at 工作調度!
at 的使用限制是利用 /etc/at.allow 與 /etc/at.deny 這兩個文件來進行的! 加上這兩個文件後,at 的工作情況其實是這樣的:

在一般的 distributions 當中,由於假設系統上的所有用戶都是可信任的,因此系統通常會保留一個空的 /etc/at.deny 文件,意思是允 許所有人使用 at 指令的意思 (您可以自行檢查一下該文件)。 不過,萬一你不希望有某些 使用者使用 at 的話,將那個使用者的帳號寫入 /etc/at.deny 即可! 一個帳號寫一行。

單一工作調度的進行就使用 at 這個指令!這個指令的運行非常簡單!將 at 加上一個時間即可!基本的語法如下:

事實上,當我們使用 at 時會進入一個 at shell 的環境來讓使用者下達工作指令,此時,建議 你最好使用絕對路徑來下達你的指令,比較不會有問題!由於指令的下達與 PATH 變數有關, 同時與當時的工作目錄也有關連 (如果有牽涉到文件的話),因此使用絕對路徑來下達 指令,會是比較一勞永逸的方法。 舉例來說,你在 /tmp 下達 at now 然後輸入 mail -s "test" root < .bashrc , 問一下,那個 .bashrc 的文件會是在哪裡?答案是 /tmp/.bashrc !因為 at 在運行時,會跑到當時下達 at 指令的那個工作目錄運行!

要注意的是,如果在 at shell 內的指令並沒有任何的訊息輸出,那麼 at 默認不會發 email 給執行者的。 如果你想要讓 at 無論如何都發一封 email 告知你是否執行了指令,那麼 可以使用「 at -m 時間格式 」來下達指令! at 就會傳送一個訊息給執行者,而不論該指令執行有無訊息輸出了!

如果要在某某時刻,在我的終端機顯示出 Hello 的字樣,可以通過終端機的設備來處理!假如你在 tty1 登陸(在命令行裡面輸入 tty 可以查看),則可以使用 echo "Hello" > /dev/tty1 。

at 有另外一個很棒的優點, 由於 at 工作調度的使用上,系統會將該項 at 工作獨立出你的 bash 環境中, 直接交給系統的 atd 程序來接管,因此,當你下達了 at 的工作之後就可以立刻離線了, 剩下的工作就完全交 給 Linux 管理即可!所以如果有長時間的網路工作時,使用 at 可以讓你免除網路斷線後的困擾。

其實 batch 是利用 at 來進行指令的下達!只是加入一些控制參數而已。這個 batch 神奇的地方在於:他會在 CPU 的工作負載小於 0.8 的時候,才進行你所下達的工作任務啦!

那什麼是工作負載 0.8 呢?這個工作負載的意思是: CPU 在單一時間點所負責的工作數量。不是CPU 的使用率喔! 舉例來說,如果我有一隻程序他需要一直使用 CPU 的運算功能,那麼此 時 CPU 的使用率可能到達 100% , 但是 CPU 的工作負載則是趨近於「 1 」,因為 CPU 僅負責一個工作!如果同時執行這樣的程序兩支呢? CPU 的使用率還是 100% ,但是工作負載 則變成 2 了! 所以也就是說,當 CPU 的工作負載越大,代表 CPU 必須要在不同的工作之間進行頻繁的工 作切換。 因為一直切換 工作,所以會導致系統忙碌啊! 系統如果很忙碌,還要額外進行 at ,不太合理!所以才有 batch 指令的產生!

下面來實驗一下 batch 好了!為了產生 CPU 較高的工作負載,我們用了 計算 pi 的腳本,連續執行 4 次這只程序, 來模擬高負載,然後看看batch 的工作現象。

使用 uptime 可以觀察到 1, 5, 15 分鍾的「平均工作負載」量,因為是平均值,所以當我們如上 表刪除掉四個工作後,工作負載不會立即降低, 需要一小段時間讓這個 1 分鍾平均值慢慢回 復到接近 0 啊!當小於 0.8 之後的「整分鍾時間」時,atd 就會將 batch 的工作執行掉了!
什麼是「整分鍾時間」呢?不論是 at 還是 crontab,他們最小的時間單位是「分 鍾」,所以,基本上,他們的工作是「每分鍾檢查一次」來處理的! 就是整分 (秒為 0 的時候),同時,你會發現其實 batch 也是使用 atq/atrm 來管理的!

⑧ linux中at命令

linux
at
命令詳解
使用方式
:
at
-V
[-q
queue]
[-f
file]
[-mldbv]
TIME
說明
:
at
可以讓使用者指定在
TIME
這個特定時刻執行某個程序或指令,TIME
的格式是
HH:MM其中的
HH
為小時,MM
為分鍾,甚至你也可以指定
am,
pm,
midnight,
noon,
teatime(就是下午
4
點鍾)等口語詞。
如果想要指定超過一天內的時間,則可以用
MMDDYY
或者
MM/DD/YY
的格式,其中
MM
是分鍾,DD
是第幾日,YY
是指年份。另外,使用者甚至也可以使用像是
now
+
時間間隔來彈性指定時間,其中的時間間隔可以是
minutes,
hours,
days,
weeks。
另外,使用者也可指定
today

tomorrow
來表示今天或明天。當指定了時間並按下
enter
之後,at
會進入交談模式並要求輸入指令或程序,當你輸入完後按下
ctrl+D
即可完成所有動作,至於執行的結果將會寄回你的帳號中。
參數
:
-V
:
印出版本編號
-q
:
使用指定的佇列(Queue)來儲存,at
的資料是存放在所謂的
queue
中,使用者可以同時使用多個
queue,而
queue
的編號為
a,
b,
c...
z
以及
A,
B,
...
Z

52

-m
:
即使程序/指令執行完成後沒有輸出結果,
也要寄封信給使用者
-f
file
:
讀入預先寫好的命令檔。使用者不一定要使用交談模式來輸入,可以先將所有的指定先寫入檔案後再一次讀入
-l
:
列出所有的指定
(使用者也可以直接使用
atq
而不用
at
-l)
-d
:
刪除指定
(使用者也可以直接使用
atrm
而不用
at
-d)
-v
:
列出所有已經完成但尚未刪除的指定

⑨ linux.at 命令怎麼用

一次性定時計劃任務的at命令的用法!
1.命令格式:
at[參數][時間]
2.命令功能:
在一個指定的時間執行一個指定任務,只能執行一次,且需要開啟atd進程(
ps -ef | grep atd查看, 開啟用/etc/init.d/atd start or restart; 開機即啟動則需要運行 chkconfig --level 2345 atd on)。
3.命令參數:
-m 當指定的任務被完成之後,將給用戶發送郵件,即使沒有標准輸出
-I atq的別名
-d atrm的別名
-v 顯示任務將被執行的時間
-c 列印任務的內容到標准輸出
-V 顯示版本信息
-q<列隊> 使用指定的列隊
-f<文件> 從指定文件讀入任務而不是從標准輸入讀入
-t<時間參數> 以時間參數的形式提交要運行的任務 《Linux就該這么學》
使用實例:
實例1:三天後的下午 5 點鍾執行 /bin/ls
命令:
at 5pm+3 days
輸出:
[root@localhost ~]# at 5pm+3 days
at> /bin/ls
at> <EOT>
job 7 at 2013-01-08 17:00
[root@localhost ~]#
說明:
實例2:明天17點鍾,輸出時間到指定文件內
命令:
at 17:20 tomorrow
輸出:
[root@localhost ~]# at 17:20 tomorrow
at> date >/root/2013.log
at> <EOT>
job 8 at 2013-01-06 17:20

熱點內容
存儲推薦 發布:2025-03-13 17:50:48 瀏覽:20
調用javawebservice 發布:2025-03-13 17:46:20 瀏覽:399
手機刪除軟體為什麼存儲空間不足 發布:2025-03-13 17:18:37 瀏覽:607
wifi密碼怎麼顯示密碼錯誤 發布:2025-03-13 17:02:21 瀏覽:316
怎麼清理手機微信存儲空間 發布:2025-03-13 16:52:08 瀏覽:798
教學直播源碼 發布:2025-03-13 16:52:06 瀏覽:446
代碼是否能進行編譯 發布:2025-03-13 16:48:12 瀏覽:858
sql2005安裝組件 發布:2025-03-13 16:33:54 瀏覽:231
JavastreamList 發布:2025-03-13 16:32:57 瀏覽:125
多sql 發布:2025-03-13 16:09:04 瀏覽:240