linux命令详解网络配置、sysctl命令参数

| 收藏本文 下载本文 作者:gsdgf

以下是小编为大家准备的linux命令详解网络配置、sysctl命令参数(共含10篇),仅供参考,大家一起来看看吧。同时,但愿您也能像本文投稿人“gsdgf”一样,积极向本站投稿分享好文章。

linux命令详解网络配置、sysctl命令参数

篇1:linux命令详解网络配置、sysctl命令参数

【简 介】

懂得网络配置命令是一般技术人员必备的技术,经过一段时间的研究和学习,总结了一些常用的命令和示例以便日后查阅.

懂得网络配置命令是一般技术人员必备的技术,经过一段时间的研究和学习,总结了一些常用的命令和示例以便日后查阅.

传统的在1--3点,ip高级路由命令在4--12点,两者部分可以通用,并达到同样的目的,但ip的功能更强大,可以实现更多的配置目的,

首先,先了解传统的网络配置命令:

1. 使用ifconfig命令配置并查看网络接口情况

示例1: 配置eth0的IP,同时激活设备:

# ifconfig eth0 192.168.4.1 netmask 255.255.255.0 up

示例2: 配置eth0别名设备 eth0:1 的IP,并添加路由

# ifconfig eth0:1 192.168.4.2

# route add –host 192.168.4.2 dev eth0:1

示例3:激活(禁用)设备

# ifconfig eth0:1 up(down)

示例4:查看所有(指定)网络接口配置

# ifconfig (eth0)

2. 使用route 命令配置路由表

示例1:添加到主机路由

# route add –host 192.168.4.2 dev eth0:1

# route add –host 192.168.4.1 gw 192.168.4.250

示例2:添加到网络的路由

# route add –net IP netmask MASK eth0

# route add –net IP netmask MASK gw IP

# route add –net IP/24 eth1

示例3:添加默认网关

# route add default gw IP

示例4:删除路由

# route del –host 192.168.4.1 dev eth0:1

示例5:查看路由信息

# route 或 route -n (-n 表示不解析名字,列出速度会比route 快)

3.ARP 管理命令

示例1:查看ARP缓存

# arp

示例2: 添加

# arp –s IP MAC

示例3: 删除

# arp –d IP

4. ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,

例如:ifconfig、route等,

上面的示例完全可以用下面的ip命令实现,而且ip命令可以实现更多的功能.下面介绍一些示例:

4.0 ip命令的语法

ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]]

4.1 ip link set--改变设备的属性. 缩写:set、s

示例1:up/down 起动/关闭设备。

# ip link set dev eth0 up

这个等于传统的 # ifconfig eth0 up(down)

示例2:改变设备传输队列的长度。

参数:txqueuelen NUMBER或者txqlen NUMBER

# ip link set dev eth0 txqueuelen 100

示例3:改变网络设备MTU(最大传输单元)的值。

# ip link set dev eth0 mtu 1500

示例4: 修改网络设备的MAC地址。

参数: address LLADDRESS

# ip link set dev eth0 address 00:01:4f:00:15:f1

4.2 ip link show--显示设备属性. 缩写:show、list、lst、sh、ls、l

-s选项出现两次或者更多次,ip会输出更为详细的错误信息统计。

示例:

# ip -s -s link ls eth0

eth0: mtu 1500 qdisc cbq qlen 100

link/ether 00:a0:cc:66:18:78 brd ff:ff:ff:ff:ff:ff

RX: bytes packets errors dropped overrun mcast

2449949362 2786187 0 0 0 0

RX errors: length crc frame. fifo missed

0 0 0 0 0

TX: bytes packets errors dropped carrier collsns

篇2:linux的网络配置命令详解

1、查看IP:Ifconfig

2、配置IP的方法:

A、这种方法立即生效,但是重启将不会保存,(除了这个方法的其它方法都可以保存下来)

Ifconfig eth0 1.1.1.1 netmask 255.0.0.0 up

Ifconfig eth0:1 1.1.1.3 up //设置一个网卡多个IP的方法(在设置虚拟主机时有用到)

激活网卡:Ifconfig eth0 up

关闭网卡:Ifconfig eth0 down

动态获取IP:Ifconfig etho –dynamic

Dhclient

修改Mac值:先关闭网卡:Ifconfig eth0 down

再修改MAC值:Ifconfig eth0 hw ether 112233445566

再激活网卡:Ifconfig eth0 up

B、Netconfig或者Setup,但只能设置Eth0网卡

C、Neat:打开图形窗口进行设置

D、配置文件设置:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

注意:配置完后重启网卡Service network restart出现失败时,用第四种方法检查配置文件中的Bootup是否为None,如果是DHCP一般会出错的。

3、配置网关:

查看网关:route

添加默认路由:

route add –net 0.0.0.0 netmask 0.0.0.0 gw 192.168.0.1

删除默认路由:

route del –net 0.0.0.0 netmask 0.0.0.0 gw 192.168.0.1

Linux路由配置:

1、首先开启路由功能

echo 1 >/proc/sys/net/ipv4/ip_forward (1为打开路由功能,0为关闭路由功能)

(在这个实验里只要开启路由功能就OK了)

2、其它路由设置:

A、添加路由信息:

route add –net 10.0.0.1 netmask 255.0.0.0 gw 192.168.0.1

或者route add –net 10.0.0.1 netmask 255.0.0.0 dev eth0 (通过本机的第一个网卡出去)

删除路由条目:只要把上面的Add改为Del就可以了

B、用Zebra配置路由(配置就跟Cisco的是一样的命令):

1)设置登录密码:

Vi /etc/zebra/zebra.conf

password abc #设置连接时的密码

enable password 123 #设置特权密码

2)开启服务

service zebra start

3)建立要配置的路由协议文件

如用Rip协议:touch /etc/zebra/ripd.conf

4)开启Rip协议:service ripd start

5)进入Zebra:

方法一、Telnet 127.0.0.1 2601 ##记得端口是2601

如果没有设置密码,默认情况下是不允许连接的,适合于远程登录

方法二、Vtysh ##不用密码也可以进入,如果有密码还会显示出来,但只适用于本地登录,

6)配置路由:就跟在Cisco路由器里是一样的就略了

7)退出:quit(退出之前记得先保存一下)

篇3:linux usermod命令参数及用法详解

命 令:usermod

功能说明:修改用户帐号,

语 法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s][-u][用户帐号]

补充说明:usermod可用来修改用户帐号的各项设定。

参 数:

-c<备注> 修改用户帐号的备注文字。

-d登入目录> 修改用户登入时的目录。

-e<有效期限> 修改帐号的有效期限。

-f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。

-g<群组> 修改用户所属的群组。

-G<群组> 修改用户所属的附加群组。

-l<帐号名称> 修改用户帐号名称。

-L 锁定用户密码,使密码无效。

-s修改用户登入后所使用的shell,

-u修改用户ID。

-U 解除密码锁定。

usermod 不 允 许 你 改 变 正 在线 上 的 使 用 者 帐 号 名 称 。 当 usermod 用 来 改 变 user ID, 必 须 确 认 这 名 user 没 在 电 脑 上 执 行 任 何 程 序。 你 需 手 动 更 改 使 用 者 的 crontab 档 。 也 需 手 动 更 改 使 用 者 的 at 工 作 档 。 采 用 NIS server 须 在 server 上 更 动 相 关 的 NIS 设 定 。

应用举例:

1、将 newuser2 添加到组 staff 中

# usermod -G staff newuser2

2、修改 newuser 的用户名为 newuser1

# usermod -l newuser1 newuser

3、锁定账号 newuser1

# usermod -L newuser1

4、解除对 newuser1 的锁定

# usermod -U newuser1

篇4:linux userdel命令参数及用法详解

命 令: userdel

功能说明:删除用户帐号,

语 法:userdel [-r][用户帐号]

补充说明:userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件。

参 数:

-f 删除用户登入目录以及目录中所有文件。

userdel很简单,只有一个参数可选 -r ;如果加参数-r ,表示在删除用户的同时,一并把用户的家目录及本地邮件存储的目录或文件也一同删除;比如我们现在有个用户jb51,其家目录位于/var目录中,现在我们来删除这个用户;

userdel jb51 注:删除用户jb51,但不删除其家目录及文件;

userdel -r jb51 注:删除用户jb51,其家目录及文件一并删除;

警告: 请不要轻易用-r参数;他会删除用户的同时删除用户所有的文件和目录,切记;如果用户目录下有重要的文件,在删除前请备份;

其实也有最简单的办法,但这种办法有点不安全,也就是直接在/etc/passwd中删除您想要删除用户的记录;但最好不要这样做,/etc/passwd 是极为重要的文件,可能您一不小心会操作失误;

其相似命令groupdel 是用来删除用户组的;

语法格式:groupdel 用户组

groupdel admin

假如删除的时候忘记带r参数 以后想删除这个用户的文件 可以用下面这条命令

find / --nouser -exec rm - rf {} \

删除所有 用户不存在而遗留的文件(因为用户已被删除,其文件的拥有者为其UID,参数nouser用于删除此类文件)

篇5:linux halt命令参数及用法详解

名称:halt

使用权限:系统管理者

使用方式:halt [-n] [-w] [-d] [-f] [-i] [-p]

说明:若系统的 runlevel 为 0 或 6 ,则关闭系统,否则以 shutdown 指令(加上 -h 参数)来取代

参数:

-n : 在关机前不做将记忆体资料写回硬盘的动作

-w : 并不会真的关机,只是把记录写到 /var/log/wtmp 档案里

-d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d) -f : 强迫关机,不呼叫 shutdown 这个指令

-i : 在关机之前先把所有网络相关的装置先停止

-p : 当关机的时候,顺便做关闭电源(poweroff)的动作

范例:

halt -p 关闭系统后关闭电源,

halt -d 关闭系统,但不留下纪录。

linux常用关机命令及其区别:

在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希望你可以更加灵活的运用各种关机命令。

1.shutdown

shutdown命令安全地将系统关机。

有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失o使系统处于不稳定的状态o甚至在有的系统中会损坏硬件设备。

而在系统关机前使用shutdown命令o系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结o即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的o还可能重

启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕决定的。这让像vi之类的程序有时间储存目前正在编辑的文档o而像处理邮件〔mail〕和新闻〔news〕的程序则可以正常地离开等等。

shutdown执行它的工作是送信号〔signal〕给init程序o要求它改变runlevel。Runlevel 0被用来停机〔halt〕orunlevel 6是用来重新激活〔reboot〕系统o而runlevel 1则是被用来让系统进入管理工作可以进行的状态r这是预设的o假定没有-h也没有-r参数给shutdown,

要想了解在停机〔halt〕或者重新开机〔reboot〕过程中做了哪些动作o你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。

shutdown 参数说明:

[-t] 在改变到其它runlevel之前o告诉init多久以后关机。

[-r] 重启计算器。

[-k] 并不真正关机o只是送警告信号给每位登录者〔login〕。

[-h] 关机后关闭电源〔halt〕。

[-n] 不用inito而是自己来关机。不鼓励使用这个选项o而且该选项所产生的后果往往不总是你所预期得到的。

[-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数o但是可以输入一个用来解释的讯息o而这信息将会送到每位使用者。

[-f] 在重启计算器〔reboot〕时忽略fsck。

[-F] 在重启计算器〔reboot〕时强迫fsck。

[-time] 设定关机〔shutdown〕前的时间。

2.halt—-最简单的关机命令

其实halt就是调用shutdown -h。halt执行时o杀死应用进程o执行sync系统调用o文件系统写操作完成后就会停止内核。

参数说明:

[-n] 防止sync系统调用o它用在用fsck修补根分区之后o以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。

[-w] 并不是真正的重启或关机o只是写wtmp〔/var/log/wtmp〕纪录。

[-d] 不写wtmp纪录〔已包含在选项[-n]中〕。

[-f] 没有调用shutdown而强制关机或重启。

[-i] 关机〔或重启〕前o关掉所有的网络接口。

[-p] 该选项为缺省选项。就是关机时调用poweroff。

3.reboot

reboot的工作过程差不多跟halt一样o不过它是引发主机重启o而halt是关机。它的参数与halt相差不多。

4.init

init是所有进程的祖先o它的进程号始终为1o所以发送TERM信号给init会终止所有的用户进程p守护进程等。shutdown就是使用这种机制。init定义了8个运行级别(runlevel),init 0为关机oinit1为重启。关于init可以长篇大论o这里就不再叙述。另外还有telinit命令可以改变init的运行级别o比如otelinit -iS可使系统进入单用户模式o并且得不到使用shutdown时的信息和等待时间。

篇6:linux chsh命令参数及用法详解

使用权限:所有使用者

命令:chsh

用法:shell>>chsh

说明:更改使用者 shell 设定

范例:

shell>>chsh

Changing fihanging shell for user1

Password: [del]

New shell [/bin/tcsh]: ### [是目前使用的 shell]

[del]

shell>>chsh -l ### 展示 /etc/shells 档案内容

/bin/bash

/bin/sh

/bin/ash

/bin/bsh

/bin/tcsh

/bin/csh

推荐阅读:用chsh命令选择shell

1 我想知道我机器安装了哪些shell?

两种方法可以查看:

第一种:

[rocrocket@jb51.net ~]$ chsh -l

/bin/sh

/bin/bash

/sbin/nologin

/bin/zsh

第二种:

[rocrocket@jb51.net ~]$ cat /etc/shells

/bin/sh

/bin/bash

/sbin/nologin

/bin/zsh

其实chsh -l也是来查看这个文件,

2 我想知道我当前正在使用的shell是哪个阿?

[rocrocket@jb51.net ~]$ echo $SHELL

/bin/bash

注意SHELL一定要是大写,

可以看到,我目前使用的shell是/bin/bash

3 执行了zsh之后,我查看当前shell类型仍然是/bin/bash呢?

请注意,我们虽然执行了zsh,但是所谓“当前的shell”是一个大环境的概念,是针对一个已登录的用户而言的。而我们执行zsh只是启动了一个zsh的解释器程序而已,并没有改变大环境。如果想改变“当前的shell”,那么还是要使用chsh才可以。

4 我想把我的shell改成zsh!

[rocrocket@jb51.net ~]$ chsh -s /bin/zsh

Changing shell for rocrocket.

Password:

Shell changed.

[rocrocket@jb51.net ~]$

使用chsh加选项-s就可以修改登录的shell了!

你会发现你现在执行echo $SHELL后仍然输出为/bin/bash,这是因为你需要重启你的shell才完全投入到zsh怀抱中去。

5 chsh -s到底是修改了哪里?

秘密告诉你吧。chsh -s其实修改的就是/etc/passwd文件里和你的用户名相对应的那一行。现在我来查看下:

[rocrocket@jb51.net ~]$ cat /etc/passwd|grep ^rocrocket

rocrocket:x:500:500:rocrocket,China:/rocrocket/PSB/home:/bin/zsh

看!你可以发现输出内容的最后部分已经变成了/bin/zsh了!下次你重启的时候,linux就会读取这一命令来启动你的shell了!

好了,我要恢复正常工作,把shell修改会我熟悉的/bin/bash了!

[rocrocket@jb51.net ~]$ chsh -s /bin/bash

Changing shell for rocrocket.

Password:

Shell changed.

篇7:linux wc命令参数及用法详解

wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出,

语法:wc [选项] 文件…

说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。

该命令各选项含义如下:

- c 统计字节数。

- l 统计行数。

- w 统计字数。

这些选项可以组合使用。

输出列的顺序和数目不受选项的顺序和数目的影响。总是按下述顺序显示并且每项最多一列。

行数、字数、字节数、文件名

如果命令行中没有文件名,则输出中不出现文件名。

例如:

$ wc - lcw file1 file2

4 33 file1

7 52 file2

11 11 85 total

省略任选项-lcw,wc命令的执行结果与上面一样

示例:

wc命令用来计算一个文件或者指定的多个文件中的行数,单词数和字符数,

如:

wc filename

第一列显示行数,第二列显示单词数,第三列显示字符数。

wc 有四个参数可选,分别是l,c,m,w

wc -l filename 报告行数

wc -c filename 报告字节数

wc -m filename 报告字符数

wc -w filename 报告单词数

今天看到的命令是:ls -l|wc -l 用来统计当前目录下的文件数

篇8:linux sort命令参数及用法详解

功能说明:将文本文件内容加以排序,

语 法:sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]

补充说明:sort可针对文本文件的内容,以行为单位来排序。

参 数:

-b 忽略每行前面开始出的空格字符。

-c 检查文件是否已经按照顺序排序。

-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。

-f 排序时,将小写字母视为大写字母。

-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。

-m 将几个排序好的文件进行合并。

-M 将前面3个字母依照月份的缩写进行排序。

-n 依照数值的大小排序。

-o<输出文件>将排序后的结果存入指定的文件。

-r 以相反的顺序来排序。

-t<分隔字符>指定排序时所用的栏位分隔字符。

+<起始栏位>-<结束栏位>以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。

--help 显示帮助。

--version 显示版本信息

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

下面通过几个例子来讲述Sort的使用。

用Sort命令对text文件中各行排序后输出其结果。请注意,在原文件的第二、三行上的第一个单词完全相同,该命令将从它们的第二个单词vegetables与fruit的首字符处继续进行比较。

$ cat text

vegetable soup

fresh vegetables

fresh fruit

lowfat milk

$ Sort text

fresh fruit

fresh vegetables

lowfat milk

vegetable soup

用户可以保存排序后的文件内容,或把排序后的文件内容输出至打印机,

下例中用户把排序后的文件内容保存到名为result的文件中。

$ Sort text>result

以第2个字段作为排序关键字对文件example的内容进行排序。

$ Sort +1-2 example

对于file1和file2文件内容反向排序,结果放在outfile中,利用第2个字段的第一个字符作为排序关键字。

$ Sort -r -o outfile +1.0 -1.1 example

Sort排序常用于在管道中与其他命令连用,组合完成比较复杂的功能,如利用管道将当前工作目录中的文件送给Sort进行排序,排序关键字是第6个至第8个字段。

$ ls - l | Sort +5 - 7

$ ps -e -o “ comm pid time”|Sort -d //按照command的首字母的字母顺序排序

Sort命令也可以对标准输入进行操作。例如,如果您想把几个文件文本行合并,并对合并后的文本行进行排序,您可以首先用命令cat把多个文件合并,然后用管道操作把合并后的文本行输入给命令Sort,Sort命令将输出这些合并及排序后的文本行。在下面的例子中,文件veglist与文件 fruitlist的文本行经过合并与排序后被保存到文件clist中。

$ cat veglist fruitlist | Sort >clist

篇9: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

篇10:linux基础命令 find 命令的参数详解

find一些常用参数的一些常用实例和一些具体用法和注意事项,

1.使用name选项:

文件名选项是find命令最常用 的选项,要么单独使用该选项,要么和其他选项一起使用。 可以使用某种文件名模式来匹配文件,记住要用引号将文件名模式 引起来。  不管当前路径是什么,如果想要在自己的根目录$HOME中查找文件名符合*.log的文件,使用~作为 'pathname'参数,波浪号~代表了你的$HOME目录。

find ~ -name “*.log” -print

想要在当 前目录及子目录中查找所有的‘ *.log‘文件,可以用:

find . -name “*.log” -print

想要的当前 目录及子目录中查找文件名以一个大写字母开头的文件,可以用:

find . -name “[A-Z]*” -print

想 要在/etc目录中查找文件名以host开头的文件,可以用:

find /etc -name “host*” -print

想要查找 $HOME目录中的文件,可以用:

find ~ -name “*” -print 或find . -print

要想让系统高负荷运行, 就从根目录开始查找所有的文件。

find / -name “*” -print

如果想在当前目录查找文件名以一个个 小写字母开头,最后是4到9加上.log结束的文件:

命令:

find . -name “[a-z]*[4-9].log” - print

输出:

[root@localhost test]# ll

总计 316

-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log

-rw-r--r-- 1 root root     61 11-13 06:03 log2013.log

-rw-r--r-- 1 root root      0 11-13 06:03 log2014.log

-rw-r--r-- 1 root root      0 11-13 06:06 log2015.log

drwxr-xr-x 6 root root   4096 10-27 01:58 scf

drwxrwxr-x 2 root root   4096 11-13 06:08 test3

drwxrwxr-x 2 root root   4096 11-13 05:50 test4

[root@localhost test]# find . -name “[a-z]*[4-9].log” - print

./log2014.log

./log2015.log

./test4/log2014.log

[root@localhost test]#

2.用 perm选项:

按照文件权限模式用-perm选项,按文件权限模式来查找文件的话。最好使用八进制的权限表示法。

如 在当前目录下查找文件权限位为755的文件,即文件属主可以读、写、执行,其他用户可以读、执行的文件,可以用:

[root@localhost test]# find . -perm 755 - print

.

./scf

./scf/lib

./scf/service

./scf/service/deploy

./scf/service/dep loy/product

./scf/service/deploy/info

./scf/doc

./scf/bin

[root@localhost test]#

还有一种表达方法:在八进制数字前面要加一个横杠-,表示都匹配,如-007就相当于777,-005相当于555,

命令:

find . -perm -005

输出:

[root@localhost test]# ll

总计 316

-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log

-rw-r--r-- 1 root root     61 11-13 06:03 log2013.log

-rw-r--r-- 1 root root      0 11-13 06:03 log2014.log

-rw-r--r-- 1 root root      0 11-13 06:06 log2015.log

drwxr-xr-x 6 root root   4096 10-27 01:58 scf

drwxrwxr-x 2 root root   4096 11-13 06:08 test3

drwxrwxr-x 2 root root   4096 11-13 05:50 test4

[root@localhost test]# find . -perm - 005

.

./test4

./scf

./scf/lib

./scf/service

./scf/service/deploy

./scf /service/deploy/product

./scf/service/deploy/info

./scf/doc

./scf/bin

./test3

[root@localhost test]#

3.忽略某个目录:

如果在查找文件时希望忽略某个目录,因为你知道那个目录中没有 你所要查找的文件,那么可以使用-prune选项来指出需要忽略的目录。在使用-prune选项时要当心,因为如果你同时使用了- depth选项,那么-prune选项就会被find命令忽略。如果希望在test目录下查找文件,但不希望在test/test3目录下查找,可以 用:

命令:

find test -path “test/test3” -prune -o -print

输出:

[root@localhost soft]# find test -path “test/test3” -prune -o - print

test

test/log2014.log

test/log2015.log

test/test4

test/test4/log2014.log

test/test4/log2013.log

test/test4/log2012.log

test/scf

test/scf/lib

test/scf/service< /p>

test/scf/service/deploy

test/scf/service/deploy/product

test/scf/service/deploy/info

tes t/scf/doc

test/scf/bin

test/log2013.log

test/log2012.log

[root@localhost soft]#

4 .使用find查找文件的时候怎么避开某个文件目录:

实例1:在test 目录下查找不在test4子目录之内的所有文件

命令:

find test -path “test/test4” -prune -o -print

输出:

[root@localhost soft]# find test

test

test/log2014.log

test/log2015.log

test/test4

test/test4/log2014.log

< p>test/test4/log2013.log

test/test4/log2012.log

test/scf

test/scf/lib

test/scf/service

test/scf/service/deploy

test/scf/service/deploy/product

test/scf/service/deploy/info

test /scf/doc

test/scf/bin

test/log2013.log

test/log2012.log

test/test3

[root@localhost soft]# find test -path “test/test4” -prune -o - print

test

test/log2014.log

test/log2015.log

test/scf

test/scf/lib

test/scf/ service

test/scf/service/deploy

test/scf/service/deploy/product

test/scf/service/deploy/info

test/scf/doc

test/scf/bin

test/log2013.log

test/log2012.log

test/test3

[root@localhost soft]#

说明:

find [-path ..] [expression]

在路径列表的后面的是表达式

- path “test” -prune -o -print 是 -path “test” -a -prune -o -print 的简写表达式按顺序求值, -a 和 -o 都是短路求值,与 shell 的 && 和 || 类似如果

-path “test” 为真,则求值 -prune , - prune 返回真,与逻辑表达式为真;否则不求值 -prune,与逻辑表达式为假,

如果 -path “test” -a -prune 为假 ,则求值 -print ,-print返回真,或逻辑表达式为真;否则不求值 -print,或逻辑表达式为真。

这个表达式组合特例 可以用伪码写为:

if -path “test” then

-prune

else

-print

实例2:避开多个 文件夹:

命令:

find test \( -path test/test4 -o -path test/test3 \) -prune -o -print

输出:

[root@localhost soft]# find test \( -path test/test4 -o -path test/test3 \) -prune -o -print

test

test/log2014.log

test/log2015.log

test/scf

test/scf/lib

test/scf/service

test/scf/service/deploy

test/scf/service/deploy/product

test/scf/service/deploy/info

test /scf/doc

test/scf/bin

test/log2013.log

test/log2012.log

[root@localhost soft]#

说 明:

圆括号表示表达式的结合。 \表示引用,即指示 shell 不对后面的字符作特殊解释,而留给 find 命令去解释其意义。

实例3:查找某一确定文件,-name等选项加在-o 之后

命令:

find test \(-path test/test4 -o -path test/test3 \) -prune -o -name “*.log” -print

输出:

[root@localhost soft]# find test \( -path test/test4 -o -path test/test3 \) -prune -o -name “*.log” -print

test/log2014.log

test/log2015.log

test/log2013.log

test/log2012.log

[root@localhost soft]#

5.使用user和nouser选项:

按文件属主查找文件:

实例1:在$HOME目录中查找文件属主为peida 的文件

命令:

find ~ -user peida -print

实例2:在/etc目录下查找文件属主为peida的文件:

命 令:

find /etc -user peida -print

说明:

实例3:为了查找属主帐户已经被删除的文件,可以使用- nouser选项。在/home目录下查找所有的这类文件

命令:

find /home -nouser -print

说明:

这样 就能够找到那些属主在/etc/passwd文件中没有有效帐户的文件。在使用-nouser选项时,不必给出用户名; find命令能够为你 完成相应的工作。

6.使用group和nogroup选项:

就像user和nouser选项一样,针对文件所属于的用户组, find 命令也具有同样的选项,为了在/apps目录下查找属于gem用户组的文件,可以用:

find /apps -group gem - print

要查找没有有效所属用户组的所有文件,可以使用nogroup选项。下面的find命令从文件系统的根目录处查找这样 的文件:

find / -nogroup-print

7.按照更改时间或访问时间等查找文件:

如果希望按照更改时间来查找 文件,可以使用mtime,atime或ctime选项。如果系统突然没有可用空间了,很有可能某一个文件的长度在此期间增长迅速,这时 就可以用mtime选项来查找这样的文件。

用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距 今n日以前的文件。

希望在系统根目录下查找更改时间在5日以内的文件,可以用:

find / -mtime -5 - print

为了在/var/adm目录下查找更改时间在3日以前的文件,可以用:

find /var/adm -mtime +3 - print

8.查找比某个文件新或旧的文件:

如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可 以使用-newer选项。

它的一般形式为:

newest_file_name ! oldest_file_name

其中,!是逻辑非符号。

实例1:查找更改时间比文件log2012.log新但比文件log2017.log旧的文件

命令:

find -newer log2012.log ! -newer log2017.log

输出:

[root@localhost test]# ll

总计 316

-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log

-rw-r--r-- 1 root root     61 11-13 06:03 log2013.log

-rw-r--r-- 1 root root      0 11-13 06:03 log2014.log

-rw-r--r-- 1 root root      0 11-13 06:06 log2015.log

-rw-r--r-- 1 root root      0 11-16 14:41 log2016.log

-rw-r--r-- 1 root root      0 11-16 14:43 log2017.log

drwxr-xr-x 6 root root   4096 10-27 01:58 scf

drwxrwxr-x 2 root root   4096 11-13 06:08 test3

drwxrwxr -x 2 root root   4096 11-13 05:50 test4

[root@localhost test]# find -newer log2012.log ! -newer log2017.log

.

./log2015.log

./log2017.log

./log2016.log

./test3

[root@localhost test]#

实例2:查找更改时间在比log2012.log文件新的文件

命令:

find . -newer log2012.log -print

输出:

[root@localhost test]# find -newer log2012.log

.

./log2015.log

./log2017.log

./log2016.log

./test3

[root@localhost test]#

9.使用type选项:

实例1:在/etc目录下查找所有的目录

命令:

find /etc -type d -print

实例2:在当前目录下查找除目录以外的所有类型的文件

命令:

find . ! -type d -print

实例3:在/etc目录下查找所有的符号链接文件

命令:

find /etc -type l -print

10.使 用size选项:

可以按照文件长度来查找文件,这里所指的文件长度既可以用块(block)来计量,也可以用字节来计量。 以字节计量文件长度的表达形式为N c;以块计量文件长度只用数字表示即可。

在按照文件长度查找文件时,一般使用这 种以字节表示的文件长度,在查看文件系统的大小,因为这时使用块来计量更容易转换。

实例1:在当前目录下查找文件 长度大于1 M字节的文件

命令:

find . -size +1000000c -print

实例2:在/home/apache目录下查找文件 长度恰好为100字节的文件:

命令:

find /home/apache -size 100c -print

实例3:在当前目录下查找长 度超过10块的文件(一块等于512字节)

命令:

find . -size +10 -print

11.使用depth选项:

在使用find命令时,可能希望先匹配所有的文件,再在子目录中查找。使用depth选项就可以使find命令这样做。这样做的一个 原因就是,当在使用find命令向磁带上备份文件系统时,希望首先备份所有的文件,其次再备份子目录中的文件。

实例1 :find命令从文件系统的根目录开始,查找一个名为CON.FILE的文件。

命令:

find / -name “CON.FILE” -depth -print

说明:

它将首先匹配所有的文件然后再进入子目录中查找

12.使 用mount选项:

在当前的文件系统中查找文件(不进入其他文件系统),可以使用find命令的mount选项。

实例1 :从当前目录开始查找位于本文件系统中文件名以XC结尾的文件

命令:

find . -name “*.XC” -mount -print

查看全套教程:www.bianceng.cn/OS/Linux/201301/35075.htm

路由器OSPF协议配置命令网络知识

交换机配置命令分类总结

北电8600交换机VLAN配置命令

华为路由器防火墙配置命令总结

Linux 中 RPM 命令参数使用详解Linux

Windows常用网络命令技巧Windows安全

菜鸟必学的网络入侵命令

CAD命令手册

iPhone15配置参数

活用Windows Server 命令 解决网络疑难杂症

linux命令详解网络配置、sysctl命令参数(共10篇)

欢迎下载DOC格式的linux命令详解网络配置、sysctl命令参数,但愿能给您带来参考作用!
推荐度: 推荐 推荐 推荐 推荐 推荐
点击下载文档 文档为doc格式
点击下载本文文档