Lua 学习 chapter7
目录
简单I/O模型
完整I/O模型
其它文件操作
其它系统调用
I want to have a talk with you my heart.
简单I/O模型
对于文件操作,I/O提供了两种不同的模型。简单模型虚拟了一个当前输入流和一个当前的输出流,其I/O是通过这些流实现的。
I/O库把当前的输入流初始化为进程的标准输入(C中的stdin),将当前的输出流初始化进程的标准输出(C中的stdout)。因此当执行io.read()这样的语句的时候就可以从标准的输入中读取一行。
函数的io.input和函数io.output用来改变当前的输入输出流。
io.input(fileName)会以只读的方式打开指定的文件,并将文件设置为当前的输入流。之后所有的输入都将来自于这个文件,除非重新调用io.input函数来改变。对于输出与之类似。
函数write():
由于调用该函数可以传入多个参数,所以应该避免使用io.write(a..b..b),而是使用write(a,b,c)。
作为原则应该只在用后即弃的代码或者调试代码的时候调用print输出,当需要完全控制输 ...
Lua正则表达式
几乎所有的编程语言都有正则表达式的支持,Lua也不例外,但是Lua的正则表达式和其他编程语言不太一样,不是标准的通用正则表达式,Lua有自己的一套表示方式。
匹配模式Lua的匹配模式主要是用于Lua字符串处理函数string.find, string.match,string.gmatch, string.gsub服务的。
字符类
字符
说明
x
表示字符x本身,x不能是魔法字符^ $ ( ) % . [ ] * + - ?
%x
表示字符x本身,x为所有非字母数字字符(包括魔法字符,标点符号等)
.
表示所有字符
%a
表示所有字母
%A
%a的补集
%c
表示所有控制字符
%C
%c的补集
%d
表示所有数字
%D
%d的补集
%g
表示除空白字符以外的所有可打印字符
%G
%g的补集
%l
表示所有小写字母
%L
%l的补集
%p
表示所有标点符号
%P
%p的补集
%s
表示所有空白字符
%S
%s的补集
%u
表示所有大写字母
%U
%u的补集
%w
表示所有字母及数字
%W
%w的补集 ...
AutoToolboxPopluate
<p>摘要:AutoToolboxPopluate</p>
<br />
<p>从 Visual Studio 2005 之后就会把 User Control 是否显示在 Toolbox 透过设定来决定是否显示(载入),<br>透过菜单 Tools->Options->Windows Forms Designer->General 中的 AutoToolboxPopluate 来设定,<br>设定完毕之后重新启动 VS 设定就会生效。</p>
参考连结
Linux下命令工具箱
Linux下命令工具箱
z.lua + ripgrep + fzf + fish shell + starship + exa + lazygit + byobu + spacevim + zed
z.lua目录跳转
zsh配置
.zshrc
eval "$(lua /path/to/z.lua --init zsh)"
fish配置
`~/.config/fish/conf.d/z.fish`
lua /path/to/z.lua --init fish | source
跳转到有hexo的目录
z -i hexo
https://github.com/skywind3000/z.lua
riggrep高级查找功能
查到当前目录的所有文件,含有关键字"rbenv"
rg -rn "rbenv"
fzf 模糊查找工具
跳转到检索目录
cd $(find * -type d | fzf)
跳转到检索文件
vim $(fzf)
zed $(fzf)
完整安装有按键快捷键绑定
sudo $(brew --prefix ...
无题
给出一个Nginx Lua的helloworld 的.conf配置文件
server {
listen 80;
server_name localhost;
location / {
default_type 'text/html';
content_by_lua_block {
ngx.say("Hello, World!");
}
}
}
Nginx一共有多少个执行阶段
OpenResty的11个处理流程分别是什么在,具体11处理阶段的意义是什么
OpenResty的11个处理流程分别是:
rewrite 阶段
access 阶段
content 阶段
log 阶段
header_filter 阶段
body_filter 阶段
balancer 阶段
init_worker 阶段
ssl_certificate_by_lua 阶段
ssl_session_fetch_by_lu ...
种植大赛
种植大赛
鸡蛋茄
红珍珠番茄
七彩凤仙花
花园百日草
五彩观赏椒
玩偶南瓜
玩具熊向日葵
花生
矮波斯菊
紫茉莉
旱金莲
下面这些花, 那些适合北方生长,容易活,还好看,请分别介绍一下
鸡蛋茄
红珍珠番茄
七彩凤仙花
花园百日草
五彩观赏椒
玩偶南瓜
玩具熊向日葵
鸡蛋茄:鸡蛋茄是一种耐寒植物,适合在北方生长。它们易于种植且生长快,果实呈鸡蛋形状,颜色丰富多彩,非常好看。
红珍珠番茄:红珍珠番茄是一种紧凑型的番茄品种,适合在北方生长。它们易于管理且抗病性强,果实呈圆形,颜色鲜艳亮丽。
七彩凤仙花:七彩凤仙花是一种热带植物,适合在北方作为观赏植物种植。它们有着绚丽多彩的花朵,非常吸引人眼球。
花园百日草:花园百日草是一种耐寒的观赏植物,在北方生长条件下也可以很好地生存。它们有着各种颜色的花朵和叶片,在花园中十分抢眼。
五彩观赏椒:五彩观赏椒是一种容易栽培的观赏植物,在北方生长良好。它们有着五颜六色的果实和叶片,非常适合用来装点庭院或花园。
玩偶南瓜:玩偶南瓜是一种小型南瓜品种,适合在北方生长。它们生长迅速且容易管理,果实小巧可爱,非常适合用来装饰家庭环境。
玩具熊 ...
NC的文件复制功能
一般开发运维人员,都会在各个服务之间复制文件,在Linux比较常用的工具就是scp,进行运程文件复制,其实还有另一种常的工具也可以实现这个功能,那就是nc。
1.在文件所在服务器,建立下载监听。
这台机器的IP是:192.168.1.6
nc -l 8001 < lua.ren.txt
从远端服务器进行下载文件:
管道定向符的意思 ,把远程文件保存到本地。
nc 192.168.1.6 8001 > luan.ren.txt
进行以上两步,就可以完成服务器之间的文件传递。
在服务器之间,有些大文件复制用Rsync。而有些小的文件,用NC命令就行了,用NC复制文件有一个问题, 就是没有文件复制的进度。
解决方法就是用PV 命令解决。
以前发送端的命令是nc -l 8888 < a.txt
显示下载进度该成用PV命令: pv a.txt | nc -l 8888
接受端也可以加PV,如下:
nc 192.168.1.8 8888 | pv > a.txt
传输完成后,在接收端服务器和发送端服务器,都可以看到文件的大小。
这个端口号统计表,的确 ...
zip命令
zip命令
Linux上如何用zip把一个文件夹,压缩成一个.zip文件夹,具体的指令是什么
要在Linux上使用zip命令将一个文件夹压缩成一个.zip文件,可以使用以下指令:
zip -r compressed_folder.zip folder_to_compress
其中,-r选项用于递归地压缩文件夹中的所有文件和子文件夹。compressed_folder.zip是要生成的压缩文件的名称,folder_to_compress是要被压缩的文件夹的名称。
备份整个MongoDB数据库
备份整个MongoDB数据库
备份整个MongoDB数据库
要备份整个MongoDB数据库,可以使用mongodump工具来导出数据库的所有数据。以下是备份MongoDB数据库的步骤:
打开命令行或终端窗口,并输入以下命令来使用mongodump工具备份整个MongoDB数据库:
mongodump --out /path/to/backup/directory
请将“/path/to/backup/directory”替换为您希望保存备份文件的目录路径。
输入密码(如果有)以验证身份并开始备份过程。
备份完成后,您将在指定的目录中看到一个名为“dump”的文件夹,其中包含了整个MongoDB数据库的备份数据。
如果需要恢复数据库,请使用mongorestore工具并指定备份文件夹路径:
mongorestore /path/to/backup/directory
请确保在备份和恢复数据库时具有足够的权限来执行这些操作,并且在生产环境中定期备份MongoDB数据库以防止数据丢失。
...
netstat 命令
netstat 命令
sudo netstat -pantule
显示更全的端口进程信息。
sudo netstat -plunt
nestat的所有命令参数的说明
-t, --tcp: 显示TCP协议的连接信息
-u, --udp: 显示UDP协议的连接信息
-n, --numeric: 以数字形式显示IP地址和端口号
-a, --all: 显示所有连接信息,包括监听和非监听状态的连接
-p, --programs: 显示进程ID和进程名称
-l, --listening: 仅显示监听状态的连接信息
-s, --summary: 显示网络统计信息,包括总接收和发送数据包数量等
-c, --continuous: 持续显示网络状态信息,类似于top命令
-r, --route: 显示路由表信息
-g, --groups: 显示多播组信息
这些是nestat命令常用的参数,可以通过"man netstat"来查看更详细的帮助文档。


