为您找到与linux执行定时任务命令相关的共200个结果:
在web开发过程中,经常需要设定一些定期执行的任务,那么linux怎么添加计划任务执行php文件呢?读文网小编分享了linux添加计划任务执行php文件的方法,希望对大家有所帮助。
1.打开linux系统命令行界面。
在命令行界面中输入如下命令:which php,回车。
1.记住上一步的php路径,继续在命令行下输入:crontab -e,回车,按下“i”键进入vi编辑器的编辑模式,在当前模式下输入如下命令:
10,40,50 * * * * /usr/bin/php /opt/lampp/htdocs/wechat/xjtest-web_browser/pcntl_test.php
即:计划任务执行频率+php可执行文件路径+要执行的php文件路径。(文章最后会详细解释命令开始的执行频率)
输入完成后,按下“ESC”键并在当前命令行输入“:”,在“:”后输入“wq”,再回车,出现如下提示,证明计划任务添加成功。
Linux计划任务的执行频率:
命令开始部分的频率,由五个部分组成,分别代表分钟、小时、日、月、星期(0是星期日)。当前频率全部执行时,用“*”表示,所以才会出现这么多“*”。下面的例子,可以帮助大家理解:
下面的计划任务会一直运行
* * * * * [command]
下面的计划任务会在每个小时的0分时运行(就是每小时执行一次)
0 * * * * [command]
下面依旧是一个每小时运行一次的计划任务。不过是在每个小时的一刻钟时运行的(1:15,2:15.。。)
15 * * * * [command]
下面的计划任务每天执行一次,在2:30分
30 2 * * * [command]
下面的计划任务是在每个月2号的午夜执行(比如:2010年2月2日00:00)
0 0 2 * * [command]
下面的计划任务会在每周一的每个小时0分钟时执行一次
0 * * * 1 [command]
下面的会每小时运行3次,在0分,10分,和20分时
0,10,20 * * * * [command]
下面是用除号“/”表示每多少运行一次。本例是每5分钟运行一次
*/5 * * * * [command]
还可以用“-”表示一个范围,如下表示5到10点的每个整点运行一次
0 5-10 * * * [command]
另外还有一个特殊的时间关键字“@reboot”,就是每次重启服务器时运行计划任务
@reboot [command]
看过“linux怎么添加计划任务执行php文件”
浏览量:4
下载量:0
时间:
定时执行操作命令,每一个用户拥有自己的crontab,那么大家知道怎么看crontab定时任务是否执行呢?接下来大家跟着读文网小编一起来了解一下的看crontab定时任务是否执行解决方法吧。
1、针对Linux系统的查询方法(含Redhat、SUSE)
看 /var/log/cron这个文件就可以,可以用tail -f /var/log/cron观察
配图为系统aix root用户默认的crontab
2、针对UINX系统查询方法(AIX、HP-UX)
在 /var/spool/cron/tmp文件中,有croutXXX00999的tmp文件,tail 这些文件就可以看到正在执行的任务了。
33. mail任务(Linux UNIX)在 /var/spool/mail/root 文件中,有crontab执行日志的记录,用tail -f /var/spool/mail/root 即可查看最近的crontab执行情况。
注意事项
其实最简单的方法还有将crontab的任务执行采用累加的方式输出到一个日志中
注意crontab里定时执行的脚本有足够的权限,如未正常执行,需要常看其日志
看过“怎么看crontab定时任务是否执行”
浏览量:3
下载量:0
时间:
crontab命令的功能是在一定的时间间隔调度一些命令的执行。那么crontab命令怎么处理定时任务呢?下面跟着读文网小编来一起了解下吧。
定时执行操作命令,每一个用户拥有自己的crontab,配置文件存在/var下面,不能被直接编辑。
-e 设置计时器
-l 列出当前计时器的设置
-r 删除计时器的设置
-i 交互式模式,删除计时器设置时要先询问
第1列 第2列 3 4 5 6
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
crontab书写規则的例子很多,以下从网上找的,偷懒一下,嘿嘿
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启lighttpd 。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启lighttpd 。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启lighttpd 。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启lighttpd 。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启lighttpd 。
0 * * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启lighttpd
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启lighttpd
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启lighttpd
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启lighttpd
特殊符号
符号 含义
* 表示任意时间都可以
- 表示取值范围
例如:
00 17-19 * * * 表示17 18 19都执行任务, 表示分隔时间.
例如
30 17,18,19 * * * 表示17.30 18.30 19.30执行/n n代表数字,表示每隔多久执行一次
例1
代码如下:
[root@localhost ~]# crontab -l #查看定时运行的程序
59 23 * * * /bin/sh /var/www/database/bak.sh
59 3 * * * /bin/sh /var/www/database/mylinux.sh
59 5 * * 0 /sbin/reboot
代码如下:
[root@localhost ~]# crontab -e #添加,编辑
例2
设置crontab 每分钟定时执行之类的问题 ,今天我就贴了上来方便大家使用,会的同学就飘过吧
每五分钟执行 */5 * * * *
每小时执行 0 * * * *
每天执行 0 0 * * *
每周执行 0 0 * * 0
每月执行 0 0 1 * *
每年执行 0 0 1 1 *
看过“crontab命令怎么处理定时任务”
浏览量:3
下载量:0
时间:
linux系统怎么添加计划任务执行php文件?PHP不支持多线程,有时候处理问题不是那么爽,读文网小编以php文件为例,讲解linux下的计划任务。
1.打开linux系统命令行界面。
在命令行界面中输入如下命令:which php,回车。
1.记住上一步的php路径,继续在命令行下输入:crontab -e,回车,按下“i”键进入vi编辑器的编辑模式,在当前模式下输入如下命令:
10,40,50 * * * * /usr/bin/php /opt/lampp/htdocs/wechat/xjtest-web_browser/pcntl_test.php
即:计划任务执行频率+php可执行文件路径+要执行的php文件路径。(文章最后会详细解释命令开始的执行频率)
输入完成后,按下“ESC”键并在当前命令行输入“:”,在“:”后输入“wq”,再回车,出现如下提示,证明计划任务添加成功。
Linux计划任务的执行频率:
命令开始部分的频率,由五个部分组成,分别代表分钟、小时、日、月、星期(0是星期日)。当前频率全部执行时,用“*”表示,所以才会出现这么多“*”。下面的例子,可以帮助大家理解:
下面的计划任务会一直运行
* * * * * [command]
下面的计划任务会在每个小时的0分时运行(就是每小时执行一次)
0 * * * * [command]
下面依旧是一个每小时运行一次的计划任务。不过是在每个小时的一刻钟时运行的(1:15,2:15.。。)
15 * * * * [command]
下面的计划任务每天执行一次,在2:30分
30 2 * * * [command]
下面的计划任务是在每个月2号的午夜执行(比如:2010年2月2日00:00)
0 0 2 * * [command]
下面的计划任务会在每周一的每个小时0分钟时执行一次
0 * * * 1 [command]
下面的会每小时运行3次,在0分,10分,和20分时
0,10,20 * * * * [command]
下面是用除号“/”表示每多少运行一次。本例是每5分钟运行一次
*/5 * * * * [command]
还可以用“-”表示一个范围,如下表示5到10点的每个整点运行一次
0 5-10 * * * [command]
另外还有一个特殊的时间关键字“@reboot”,就是每次重启服务器时运行计划任务
@reboot [command]
看过“linux系统怎么添加计划任务执行php文件”
浏览量:2
下载量:0
时间:
在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。那么使用crontab怎么定时执行任务?下面跟着读文网小编一起来了解一下吧。
cron的配置文件称为“crontab”,是“cron table”的简写。cron在3个地方查找配置文件:
1、/var/spool/cron/ 这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如tom建的crontab任务对应的文件就是/var/spool/cron/tom。
一般一个用户最多只有一个crontab文件。
基本格式 :
*****command
分时日月周命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
crontab文件的一些例子:
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启apache。
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启apache
名称 : crontab
使用权限 : 所有使用者
使用方式 :
crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。
crontab文件的格式:M H D m d cmd.
M: 分钟(0-59)。
H:小时(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)。
cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量
说明 :
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定
user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设
定自己的时程表。
参数 :
crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数
来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
crontab -r : 删除目前的时程表
crontab -l : 列出目前的时程表
crontab file [-u user]-用指定的文件替代目前的crontab。
时程表的格式如下 :
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执
行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推
使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。
例子 :
#每天早上7点执行一次 /bin/ls :
0 7 * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata
每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"
注意 :
当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之
后加上 > /dev/null 2>&1 即可
例子2 :
#每天早上6点10分
10 6 * * * date
#每两个小时
0 */2 * * * date
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date
#1月份日早上4点
0 4 1 jan * date
范例
$crontab -l 列出用户目前的crontab.
看过“ 使用crontab怎么定时执行任务 ”
浏览量:3
下载量:0
时间:
crontab命令的功能是在一定的时间间隔调度一些命令的执行。。那么使用crontab怎么定时执行任务?下面跟着读文网小编一起来了解一下吧。
cron的配置文件称为“crontab”,是“cron table”的简写。cron在3个地方查找配置文件:
1、/var/spool/cron/ 这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如tom建的crontab任务对应的文件就是/var/spool/cron/tom。
一般一个用户最多只有一个crontab文件。
1.1 /etc/crontab 文件
在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。
如:
[root@dave ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
1.2 /etc/cron.deny 和 /etc/cron.allow 文件
/etc/cron.deny 表示不能使用crontab 命令的用户
/etc/cron.allow 表示能使用crontab的用户。
如果两个文件同时存在,那么/etc/cron.allow 优先。
如果两个文件都不存在,那么只有超级用户可以安排作业。
每个用户都会生成一个自己的crontab 文件。这些文件在/var/spool/cron目录下:
如:
[root@dave ~]# cd /var/spool/cron
[root@dave cron]# ls
oracle root
我们直接查看这个文件,里面的内容和对应用户显示的crontab -l 一致。
[root@dave cron]# cat oracle
00 6 * * * /u02/scripts/del_st_archive.sh >/u02/scripts/del_st_arch.log 2>&1
[root@dave cron]# cat root
0 12 * * * /root/bin/sync-clock.sh
[root@dave cron]#
二. Crontab 使用说明
2.1 Crontab语法
usage: crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
(default operation is replace, per 1003.2)
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)
-i (prompt before deleting user's crontab)
-s (selinux context)
其中,file是命令文件的名字。如果在命令行中指定了这个文件,那么执行crontab命令,则将这个文件拷贝到crontabs目录下;如果在命令行中没有制定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将他们也存放在crontab目录下。
帮助:
[root@dave ~]# man crontab
CRONTAB(1) CRONTAB(1)
NAME
crontab - maintain crontab files for individual users (ISC Cron V4.1)
SYNOPSIS
crontab [-u user] file
crontab [-u user] [-l | -r | -e] [-i] [-s]
DESCRIPTION
Crontab is the program used to install, deinstall or list the tables used to drive the cron(8) daemon in ISC Cron. Each user can have their own crontab, and though these are files in /var/spool/ , they are not intended to be edited directly. For SELinux in mls mode can be even more crontabs - for each range. For more see selinux(8).
If the cron.allow file exists, then you must be listed therein in order to be allowed to use this command. If the cron.allow file does not exist but the cron.deny file does exist, then you must not be listed in the cron.deny file in order to use this command. If neither of these files exists, only the super user will be allowed to use this command.
OPTIONS
-u It specifies the name of the user whose crontab is to be tweaked. If this option is not given, crontab examines "your" crontab, i.e., the crontab of the person executing the command. Note that su(8) can confuse crontab and that if you are running inside of su(8) you should always use the -u option for safety¡¯s sake. The first form of this command is used to install a new crontab from some named file or standard input if the pseudo-filename "-" is given.
-l The current crontab will be displayed on standard output.
-r The current crontab will be be removed.
-e This option is used to edit the current crontab using the editor specified by the VISUAL or EDITOR environment variables. After you exit from the edi-tor, the modified crontab will be installed automatically.
-i This option modifies the -r option to prompt the user for a ¡¯y/Y¡¯ response before actually removing the crontab.
-s It will append the current SELinux security context string as an MLS_LEVEL setting to the crontab file before editing / replacement occurs - see the documentation of MLS_LEVEL in crontab(5).
SEE ALSO
crontab(5), cron(8)
FILES
/etc/cron.allow
/etc/cron.deny
STANDARDS
The crontab command conforms to IEEE Std1003.2-1992 (¡®¡®POSIX¡¯¡¯). This new command syntax differs from previous versions of Vixie Cron, as well as from the classic
SVR3 syntax.
DIAGNOSTICS
A fairly informative usage message appears if you run it with a bad command line.
AUTHOR
Paul Vixie <vixie@isc.org>
4th Berkeley Distribution 16 Januar 2007 CRONTAB(1)
2.2 Crontab 格式说明
我们可以用crontab -e 添加要执行的命令。 命令执行的结果,无论是标准输出还是错误输出,都将以邮件形式发给用户。
添加的命令必须以如下格式:
* * * * * /command path
前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,即命令字段,其中包括了crontab调度执行的命令。 各个字段之间用spaces和tabs分割。
前5个字段分别表示:
分钟:0-59
小时:1-23
日期:1-31
月份:1-12
星期:0-6(0表示周日)
还可以用一些特殊符号:
*: 表示任何时刻
,:表示分割
-:表示一个段,如第二端里: 1-5,就表示1到5点
/n : 表示每个n的单位执行一次,如第二段里,*/1, 就表示每隔1个小时执行一次命令。也可以写成1-23/1.
一些示例:
00 8,12,16 * * * /data/app/scripts/monitor/df.sh
30 2 * * * /data/app/scripts/hotbackup/hot_database_backup.sh
10 8,12,16 * * * /data/app/scripts/monitor/check_ind_unusable.sh
10 8,12,16 * * * /data/app/scripts/monitor/check_maxfilesize.sh
10 8,12,16 * * * /data/app/scripts/monitor/check_objectsize.sh
43 21 * * * 21:43 执行
15 05 * * * 05:15 执行
0 17 * * * 17:00 执行
0 17 * * 1 每周一的 17:00 执行
0,10 17 * * 0,2,3 每周日,周二,周三的 17:00和 17:10 执行
0-10 17 1 * * 毎月1日从 17:00到7:10 毎隔1分钟 执行
0 0 1,15 * 1 毎月1日和 15日和 一日的 0:00 执行
42 4 1 * * 毎月1日的 4:42分 执行
0 21 * * 1-6 周一到周六 21:00 执行
0,10,20,30,40,50 * * * *每隔10分 执行
*/10 * * * * 每隔10分 执行
* 1 * * * 从1:0到1:59 每隔1分钟 执行
0 1 * * * 1:00 执行
0 */1 * * * 毎时0分 每隔1小时 执行
0 * * * * 毎时0分 每隔1小时 执行
2 8-20/3 * * *8:02,11:02,14:02,17:02,20:02 执行
30 5 1,15 * * 1日 和 15日的 5:30 执行
2.3 & 后台执行命令
当在前台运行某个作业时,终端被该作业占据;而在后台运行作业时,它不会占据终端。可以使用&命令把作业放到后台执行。
如:
30 2 * * * /data/app/scripts/hotbackup/hot_database_backup.sh &
在后台运行作业时要当心:需要用户交互的命令不要放在后台执行,因为这样你的机器就会在那里傻等。
不过,作业在后台运行一样会将结果输出到屏幕上,干扰你的工作。如果放在后台运行的作业会产生大量的输出,最好使用下面的方法把它的输出重定向到某个文件中:
如:
command >out.file 2>&1 &
在这个例子中,2>&1表示所有的标准输出和错误输出都将被重定向到一个叫做out.file 的文件中。
2.4 2>&1 含义
先看一个例子:
0 2 * * * /u01/test.sh >/dev/null 2>&1 &
这句话的意思就是在后台执行这条命令,并将错误输出2重定向到标准输出1,然后将标准输出1全部放到/dev/null 文件,也就是清空。
在这里有有几个数字的意思:
0表示键盘输入
1表示标准输出
2表示错误输出.
我们也可以这样写:
0 2 * * * /u01/test.sh >/u01/out.file & --这里没写,默认是1
0 2 * * * /u01/test.sh 1>/u01/out.file &
0 2 * * * /u01/test.sh 2>/u01/out.file &
0 2 * * * /u01/test.sh 2>/u01/out.file 2>&1 &
将tesh.sh 命令输出重定向到out.file, 即输出内容不打印到屏幕上,而是输出到out.file文件中。
2>&1 是将错误输出重定向到标准输出。 然后将标准输入重定向到文件out.file。
&1 表示的是文件描述1,表示标准输出,如果这里少了&就成了数字1,就表示重定向到文件1。
& :后台执行
测试:
ls 2>1 : 不会报没有2文件的错误,但会输出一个空的文件1;
ls xxx 2>1: 没有xxx这个文件的错误输出到了1中;
ls xxx 2>&1: 不会生成1这个文件了,不过错误跑到标准输出了;
ls xxx >out.txt 2>&1 == ls xxx 1>out.txt 2>&1; 因为重定向符号>默认是1,这句就把错误输出和标准输出都传到out.txt 文件中。
2.5 2>&1写在后面的原因
格式:command > file 2>&1 == command 1> file 2>&1
首先是command > file将标准输出重定向到file中, 2>&1 是标准错误拷贝了标准输出,也就是同样被重定向到file中,最终结果就是标准输出和错误都被重定向到file中。
如果改成: command 2>&1 >file
2>&1 标准错误拷贝了标准输出的行为,但此时标准输出还是在终端。>file 后输出才被重定向到file,但标准错误仍然保持在终端。
看过“ 使用crontab定时任务命令详解 ”
浏览量:2
下载量:0
时间:
Linux系统操作中,定时删除过期文件能够释放空间内存,避免资源浪费,可使用命令实现,下面读文网小编就给大家介绍下Linux如何使用命令定时删除过期文件。
find /var/www/ -type f -mtime +30 -exec rm -f ‘{} ;’
以上命令删除30天以前的过期文件。
命令说明:
/var/www/是查找文件的路径。
-type f是指定文件类型为普通文件。
-mtime +30是指修改时间距离现在30天的文件。
-exec rm -f指执行删除匹配出来的文件并且不提示,有的系统需要带单引号,有的不需要。
将以上命令,添加到crontab中,即可实现定期删除了。
比如,每天的1点30分钟实现删除,可以这样:
代码如下:
#crontab -e
30 1 * * * find /var/www/ -type f -mtime +30 -exec rm -f ‘{} ;’
上面就是Linux使用命令定时删除过期文件的方法介绍了,在使用命令的时候,你可根据具体情况选择删除过期文件的时间,选好周期是关键。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
浏览量:3
下载量:0
时间:
对于初学者来说,Linux系统命令是主要学习的内容,在Linux众多命令中,有些命令可定时运行,下面读文网小编就给大家详细介绍下Linux中定时运行命令的用法,一起来了解下吧。
分钟 小时 天 月 星期 要执行的命令
前面五个参数中间用空格隔开,最后是要执行的命令。
详细的请参考下面
Crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序
使用cron服务,用 service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它,
cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务:
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务
比如说root查看自己的cron设置:crontab -u root -l
再例如,root想删除fred的cron设置:crontab -u fred -r
在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e
进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls 》》 /tmp/ls.txt
编辑/etc/crontab文件,在末尾加上一行: 30 5 * * * root init 6 这样就将系统配置为了每天早上5点30自动重新启动。
需要将crond设置为系统启动后自动启动的服务,可以在/etc/rc.d/rc.local 中,在末尾加上
代码如下:
service crond start
如果还需要在系统启动十加载其他服务,可以继续加上其他服务的启动命令。
比如:
代码如下:
service mysqld start
浏览量:2
下载量:0
时间:
今天读文网小编又给大家普及下linux定时运行命令的知识,那么下面就是小编的整合内容啦~希望大家能学习到:
代码如下:
#MIN HOUR DAY MONTH DAYOFWEEK COMMAND
#每天早上6点10分
10 6 * * * date
#每两个小时
0 */2 * * * date (solaris 5.8似乎不支持此种写法)
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date
#1月份日早上4点
0 4 1 jan * date
补充
在使用crontab的时候,要特别注意的是运行脚本中能够访问到的环境变量和当前测试环境中的环境变量未必一致,一个比较保险的做法是在运行的脚本程序中自行设置环境变量(export)
(1)先建一个文件crond.txt如下, 每天早上5点36分重新启动
36 5 * * * reboot
(2)上传到/opt目录
(3)运行命令
crontab /opt/crond.txt
crontab -l
让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后。也要重新启动cron服务器。
在Fedora 和Redhat中,我们应该用;
[root@localhost ~]# /etc/init.d/crond restart
如果让crond 在开机时运行,应该改变其运行级别;
[root@localhost ~]# chkconfig --levels 35 crond on
service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它, cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务
浏览量:2
下载量:0
时间:
less 与more命令类似,都可以通过翻页键查看上下页的内容,那么Linux的翻页命令more和less怎么使用呢?今天读文网小编与大家分享下Linux的翻页命令more和less使用的具体操作步骤,有需要的朋友不妨了解下。
more
more- 在显示器上阅读文件的过滤器[[ ]]
总览 (SYNOPSIS)
more[-dlfpcsu] [-num] [+/ pattern] [+ linenum] [file ...][[ ]]
描述 (DESCRIPTION)
More是 一个 过滤器, 用于 分页 显示 (一次一屏) 文本. 这个 版本 非常 基本. 用户 应该 知道 less(1) 提供了 more(1) 的 模拟, 并且 做了 增强.[[ ]]
选项 (OPTION)
下面 介绍 命令行选项. 选项 可以 从 环境变量MORE中获取 (要 确保 它们 以 短横线 开头 (``-)), 但是 命令行选项 能够 覆盖 它们.
-num
这个选项指定屏幕的行数 (以整数表示).
-d
让 more 给 用户 显示 提示信息 "[Press space to continue, 'q' to quit.]", 当 用户 按下 其他键 时, 显示 "[Press 'h' for instructions.]", 而不是 扬声器 鸣笛.
-l
More 在 通常情况下 把 ^L (form feed) 当做 特殊字符, 遇到 这个字符 就会 暂停. -l 选项 可以 阻止 这种特性.
-f
使 more 计数 逻辑行, 而不是 屏幕行 (就是说, 长行 不会 断到 下一行).
-p
不卷屏, 而是 清除 整个屏幕, 然后 显示 文本.
-c
不卷屏, 而是 从 每一屏的 顶部 开始 显示 文本, 每 显示完 一行, 就 清除 这一行的 剩余部分.
-s
把 重复的空行 压缩成 一个 空行.
-u
防止下划线.
+/
在 显示 每个文件 前, 搜索 +/ 选项 指定的 文本串.
+num
从行号 num 开始显示.
[[ ]]
命令 (COMMAND)
more的交互命令基于 vi(1). 有些命令 以 一个 十进制数字 开始, 在 下面的描述 里 称之为 k. 后面的 描述中, ^X 指 control-X.
h or ?
帮助: 显示 这些 命令 的 摘要. 你 如果 忘掉 所有 其他的命令, 请记住这个.
SPACE
显示 接下来的 k 行文本. 缺省值 是 当前的屏幕大小.
z
显示 接下来的 k 行文本. 缺省值 是 当前的屏幕大小. 参数 成为 新的缺省值.
RETURN
显示 接下来的 k 行文本. 缺省值 是 1. 参数 成为 新的缺省值.
d or ^D
卷屏 k 行. 缺省值 是 当前的 卷屏大小, 初始化为 11. 参数 成为 新的缺省值.
q 或 Q 或 INTERRUPT
退出.
s
向前跳过 k 行文本. 缺省值 是 1.
f
向前跳过 k 屏文本. 缺省值 是 1.
b or ^B
向后跳回 k 屏文本. 缺省值 是 1.
跳到 上一次 搜索 开始 的 地方.
=
显示当前行号.
/ pattern
搜索 第 k 个 符合 正则表达式的 文本串. 缺省值 是 1.
n
搜索 最后 第 k 个 符合 正则表达式的 文本串. 缺省值 是 1.
! or :!
在子 shell 中执行 .
v
启动 /usr/bin/vi, 指向 当前行.
^L
刷新屏幕.
:n
跳到 后面 第 k 个 文件. 缺省值 是 1.
:p
跳到 前面 第 k 个 文件. 缺省值 是 1.
:f
显示 当前文件名 和 行号.
.
重复上次命令.
[[ ]]
环境 (ENVIRONMENT)
More利用 下面的 环境变量 (如果 它们 存在):
MORE
这个变量 设置 你 喜欢的 more 选项.
SHELL
当前使用的 shell (一般说来 就是 登录 shell).
TERM
指定 终端类型, more 用它来 获取 操作屏幕 所需的 终端特性
例:
代码如下:
[root@localhost zhangy]# more test.php #查看文件
[root@localhost zhangy]# netstat -tpnl |more #常用方式,分页显示
less
less 与more命令类似,但可以通过翻页键查看上下页的内容
-b<缓冲区大小> 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o<文件名> 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
-S 行过长时间将超出部分舍弃
-x<数字> 将“tab”键显示为规定的数字空格
命令内部操作
按键功能如下:
b 向后翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一页
1) 向前搜索
/ : 使用一个模式进行搜索,并定位到下一个匹配的文本
n : 向前查找下一个匹配的文本
N : 向后查找前一个匹配的文本
2) 向后搜索
? : 使用模式进行搜索,并定位到前一个匹配的文本
n : 向后查找下一个匹配的文本
N : 向前查找前一个匹配的文本
2 全屏导航
ctrl + F :向前移动一屏
ctrl + B :向后移动一屏
ctrl + D :向前移动半屏
ctrl + U :向后移动半屏
3 单行导航
j : 向前移动一行
k : 向后移动一行
4 其它导航
G : 移动到最后一行
g : 移动到第一行
q / ZZ : 退出 less 命令
5 编辑文件
v : 进入编辑模式,使用配置的编辑器编辑当前文件
6 标记导航
当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置。
ma : 使用 a 标记文本的当前位置
'a : 导航到标记 a 处
7 浏览多个文件
方式一,传递多个参数给 less,就能浏览多个文件。
less file1 file2
方式二,正在浏览一个文件时,使用 :e 打开另一个文件。
less file1
:e file2
当打开多个文件时,使用如下命令在多个文件之间切换
:n - 浏览下一个文件
:p - 浏览前一个文件
例:
代码如下:
[root@localhost zhangy]# less test.php #查看文件
[root@localhost zhangy]# netstat -tpnl |less #常用方式,分页显示
看过“Linux的翻页命令more和less怎么使用”
浏览量:4
下载量:0
时间:
rsh命令用于连接到远程的指定主机并执行指定的命令。那么Linux中rsh怎么远程使用shell命令呢?读文网小编分享了Linux中rsh远程使用shell命令的方法,希望对大家有所帮助。
rsh有两种使用模式:
rsh $host : 远程登录,启动交互式进程。
rsh $host $command :远程执行命令,并显示输出。
rsh hosthostcommand
rsh $host $command的作用是:
1.在远程机器上执行命令$command
2.通过网络连接(socket)重定向当前进程和远端进程的标准输入和标准输出
3.远端rsh进程在远端进程结束后结束
4.本地rsh进程读取远端进程的标准输出直到结束(EOF)
深刻理解这个执行过程有助于理解各种“奇怪”的现象和用法。
代码如下:
+ Suspended (tty input)
$ rsh localhost infinite-loop &
[1] + Suspended (tty input) rsh pv007 infinite-loop
$ rsh -n localhost infinite-loop &
# 执行正常
后台执行rsh命令时,提示了和标准输入相关的错误信息。这是因为rsh默认会把当前窗口的标准输入重定向到远端进程。
而本地rsh进程作为后台程序运行的话,标准输入被“阻塞”了。
通过-n选项制定不需要重定向标准输入(stdin)。
远端进程的执行
执行命令
代码如下:
rsh somehost infinite-loop
在远端机器上查看相关进程:
代码如下:
$ pstree -a -p 3353
in.rshd,3353
└─csh,3363 -c infinite-loop
└─infinite-loop,3632 /u/szhang/bin/infinite-loop
可以看出,远端机器上的rshd进程负责启动远端进程。而且可以看出是通过csh -c的方式启动的(这里用户的默认Shell是C Shell)。
远端进程的标准IO
检查远端进程的文件描述符:
代码如下:
$ ls -l /proc/3363/fd /proc/3632/fd
/proc/3363/fd:
total 0
lrwx------. 1 Jul 30 23:47 16 -> socket:[1184748899]
lrwx------. 1 Jul 30 23:47 17 -> socket:[1184748899]
l-wx------. 1 Jul 30 23:47 18 -> pipe:[1184749092]
lrwx------. 1 Jul 30 23:47 19 -> socket:[1184748899]
代码如下:
/proc/3632/fd:
total 0
lrwx------. 1 Jul 30 23:47 0 -> socket:[1184748899]
lrwx------. 1 Jul 30 23:47 1 -> socket:[1184748899]
l-wx------. 1 Jul 30 23:47 2 -> pipe:[1184749092]
可以看出远端里程的标准输入输出是被重定向到socket上的:
1.stdin 和 stdout 共享一个socket连接
2.stderr 则通过一个pipe重定向(重定向到stdout ???)
3.rsh 的返回值
rsh程序自身的返回值表明的是rsh自身的运行状况,而不是远端进程的返回值。
获得远端进程的返回值
代码如下:
# 远端是C Shell
$ rsh $host "$command ; echo $status"
代码如下:
# 远端是Bash Shell
$ rsh $host "$command ; echo $?"
代码如下:
# 远端Shell类型不确定
$ rsh $host "sh -c '$command ; echo $?'"
启动远端进程所用的Shell
由于用于启动远端进程的Shell类型是未知的,而有些操作的语法在不同Shell里是不同的。
比如输入输出重定向、命令返回值等。
解决该问题的方法之一是通过明确指定的Shell来启动真正需要的里程。比如:
代码如下:
# 不确定远端Shell的类型,显式通过Bash Shell来启动需要的进程
$ rsh -n $host "sh -c '$command > /dev/null 2>&1'"
另一种思路,则是通过一个wrapper程序来启动真正的命令。
通过rsh在远端执行后台进程
想在远端机器上执行后台进程。命令rsh $host "$command &"是不起作用的,会导致本地的rsh进程不能结束。
背后的原因应该是,$command的标准输入输出通常仍然绑定在rsh连接的socket上,从而导致本地的rsh进程无法读取到文件结束符EOF。
知道了原因就知道该怎么办了,关键是关闭后台进程续定在rsh连接上的标准输入输出。
代码如下:
# 如果远端Shell是C Shell
$ rsh -n $host "$command >& /dev/null &"
代码如下:
# 如果远端Shell是Bash Shell
$ rsh -n $host "$command > /dev/null 2>&1 &"
代码如下:
# 不确定远端Shell的类型
$ rsh -n $host "sh -c '$command > /dev/null 2>&1 &'"
但上面这样重定向的办法有个缺点是不能得到任何远端进程的输出,而有时我们希望获得一些输出信息。
这时就需要远端进程能够以守护进程(daemon)的方式运行。
这种情况下,rsh命令可以简单地写作:$ rsh -n $host "$command &"
远端后台进程的内容用Tcl表示,大意如下:
代码如下:
#/bin/env tclsh
puts "I am a background job"
puts "This Can Be Seen by Remote rsh Process"
close stdout
close stderr
# rsh连接到此应该结束。
puts "This Can NOT Be Seen by Remote rsh Process"
更进就步,我们可以甚至忽略rsh命令中的后台运行符:$ rsh -n $host "$command"
这时远端进程需要通过fork的方式结束自己,并启动真正的后台进程(守护进程)。
rsh进程的阻塞和超时处理
在程序中调用rsh $host $command时可能由于各种奇怪的原因发生rsh进程的阻塞,这不是我们希望看到的。
我们希望设置一个超时(timeout)机制来解决这个问题。
在Tcl程序中的一种实现可以这样: TODO
TCP Connection连接数过多引起的rsh失败
监控邮件显示rsh $host $command命令失败,错误提示为“poll: protocol failure in circuit setup"
怀疑是网络连接数过多所引起。
rsh $host $command 的网络连接过程
命令rsh $host连接远程主机的513端口。
命令rsh $host $command则连接远程主机的514端口,并随后发送一个本地端口号给远程主机,要求远程主机建立一个新的TCP连接到这个端口(还不清楚这个新的连接有什么作用)。然后才是传送命令和等待命令结束。
这样做的结果就是在rsh $host $command进程过多时,本地开放的端口资源被消耗完了,从而导致新的rsh $host $command失败。
这是rsh $host的使用则依然正常。
这里提到的rsh的缺陷,也是建议尽量使用ssh的原因之一。
没有完全关闭的网络连接:
在远程主机上kill掉相关的rsh进程后,会导致TCP连接没有完全关闭。
netstat命令显示CLOSE_WAIT状态,端口资源并没有释放出来。
根据配置文件/proc/sys/net/ipv4/tcp_keepalive_time显示,需要等待2个小时,那些端口才会因为超时而被真正关闭,从而释放出来。
代码如下:
%> netstat -a | grep localhost
tcp 0 0 localhost:933 localhost:935 CLOSE_WAIT
%> cat /proc/sys/net/ipv4/tcp_keepalive_time
7200 ;# in seconds. = 2 hours
%> echo "net.ipv4.tcp_keepalive_time = 120" >> /etc/sysctl.con
看过“Linux中rsh怎么远程使用shell命令”
浏览量:3
下载量:0
时间:
如果你想成为Linux高手,那么掌握一些Linux命令是必不可少的。今天读文网小编与大家分享下学习Linux系统命令的具体使用步骤,有需要的朋友不妨了解下。
一、每日提示
学习Linux命令的一种渐进式方法是:在每次打开终端时,让它显示“每日提示”。这会向你介绍一些有用的命令及其高级使用技巧。
在.bashrc中(/home/.bashrc)增加如下一行:
echo “Did you know that:”; whatis $(ls /bin | shuf -n 1)
你只需要增加这行就够了!如果你想让它更娱乐化一些,你可以安装cowsay。Ubuntu/Debian下安装cowsay:
sudo apt-get install cowsay
Fedora下安装cowsay:
yum install cowsay
除了安装cowsay,还需要在.bashrc中增加:
cowsay -f $(ls /usr/share/cowsay/cows | shuf -n 1 | cut -d. -f1) $(whatis $(ls /bin) 2》/dev/null | shuf -n 1)
然而,上述使用cowsay的方法并不是在所有Linux发行版下均可运行成功。
二、使用“whatis”
如果你不喜欢学习随机的命令,或许你喜欢在使用某种命令的时候学习它的用法。这时你只需要在其前面加上whatis即可。Whatis会逐条的解释你输入的命令。
上图的whatis sudo yum install cheese例子清楚的告诉你:1)sudo是让你具有管理员权限;2)yun是软件包管理器;3)install是让YUM安装软件包;4)cheese是你打算安装的软件。这种方法在复杂的或者不常见的命令前执行的效果并不好。但是如果你想了解某个命令的大概用途,这种方法还是值得一试。
三、浏览命令的所有可用选项
如果你正在使用一个新的命令,那么有两种途径可以查看它的详细用法。一种途径是“man 《程序》”,其中《程序》是你要运行的程序名字。例如,“man cp”会在man文件浏览器中告诉你cp的详细用法。
另一种途径可以更快的查看某个命令的主要用法——“ -help”。例如,“cp -help”会在终端中直接打印出cp命令的大量用法。换句话讲,-help选项在所有的Linux命令中具有相同的含义。
四、速成班——是的,现在!
最后,你可以在这里学习Linux命令的语法!了解Linux命令的基本语法对于理解命令很有益处,很值得一学。
所有的Linux命令都具有相同的结构:[sudo] program [parameter] [parameter] … [parameter] [-flag] [parameter] [-flag] [parameter] … [flag] [parameter]
让我来分段剖析上述的结构:
1.如果一个命令需要管理员权限(root访问权限)才能运行,那么必须在它之前加上“sudo”。这使得在运行命令之输入管理员的密码。
2.“program”是应用程序的名字。它包括yum, apt-get, cheese, tar, cp, mv和firefox等等。如果没有经过额外的配置,所有可以通过这种方法访问的命令均放在/usr/bin目录下(译者注:默认情况下其它一些目录下的程序也可以这样运行,如/bin下的命令)。对于很多程序,你只需要在终端中输入其名字。例如,在终端中输入”firefox”,然后按Enter键,Firefox就运行起来了。
3.在程序名字的后面,你可以使用不同的参数和标志。不同程序在这方面差别很大。例如,命令“cp file1 file2”在file1的所在目录下将其复制一份并另存为file2。这里的“file1”和“file2”是命令“cp”的两个参数。一些命令也通过使用不同的标志来改变其行为。例如,命令“sudo yum install cheese -y”中的“install”是yum的参数,“cheese”是install的参数,“-y”是yum的标志——当yum询问你是否继续的时候,一律默认回答“yes”。需要注意的是,一些标志有自己的参数,而另一些则没有。这里就不给出具体的例子了。每个Linux名字都有自己的一套标志设定,掌握这些需要长时间的积累。
学习Linux系统命令的几种技巧就介绍完了,当然Linux系统的命令还有很多,掌握这些技巧可以节省学习Linux命令的时间。除此之外的实践和反复地训练也是必不可少的。
浏览量:2
下载量:0
时间:
cp 主要是用于在同一台电脑上,在不同的目录之间来回copy文件,那么Linux系统怎么使用cp命令呢?接下来大家跟着读文网小编一起来了解一下Linux系统使用cp命令的解决方法吧。
关于cp的具体用法:
命令基本格式:
cp [OPTIONS] SOURCE DEST --- 从源路径copy文件到目的路径
cp [OPTIONS] SOURCE... DIRECTORY --- 将多个源文件copy到指定的目录(多个源文件用空格分隔)
OPTIONS:
-a same as -dpR 尽可能将源文件状态、权限等资料都照原装予以复制,并且是递归copy;
-r 表示递归copy,若source中含有目录名,则将目录下之档案亦皆依序拷贝至目的地;
-f 表示force,若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制;
范例:
1. 将档案 aaa 复制(已存在),并命名为 bbb:
cp aaa bbb
2. 将所有的C语言程式拷贝至 Finished 子目录中:
cp *.c Finished/
关于scp的具体用法:
不同的Linux之间copy文件常用有3种方法:
第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以在另外一台机器使用ftp的client程序来进行文件的copy。
第二种方法就是采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便。
第三种就是利用scp命令来进行文件复制。
scp是有Security的文件copy,基于ssh登录。
命令基本格式:
scp [OPTIONS] file_source file_target
OPTIONS:
-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接、认证、 或是配置错误
-C 使能压缩选项
-P 选择端口 . 注意 -p 已经被 rcp 使用
从 本地 复制到 远程
scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root (然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始copy了),复制目录加参数 -r 即可
从 远程 复制到 本地
scp root@/172.19.2.75:/home/root/full.tar.gz /home/daisy/full.tar.gz
以下是补充:
命令:cp
使用权限:所有使用者
使用方式:
cp [options] source dest
cp [options] source... directory
说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
把计
-a 尽可能将档案状态、权限等资料都照原状予以复制。
-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
范例:
将档案 aaa 复制(已存在),并命名为 bbb :
cp aaa bbb
将所有的C语言程式拷贝至 Finished 子目录中 :
cp *.c Finished
命令:scp
不同的Linux之间copy文件常用有3种方法:
第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy。
第二种方法就是采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便。
第三种就是利用scp命令来进行文件复制。
scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令。
scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root
然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始copy了。
如果想反过来操作,把文件从远程主机copy到当前系统,也很简单。
linux之cp/scp命令+scp命令详解(转) - linmaogan - 独木★不成林scp root@/full.tar.gz 172.19.2.75:/home/root/full.tar.gz home/daisy/full.tar.gz
linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录;
scp 命令
scp 可以在 2个 linux 主机间复制文件;
命令基本格式:
scp [可选参数] file_source file_target
从 本地 复制到 远程
* 复制文件:
* 命令格式:
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
* 例子:
scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music
scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music/001.mp3
scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music
scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/001.mp3
* 复制目录:
* 命令格式:
scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder
第1个指定了用户名,命令执行后需要再输入密码;
第2个没有指定用户名,命令执行后需要输入用户名和密码;
* 例子:
scp -r /home/space/music/ root@www.cumt.edu.cn:/home/root/others/
scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/
上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录
======
从 远程 复制到 本地
======
从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可;
例如:
scp root@www.cumt.edu.cn:/home/root/others/music /home/space/music/1.mp3
scp -r www.cumt.edu.cn:/home/root/others/ /home/space/music/
最简单的应用如下 :
scp 本地用户名 @IP 地址 : 文件名 1 远程用户名 @IP 地址 : 文件名 2
[ 本地用户名 @IP 地址 :] 可以不输入 , 可能需要输入远程用户名所对应的密码 .
可能有用的几个参数 :
-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .
-C 使能压缩选项 .
-P 选择端口 . 注意 -p 已经被 rcp 使用 .
-4 强行使用 IPV4 地址 .
-6 强行使用 IPV6 地址 .
注意两点:
1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:
#scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator
2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。
看过“Linux系统怎么使用cp命令”
浏览量:3
下载量:0
时间:
vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。那么Linux系统如何使用vi命令呢?接下来大家跟着读文网小编一起来了解一下Linux系统使用vi命令的解决方法吧。
一、一般模式:删除、复制与粘贴类命令
x,X x为向后删除一个字符,X为先前删除一个字符
nx(n代表数字) 向后删除n个字符
dd 删除当前行
D 删除当前行所有字符,试成为空行
ndd(n代表数字) 删除光标所在行的向下n列
d1G 删除光标所在行到第一行的所有数据
dG 删除光标所在行到最后一行的所有数据
yy 复制光标所在行
y1G 复制光标所在行到第一行的所有数据
yG 复制光标所在行到最后一行的所有数据
ynj(n代表数字) 复制光标所在行向下n+1行
dnj(n代表数字) 删除光标所在行向下n+1行
p,P p为复制的数据粘贴在光标的下一行,P为复制的数据粘贴在光标的上一行
J 将光标所在行与下一行的数据结合成一行
u 恢复前一个动作(undo)
二、编辑模式命令
i,I i为在当前光标所在处插入输入的文字,I为在光标所在行第一个非空字符插入输入的文字
a,A a为在当前光标所在处下一个字符插入输入的文字,A为在光标所在行最后一个字符的下一个字符处插入输入的文字
o,O o为在光标所在行的下一行行首开始插入字符,O为在光标所在行的上一行行首开始插入字符
r,R r为替换光标所在那一个字符,R为一直替换光标所指的文字,直到退出
Esc 退出,回到一般模式
三、命令模式
h 光标向左移一个字符
j 光标向下移一个字符
k 光标向上移一个字符
l 光标向右移一个字符
Ctrl+f 屏幕向下翻一页
Ctrl+b 屏幕向上翻一页
Ctrl+d 屏幕向下翻半页
Ctrl+u 屏幕向上翻半页
+ 光标移动到下一行的第一个非空字符
- 光标移动到当前行的第一个非空字符
n空格(n代表数字) 光标向当前行向右移动n个字符
0(数字0) 光标移动到当前行的第一个字符(可以为空字符,注意与-区分)
$ 光标移动到当前行的最后一个字符(可以为空字符,注意与-区分)
H 光标移动到当前屏幕最上方的那一行的第一个非空字符
M 光标移动到当前屏幕最中间那一行的第一个非空字符
L 光标移动到当前屏幕最下方的那一行的第一个非空字符
G 光标移动到该文章最后一行的第一个非空字符
nG(n代表数字) 光标移动到该文章第n行的第一个非空字符
n 光标从当前行向下移动n行的第一个非空字符
/word 在光标之后查找word字符串
?word 在光标之前查找word字符串
:s/word1/word2/g 在光标当前行查找word1,并替换成word2
:n1,n2s/word1/word2/g 在第n1行与第n2行之间查找word1,并替换成word2
:%s/word1/word2/g 整个文章查找word1,并替换成word2
:w 将编辑的数据保存到硬盘文件中
:w [filename] 将编辑后的数据保存到硬盘的另一个文件中
:r [filename] 在编辑数据时,读入另一个文件中的数据,即将filename文件中的内容加到光标所在行下一行
:wq或:x 保存并退出
:q 退出,适用于未修改的文件
:q! 强制退出,适用于修改文件后不保存退出
:set nu 显示行号
:set nonu 取消行号
:n1,n2 w [filename] 将n1到n2行的内容保存到名为filename的文件中
上面就是Linux中vi、vim命令的用法介绍了,本文简单的介绍了这两个命令的用法。
看过“Linux系统如何使用vi命令”
浏览量:3
下载量:0
时间:
在Linux系统中,我们通常使用的文件压缩命令有:bunzip2 , bzip2 , cpio , gunzip , gzip ,split(切割文件) , zgrep(在压缩文件中寻找匹配的正则表达式), zip ,unzip, tar ,rar。今天读文网小编给大家介绍下linux怎么使用压缩及解压缩命令吧。
tar zxvf XXXX.tar.gz
tar jxvf XXXX tar.bz2
1.压缩一组文件为tar.gz后缀。
# tar cvf backup.tar /etc #gzip -q backup.tar
或
# tar cvfz backup.tar.gz /etc/
2.释放一个后缀为tar.gz的文件。
#gunzip backup.tar.gz #tar xvf backup.tar
或
# tar xvfz backup.tar.gz
3.用一个命令完成压缩
#tar cvf - /etc/ | gzip -qc > backup.tar.gz
4.用一个命令完成释放
# gunzip -c backup.tar.gz | tar xvf -
5.如何解开tar.Z的文件?
# tar xvfz backup.tar.Z 或 # uncompress backup.tar.Z #tar xvf backup.tar
6.如何解开.tgz文件?
#gunzip backup.tgz
7.如何压缩和解压缩.bz2的包?
#bzip2 /etc/smb.conf
这将压缩文件smb.conf成smb.conf.bz2
#bunzip2 /etc/smb.conf.bz2
这将在当前目录下还原smb.conf.bz2为smb.conf
(bzip2 -d也一样)
注: .bz2压缩格式不是很常用,你可以man bzip2
下面复习一下。我们先人为做个文件夹出来,里面放置若干文件夹和文件:
我们首先创建一个tar文件,先压缩一个文件夹(testdir):
tar -cf testdir.tar testdir
然后列出该压缩包里的结构:
接着我们向这个压缩包追加文件:
当然了,上述单步操作没必要做了,压缩包里面已经有这个文件。
然后再看看这个压缩包里的结构:
如果使用示例中的-v选项,则会将压缩包里的文件属性全部列出。包括权限,创建人,字节大小,修改时间和文件名:
从tar压缩文件中解压并显示文件列表:
一般来说比较常用到的选项有主操作选项:
另外再练习一下其他的一些用法:
1、当压缩testdir目录的时候,需要将文件夹根路径内的test文件排除:
2、只压缩比指定时间更新的文件:
3、压缩所有文件名前缀为“te”的文件或文件夹(或者压缩后缀为“st”的文件):
最后补充一下常用的选项:
-p, --preserve-permissions, --same-permissions
保留解压文件权限信息(默认只为超级用户服务)
--preserve 与 -p 和 -s 一样
--same-owner 尝试解压时保持所有者关系一致(超级用户默认此项)
-r, --append 追加文件至归档结尾
-u, --update 仅追加比归档中副本更新的文件
-k, --keep-old-files 解压时不要替换存在的文件
--keep-newer-files
不要替换比归档中副本更新的已存在的文件
--no-overwrite-dir 保留已存在目录的元数据
--overwrite 解压时重写存在的文件
--overwrite-dir
解压时重写已存在目录的元数据(默认)
--recursive-unlink 解压目录之前先清除目录层次
--remove-files 在添加文件至归档后删除它们
-N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE 只保存比 DATE-OR-FILE 更新的文件
2、rar:
rar - - <@listfiles...>
Linux系统的默认软件包里是不包含rar压缩工具的,所以我们先安装rar:
sudo apt-get install rar
选项只可以从给出的选项中输入一个(且只能一个),我们看一下它提供的命令列表:
使用举例,比如说现在我们要进行文件压缩:
在完成压缩之后,我们可以通过命令l获取压缩文件内具体的结构信息:
甚至可以通过命令p将压缩文件内的所有信息输出到控制台:
部分则提供了一些功能性的选项。
比如说以追加性的方式更新压缩文件可选用-ad:
或者说想把某个文件排除在外可以选用开关-x(注意,要排除的串要紧跟在x后面,不用加任何符号),比如我们这里想要将文件夹根路径下凡是“te”开头的文件都排除:
还有加密,用开关-p,同样的,密码紧随p后面即可:
如果相对文件进行解压或者直接打开文件,就会要求你输入密码:
除此之外,还有一些常用的选项有:
ag[format] Generate archive name using the current date
cl Convert names to lower case
cu Convert names to upper case
df Delete files after archiving
ed Do not add empty directories
dw Wipe files after archiving
其他的命令和开关可参照帮助手册。
看过“linux怎么使用压缩及解压缩命令”
浏览量:2
下载量:0
时间:
无论什么程序都不可能完美无缺,理论上,任何程序都有Core Dump的一天,那么大家知道Linux如何用命令重启系统吗?今天读文网小编与大家分享下Linux用命令重启系统的具体操作步骤,有需要的朋友不妨了解下。
在命令行中输入: shutdown -r now : 表示现在重启计算机!
按下回车便会进行重启
另一种重启方式就是输入: reboot 也表示重启!
4一样会进行重启!
看过“Linux如何用命令重启系统”
浏览量:2
下载量:0
时间: