curl

curl

利用URL规则在命令行下工作的文件传输工具

补充说明

curl命令 是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。做网页处理流程和数据检索自动化,curl可以祝一臂之力。

语法

curl(选项)(参数)

选项

-a/--append                                   # 上传文件时,附加到目标文件 
-A/--user-agent                               # 设置用户代理发送给服务器 
-anyauth                                      # 可以使用“任何”身份验证方法 
-b/--cookie                                   # cookie字符串或文件读取位置 
     --basic                                  # 使用HTTP基本验证 
-B/--use-ascii                                # 使用ASCII /文本传输 
-c/--cookie-jar                               # 操作结束后把cookie写入到这个文件中 
-C/--continue-at                              # 断点续传 
-d/--data                                     # HTTP POST方式传送数据 
     --data-ascii                             # 以ascii的方式post数据 
     --data-binary                            # 以二进制的方式post数据 
     --negotiate                              # 使用HTTP身份验证 
     --digest                                 # 使用数字身份验证 
     --disable-eprt                           # 禁止使用EPRT或LPRT 
     --disable-epsv                           # 禁止使用EPSV 
-D/--dump-header                              # 把header信息写入到该文件中 
     --egd-file                               # 为随机数据(SSL)设置EGD socket路径 
     --tcp-nodelay                            # 使用TCP\_NODELAY选项 
-e/--referer                                  # 来源网址 
-E/--cert                                     # 客户端证书文件和密码 (SSL)
     --cert-type                              # 证书文件类型 (DER/PEM/ENG) (SSL)
     --key                                    # 私钥文件名 (SSL)
     --key-type                               # 私钥文件类型 (DER/PEM/ENG) (SSL)
     --pass                                   # 私钥密码 (SSL)
     --engine                                 # 加密引擎使用 (SSL). "--engine list" for list 
     --cacert                                 # CA证书 (SSL)
     --capath                                 # CA目录 (made using c\_rehash) to verify peer against (SSL)
     --ciphers                                # SSL密码 
     --compressed                             # 要求返回是压缩的形势 (using deflate or gzip)
     --connect-timeout                        # 设置最大请求时间 
     --create-dirs                            # 建立本地目录的目录层次结构 
     --crlf                                   # 上传是把LF转变成CRLF 
-f/--fail                                     # 连接失败时不显示http错误 
     --ftp-create-dirs                        # 如果远程目录不存在,创建远程目录 
     --ftp-method \[multicwd/nocwd/singlecwd] # 控制CWD的使用 
     --ftp-pasv                               # 使用 PASV/EPSV 代替端口 
     --ftp-skip-pasv-ip                       # 使用PASV的时候,忽略该IP地址 
     --ftp-ssl                                # 尝试用 SSL/TLS 来进行ftp数据传输 
     --ftp-ssl-reqd                           # 要求用 SSL/TLS 来进行ftp数据传输 
-F/--form                                     # 模拟http表单提交数据 
     --form-string                            # 模拟http表单提交数据 
-g/--globoff                                  # 禁用网址序列和范围使用{}和\[] 
-G/--get                                      # 以get的方式来发送数据 
-H/--header                                   # 自定义头信息传递给服务器 
     --ignore-content-length                  # 忽略的HTTP头信息的长度 
-i/--include                                  # 输出时包括protocol头信息 
-I/--head                                     # 只显示请求头信息 
-j/--junk-session-cookies                     # 读取文件进忽略session cookie 
     --interface                              # 使用指定网络接口/地址 
     --krb4                                   # 使用指定安全级别的krb4 
-k/--insecure                                 # 允许不使用证书到SSL站点 
-K/--config                                   # 指定的配置文件读取 
-l/--list-only                                # 列出ftp目录下的文件名称 
     --limit-rate                             # 设置传输速度 
     --local-port                             # 强制使用本地端口号 
-m/--max-time                                 # 设置最大传输时间 
     --max-redirs                             # 设置最大读取的目录数 
     --max-filesize                           # 设置最大下载的文件总量 
-M/--manual                                   # 显示全手动 
-n/--netrc                                    # 从netrc文件中读取用户名和密码 
     --netrc-optional                         # 使用 .netrc 或者 URL来覆盖-n 
     --ntlm                                   # 使用 HTTP NTLM 身份验证 
-N/--no-buffer                                # 禁用缓冲输出 
-o/--output                                   # 把输出写到该文件中 
-O/--remote-name                              # 把输出写到该文件中,保留远程文件的文件名 
-p/--proxytunnel                              # 使用HTTP代理 
     --proxy-anyauth                          # 选择任一代理身份验证方法 
     --proxy-basic                            # 在代理上使用基本身份验证 
     --proxy-digest                           # 在代理上使用数字身份验证 
     --proxy-ntlm                             # 在代理上使用ntlm身份验证 
-P/--ftp-port                                 # 使用端口地址,而不是使用PASV 
-q                                            # 作为第一个参数,关闭 .curlrc 
-Q/--quote                                    # 文件传输前,发送命令到服务器 
-r/--range                                    # 检索来自HTTP/1.1或FTP服务器字节范围 
--range-file                                  # 读取(SSL)的随机文件 
-R/--remote-time                              # 在本地生成文件时,保留远程文件时间 
     --retry                                  # 传输出现问题时,重试的次数 
     --retry-delay                            # 传输出现问题时,设置重试间隔时间 
     --retry-max-time                         # 传输出现问题时,设置最大重试时间 
-s/--silent                                   # 静默模式。不输出任何东西 
-S/--show-error                               # 显示错误 
     --socks4                                 # 用socks4代理给定主机和端口 
     --socks5                                 # 用socks5代理给定主机和端口 
     --stderr                                 #   
-t/--telnet-option                            # Telnet选项设置 
     --trace                                  # 对指定文件进行debug 
     --trace-ascii                            # Like --跟踪但没有hex输出 
     --trace-time                             # 跟踪/详细输出时,添加时间戳 
-T/--upload-file                              # 上传文件 
     --url                                    # Spet URL to work with 
-u/--user                                     # 设置服务器的用户和密码 
-U/--proxy-user                               # 设置代理用户名和密码 
-w/--write-out \[format]                      # 什么输出完成后 
-x/--proxy                                    # 在给定的端口上使用HTTP代理 
-X/--request                                  # 指定什么命令 
-y/--speed-time                               # 放弃限速所要的时间,默认为30 
-Y/--speed-limit                              # 停止传输速度的限制,速度时间 

实例

文件下载

2024-08-08    
cut

cut

连接文件并打印到标准输出设备上

补充说明

cut 命令 用来显示行中的指定部分,删除文件中指定字段。cut 经常用来显示文件的内容,类似于 type 命令。

说明:该命令有两项功能,其一是用来显示文件的内容,它依次读取由参数 file 所指 明的文件,将它们的内容输出到标准输出上;其二是连接两个或多个文件,如cut fl f2 > f3将把文件 fl 和 f2 的内容合并起来,然后通过输出重定向符“>”的作用,将它们放入文件 f3 中。

当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用 more 等命令分屏显示。为了控制滚屏,可以按 Ctrl+S 键,停止滚屏;按 Ctrl+Q 键可以恢复滚屏。按 Ctrl+C(中断)键可以终止该命令的执行,并且返回 Shell 提示符状态。

语法

cut(选项)(参数)

选项

-b:仅显示行中指定直接范围的内容;
-c:仅显示行中指定范围的字符;
-d:指定字段的分隔符,默认的字段分隔符为“TAB”;
-f:显示指定字段的内容;
-n:与“-b”选项连用,不分割多字节字符;
--complement:补足被选择的字节、字符或字段;
--out-delimiter= 字段分隔符:指定输出内容是的字段分割符;
--help:显示指令的帮助信息;
--version:显示指令的版本信息。

参数

文件:指定要进行内容过滤的文件。

实例

例如有一个学生报表信息,包含 No、Name、Mark、Percent:

[root@localhost text]# cat test.txt
No Name Mark Percent
01 tom 69 91
02 jack 71 87
03 alex 68 98

使用 -f 选项提取指定字段(这里的 f 参数可以简单记忆为 --fields的缩写):

2024-08-08    
date

date

显示或设置系统时间与日期

概要

date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

主要用途

  • 转换时间到选定的格式,默认为当前。
  • 设置系统时间。

参数

format:输出的时间格式。

format可用的转义序列如下:

%%      百分号
%a      当地缩写的工作日名称(例如,Sun)
%A      当地完整的工作日名称(例如,Sunday)
%b      当地缩写的月份名称(例如,Jan)
%B      当地完整的月份名称(例如,January)
%c      当地的日期和时间(例如,Thu Mar  3 23:05:25 2005)
%C      世纪,和%Y类似,但是省略后两位(例如,20)
%d      一月中的一天(例如,01)
%D      日期,等价于%m/%d/%y
%e      一月中的一天,格式使用空格填充,等价于%_d
%F      完整的日期;等价于%+4Y-%m-%d
%g      ISO标准计数周的年份的最后两位数字
%G      ISO标准计数周的年份,通常只对%V有用
%h      等价于%b
%H      小时,范围(00..23)
%I      小时,范围(00..23)
%j      一年中的一天,范围(001..366)
%k      小时,使用空格填充,范围(0..23),等价于%_H
%l      小时,使用空格填充,范围(1..12),等价于%_I
%m      月,范围(01..12)
%M      分钟,范围(00..59)
%n      换行符
%N      纳秒,范围(000000000..000000000)
%p      用于表示当地的AM或PM,如果未知则为空白
%P      类似于%p,但用小写表示
%q      季度,范围(1..4)
%r      当地以12小时表示的时钟时间(例如,11:11:04 PM)
%R      24小时每分钟;等价于%H:%M
%s      自协调世界时1970年01月01日00时00分以来的秒数
%S      秒数,范围(00..60)
%t      水平制表符
%T      时间;等价于%H:%M:%S
%u      一周中的一天(1..7),1代表星期一
%U      一年中的第几周,周日作为一周的起始(00..53)
%V      ISO标准计数周,该方法将周一作为一周的起始(01..53)
%w      一周中的一天(0..6),0代表星期天
%W      一年中的第几周,周一作为一周的起始(00..53)
%x      当地的日期表示(例如,12/31/99)
%X      当地的时间表示(例如,23:13:48)
%y      年份后两位数字,范围(00..99)
%Y      年份
%z      +hhmm格式的数值化时区格式(例如,-0400)
%:z     +hh:mm格式的数值化时区格式(例如,-04:00)
%::z    +hh:mm:ss格式的数值化时区格式(例如,-04:00:00)
%:::z   数值化时区格式,相比上一个格式增加':'以显示必要的精度(例如,-04,+05:30)
%Z      时区缩写(如EDT)

默认情况下,日期用零填充数字字段;以下可选的符号可以跟在'%'后面:

-      (连字符) 不要填充相应的字段。
_      (下划线) 使用空格填充相应的字段。
0      (数字0) 使用数字0填充相应的字段。
+      用数字0填充,未来年份大于4位数字则在前面加上'+'号。
^      允许的情况下使用大写。
#      允许的情况下将默认的大写转换为小写,默认的小写转换为大写。

在任何标志之后都有一个可选的字段宽度,如小数;然后是一个可选的修饰符,在可用的情况下,使用E来使用当地语言环境的替代表示,
使用O来使用当地语言环境的替代数字符号。

选项

长选项与短选项等价

-d, --date=STRING          解析字符串并按照指定格式输出,字符串不能是'now'--debug                    注释已解析的日期,并将有疑问的用法发送到标准错误。
-f, --file=DATEFILE        类似于--date; 一次从DATEFILE处理一行。
-I[FMT], --iso-8601[=FMT]  按照ISO 8601格式输出,FMT可以为'date'(默认),'hours''minutes''seconds''ns'                           例如:2006-08-14T02:34:56-06:00
-R, --rfc-email            按照RFC 5322格式输出,例如: Mon, 14 Aug 2006 02:34:56 -0600
--rfc-3339=FMT             按照RFC 3339格式输出,FMT可以为'date', 'seconds','ns'中的一个,
                           例如:2006-08-14 02:34:56-06:00
-r, --reference=FILE       显示文件的上次修改时间。
-s, --set=STRING           根据字符串设置系统时间。
-u, --utc, --universal     显示或设置世界协调时(UTC)。
--help                     显示帮助信息并退出。
--version                  显示版本信息并退出。

返回值

返回状态为成功除非给出了非法选项或非法参数。

2024-08-08    
dc

dc

任意精度计算器

说明

dc 是一款逆波兰表达式计算器,支持无限制精度的算术运算。它还允许您定义和调用宏。通常,dc从标准输入读取,也可以通过参数传入文件来求值。

语法

dc [选项] [文件...]

选项

-e, --expression=EXPR    # 评估表达式
-f, --file=FILE          # 评估文件内容
-h, --help               # 显示此帮助并退出
-V, --version            # 输出版本信息并退出
p 打印堆栈顶部的值并以换行符结束语句。
n 打印堆栈顶部的值并以空语句结束行。
f 打印整个堆栈,不做任何更改。
P 从栈顶弹出值。
c 清除堆栈。
d 复制顶部值并将其推入主堆栈。
r 反转堆栈中顶部两个元素的顺序。
Z 从堆栈中弹出值,计算其中的位数并压入该数字。
X 从堆栈中弹出值,计算其中的小数位数并压入该数字。
z 将堆栈长度推入堆栈。
i 从堆栈中弹出值并将其用作输入基数。
o 从堆栈中弹出值并将其用作输出基数。
k 从堆栈中弹出值并使用它来设置精度。
I 将输入基数的值推入堆栈。
O 将输出基数的值压入堆栈
K 将精度值压入堆栈。

示例

下面是 dc 命令在命令行完成的计算 10 * 10 得出结果 100,并推出的过程

$ dc        

10          # 1. 输入数字10
10          # 2. 输入数字10
*           # 3. 输入运算类型*表示乘
p           # 4. 输入p得到计算结果
100
q           # 5. 输入 q 退出 dc

示例显示在命令行结果 509

2024-08-08    
dd

dd

复制文件并对原文件的内容进行转换和格式化处理

补充说明

dd命令 用于复制文件并对原文件的内容进行转换和格式化处理。dd命令功能很强大的,对于一些比较底层的问题,使用dd命令往往可以得到出人意料的效果。用的比较多的还是用dd来备份裸设备。但是不推荐,如果需要备份oracle裸设备,可以使用rman备份,或使用第三方软件备份,使用dd的话,管理起来不太方便。

建议在有需要的时候使用dd 对物理磁盘操作,如果是文件系统的话还是使用tar backup cpio等其他命令更加方便。另外,使用dd对磁盘操作时,最好使用块设备文件。

语法

dd(选项)

选项

bs=<字节数>:将ibs(输入)与obs(输出)设成指定的字节数;
cbs=<字节数>:转换时,每次只转换指定的字节数;
conv=<关键字>:指定文件转换的方式;
count=<区块数>:仅读取指定的区块数;
ibs=<字节数>:每次读取的字节数;
obs=<字节数>:每次输出的字节数;
of=<文件>:输出到文件;
seek=<区块数>:一开始输出时,跳过指定的区块数;
skip=<区块数>:一开始读取时,跳过指定的区块数;
--help:帮助;
--version:显示版本信息。

实例

[root@localhost text]# dd if=/dev/zero of=sun.txt bs=1M count=1
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.006107 seconds, 172 MB/s

[root@localhost text]# du -sh sun.txt 
1.1M    sun.txt

该命令创建了一个1M大小的文件sun.txt,其中参数解释:

  • if 代表输入文件。如果不指定if,默认就会从stdin中读取输入。
  • of 代表输出文件。如果不指定of,默认就会将stdout作为默认输出。
  • bs 代表字节为单位的块大小。
  • count 代表被复制的块数。
  • /dev/zero 是一个字符设备,会不断返回0值字节(\0)。

块大小可以使用的计量单位表

单元大小 代码
字节(1B) c
字节(2B) w
块(512B) b
千字节(1024B) k
兆字节(1024KB) M
吉字节(1024MB) G

以上命令可以看出dd命令来测试内存操作速度:

2024-08-08    
declare

declare

声明变量,设置或显示变量的值和属性。

语法

declare [-aAfFgilnrtux] [-p] [name[=value] ...]

主要用途

  • 显示包含指定属性的全部变量和值
  • 显示包含指定属性的一到多个变量和值
  • 显示一到多个变量的属性和值
  • 显示所有变量的属性和值并显示函数的定义
  • 显示所有变量的属性和值
  • 显示所有全局变量的属性和值
  • 显示全部函数名和函数定义
  • 只显示全部函数名
  • 显示一到多个函数名和函数定义
  • 只显示一到多个函数名
  • 声明全局变量(可选:赋值)
  • 声明变量(可选:赋值、属性)
  • 增加、删除变量的属性(可选:赋值)

选项

-f 将操作或显示限制为函数名及函数定义。
-F 只显示函数名(调试时附加行号和源文件)。
-g 在shell函数中使用时创建全局变量;其他情况下忽略。
-p 显示每个名称的属性和值。

*设置属性的选项:
-a 创建数组(如果支持)。
-A 创建关联数组(如果支持)。
-i 增加整型属性。
+i 删除整型属性。
-l 增加小写属性,变量的值将转换为小写。
+l 删除小写属性。
-n 增加引用属性(如果该选项存在)。
+n 删除引用属性(如果该选项存在)。
-r 增加只读属性。
-t 增加追踪属性。
+t 删除追踪属性。
-u 增加大写属性,变量的值将转换为大写。
+u 删除大写属性。
-x 增加导出属性。
+x 删除导出属性。

参数

name(可选):变量名或函数名。
value(可选):变量的值。

返回值

declare 返回true除非你提供了非法选项或赋值错误。具体导致异常的情况请查看讨论章节的关于异常情况

例子

# 声明变量,当然也欢迎您在这个网站(感谢本项目发起人 @jaywcjlove)查询linux命令。
declare reference_website='https://wangchujiang.com/linux-command/'

# 显示所有包含整型属性的变量和值。
declare -i
# 定义变量b并赋值为3,具有整型属性。
declare -i b=5
# 显示属性,返回 declare -i b="5"。
declare -p b
# 删除整型属性。
declare +i b
# 显示属性,返回 declare -- b="5"。
declare -p b
# 根据变量属性强制转换值的英文大小写。
declare -u uc_var='abc'
declare -l lc_var='ABC'
# 显示'ABC abc';
echo "${uc_var} ${lc_var}"
# 定义函数内的全局变量
function test(){
  declare -g a=3
  # 或者
  local -g b=3
  # 或者
  c=3
  # 让我们查看它们的属性。
  declare -p a b c
}
# 执行函数。
test
# 返回结果。
# declare -- a="3"
# declare -- b="3"
# declare -- c="3"

# 定义函数外的全局变量
declare a=3
b=3
declare –p a b
# 返回结果如下。
# declare -- a="3"
# declare -- b="3"

# 定义局部变量
function test2(){
  local -i a=3
  declare -i b=3
}
test2
# 没有该变量(已经被销毁了)
echo "${a} ${b}"
# 因此,我们日常脚本中最常见的类似于'a=3'实际上是声明并赋值了一个全局变量。
# 在接下来的 **讨论** 环节会延伸讨论全局和局部变量问题。
# 注意,不能使用 `+a` 或 `+A` 取消数组,也不能使用 `+r` 取消只读属性。

# 定义只读数组,设置属性的同时定义赋值。
declare -ar season=('Spring' 'Summer' 'Autumn' 'Winter')
# 或者这样。
season=('Spring' 'Summer' 'Autumn' 'Winter')
declare -ar season
# 显示所有数组。
declare -a
# 定义关联数组。

declare -A fruits=(['apple']='red' ['banana']='yellow')
# 显示所有关联数组。
declare -A
# 显示所有变量的属性和值并显示函数的定义,输出很长。
declare
# 显示所有变量的属性和值。
declare -p
# 显示所有全局变量的属性和值。
declare -g
# 显示全部函数名和函数定义。
declare -f
# 只显示全部函数名。
declare -F

# 定义两个函数。
function func_a(){ echo $(date +"%F %T"); }
function func_b(){ cd /; ls -lh --sort=time; }
# 显示一到多个函数名和函数定义。
declare -f func_a func_b
# 只显示一到多个函数名,验证某个名称是否已经定义为函数时有用。
declare -F func_a func_b
# 最好不要让函数名和变量名相同。

讨论

  1. 全局和局部变量

2024-08-08    
depmod

depmod

分析可载入模块的相依性

补充说明

depmod命令 可产生模块依赖的映射文件,在构建嵌入式系统时,需要由这个命令来生成相应的文件,由modprobe使用。

语法

depmod(选项)

选项

-a或--all:分析所有可用的模块;
-d或debug:执行排错模式;
-e:输出无法参照的符号;
-i:不检查符号表的版本;
-m<文件>或system-map<文件>:使用指定的符号表文件;
-s或--system-log:在系统记录中记录错误;
-v或--verbose:执行时显示详细的信息;
-V或--version:显示版本信息;
--help:显示帮助。

实例

depmod -b /home/windsome/EMMA3PF-KernelSource-20080626/install_pos -e -F ./boot/System.map -v 2.6.18_pro500-bcm91250-mips2_fp_be -A -a
  • /home/windsome/EMMA3PF-KernelSource-20080626/install_pos是我make mod_install后,所有模块的存放路径。
  • ./boot/System.mapmake linux后生成,我拷贝到此目录的。
  • 2.6.18_pro500-bcm91250-mips2_fp_be是我build的linux的版本。

编译linux过程及执行depmod的例子:

genkernel.sh (at linux-2.6.18_pro500)
#######
export INSTALL_ROOT_EMMA3PF="/home/windsome/EMMA3PF-KernelSource-20080626/install_pos"
export INSTALL_MOD_EMMA3PF="/home/windsome/EMMA3PF-KernelSource-20080626/install_pos"
rm /home/windsome/EMMA3PF-KernelSource-20080626/install_pos/lib -rf
rm /home/windsome/EMMA3PF-KernelSource-20080626/install_pos/boot/* -rf
cd <linux_src_dir>
make
make modules_install
cp vmlinux System.map /home/windsome/EMMA3PF-KernelSource-20080626/install_pos/boot/ -p
cd /home/windsome/EMMA3PF-KernelSource-20080626/install_pos
depmod -b /home/windsome/EMMA3PF-KernelSource-20080626/install_pos -e -F ./boot/System.map -v 2.6.18_pro500-bcm91250-mips2_fp_be -A -a

其他用法:

2024-08-08    
df

df

显示磁盘的相关信息

补充说明

df命令 用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

语法

df(选项)(参数)

选项

-a或--all:包含全部的文件系统;
--block-size=<区块大小>:以指定的区块大小来显示区块数目;
-h或--human-readable:以可读性较高的方式来显示信息;
-H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;
-i或--inodes:显示inode的信息;
-k或--kilobytes:指定区块大小为1024字节;
-l或--local:仅显示本地端的文件系统;
-m或--megabytes:指定区块大小为1048576字节;
--no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值;
-P或--portability:使用POSIX的输出格式;
--sync:在取得磁盘使用信息前,先执行sync指令;
-t<文件系统类型>或--type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息;
-T或--print-type:显示文件系统的类型;
-x<文件系统类型>或--exclude-type=<文件系统类型>:不要显示指定文件系统类型的磁盘信息;
--help:显示帮助;
--version:显示版本信息。

参数

文件:指定文件系统上的文件。

大小格式

显示值以 --block-sizeDF_BLOCK_SIZEBLOCK_SIZEBLOCKSIZE 环境变量中的第一个可用 SIZE 为单位。 否则,单位默认为 1024 个字节(如果设置 POSIXLY_CORRECT,则为512)。

SIZE是一个整数和可选单位(例如:10M是10 * 1024 * 1024)。 单位是K,M,G,T,P,E,Z,Y(1024的幂)或KB,MB,…(1000的幂)。

实例

查看系统磁盘设备,默认是KB为单位:

[root@LinServ-1 ~]# df
文件系统               1K-块        已用     可用 已用% 挂载点
/dev/sda2            146294492  28244432 110498708  21% /
/dev/sda1              1019208     62360    904240   7% /boot
tmpfs                  1032204         0   1032204   0% /dev/shm
/dev/sdb1            2884284108 218826068 2518944764   8% /data1

使用-h选项以KB以上的单位来显示,可读性高:

2024-08-08    
dhclient

dhclient

动态获取或释放IP地址

补充说明

dhclient命令 使用动态主机配置协议动态的配置网络接口的网络参数。

语法

dhclient(选项)(参数)

选项

0:指定dhcp客户端监听的端口号;
-d:总是以前台方式运行程序;
-q:安静模式,不打印任何错误的提示信息;
-r:释放ip地址。

参数

网络接口:操作的网络接口。

实例

dhclient -r     #释放IP
dhclient        #获取IP
2024-08-08    
dhcpd

dhcpd

运行DHCP服务器

语法

dhcpd [选项] [网络接口]

选项

-p <端口> 指定dhcpd监听的端口
-f 作为前台进程运行dhcpd
-d 启用调试模式
-q 在启动时不显示版权信息
-t 简单地测试配置文件的语法是否正确的,但不会尝试执行任何网络操作
-T 可以用来测试租约数据库文件
-4 运行DHCP服务器
-6 运行DHCPv6服务器
-s <服务器> 指定发送回复的服务器
-cf <配置文件> 指定配置文件
-lf <租约文件> 指定租约文件
-pf <PID文件> 指定PID文件
-tf <跟踪输出文件> 指定文件记录DHCP服务器的整个启动状态

例子

对DHCP服务器进行排错。

[root@localhost ~]# dhcpd
InternetSystems Consortium DHCP Server 4.1.1-P1
Copyright2004-2010 Internet Systems Consortium.
All rightsreserved.
For info,please visit https://www.isc.org/software/dhcp/
Not searchingLDAP since ldap-server, ldap-port and ldap-base-dn were not specified in theconfig file
Wrote 0deleted host decls to leases file.
Wrote 0 newdynamic host decls to leases file.
Wrote 1leases to leases file.
Listening onLPF/eth0/00:0c:29:fc:2f:e5/192.168.0.0/24
Sendingon  LPF/eth0/00:0c:29:fc:2f:e5/192.168.0.0/24
Sendingon   Socket/fallback/fallback-net
[root@rhel~]# There's already a DHCP server running.
 
This versionof ISC DHCP is based on the release available
onftp.isc.org.  Features have been addedand other changes
have beenmade to the base software release in order to make
it workbetter with this distribution.
 
exiting.
2024-08-08