当前位置首页 > 百科> 正文

Linux Shell编程与编辑器使用详解

2019-05-15 13:55:48 百科
Linux Shell编程与编辑器使用详解

Linux Shell编程与编辑器使用详解

《Linux Shell编程与编辑器使用详解》是电子工业出版社2013-7出版的图书,作者是刘丽霞 / 杨宇。

基本介绍

  • 作者:刘丽霞                       /            杨宇
  • ISBN:9787121207174
  • 页数:424
  • 定价:59
  • 出版社:电子工业出版社
  • 出版时间:2013-7
  • 装帧:平装

内容介绍

本书由浅入深,全面、系统地介绍了Linux技术,书中提供了大量实例,供读者实战演练。另外,本书有很多关于Linux下的命令操作内容,所以对于每个命令、每个管理设定,作者都实际运行了一遍,供读者参考,在后面的Shell编程中,作者详细介绍了Shell变数、函式、语法、控制结构等重要内容,最后一章中介绍综合实例,使读者对于Shell编程的理解进一步加深。
本书共分5篇。第1篇介绍Shell编程基础、系统管理与设定;第2篇介绍常用的系统管理命令、系统维护命令、正则表达式;第3篇介绍vi编辑器、emacs编辑器;第4篇介绍grep命令、gawk与sed;第5篇介绍其他常用的文本编辑命令、Shell变数及相关操作、条件测试、Shell的控制结构、函式、Shell编程实例。
本书适合Linux初学者、想全面学习Linux开发技术的人员、Linux专业开发人员、利用Linux做开发的工程技术人员、Linux开发爱好者、大中专院校的学生、社会培训班学员等。对于经常使用Linux做开发的人员,更是一本不可多得的案头必备参考书。

作者介绍

刘丽霞:毕业于西安电子科技大学,获博士学位,现就职于武警工程大学。长期从事计算机信息工程专业的教学与科研工作,主要设计开发各种资料库管理信息系统和以面向对象技术为主的大型套用软体。熟悉Java、C++等开发语言和Linux、Windows CE等作业系统,精通SQL Server、Oracle等资料库。
杨宇:毕业于瀋阳农业大学,获博士学位,现就职武警工程大学。长期从事计算机套用技术专业的教学与科研工作,从事数位化设计、人工智慧等方面的研究,主要设计开发各种信息网站和管理信息系统。熟悉PHP,ASP,Java等开发语言和Linux作业系统,精通MySQL、SQL Server等资料库。主持科研项目1项,作为主要完成人参与科研项目5项,在国内外期刊上发表论文16篇,EI检索4篇,核心期刊12篇,出版个人专着3部。

作品目录

第1篇 Linux系统学习基础
第1章 Shell编程基础 1
1.1 基本概念 1
1.1.1 Shell的功能 1
1.1.2 Linux Shell的常用命令 1
1.1.3 启动和退出 2
1.2 常用的Shell类型 3
1.2.1 Linux 默认Shell 3
1.2.2 Bourne Shell的扩展版 3
1.2.3 网关接口Shell 3
1.2.4 早期Shell 3
1.2.5 支持后台作业Shell 4
1.3 Shell基本语法 4
1.3.1 Shell脚本中的注释 4
1.3.2 Shell通配符的使用 4
1.3.3 大小写区分 6
1.3.4 指定使用某个Shell 6
1.3.5 IO重定向 7
1.3.6 管道(Pipe) 10
1.3.7 前台与后台执行任务 11
1.3.8 命令的执行顺序 12
1.3.9 Shell中3种引号的用法 13
1.3.10 运行脚本 13
第2章 系统管理与设定 16
2.1 常用的信息显示命令 16
2.1.1 cal命令:日期显示 16
2.1.2 cat /proc/meminfo:记忆体使用情况查询 17
2.1.3 free命令:记忆体详细信息查询 18
2.1.4 arch命令:CPU架构显示 19
2.1.5 cat /proc/cpuinfo命令:处理器CPU信息显示 19
2.1.6 cat /proc/modules:查询当前系统被载入模组 20
2.2 系统信息显示命令 21
2.2.1 proc档案系统:访问系统核心信息 21
2.2.2 modinfo命令:核心模组信息 23
2.2.3 cat /etc/issue命令:系统的当前发行版本 23
2.2.4 cat /proc/version:查看系统核心当前版本 24
2.2.5 cat /proc/partitions:查看系统当前分区 24
2.2.6 cat /proc/interrupts命令:显示中断信息 24
2.2.7 cat /proc/filesystems命令:常用档案系统信息 24
2.2.8 dmesg:启动信息查询 25
2.3 系统常用信息设定 26
2.3.1 date命令:系统时间显示与设定 26
2.3.2 hostname命令:当前系统的主机名显示与设定 28
2.3.3 hwclock命令:硬体时钟显示和设定 29
2.3.4 hash命令:显示、添加或清除哈希表 30
2.3.5 sysctl命令:系统核心参数的设定 31
2.4 档案系统信息显示常用命令 32
2.4.1 echo命令:文本行输出显示 32
2.4.2 isosize命令:iso9660档案系统大小的显示 33
2.4.3 minfo命令:ms-dos档案系统的各项参数的显示 34
2.4.4 pwd命令:当前工作目录的显示 34
2.4.5 procinfo命令:系统状态信息的显示 34
2.4.6 stat命令:档案/档案系统的详细信息的显示 37
2.5 Linux作业系统信息查询 38
2.5.1 uname命令:作业系统信息的显示 38
2.5.2 vmstat命令:虚拟记忆体的统计信息的显示 39
2.5.3 uptime命令:系统的运行信息的显示 39
2.5.4 locale命令:当前系统的语言设定 40
2.5.5 tload命令:系统负载显示 40
2.5.6 runlevel命令:系统运行级别显示 41
2.5.7 lsmod命令:所有已载入模组的显示 42
2.6 进程资源 43
2.6.1 top命令:进程信息显示 43
2.6.2 ipcs命令:IPC设备信息显示 44
2.6.3 time命令:进程执行时间显示 45
2.6.4 pstree命令:以树状图显示程式 45
2.6.5 ps命令:监测进程 46
2.6.6 pmap命令:显示程式的占用资源信息 49
2.6.7 jobs命令:后台作业 49
2.6.8 mev命令:监视滑鼠情况 50
2.6.9 fuser命令:用套接口或者档案识别进程 51
2.7 Linux终端命令行操作 52
2.7.1 fgconsole命令:显示当前虚拟终端数目 52
2.7.2 history命令:显示历史指令 52
2.7.3 gdialog命令:Shell脚本创建对话框 53
2.7.4 yes命令:字元串的连续输出 59
第2篇 系统维护与管理
第3章 常用的系统管理命令 61
3.1 常用的系统管理任务 61
3.1.1 apm命令:BIOS电源管理 61
3.1.2 apmsleep命令:低功耗工作 62
3.1.3 open命令:开启虚拟终端 62
3.1.4 vlock命令:锁定终端 63
3.1.5 sudo命令:用户切换 63
3.1.6 rsh命令:远程用户设定登录Shell 64
3.1.7 chsh命令:切换系统登录时Shell 65
3.1.8 clear命令:清除终端萤幕 66
3.1.9 rlogin命令:智慧型化远端登录 66
3.2 进程任务管理 67
3.2.1 apmd命令:高级电源管理守护进程 67
3.2.2 fg命令:后台任务放前台 67
3.2.3 kill命令:结束进程 68
3.2.4 killall命令:杀死同名进程 70
3.2.5 nice命令:进程优先权切换 71
3.2.6 pgrep命令:查找符合条件的进程 71
3.2.7 pidof命令:查看正在运行程式的进程ID 73
3.2.8 renice命令:设定进程优先权 73
3.2.9 pkill命令:强制杀死进程 74
3.3 设定系统的各种任务 75
3.3.1 ntsysv命令:图形化设定系统的各种服务 75
3.3.2 symlinks命令:管理和维护符号连结工具 76
3.3.3 mtools:软碟操作工具集 77
3.3.4 gcov命令:coverage测试工具 78
3.3.5 screen命令:视窗程式管理工具 79
3.3.6 logrotate命令:管理log档案 81
3.3.7 pwck命令:检查密码档案 82
3.3.8 exec命令:交出控制权 83
3.3.9 &命令:后台执行任务 83
3.3.10 init命令:进程的父进程 83
3.4 后台任务管理 84
3.4.1 bg命令:后台执行程式 84
3.4.2 wait命令:等待程式返回状态 84
3.4.3 depmod命令:显示模组依赖关係 84
3.4.4 rmmod命令:删除模组 85
3.4.5 ipcrm命令:进程间机制管理 86
3.4.6 watch命令:重複执行命令 87
3.4.7 fc命令:修改执行命令 88
3.4.8 nohup命令:退出登录执行命令 89
3.4.9 suspend命令:暂停执行Shell 89
3.4.10 sleep命令:系统休眠 89
第4章 系统维护命令 91
4.1 常用的系统维护命令 91
4.1.1 bind命令:设定按键组合 91
4.1.2 enable命令:Shell内置命令 92
4.1.3 aumix命令:音效装置设定 94
4.1.4 配置系统的认证资源 96
4.1.5 export命令:设定环境变数 98
4.1.6 hostid命令:主机数字标识 103
4.1.7 alias命令:设定命令的别名 103
4.1.8 chkconfig命令:管理系统服务 104
4.1.9 eval命令:多个命令同时执行 106
4.1.10 dircolors命令:配置ls命令显示颜色 106
4.1.11 set命令:设定Shell执行方式 111
4.1.12 telinit命令:设定系统的运行等级 113
4.2 系统的日常配置 113
4.2.1 declare命令:Shell变数 113
4.2.2 fbset命令:帧快取设备设定 115
4.2.3 insmod命令:载入模组 117
4.2.4 lilo命令:安装启动装载程式 119
4.2.5 modprobe命令:自动安装依赖模组 119
4.2.6 mkraid命令:raid磁碟阵列 120
4.2.7 losetup命令:设定和控制循环设备 121
4.2.8 rpm命令:RPM包管理 121
4.2.9 ldd命令:共享库档案的相互依赖关係 125
4.2.10 ldconfig命令:配置动态连结绑定 126
4.2.11 up2date命令:升级Red Hat Linux系统 129
4.3 其他常用命令 131
4.3.1 false命令:false返回值 131
4.3.2 true命令:true返回值 132
4.3.3 ulimit命令:控制Shell及进程的资源 132
4.3.4 mouseconfig命令:设定滑鼠相关参数 134
4.3.5 setup命令:系统公用程式设定 135
4.3.6 swapoff命令:卸载交换区(swap area) 138
4.3.7 swapon命令:载入交换区(swap area) 139
4.3.8 resize命令:调整终端视窗 140
4.3.9 setserial命令:串口设备设定 140
4.3.10 unalias命令:删除指定的别名 141
4.3.11 unset命令:删除变数或函式 141
4.4 自动作业处理 142
4.4.1 anacron命令:调度守护进程任务 142
4.4.2 at命令:多任务执行排队处理 143
4.4.3 atd命令:执行已经排队的任务 145
4.4.4 atq命令:显示排队的任务 145
4.4.5 atrm命令:删除已经排队的任务 146
4.4.6 atrun命令:执行排好队的任务 146
4.4.7 crontab命令:定时执行程式 146
4.4.8 batch命令:批处理 149
4.5 系统日誌 150
4.5.1 syslogd命令:启动syslog日誌进程 150
4.5.2 syslog.conf:系统日誌配置档案 150
4.5.3 logger命令:测试syslog.conf 153
4.5.4 echo清空日誌 153
第5章 正则表达式 154
5.1 正则表达式介绍 154
5.2 元字元 154
5.2.1 元字元的定义 154
5.2.2 元字元的套用示例 155
5.3 字元集和类 156
5.3.1 字元集和类的定义 156
5.3.2 元字集和类的套用示例 157
5.4 重複 157
5.4.1 重複的定义 157
5.4.2 重複的套用示例 158
5.5 子表达式 158
5.5.1 子表达式的定义 158
5.5.2 子表达式的套用示例 159
5.6 定位字元串的开始和末尾 159
5.6.1 开始和末尾的定义 159
5.6.2 定位字元串的开始和末尾的套用示例 160
5.7 分支 161
5.7.1 分支的定义 161
5.7.2 分支的套用示例 161
5.8 匹配特殊字元 161
第3篇 vi编辑器与emacs编辑器
第6章 vi(vim)编辑器 163
6.1 vi(vim)编辑器概述 163
6.1.1 vi(vim)编辑器的发展史 163
6.1.2 启动vi(vim) 164
6.1.3 退出vi(vim) 165
6.1.4 命令模式 166
6.1.5 末行模式 166
6.1.6 插入模式 166
6.2 vi(vim)中的常用命令 167
6.2.1 插入文本命令 167
6.2.2 附加文本命令 167
6.2.3 游标移动命令 167
6.2.4 字元与块删除命令 168
6.2.5 添加新行命令 169
6.2.6 修改文本命令 169
6.2.7 行合併命令 170
6.2.8 文本替换命令 170
6.2.9 句点命令 171
6.2.10 撤销修改命令 171
6.2.11 複製文本命令 171
6.2.12 贴上文本命令 171
6.2.13 重複执行命令 172
6.3 vi(vim)中的字元与档案操作 172
6.3.1 查找指定字元命令 172
6.3.2 普通与增量查找 172
6.3.3 替换指定字元串 172
6.3.4 更改大小写命令 173
6.3.5 档案读入命令 174
6.3.6 档案写入命令 174
6.3.7 定位到指定行命令 174
6.3.8 显示状态信息命令 175
6.3.9 保存和退出命令 175
6.4 视窗操作 175
6.4.1 视窗操作的捷径 175
6.4.2 视窗垂直拆分 176
6.4.3 视窗水平拆分 176
6.4.4 关闭视窗 177
6.4.5 萤幕重绘 177
6.4.6 萤幕滚动 178
6.4.7 文本定位 178
6.4.8 互动式Shell 178
6.4.9 在vi(vim)中执行Shell 179
6.4.10 获得帮助 179
第7章 emacs编辑器 181
7.1 emacs概述 181
7.1.1 emacs发展史 181
7.1.2 启动和退出 182
7.1.3 新建文本 183
7.1.4 保存文本 184
7.2 文本编辑 185
7.2.1 常用命令键 185
7.2.2 游标的移动 185
7.2.3 文本的输入 186
7.2.4 文本的删除 187
7.2.5 字元的查找和替换 187
7.3 缓冲区和视窗 188
7.3.1 水平与垂直拆分视窗 188
7.3.2 多个缓冲区同时进行工作 189
7.3.3 缓冲区中内容的滚动 190
7.4 emacs的扩展工具 190
7.4.1 日曆显示 190
7.4.2 执行Shell命令 190
7.4.3 游戏调用 191
第4篇 grep命令、gawk与sed,其他常用文本命令
第8章 grep命令 192
8.1 grep介绍 192
8.1.1 grep的功能介绍 192
8.1.2 grep的工作原理 192
8.2 grep与正则表达式 193
8.2.1 grep正则表达式的元字元集 193
8.2.2 grep正则实例 196
8.2.3 grep的常用参数选项 198
8.2.4 grep与管道的配合使用 202
8.2.5 grep的退出状态 203
8.3 egrep与fgrep 203
8.3.1 egrep处理複杂字元串 203
8.3.2 fgrep处理简单字元串 206
第9章 gawk与sed 207
9.1 过滤器gawk 207
9.1.1 gawk发展史 207
9.1.2 gawk的程式处理模式 209
9.1.3 gawk的语法格式 209
9.1.4 gawk注释 211
9.1.5 变数赋值 211
9.1.6 模式的使用 212
9.1.7 指定动作 214
9.1.8 使用重定向输出 214
9.1.9 栏位分隔设定输出 215
9.1.10 记录与栏位的介绍 215
9.2 gawk的编程设计 216
9.2.1 函式 216
9.2.2 关联数组 217
9.2.3 格式化输出命令 218
9.2.4 关係运算符 219
9.2.5 算术运算符 220
9.2.6 流程控制语句 222
9.2.7 getline:控制输入 224
9.2.8 协进程 225
9.2.9 网路数据交换 226
9.2.10 gawk的套用示例 227
9.3 流编辑器sed 228
9.3.1 sed编辑器介绍 229
9.3.2 sed的基本语法 229
9.3.3 地址的作用 230
9.3.4 指令的作用 231
9.3.5 删除指令 232
9.3.6 追加指令 232
9.3.7 列印指令 233
9.3.8 修改指令 233
9.3.9 替换指令 234
9.3.10 插入指令 236
9.3.11 退出指令 236
9.3.12 下一条指令 237
9.3.13 档案写入指令 237
9.3.14 档案读入指令 238
9.3.15 sed的控制结构 238
9.3.16 Pattern区和Hold区 239
9.3.17 sed的套用示例 241
第5篇 Shell编程及编程实战
第10章 其他常用的文本编辑命令 243
10.1 文本编辑常用命令 243
10.1.1 cat命令:标準输出设备显示文本内容 243
10.1.2 ed命令:行文本编辑器 245
10.1.3 fmt命令:重排文本档案 246
10.1.4 gedit命令:图形化文本编辑器 247
10.1.5 ed命令:行文本编辑器 248
10.1.6 jed命令:jed编辑文本档案 249
10.1.7 cut命令:档案剪下 250
10.1.8 colrm命令:删除指定的列 252
10.1.9 comm命令:对已排序档案逐行进行比较 253
10.1.10 od命令:格式化输出档案内容 254
10.1.11 joe命令:ASCII文本编辑器 255
10.1.12 aspell命令:检查档案的拼写错误 258
10.1.13 col命令:过滤控制字元 260
10.1.14 view命令:唯读方式查看档案内容 260
10.1.15 more 命令:分屏显示文本内容 261
10.1.16 head命令:部分显示文本内容 262
10.2 其他常用的文本命令与技巧 264
10.2.1 cmp命令:档案属性比较 264
10.2.2 diff命令:档案内容比较 265
10.2.3 diffstat命令:diff结果的统计信息 268
10.2.4 patch命令:档案打补丁 269
10.2.5 csplit命令:按指定行数分割档案 270
10.2.6 uniq命令:显示档案中重複出现的行 271
10.2.7 pr命令:编排档案格式 272
10.2.8 pico命令:编辑文字档案 273
10.2.9 tail命令:读取档案的末尾部分 275
10.2.10 tac命令:反序显示文本内容 277
10.2.11 less 命令:前后翻阅文本内容 278
10.2.12 sort 命令:档案排序 279
10.2.13 indent命令:调整c代码档案格式 281
10.2.14 tr命令:转换文本指定字元串 285
10.2.15 join命令:连线两个相同栏位档案 286
10.2.16 spell命令:检查文本拼写错误 287
10.2.17 tee命令:读取标準输入到标準输出或档案 287
10.2.18 wc命令:统计文本信息 288
第11章 Shell变数及相关操作 290
11.1 Shell变数类型 290
11.1.1 Shell环境变数 290
11.1.2 位置变数 292
11.1.3 预定义的特殊变数 293
11.1.4 用户自定义的变数 294
11.2 变数的操作 294
11.2.1 创建和设定变数 294
11.2.2 区分变数名 295
11.2.3 删除变数 295
11.3 变数的赋值 296
11.3.1 直接给变数赋值 296
11.3.2 使用read命令赋值 296
11.3.3 命令行参数赋值 298
11.3.4 命令的输出结果赋值 298
11.3.5 档案读入数据实现赋值 299
11.4 变数的输出 299
11.4.1 printf命令:格式化输出变数 300
11.4.2 echo命令:直接输出变数 301
11.5 数组变数 301
11.5.1 数组的定义 301
11.5.2 数组的複製 303
11.5.3 数组元素的个数 303
11.5.4 数组元素的长度 304
11.6 算术运算 305
11.6.1 expr命令 305
11.6.2 let命令 305
11.6.3 浮点算术运算 306
第12章 条件测试 307
12.1 Shell的测试命令 307
12.2 测试档案属性 307
12.2.1 测试档案存在 307
12.2.2 测试档案存在且可执行 308
12.2.3 测试档案存在且是目录 309
12.2.4 测试档案存在且是字元设备 309
12.2.5 测试档案存在且是块设备 310
12.3 测试数值 310
12.3.1 相等测试 310
12.3.2 不相等测试 311
12.3.3 小于测试 312
12.3.4 小于等于测试 312
12.3.5 大于测试 313
12.3.6 大于等于测试 313
12.4 测试字元串 314
12.4.1 相等测试 314
12.4.2 不相等测试 315
12.4.3 非空测试 316
12.4.4 长度为0测试 316
12.4.5 长度不为0测试 317
12.5 测试逻辑运算符 317
12.5.1 逻辑与测试 318
12.5.2 逻辑或测试 319
12.5.3 逻辑非测试 319
第13章 Shell的控制结构 321
13.1 if结构 321
13.1.1 if结构的语法格式 321
13.1.2 if…then…fi示例 322
13.1.3 if…then…else…fi示例 323
13.1.4 if…then…elif…示例 324
13.1.5 if嵌套 326
13.2 case结构 328
13.2.1 case结构的语法格式 328
13.2.2 case结构示例 328
13.2.3 case嵌套 334
13.3 select结构 335
13.3.1 select结构的语法格式 335
13.3.2 select结构示例 335
13.4 while循环 337
13.4.1 while语句的语法格式 337
13.4.2 while循环示例 338
13.4.3 while的嵌套 339
13.4.4 避免死循环 340
13.5 for循环 341
13.5.1 for循环语法结构 341
13.5.2 for循环示例 342
13.6 until循环 344
13.6.1 until循环的语法结构 344
13.6.2 until循环示例 345
13.7 break和continue语句 346
13.7.1 break语句 346
13.7.2 continue语句 348
第14章 函式 352
14.1 函式的定义 352
14.2 函式的调用 352
14.2.1 执行函式 353
14.2.2 函式参数传递 354
14.2.3 函式的返回值 356
14.2.4 载入函式 358
14.2.5 删除函式 359
14.3 函式的作用域 360
14.3.1 全局作用域 360
14.3.2 局部作用域 361
14.3.3 套用示例 362
14.4 函式的嵌套 363
14.5 函式的递归 364
第15章 Shell编程实例 367
15.1 判断档案类型 367
15.1.1 系统设计 367
15.1.2 代码实现 367
15.2 使用if语句编写选择选单 367
15.2.1 系统设计 368
15.2.2 代码实现 368
15.3 使用while循环编写选择选单 369
15.3.1 系统设计 369
15.3.2 代码实现 369
15.4 使用until循环编写选择选单 371
15.4.1 系统设计 371
15.4.2 代码实现 371
15.5 对指定目录定时备份 374
15.5.1 系统设计 374
15.5.2 代码实现 374
15.6 连续对多个目录逐个备份 375
15.6.1 系统设计 375
15.6.2 代码实现 375
15.7 自动下载指定文档 376
15.7.1 系统设计 376
15.7.2 代码实现 377
15.8 自动上传指定文档 377
15.8.1 系统设计 377
15.8.2 代码实现 377
15.9 通过命令连续创建50个用户账号 379
15.9.1 系统设计 379
15.9.2 代码实现 379
15.10 通过操作档案创建多个用户 380
15.10.1 系统设计 380
15.10.2 代码实现 381
15.11 连续创建多个目录 383
15.11.1 系统设计 383
15.11.2 代码实现 383
15.12 检查系统资源使用情况 384
15.12.1 系统设计 384
15.12.2 代码实现 385
15.13 账户的一致性检查 388
15.13.1 系统设计 388
15.13.2 代码实现 388
15.14 档案类型转换 391
15.14.1 系统设计 391
15.14.2 代码实现 391
15.15 对输入的3个数字进行排序 393
15.15.1 系统设计 393
15.15.2 代码实现 393
15.16 计算奇数之和 395
15.16.1 系统设计 396
15.16.2 代码实现 396
15.17 使用select命令生成选单 397
15.17.1 系统设计 397
15.17.2 代码实现 397
15.18 列印图形 398
15.18.1 系统设计 398
15.18.2 代码实现 398
15.19 处理压缩档案 399
15.19.1 系统设计 399
15.19.2 代码实现 399
15.20 数值进制转换 401
15.20.1 系统设计 401
15.20.2 代码实现 401
15.21 使用sed列印指定行 402
15.21.1 系统设计 402
15.21.2 代码实现 402
15.22 使用sed筛选普通档案 402
15.22.1 系统设计 402
15.22.2 代码实现 403
15.23 使用gawk反序输出各列 403
15.23.1 系统设计 403
15.23.2 代码实现 403
15.24 对档案进行大小写转换 404
15.24.1 系统设计 404
15.24.2 代码实现 404
15.25 统计档案中的文本信息 405
15.25.1 系统设计 405
15.25.2 代码实现 405
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net