linux中ln 命令使用参数详解linux操作系统

时间:2024年08月06日

/

来源:SOSO

/

编辑:本站小编

收藏本文

下载本文

下面是小编为大家整理的linux中ln 命令使用参数详解linux操作系统,本文共5篇,欢迎大家借鉴与参考,希望对大家有所帮助。本文原稿由网友“SOSO”提供。

篇1:linux中ln 命令使用参数详解linux操作系统

linux中ln是一个常用的并且也是非常重的要命令,下面我就给大家介绍in命令的参数与一些应用例子,希望此文章对大家会有所帮助,

ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln –s /bin/less /usr/local/bin/less

-s 是代号(symbolic)的意思。

这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接又 软链接和硬链接两种,软链接就是ln –s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。

如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls –l命令去察看,就可以看到显示的link的路径了。

指令详细说明

指令名称 : ln

使用权限 : 所有使用者

使用方式 : ln [options] source dist,其中 option 的格式为 :

[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]

[--help] [--version] [--]

说明 : Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种 : 硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档 案系统中,而软连结却可以跨越不同的档案系统。

ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。

不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。

-f : 链结时先将与 dist 同档名的档案删除

-d : 允许系统管理者硬链结自己的目录

-i : 在删除与 dist 同档名的档案时先进行询问

-n : 在进行软连结时,将 dist 视为一般的档案

-s : 进行软链结(symbolic link)

-v : 在连结之前显示其档名

-b : 将在链结时会被覆写或删除的档案进行备份

-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾

-V METHOD : 指定备份的方式

--help : 显示辅助说明

--version : 显示版本

举例:

1.对某个文件创建一个连接

[root@A ~]# ln -s /home/kk/ss.sh ~  #如果不写目标地址,即在当前目录建接立链接

[root@A ~]# ls

CentOS-Base.repo.oldboy anaconda-ks.cfg install.log install.log.syslog ss.sh此命令表示在家目录下创建与源文件同名的链接到/home/kk/ss.sh 符号连接

[root@A ~]# ln -s /home/kk/ss.sh ~/dd

[root@A ~]# ls

CentOS-Base.repo.oldboy anaconda-ks.cfg dd install.log install.log.syslog

此命令表示在家目录下建立链接到/home/kk/ss.sh 并且名字为dd的符号连接(前提是在家目录下没有abc这个目录)

2.对某个目录创建符号连接

[root@A home]# ln -s /home/kk /home/abc

[root@A home]# ls

abc apache kk oldboy

[root@A home]# cd abc

[root@A abc]# ls

ss.sh

此命令表示在/home目录下创建一个链接到/home/kk目录的名字为abc的符号连接。

[root@A home]# rm abc

rm: remove symbolic link `abc'? y   #删除所作目录链接时的提示

[root@A ~]# ln -s /tmp ~/

[root@A ~]# ls

CentOS-Base.repo.oldboy anaconda-ks.cfg install.log install.log.syslog tmp

此命令表示在家目录下创建一个与源文件夹同名的符号连接

3.对某个文件创建一个硬连接

[root@A ~]# ln /home/kk/ss.sh ~/

[root@A ~]# ls -l

total 60

-rw-r--r-- 1 root root 2239 Oct 24 09:30 CentOS-Base.repo.oldboy

-rw------- 1 root root 1074 Nov 10 12:28 anaconda-ks.cfg

-rw-r--r-- 1 root root 26403 Nov 10 12:28 install.log

-rw-r--r-- 1 root root 4378 Nov 10 12:28 install.log.syslog

-rw-r--r-- 2 root root   82 Dec 26 14:31 ss.sh

此命令表示在家目录下创建与源文件同名的链接到/home/kk/ss.sh硬链接,而且目标文件的颜色和原来一样,

ls –l也无法显示链接的路径

[root@A ~]# ln /home/kk/ss.sh ~/abc

[root@A ~]# ls

CentOS-Base.repo.oldboy abc anaconda-ks.cfg install.log install.log.syslog

此命令表示在家目录下建立链接到/tmp/abc.txt 并且名字为abc的硬链接(前提是在家目录下没有abc这个目录)

abc目录己存在的情况

[root@A ~]# mkdir abc

[root@A ~]# ls

CentOS-Base.repo.oldboy abc anaconda-ks.cfg install.log install.log.syslog

[root@A ~]# ln /home/kk/ss.sh ~/abc   #做硬链接

[root@A ~]# ls

CentOS-Base.repo.oldboy abc anaconda-ks.cfg install.log install.log.syslog

[root@A ~]# cd abc

[root@A abc]# ls

ss.sh

源文件是目录不可以做硬链接

[root@A ~]# ln /home/kk ~/abc

ln: `/home/kk': hard link not allowed for directory

4.参数 -v的用法

硬链接:

[root@A home]# ln -v /home/kk/ss.sh /home   #加上参数v后,

create hard link `/home/ss.sh' to `/home/kk/ss.sh' #会用文字显示源文件到目标的链接

[root@A home]# ls

apache kk oldboy ss.sh

[root@A home]# ln -vs /home/kk/ss.sh /home #创建名子相同的软链接

create symbolic link `/home/ss.sh' to `/home/kk/ss.sh' #会用文字显示源文件到目标的链接

ln: creating symbolic link `/home/ss.sh' to `/home/kk/ss.sh': File exists #同时也出现了己存在提示

软链接

[root@A home]# ln -vs /home/kk/ss.sh /home/dd #加上参数v后的软链接

create symbolic link `/home/dd' to `/home/kk/ss.sh' #会用文字显示源文件到目标的链接

[root@A home]# ls

apache dd kk oldboy ss.sh

青绿色的软链接,跟原来颜色一样的是硬链接

5.-f的用法

[root@A home]# ls

apache dd kk oldboy ss.sh       #dd 是己存在软链接;ss.sh是己存在硬链接

[root@A home]# ln -s -f /home/kk/ss.sh /home   #创建/home/kk/ss.sh的软链接

[root@A home]# ls

apache dd kk oldboy ss.sh             #上面加了f参数,ss.sh现在是软链接

[root@A home]# ln /home/kk/ss.sh /home/dd   #创建/home/kk/ss.sh 的硬链接,名子同样是dd

ln: creating hard link `/home/dd' to `/home/kk/ss.sh': File exists    #提示出现了,己存在

[root@A home]# ln -f /home/kk/ss.sh /home/dd #加上f参数后,提示没有了

[root@A home]# ls

apache dd kk oldboy ss.sh            #dd变成链接了,

-f的主要过程:先将同名的软链接dd删除,然后再创建硬链接dd

6.-d和-b的用法

[root@A home]# ln /home/kk /home/dd       #创建硬链接不允许

ln: `/home/kk': hard link not allowed for directory #不允许对目录创建硬链接

[root@A home]# ln -F /home/kk /home/dd     #加上-d参数

ln: creating hard link `/home/dd' to `/home/kk': Operation not permitted   #为什么还是不行呀?

7.-i的用法

[root@A home]# ln -s /home/kk/ss.sh  #创建软链接

[root@A home]# ls                 #查看

apache kk oldboy ss.sh

[root@A home]# ln -fi /home/kk/ss.sh  #加上-f参数删除同名的,加上-i参数-在删除之前给出提示

ln: replace `./ss.sh'?  #提示

[root@A home]# ln -fi /home/kk/ss.sh

ln: replace `./ss.sh'? n                 #我选择了n

[root@A home]# ls                   #查看

apache kk oldboy ss.sh            #还存在

[root@A home]# ln -fb /home/kk/ss.sh    #加上参数b

[root@A home]# ls                   #查看

apache kk oldboy ss.sh ss.sh~    #之前存在的软链接被更名备份了,然后创建同名的硬链接

注意:

第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;

第二,ln的链接又软链接和硬链接两种,软链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化,

软链接是可以跨分区的,但是硬链接只能在同一分区内。

第三:目录不能建立硬链接,但可以建立软链接。

篇2:linux中fdisk分区命令使用详解linux操作系统

在linux中如果我人要对磁盘进行分区我们可以直接使用fdisk命令来分区了,下面我来给大家介绍一个自己在使用fdisk分区笔记,希望对各位同学会有所帮助哦,只供参考大家需要仔细确认万无一失才操作哦,

在linux下,使用fdisk对硬盘分区:先删除原有分区,然后创建新的分区

1) 删除分区

代码如下复制代码

[root@standby root]# fdisk /dev/sdc

The number of cylinders for this disk is set to 4425.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): m

Command action

a  toggle a bootable flag

b  edit bsd disklabel

c  toggle the dos compatibility flag

d  delete a partition

l  list known partition types

m  print this menu

n  add a new partition

o  create a new empty DOS partition table

p  print the partition table

q  quit without saving changes

s  create a new empty Sun disklabel

t  change a partition’s system id

u  change display/entry units

v  verify the partition table

w  write table to disk and exit

x  extra functionality (experts only)

Command (m for help): p

Disk /dev/sdc: 36.4 GB, 36401479680 bytes

255 heads, 63 sectors/track, 4425 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot   Start      End   Blocks  Id System

/dev/sdc1            1      250  093+ 83 Linux

/dev/sdc2          251      500  2008125  83 Linux

/dev/sdc3          501      750  2008125  83 Linux

/dev/sdc4          751     4425 29519437+  5 Extended

/dev/sdc5          751     1000  2008093+ 83 Linux

/dev/sdc6         1001     4425 27511281  83 Linux

Command (m for help): d

Partition number (1-6): 1

Command (m for help): d

Partition number (1-6): 2

Command (m for help): d

Partition number (1-6): 3

Command (m for help): d

Partition number (1-6): 4

Command (m for help): p

Disk /dev/sdc: 36.4 GB, 36401479680 bytes

255 heads, 63 sectors/track, 4425 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot   Start      End   Blocks  Id System

Command (m for help): w

The partition table has been altered!

Calling ioctl to re-read partition table.

Syncing disks.

2) 创建分区

代码如下复制代码

[root@standby root]# fdisk /dev/sdc

The number of cylinders for this disk is set to 4425.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/sdc: 36.4 GB, 36401479680 bytes

255 heads, 63 sectors/track, 4425 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot   Start      End   Blocks  Id System

Command (m for help): n

Command action

e  extended

p  primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-4425, default 1):

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-4425, default 4425): +500

Command (m for help): n

Command action

e  extended

p  primary partition (1-4)

p

Partition number (1-4): 2

First cylinder (502-4425, default 502):

Using default value 502

Last cylinder or +size or +sizeM or +sizeK (502-4425, default 4425): +2048M

Command (m for help): n

Command action

e  extended

p  primary partition (1-4)

p

Partition number (1-4): 3

First cylinder (752-4425, default 752):

Using default value 752

Last cylinder or +size or +sizeM or +sizeK (752-4425, default 4425): +2048000K

Command (m for help): n

Command action

e  extended

p  primary partition (1-4)

p

Selected partition 4

First cylinder (1002-4425, default 1002):

Using default value 1002

Last cylinder or +size or +sizeM or +sizeK (1002-4425, default 4425): +2048M

Command (m for help): n

You must delete some partition and add an extended partition first

Command (m for help): d

Partition number (1-4): 4

Command (m for help): n

Command action

e  extended

p  primary partition (1-4)

e

Selected partition 4

First cylinder (1002-4425, default 1002):

Using default value 1002

Last cylinder or +size or +sizeM or +sizeK (1002-4425, default 4425):

Using default value 4425

Command (m for help): n

First cylinder (1002-4425, default 1002):

Using default value 1002

Last cylinder or +size or +sizeM or +sizeK (1002-4425, default 4425): +2048M

Command (m for help): n

First cylinder (1252-4425, default 1252):

Using default value 1252

Last cylinder or +size or +sizeM or +sizeK (1252-4425, default 4425): +2048M

Command (m for help): n

First cylinder (1502-4425, default 1502):

Using default value 1502

Last cylinder or +size or +sizeM or +sizeK (1502-4425, default 4425):

Using default value 4425

Command (m for help): n

No free sectors available

Command (m for help): p

Disk /dev/sdc: 36.4 GB, 36401479680 bytes

255 heads, 63 sectors/track, 4425 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot   Start      End   Blocks  Id System

/dev/sdc1            1      501  4024251  83 Linux

/dev/sdc2          502      751  2008125  83 Linux

/dev/sdc3          752     1001  2008125  83 Linux

/dev/sdc4         1002     4425 27503280   5 Extended

/dev/sdc5         1002     1251  2008093+ 83 Linux

/dev/sdc6         1252     1501  2008093+ 83 Linux

/dev/sdc7         1502     4425 23486998+ 83 Linux

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

分区建好后有两种方法:使用文件系统,使用裸设备

1) 使用文件系统

创建文件系统

代码如下复制代码

[root@standby root]# mkdir /test

[root@standby root]# mkfs /dev/sdc3

mke2fs 1.32 (09-Nov-)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

251392 inodes, 502031 blocks

25101 blocks (5.00%) reserved for the super user

First data block=0

16 block groups

32768 blocks per group, 32768 fragments per group

15712 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912

Writing inode tables: done

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 38 mounts or

180 days, whichever comes first. Use tune2fs -c or -i to override.

挂接文件系统

代码如下复制代码[root@standby root]# mount /dev/sdc3 /test

改权限

代码如下复制代码

[root@standby root]# ls -ltr /test

total 16

drwx——   2 root    root       16384 Jun 20 21:51 lost+found

[root@standby root]# chown -R oracle.dba /test

[root@standby root]# chmod 755 /test

[root@standby root]# ls -ltr /test

total 16

drwx——   2 oracle  dba        16384 Jun 20 21:51 lost+found

创建表空间

代码如下复制代码

SQL>create tablespace chen

2 datafile ‘/test/chen.dbf’ size 10M;

Tablespace created.

向表空间增加数据文件

代码如下复制代码

SQL>alter tablespace chen

2 add datafile ‘/test/chen2.dbf’ size 10M;

Tablespace altered.

可以看到表空间chen的大小是20m了

代码如下复制代码

SQL>    select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size

2     from dba_tablespaces t, dba_data_files d

3     where t.tablespace_name = d.tablespace_name

4     group by t.tablespace_name;

TABLESPACE_NAME                                                TS_SIZE

———————————————————— ———-

CHEN                                                                20

EYGLE                                                               10

SYSTEM                                                             250

UNDOTBS1                                                           200

USERS                                                               25

2) 使用裸设备

可以看到已有的绑定

代码如下复制代码[root@standby root]# raw -qa

/dev/raw/raw1: bound to major 8, minor 17

/dev/raw/raw2: bound to major 8, minor 18

/dev/raw/raw3: bound to major 8, minor 19

/dev/raw/raw4: bound to major 8, minor 20

/dev/raw/raw5: bound to major 8, minor 34

绑定裸设备

代码如下复制代码

[root@standby test]# raw /dev/raw/raw6 /dev/sdc1

/dev/raw/raw6: bound to major 8, minor 33

ditional information: 1

改权限

代码如下复制代码[root@standby root]# chown -R oracle.dba /dev/raw

[root@standby root]# chmod 755 /dev/raw

创建表空间

代码如下复制代码

SQL>create tablespace jin

2 datafile ‘/dev/raw/raw6′ size 10M;

Tablespace created

指令:fdisk

用途:观察硬盘之实体使用情形与分割硬盘用,

使用方法:

一、在 console 上输入 fdisk -l /dev/sda ,观察硬盘之实体使用情形。

二、在 console 上输入 fdisk /dev/sda,可进入分割硬盘模式。

1. 输入 m 显示所有命令列示。

2. 输入 p 显示硬盘分割情形。

3. 输入 a 设定硬盘启动区。

4. 输入 n 设定新的硬盘分割区。

4.1. 输入 e 硬盘为[延伸]分割区(extend)。

4.2. 输入 p 硬盘为[主要]分割区(primary)。

5. 输入 t 改变硬盘分割区属性。

6. 输入 d 删除硬盘分割区属性。

7. 输入 q 结束不存入硬盘分割区属性。

8. 输入 w 结束并写入硬盘分割区属性

篇3:Linux中crontab命令参数与使用说明linux操作系统

定时任务常用的一个功能,详细如下:

服务的启动和停止

cron服务是linux的内置服务,但它不会开机自动启动。可以用以下命令启动和停止服务:

Linux代码

/sbin/service crond start

/sbin/service crond stop

/sbin/service crond restart

/sbin/service crond reload

以上1-4行分别为启动、停止、重启服务和重新加载配置。

要把cron设为在开机的时候自动启动,在 /etc/rc.d/rc.local 脚本中加入 /sbin/service crond start 即可。

查看、编辑和删除

cron把命令行保存在crontab(cron table)文件里,这个文件通常在 /etc 目录下。每个系统用户都可以有自己的crontab(在 /var/spool/cron/ 下)。

file 使用file文件的内容作为某个用户的cron服务配置,内容会复制到cron服务的配置文件中

-u 设定某个用户的cron服务配置,一般root 用户在执行这个命令的时候需要此参数

-l 列出某个用户cron服务配置

-r 删除某个用户的cron服务配置

-e 编辑某个用户的cron服务配置,当指定crontab 不存在时新建,将使用vi打开配置文件进行编辑保存后退出,文件语法见后

crontab –v 显示上一次编辑的时间(只在某些操作系统上可用)

如当前是root身份,要查看/编辑/删除/某用户的crontab,只需在相应的命令后加上 -u USERNAME (如 crontab -e -u USERNAME )即可。

crontab文件的默认编辑器是vi,可以输入 export VISUAL=’editor’ 更改默认编辑器。

cron服务每分钟不仅要读一次 /var/spool/cron 目录内的所有文件,还需要读一次 /etc/crontab 文件。配置这个文件也能让cron执行任务。使用crontab命令是对用户级任务的配置,而编辑 /etc/crontab 文件是对系统级任务的配置。

语法说明

每行表示一个指令,即表示一项计划任务;每行由空格分隔的六个部分组成,前5部分表示定时任务的执行时间,剩余部分为定时任务要执行的命令,格式如下:

分 小时 日 月 星期 命令

Minute Hour Day Month DayOfWeek command

Minute 每个小时的第几分钟执行该任务,0-59

Hour 每天的第几个小时执行该任务,0-23

Day 每月的第几天执行该任务,1-31

Month 每年的第几个月执行该任务,1-12

DayOfWeek 每周的第几天执行该任务,0-6,0表示周日

Command 指定要执行的程序

以上前五项可使用以下四个特殊符号:

* 表示所有数值,如第一位使用* 表示每分钟

/ 表示每,如第一位使用 */5 表示每5分钟

- 表示数值范围,如第二位使用2-4表示2点到4点

, 表示离散的多个数值,如第2位使用6,8 表示6点和8点

指定“步长”:8-14/2 表示8,10,12,14

指定列表:比如 “1,2,3,4″,”0-4,8-12″

在每行的六项字段中,除了Command是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。

1)除去前五段,从第六段开始到换行符或者“%”为止,为要执行的命令。

2)默认第六段将被/bin/sh执行,除非在crontab文件中指定了非/bin/sh的SHELL变量。

3)第六段中的”%”号,除非前面加””号转交,否则,“%”号将结束命令行、换行的意义,并且其后的内容会被做为标准输入发送给前面的命令。

名称 : 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.

举例如下:

Every minute (* * * * *)

Every 5 minutes (*/5 * * * *)

Twice an hour (0,30 * * * *)

Once an hour (0 * * * *)

Twice a day (0 0,12 * * *)

Once a day (0 0 * * *)

Once a week (0 0 * * 0)

1st and 15th (0 0 1,15 * *)

Once a month (0 0 1 * *)

Once a year (0 0 1 1 *)

Linux代码

5     *     *    *    *   ls >/var/log.txt          指定每小时的第5分钟执行一次ls命令,并将结果保存到/var/log.txt文件

30   5     *     *    *    ls   指定每天的 5:30 执行ls命令

30   7     8     *    *    ls   指定每月8号的7:30分执行ls命令

30   5     8     6    *    ls   指定每年的6月8日5:30执行ls命令

30   6     *     *    0    ls   指定每星期日的6:30执行ls命令 [注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]

30   3    10,20  *    *    ls   每月10号及20号的3:30执行ls命令 [注:“,”用来连接多个不连续的时段]

25   8-11  *     *    *    ls   每天8-11点的第25分钟执行ls命令 [注:“-”用来连接连续的时段]

*/15 *     *     *    *    ls   每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令]

30   6    */10   *    *    ls   每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令,

]

cron配置文件

使用crontab命令添加完成计划任务后会在/var/spool/cron目录中生成一个用户名字的文件,文件里面就是你的计划任务,cron服务会每分钟读取一次/var/spool/cron 中的文件。

系统计划任务

还有一种方法可以添加计划任务,编辑/etc/crontab (cron服务每分钟也读取一次/etc/crontab文件。

用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是:

Linux代码

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号

HOME=/ //使用者运行的路径,这里是根目录

# run-parts

#每小时执行/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”这个参数,如果去掉这个参数的话,后面就要写要运行的某个脚本名,而不是文件夹名。例如:11 2 21 10 * rm -rf /mnt/fb

以下是两个cron语句的例子(在 /etc/crontab 文件里)。前者用来晚间备份 /etc 目录,后者运行Analog程序处理服务器的统计信息。

Linux代码

12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >>/dev/null 2>&1

52 5 * * * root /usr/local/src/analog-5.32-lh/analog >>/dev/null 2>&1

以下是cron语句中的字段与字段说明:

字段 说明

1 分钟(0-59)

2 小时(0-23)

3 日期(1-31)

4 月份(1-12;或英文缩写Jan、Feb等)

5 周几(0-6,0为周日;或单词缩写Sun、Mon等)

6 用户名(执行命令时以此用户的身份)

7 要执行的命令(路径)

现在来看第一行:

Linux代码

12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >>/dev/null 2>&1

这条语句将在每天的凌晨3点12分 (03:12)运行 tar czf /usr/local/backups/daily/etc.tar.gz /etc 命令。>>/dev/null 2>&1 表示把所有标准输出发送到 /dev/null(linux的回收站),把标准错误输出(2)发送到和标准输出(1)同样的地方(即 /dev/null)。运行这行命令将不会产生任何输出。

这条语句可以变得稍微复杂一点:

Linux代码

30 15 13 6 1 * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >>/dev/null 2>&1

它将在6月13日周一的15:30 运行 tar czf /usr/local/backups/daily/etc.tar.gz /etc 命令。

以下语句可以达到同样的效果:

Linux代码

30 15 13 Jun Mon * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >>/dev/null 2>&1

如果你想以用户joey的身份每小时的第15分钟 运行某个程序,可以使用:

Linux代码

15 * * * * joey /usr/bin/somecommand >>/dev/null 2>&1

其中的星号(*)是通配符,表示cron将忽略这个字段。

如果你想每两小时 就运行某个程序,可以在小时字段里使用 */2 。它将会在2点,4点,6点……22点,24点运行。具体语句如下:

Linux代码

0 */2 * * * joey /usr/bin/somecommand >>/dev/null 2>&1

cron语句中还可以使用逗号(,)来指定多个时间。例如你想在每小时的15分和30分 运行某个程序,可以在分钟字段使用 15,30 :

Linux代码

15,30 * * * * joey /usr/bin/somecommand >>/dev/null 2>&1

如果你想在每月的第一周(即1号到7号)每天的指定时间 运行某个程序,可以在日期字段使用 1-7 :

Linux代码

15,30 */2 1-7 * * joey /usr/bin/somecommand >>/dev/null 2>&1

这条语句将在每月的第1-7日每两小时的15分和30分 (02:15,02:30……22: 15,22:30等)运行 /usr/bin/somecommand 命令。

如果你想在每天的16:18 执行一个脚本集合,可以把所有要执行的脚本放到一个目录中(如 /home/username/cron),可以使用:

Linux代码

18 16 * * * root run-parts /home/username/cron >>/dev/null 2>&1

如果你想保存某个程序的输出结果, 可以把 >>/dev/null 2>&1 替换为 >>/home/user/somecommand.log 2>&1 。

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

总结

查看当前用户的cron配置,使用 crontab -l

编辑当前用户的cron配置,使用 crontab -e

删除当前用户的cron配置,使用 crontab -r

以root身份查看/编辑/删除某用户的cron配置,在命令后加上 -u USERNAME

配置系统级的任务,编辑 /etc/crontab 文件

篇4:linux sed命令参数用法详解linux操作系统

本文章来给大家介绍linux sed用法,sed命令来处理、编辑文本文件,他有大量的各种参数下面我来介绍一下,

利用script来处理文本文件。

语 法:sed [-hnV][-e][-f][文本文件]

补充说明:sed可依照script的指令,来处理、编辑文本文件。

参 数:

-e或--expression=  以选项中指定的script来处理输入的文本文件。

-f或--file= 以选项中指定的script文件来处理输入的文本文件。

-h或--help  显示帮助。

-n或--quiet或--silent  仅显示script处理后的结果。

-V或--version  显示版本信息。

基本sed编辑命令:

sed编辑命令

p 打印匹配行

= 显示文件行号

a 在定位行号后附加新文本信息

i 在定位行号后插入新文本信息

d 删除定位行

c 用新文本替换定位文本

s 使用替换模式替换相应模式

r 从另一个文件中读文本

w 写文本到一个文件

q 第一个模式匹配完成后推出或立即推出

l 显示与八进制A S C I I代码等价的控制字符

{ } 在定位行执行的命令组

n 从另一个文件中读文本下一行,并附加在下一行

g 将模式2粘贴到/pattern n/

y 传送字符

n 延续到下一输入行;允许跨行的模式匹配语句

常用命令参数

sed '1,3d' file //删除1-3行

sed '/[Aa]bc/p' file //打印包含Abc或者abc的行

sed '/ABC/d' //删除包含ABC的行

sed '/ABC/!d' //不删除包含ABC的行

sed '5,$d' //从第五行到最后一行全部删除

sed 1q //显示第一行

sed 's/$/.../g' //每行的最后面添加 ...

sed 's/d.(sk)/1&/g' //满足d*sk的单词,在单词前添加sk sed 's/<[^>]*>//g' //去除html标签

sed '/ABC/a123' //在包含ABC的行后面添加一行数值为123的行

sed '/ABC/i123' //跟a不同的是i是插入当前行的前面

sed '/ABC/c123' //包含ABC的行将更改为123

sed '/ABC/{n;s/123/ABC/g}' //精确匹配包含ABC的下一行,将123全部替换成ABC

sed '/ABC/{s/A/a/}' //在包含ABC的行将A替换成a

sed -e '/ABC/h' -e '$g' //将包含ABC的行复制,在最后一行添加.

sed -e '/ABC/{h;d}' -e '/123/G' //将包含ABC的行复制并删除,在包含123的行后添加. g等于在当前行覆盖,G是在符合条件的行后新增加一行. sed 's/^/ /g' //每行前面增加一个空格

sed 's/.(.)$/*1/' //将倒数第二位换成*

sed '/ABC/!s/1/*/g' //在不包含ABC的行里,将所有的1替换成*

sed 's/1|2|3/*/g' //在GNU里将不管是1或2或者是3替换成*

sed -i ‘/Root/s/no/yes/’ /etc/ssh/sshd_config  sed在这个文里Root的一行,匹配Root一行,将no替换成yes.

将 包含now 的行 替换为 带时间戳 以及 8080 变量请求数

sed -i “/now/cnow$time_stamp 8080 request=$web1tomcat” /var/www/html/munin/web1-2.html

在某行的位置插入一行

如果只是在一个文档后面追加一行,那很简单,

>>就可以搞定。不过如果是在指定的某一行里插入。

sed -i “8 s/^/alias vi='vim'/” /root/.bashrc

就是在第8行插入 alias vi='vim'

在第一行前插入文本

sed -i '1 i插入字符串' filename

在最后一行插入

sed -i '$ a插入字符串' filename

在匹配行前插入

sed -i '/pattern/ i “插入字符串”' filename

在匹配行后插入

sed -i '/pattern/ a “插入字符串”' filename

篇5:linux中./configure命令参数解析linux操作系统

Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了。Configure脚本配置工具就是基础之一,它是autoconf的工具的基本应用。

‘configure’脚本有大量的命令行选项。对不同的软件包来说,这些选项可能会有变化,但是许多基本的选项是不会改变的。带上’–help’选项执行’configure’脚本可以看到可用的所有选项。尽管许多选项是很少用到的,但是当你为了特殊的需求而configure一个包时,知道他们的存在是很有益处的。下面对每一个选项进行简略的介绍:

–cache-file=FILE

‘configure’会在你的系统上测试存在的特性(或者bug!)。为了加速随后进行的配置,测试的结果会存储在一个cache file里。当configure一个每个子树里都有’configure’脚本的复杂的源码树时,一个很好的cache file的存在会有很大帮助。

–help

输出帮助信息。即使是有经验的用户也偶尔需要使用使用’–help’选项,因为一个复杂的项目会包含附加的选项。例如,GCC包里的’configure’脚本就包含了允许你控制是否生成和在GCC中使用GNU汇编器的选项。

–no-create

‘configure’中的一个主要函数会制作输出文件。此选项阻止’configure’生成这个文件。你可以认为这是一种演习(dry run),尽管缓存(cache)仍然被改写了。

–quiet

–silent

当’configure’进行他的测试时,会输出简要的信息来告诉用户正在作什么。这样作是因为’configure’可能会比较慢,没有这种输出的话用户将会被扔在一旁疑惑正在发生什么,使用这两个选项中的任何一个都会把你扔到一旁。(译注:这两句话比较有意思,原文是这样的:If there was no such output, the user would be left wondering what is happening. By using this option, you too can be left wondering!)

–version

打印用来产生’configure’脚本的Autoconf的版本号。

–prefix=PEWFIX

‘–prefix’是最常用的选项。制作出的’Makefile’会查看随此选项传递的参数,当一个包在安装时可以彻底的重新安置他的结构独立部分。举一个例子,当安装一个包,例如说Emacs,下面的命令将会使Emacs Lisp file被安装到”/opt/gnu/share”:

$ ./configure –prefix=/opt/gnu

–exec-prefix=EPREFIX

与’–prefix’选项类似,但是他是用来设置结构倚赖的文件的安装位置,编译好的’emacs’二进制文件就是这样一个问件。如果没有设置这个选项的话,默认使用的选项值将被设为和’–prefix’选项值一样。

–bindir=DIR

指定二进制文件的安装位置,这里的二进制文件定义为可以被用户直接执行的程序。

–sbindir=DIR

指定超级二进制文件的安装位置。这是一些通常只能由超级用户执行的程序。

–libexecdir=DIR

指定可执行支持文件的安装位置。与二进制文件相反,这些文件从来不直接由用户执行,但是可以被上面提到的二进制文件所执行。

–datadir=DIR

指定通用数据文件的安装位置。

–sysconfdir=DIR

指定在单个机器上使用的只读数据的安装位置。

–sharedstatedir=DIR

指定可以在多个机器上共享的可写数据的安装位置。

–localstatedir=DIR

指定只能单机使用的可写数据的安装位置。

–libdir=DIR

指定库文件的安装位置。

–includedir=DIR

指定C头文件的安装位置。其他语言如C++的头文件也可以使用此选项。

–oldincludedir=DIR

指定为除GCC外编译器安装的C头文件的安装位置。

–infodir=DIR

指定Info格式文档的安装位置.Info是被GNU工程所使用的文档格式。

–mandir=DIR

指定手册页的安装位置。

–srcdir=DIR

这个选项对安装没有作用,他会告诉’configure’源码的位置。一般来说不用指定此选项,因为’configure’脚本一般和源码文件在同一个目录下。

–program-prefix=PREFIX

指定将被加到所安装程序的名字上的前缀。例如,使用’–program-prefix=g’来configure一个名为’tar’的程序将会使安装的程序被命名为’gtar’。当和其他的安装选项一起使用时,这个选项只有当他被`Makefile.in’文件使用时才会工作。

–program-suffix=SUFFIX

指定将被加到所安装程序的名字上的后缀。

–program-transform-name=PROGRAM

这里的PROGRAM是一个sed脚本。当一个程序被安装时,他的名字将经过`sed -e PROGRAM’来产生安装的名字,

–build=BUILD

指定软件包安装的系统平台。如果没有指定,默认值将是’–host’选项的值。

–host=HOST

指定软件运行的系统平台。如果没有指定。将会运行`config.guess’来检测。

–target=GARGET

指定软件面向(target to)的系统平台。这主要在程序语言工具如编译器和汇编器上下文中起作用。如果没有指定,默认将使用’–host’选项的值。

–disable-FEATURE

一些软件包可以选择这个选项来提供为大型选项的编译时配置,例如使用Kerberos认证系统或者一个实验性的编译器最优配置。如果默认是提供这些特性,可以使用’–disable-FEATURE’来禁用它,这里’FEATURE’是特性的名字,例如:

$ ./configure –disable-gui

-enable-FEATURE[=ARG]

相反的,一些软件包可能提供了一些默认被禁止的特性,可以使用’–enable-FEATURE’来起用它。这里’FEATURE’是特性的名字。一个特性可能会接受一个可选的参数。例如:

$ ./configure –enable-buffers=128

`–enable-FEATURE=no’与上面提到的’–disable-FEATURE’是同义的。

–with-PACKAGE[=ARG]

在自由软件社区里,有使用已有软件包和库的优秀传统。当用’configure’来配置一个源码树时,可以提供其他已经安装的软件包的信息。例如,倚赖于Tcl和Tk的BLT器件工具包。要配置BLT,可能需要给’configure’提供一些关于我们把Tcl和Tk装的何处的信息:

$ ./configure –with-tcl=/usr/local –with-tk=/usr/local

‘–with-PACKAGE=no’与下面将提到的’–without-PACKAGE’是同义的。

–without-PACKAGE

有时候你可能不想让你的软件包与系统已有的软件包交互。例如,你可能不想让你的新编译器使用GNU ld。通过使用这个选项可以做到这一点:

$ ./configure –without-gnu-ld

–x-includes=DIR

这个选项是’–with-PACKAGE’选项的一个特例。在Autoconf最初被开发出来时,流行使用’configure’来作为Imake的一个变通方法来制作运行于X的软件。’–x-includes’选项提供了向’configure’脚本指明包含X11头文件的目录的方法。

–x-libraries=DIR

类似的,’–x-libraries’选项提供了向’configure’脚本指明包含X11库的目录的方法。

在源码树中运行’configure’是不必要的同时也是不好的。一个由’configure’产生的良好的’Makefile’可以构筑源码属于另一棵树的软件包。在一个独立于源码的树中构筑派生的文件的好处是很明显的:派生的文件,如目标文件,会凌乱的散布于源码树。这也使在另一个不同的系统或用不同的配置选项构筑同样的目标文件非常困难。建议使用三棵树:一棵源码树(source tree),一棵构筑树(build tree),一棵安装树(install tree)。这里有一个很接近的例子,是使用这种方法来构筑GNU malloc包:

$ gtar zxf mmalloc-1.0.tar.gz

$ mkdir build && cd build

$ ../mmalloc-1.0/configure

creating cache ./config.cache

checking for gcc… gcc

checking whether the C compiler (gcc ) works… yes

checking whether the C compiler (gcc ) is a cross-compiler… no

checking whether we are using GNU C… yes

checking whether gcc accepts -g… yes

checking for a BSD compatible install… /usr/bin/install -c

checking host system type… i586-pc-linux-gnu

checking build system type… i586-pc-linux-gnu

checking for ar… ar

checking for ranlib… ranlib

checking how to run the C preprocessor… gcc -E

checking for unistd.h… yes

checking for getpagesize… yes

checking for working mmap… yes

checking for limits.h… yes

checking for stddef.h… yes

updating cache ../config.cache

creating ./config.status

这样这棵构筑树就被配置了,下面可以继续构筑和安装这个包到默认的位置’/usr/local’:

$ make all && make install

Ubuntu中miitool查看网速的命令用法介绍linux操作系统

Linux基础教程之命令的使用

有限元分析中材料静力参数的确定

linux中Virtualmin安装配置教程linux操作系统

在Word快速访问工具栏中添加命令

下载linux中ln 命令使用参数详解linux操作系统(合集5篇)
linux中ln 命令使用参数详解linux操作系统.doc
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
点击下载本文文档