[实践不理想]vim管理插件/插件管理器Vundle,vim下模仿sublime的多光标模式vim-multiple-cursors插件(Vundle的介绍及安装),模仿Sublime Text 的ctrl + p功能的ctrlp.vim 这个插件,模仿sublime text 的ctrl + shift + f 在工程中全局查找某字符ZenCoding.vim插件。
Unix/LinuxC技术 jack 2017-12-23 18:05
vim查看插件:scriptnames
:scriptnames
安装插件的主法,且把要安装插件的配置文件和~/.vimrc文件区分开来了,链接如下:
https://blog.csdn.net/lu_embedded/article/details/76732965
Vim 自 7.0 开始支持 tab 页了,这就像很多数文本编辑器那样方便在多文件中切换,而不是只能使用 Buffer 暗地里来回切。默认时标签上显示 tab 序号加上当前打开的文件名。
Vim 中关于 Tab 的操作命令如下:
vim -p file1 file2 file3.... 在多标签中打开多个文件
:tabe[dit] 或 :tabnew 在当前标签后打开新的标签
:tabn[ext] 或 gt 切换到下一个 tab
:tabp[revious] 或 gT 切换到上一个 tab
:tabn [N] 切换到第 N 个 tab
:tabfir[st] 切换到第 1 个 tab
:tabl[ast] 切换到最后一个 tab
:tabs 列出所有的 tab
:tabc[lose] 关闭当前 tab, :q 命令也能关闭闭掉当前 tab
:tabo[nly] 关闭所有其它 tab
Vim杂记:Sublime的配色方案,出现在SecureCRT里的Vim一闪一闪的,失败,取消此配色:
http://www.cnblogs.com/fsjohnhuang/p/3911611.html
当Vim 打开了很多buffer 和tab 的时候,想要在不同窗口之间跳转,会比较麻烦,刚给SpaceVim 开发了一款简单的插件,就是在左侧列出所有tab:
https://github.com/SpaceVim/SpaceVim
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
编辑你当前用户下的.vimrc
[xiangdong@localhost ~]$ vim ~/.vimrc
输入Vundle对应的配置
"======================== Vundle 配置 ============================
"安装方法用这个:git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle/ "载入特定目录插件
call vundle#rc()
=============================================================
cat /home/xiangdong/.vimrc
在Vim中运行 :BundleInstall 等待安装完成。
:BundleInstall
ctrl + j/k # 进行上下选择
ctrl + x # 在当前窗口水平分屏打开文件
ctrl + v # 同上, 垂直分屏
ctrl + t # 在tab中打开
From:https://www.jianshu.com/p/c67e60abaa45
vim中的杀手级插件: vundle: http://zuyunfei.com/2013/04/12/killer-plugin-of-vim-vundle/
安装插件
打开一个vim, 运行:BundleInstall
或者在命令行运行 vim +BundleInstall +qall
安装完成后插件就能用了
####其它常用命令:
更新插件:BundleUpdate
清除不再使用的插件:BundleClean,
列出所有插件:BundleList
查找插件:BundleSearch
BundleUpdate报错:[Git] Unable to find remote helper for ‘https’
可能是在安裝 git 時因為缺少 libcurl 套件所導致
但是環境沒有 libcurl 時一樣可以安裝,只是會不能走 HTTPS 通道而已
若要修復這個問題,只需安裝 libcurl 後重新編譯安裝 git 就好:
# 系統為Ubuntu/Debain時,執行以下指令
apt-get install -y libcurl4-openssl-dev
# 系統為CentOS/RedHat/Fedora時,執行以下指令
yum install -y libcurl-devel.x86_64
From:https://caloskao.org/git-unable-to-find-remote-helper-for-https/
# 回到 git 原始碼目錄重新編譯並安裝 git
cd git-2.7.4
./configure
make prefix=/usr/local all
make prefix=/usr/local install
git --version
:BundleUpdate ,出现:Cannot make changes, 'modifiable' is off
:set modifiable
or
:set ma
来自vim 修改时提示 E21: Cannot make changes, 'Modifiable' is off:https://www.jianshu.com/p/2a511ebcdd9a
实践OK如下:
vi ./bundle/vundle/autoload/vundle/scripts.vim
166 set modifiable=on
报语法错:后又修改为恢复原来后,又莫名其妙的好了:
164 " make buffer modifiable
165 " to append without errors
166 set modifiable
结论:VIM有其和UI编辑器的局限,也有其灵活,Sublime有其存在价值,想学不一定能学好。多了快捷键还会冲突等得自己思考布局,是有 灵活性,而较为优秀的UI编辑器,早就精心设置好了,你只需要会开就成,所以,我只选择了vim-multiple-cursors,发现其它插件在vim-multiple-cursors的ctrl+n选中单词向前,Ctrl+p后通,Ctrl+x将选中变为不选中再会跳向下一个,选中完成后,可以使用大写i光标之前插入,大写c删除选中批量修改等vim编辑操作进入insert模式,开始修改文本.,好像出现了覆盖。不想深入,先用着,就这样吧:
步骤一二就行,简单常用批量替换插件即可。
通过Vim+少量插件配置一个高效简洁的IDE: https://www.cnblogs.com/javaminer/p/3842689.html
实践,先安装插件管理 再装vim-multiple-cursors这款插件:
一)vim插件管理器:Vundle的介绍及安装:
vim中的杀手级插件: http://zuyunfei.com/2013/04/12/killer-plugin-of-vim-vundle/ ##选中后, 可以进行增删替换a/c/x等,相关常用细节参考:http://foocoder.com/2014/04/09/mei-ri-vimcha-jian-vim-multiple-cursors/ ,移动光标到下一个单词的结尾,用命令”e“,里面的ctrl+e在SecureCRT里面并不能到行尾,用箭头键慢慢移动吧。
这个得装:
$git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
Initialized empty Git repository in /home/xiangdong/.vim/bundle/Vundle.vim/.git/
remote: Counting objects: 3132, done.
Receiving objects: 22% (690/3132), 124.01 KiB | 38 KiB/s
vim +BundleInstall + vundle
二)http://www.wklken.me/posts/2015/06/07/vim-plugin-multiplecursors.html
PluginInstall vim-multiple-cursors
:Plugin 'terryma/vim-multiple-cursors'
这个:
:PlugInstall multiple-cursors
从Github进行安装:
Plugin 'terryma/vim-multiple-cursors'
vim +BundleInstall + vim-multiple-cursors
vim +BundleInstall + ctrlp-funky #https://www.cnblogs.com/javaminer/p/3842689.html
vim +BundleInstall + taglist.vim
vim +BundleInstall + nerdtree
链接:http://zuyunfei.com/2013/04/12/killer-plugin-of-vim-vundle/
三)Bundle 'ctrlpvim/ctrlp.vim' #这个不是??
Bundle 'kien/ctrlp.vim'
github:https://github.com/kien/ctrlp.vim这是一个超赞的插件,如果使用过sublime-text2,那么肯定很熟悉ctrlp。它可以快速的帮助我们找到项目中的文件。
https://www.jianshu.com/p/SRsmZW
================================================
一)推荐vim-multiple-cursors这款插件,是模仿sublime的多光标模式,查找规则就是vim默认的单词匹配(就是你按*时查找单词的规则),像这样:大部分时候还是可以用来做rename refactor的。不过正如楼上所说,做项目还是老实用IDE吧 :)
From:https://zhuanlan.zhihu.com/p/23262156 ,在命令行模式下用批量替换啊。:%s/item/item /gc 加c是让你一个个确认。
插件地址:https://github.com/terryma/vim-multiple-cursors
二)ctrlp.vim 这个插件是模仿Sublime Text 的ctrl + p功能,在工程中快速定位某个文件。
三) 'ZenCoding.vim'. " 模仿sublime text 的ctrl + shift + f 在工程中全局查找某字符. " 需先安装ack (这个有Shell下的Linux命令Grep,用了插件快捷键没有了)
Ctrl-P在其他编辑器里已经是默认的全局搜索键了,vim 也有ctrlp(https://github.com/ctrlpvim/ctrlp.vim)插件,它可以搜索文件路径上的文件名,还有最近文件等各种快捷打开。看起来似乎挺好的,直到fzf.vim(https://vimawesome.com/plugin/fzf-vim)的出现。fzf的搜索速度更快,而且异步,不会在初始化搜索的时候卡死界面响应。
安装好fzf,然后加载 fzf.vim 插件,将ctrl-p 键位映射成 :Files<CR>,就可以体验到高速搜索,中间根本不用等界面响应,等关键词输入,结果就出来了。配合 ag 可以屏蔽掉.gitignore 内的文件。
搜索除了文件快速打开,还有全局行内搜索,之前vimgrep 一直是一个比较常用的命令,然而体验不太好,需要指定搜索内容和搜索范围,还要输一些命令,而且略慢。那么ag(https://github.com/ggreer/the_silver_searcher)一定是目前最好的选择。不管其他因素,进到项目主页,一看是 c 写的基本上就已经稳了。实际上它也确实是目前为止最快的行内搜索。使用的话,需要先安装命令行ag(https://github.com/ggreer/the_silver_searcher),然后安装ack.vim(https://vimawesome.com/plugin/ack-vim),注意不要用ag.vim 它已经不被支持了。
不过有个问题,fzf也内置了对 ack 的支持,只是比ack.vim 不如,所以需要重新映射一个 ack.vim 使用的键位,我个人用了 <Leader>f 意为 find。
:scriptnames
安装插件的主法,且把要安装插件的配置文件和~/.vimrc文件区分开来了,链接如下:
https://blog.csdn.net/lu_embedded/article/details/76732965
Vim 自 7.0 开始支持 tab 页了,这就像很多数文本编辑器那样方便在多文件中切换,而不是只能使用 Buffer 暗地里来回切。默认时标签上显示 tab 序号加上当前打开的文件名。
Vim 中关于 Tab 的操作命令如下:
vim -p file1 file2 file3.... 在多标签中打开多个文件
:tabe[dit] 或 :tabnew 在当前标签后打开新的标签
:tabn[ext] 或 gt 切换到下一个 tab
:tabp[revious] 或 gT 切换到上一个 tab
:tabn [N] 切换到第 N 个 tab
:tabfir[st] 切换到第 1 个 tab
:tabl[ast] 切换到最后一个 tab
:tabs 列出所有的 tab
:tabc[lose] 关闭当前 tab, :q 命令也能关闭闭掉当前 tab
:tabo[nly] 关闭所有其它 tab
Vim杂记:Sublime的配色方案,出现在SecureCRT里的Vim一闪一闪的,失败,取消此配色:
http://www.cnblogs.com/fsjohnhuang/p/3911611.html
当Vim 打开了很多buffer 和tab 的时候,想要在不同窗口之间跳转,会比较麻烦,刚给SpaceVim 开发了一款简单的插件,就是在左侧列出所有tab:
https://github.com/SpaceVim/SpaceVim
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
编辑你当前用户下的.vimrc
[xiangdong@localhost ~]$ vim ~/.vimrc
输入Vundle对应的配置
"======================== Vundle 配置 ============================
"安装方法用这个:git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle/ "载入特定目录插件
call vundle#rc()
=============================================================
cat /home/xiangdong/.vimrc
在Vim中运行 :BundleInstall 等待安装完成。
:BundleInstall
ctrl + j/k # 进行上下选择
ctrl + x # 在当前窗口水平分屏打开文件
ctrl + v # 同上, 垂直分屏
ctrl + t # 在tab中打开
From:https://www.jianshu.com/p/c67e60abaa45
vim中的杀手级插件: vundle: http://zuyunfei.com/2013/04/12/killer-plugin-of-vim-vundle/
安装插件
打开一个vim, 运行:BundleInstall
或者在命令行运行 vim +BundleInstall +qall
安装完成后插件就能用了
####其它常用命令:
更新插件:BundleUpdate
清除不再使用的插件:BundleClean,
列出所有插件:BundleList
查找插件:BundleSearch
BundleUpdate报错:[Git] Unable to find remote helper for ‘https’
可能是在安裝 git 時因為缺少 libcurl 套件所導致
但是環境沒有 libcurl 時一樣可以安裝,只是會不能走 HTTPS 通道而已
若要修復這個問題,只需安裝 libcurl 後重新編譯安裝 git 就好:
# 系統為Ubuntu/Debain時,執行以下指令
apt-get install -y libcurl4-openssl-dev
# 系統為CentOS/RedHat/Fedora時,執行以下指令
yum install -y libcurl-devel.x86_64
From:https://caloskao.org/git-unable-to-find-remote-helper-for-https/
# 回到 git 原始碼目錄重新編譯並安裝 git
cd git-2.7.4
./configure
make prefix=/usr/local all
make prefix=/usr/local install
git --version
:BundleUpdate ,出现:Cannot make changes, 'modifiable' is off
:set modifiable
or
:set ma
来自vim 修改时提示 E21: Cannot make changes, 'Modifiable' is off:https://www.jianshu.com/p/2a511ebcdd9a
实践OK如下:
vi ./bundle/vundle/autoload/vundle/scripts.vim
166 set modifiable=on
报语法错:后又修改为恢复原来后,又莫名其妙的好了:
164 " make buffer modifiable
165 " to append without errors
166 set modifiable
结论:VIM有其和UI编辑器的局限,也有其灵活,Sublime有其存在价值,想学不一定能学好。多了快捷键还会冲突等得自己思考布局,是有 灵活性,而较为优秀的UI编辑器,早就精心设置好了,你只需要会开就成,所以,我只选择了vim-multiple-cursors,发现其它插件在vim-multiple-cursors的ctrl+n选中单词向前,Ctrl+p后通,Ctrl+x将选中变为不选中再会跳向下一个,选中完成后,可以使用大写i光标之前插入,大写c删除选中批量修改等vim编辑操作进入insert模式,开始修改文本.,好像出现了覆盖。不想深入,先用着,就这样吧:
步骤一二就行,简单常用批量替换插件即可。
通过Vim+少量插件配置一个高效简洁的IDE: https://www.cnblogs.com/javaminer/p/3842689.html
实践,先安装插件管理 再装vim-multiple-cursors这款插件:
一)vim插件管理器:Vundle的介绍及安装:
vim中的杀手级插件: http://zuyunfei.com/2013/04/12/killer-plugin-of-vim-vundle/ ##选中后, 可以进行增删替换a/c/x等,相关常用细节参考:http://foocoder.com/2014/04/09/mei-ri-vimcha-jian-vim-multiple-cursors/ ,移动光标到下一个单词的结尾,用命令”e“,里面的ctrl+e在SecureCRT里面并不能到行尾,用箭头键慢慢移动吧。
这个得装:
$git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
Initialized empty Git repository in /home/xiangdong/.vim/bundle/Vundle.vim/.git/
remote: Counting objects: 3132, done.
Receiving objects: 22% (690/3132), 124.01 KiB | 38 KiB/s
vim +BundleInstall + vundle
二)http://www.wklken.me/posts/2015/06/07/vim-plugin-multiplecursors.html
PluginInstall vim-multiple-cursors
:Plugin 'terryma/vim-multiple-cursors'
这个:
:PlugInstall multiple-cursors
从Github进行安装:
Plugin 'terryma/vim-multiple-cursors'
vim +BundleInstall + vim-multiple-cursors
vim +BundleInstall + ctrlp-funky #https://www.cnblogs.com/javaminer/p/3842689.html
vim +BundleInstall + taglist.vim
vim +BundleInstall + nerdtree
链接:http://zuyunfei.com/2013/04/12/killer-plugin-of-vim-vundle/
三)Bundle 'ctrlpvim/ctrlp.vim' #这个不是??
Bundle 'kien/ctrlp.vim'
github:https://github.com/kien/ctrlp.vim这是一个超赞的插件,如果使用过sublime-text2,那么肯定很熟悉ctrlp。它可以快速的帮助我们找到项目中的文件。
https://www.jianshu.com/p/SRsmZW
================================================
一)推荐vim-multiple-cursors这款插件,是模仿sublime的多光标模式,查找规则就是vim默认的单词匹配(就是你按*时查找单词的规则),像这样:大部分时候还是可以用来做rename refactor的。不过正如楼上所说,做项目还是老实用IDE吧 :)
From:https://zhuanlan.zhihu.com/p/23262156 ,在命令行模式下用批量替换啊。:%s/item/item /gc 加c是让你一个个确认。
插件地址:https://github.com/terryma/vim-multiple-cursors
二)ctrlp.vim 这个插件是模仿Sublime Text 的ctrl + p功能,在工程中快速定位某个文件。
三) 'ZenCoding.vim'. " 模仿sublime text 的ctrl + shift + f 在工程中全局查找某字符. " 需先安装ack (这个有Shell下的Linux命令Grep,用了插件快捷键没有了)
Ctrl-P在其他编辑器里已经是默认的全局搜索键了,vim 也有ctrlp(https://github.com/ctrlpvim/ctrlp.vim)插件,它可以搜索文件路径上的文件名,还有最近文件等各种快捷打开。看起来似乎挺好的,直到fzf.vim(https://vimawesome.com/plugin/fzf-vim)的出现。fzf的搜索速度更快,而且异步,不会在初始化搜索的时候卡死界面响应。
安装好fzf,然后加载 fzf.vim 插件,将ctrl-p 键位映射成 :Files<CR>,就可以体验到高速搜索,中间根本不用等界面响应,等关键词输入,结果就出来了。配合 ag 可以屏蔽掉.gitignore 内的文件。
搜索除了文件快速打开,还有全局行内搜索,之前vimgrep 一直是一个比较常用的命令,然而体验不太好,需要指定搜索内容和搜索范围,还要输一些命令,而且略慢。那么ag(https://github.com/ggreer/the_silver_searcher)一定是目前最好的选择。不管其他因素,进到项目主页,一看是 c 写的基本上就已经稳了。实际上它也确实是目前为止最快的行内搜索。使用的话,需要先安装命令行ag(https://github.com/ggreer/the_silver_searcher),然后安装ack.vim(https://vimawesome.com/plugin/ack-vim),注意不要用ag.vim 它已经不被支持了。
不过有个问题,fzf也内置了对 ack 的支持,只是比ack.vim 不如,所以需要重新映射一个 ack.vim 使用的键位,我个人用了 <Leader>f 意为 find。
很少用Game Center,不过突然收到挑战我也是着实吓了一跳…本来是横幅,无意间发现下拉横幅后有快捷操作,忘了截屏了,然后截了通知中心的两张图…:
设置 —> 通知 —> 找到Game Center —>把允许通知关掉 —> 搞定~
设置 —> 通知 —> 找到Game Center —>把允许通知关掉 —> 搞定~
Mysql锁表模拟主从延迟,测试Zabbix主从同步延迟报警,以及Mysql的innodb也能先停复制的IO追平后,再停Mysql拷贝数据目录到别的Mysql能启动来的方法。
Cache与Store jack 2017-12-21 11:50
追平后,再停Mysql拷贝数据目录到别的Mysql能启动来的方法参考,Mysql的innodb也能先停复制的IO追平后停Mysql拷贝数据目录到别的Mysql能启动来的方法:http://jackxiang.com/post/9702/
背景:有时候为了测试Zabbix主从延迟,还得锁从库的表(或是停从库),诱发主从同步延迟。
SHOW PROCESSLIST查看数据库中表的状态,是否被锁;
kill id //杀掉被锁的表
1. FLUSH TABLES WITH READ LOCK
这个命令是全局读锁定,执行了命令之后所有库所有表都被锁定只读。一般都是用在数据库联机备份,这个时候数据库的写操作将被阻塞,读操作顺利进行。2
解锁语句是:UNLOCK TABLES;
2.LOCK TABLES tbl_name [AS2alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}
这个命令是表级别的锁定,可以定制锁定某一个表。例如: lock 2tables test read; 不影响其他表的写操作。
解锁语句是:UNLOCK TABLES;
这两个语句在执行的时候都需要注意个特点,就是 隐式提交的语句。在退出 mysql2终端的时候都会隐式的执行 UNLOCK TABLES2。也就是说如果要让表锁定生效就必须一直保持对话。
原文:http://blog.csdn.net/shootyou/article/details/626735
Mysql的innodb也能先停复制的IO追平后停Mysql拷贝数据目录到别的Mysql能启动来的方法:
mysql> help stop slave
Name: 'STOP SLAVE'
Description:
Syntax:
STOP SLAVE [thread_types]
thread_types:
[thread_type [, thread_type] ... ]
thread_type: IO_THREAD | SQL_THREAD
背景:有时候为了测试Zabbix主从延迟,还得锁从库的表(或是停从库),诱发主从同步延迟。
SHOW PROCESSLIST查看数据库中表的状态,是否被锁;
kill id //杀掉被锁的表
1. FLUSH TABLES WITH READ LOCK
这个命令是全局读锁定,执行了命令之后所有库所有表都被锁定只读。一般都是用在数据库联机备份,这个时候数据库的写操作将被阻塞,读操作顺利进行。2
解锁语句是:UNLOCK TABLES;
2.LOCK TABLES tbl_name [AS2alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}
这个命令是表级别的锁定,可以定制锁定某一个表。例如: lock 2tables test read; 不影响其他表的写操作。
解锁语句是:UNLOCK TABLES;
这两个语句在执行的时候都需要注意个特点,就是 隐式提交的语句。在退出 mysql2终端的时候都会隐式的执行 UNLOCK TABLES2。也就是说如果要让表锁定生效就必须一直保持对话。
原文:http://blog.csdn.net/shootyou/article/details/626735
Mysql的innodb也能先停复制的IO追平后停Mysql拷贝数据目录到别的Mysql能启动来的方法:
mysql> help stop slave
Name: 'STOP SLAVE'
Description:
Syntax:
STOP SLAVE [thread_types]
thread_types:
[thread_type [, thread_type] ... ]
thread_type: IO_THREAD | SQL_THREAD
[实践OK]阿里云服务器ssh经常一段时间就断掉解决办法,从服务器端和连接的SecureCRT客户端都作设置。
Unix/LinuxC技术 jack 2017-12-18 22:32
说明了服务器60秒向客户端发消息理论上客户端会回应和3次失败自动断开的一个基本原理,
这块还可在连接端的secureCRT里定时发空命令:Session Options->Terminal->Anti idle[V]Send protocol NO-OP Every [60] seconds。
阿里云服务器ssh经常一段时间就断掉解决办法:
#vim /etc/ssh/sshd_config
找到下面两行
#ClientAliveInterval 0
#ClientAliveCountMax 3
去掉注释,改成
ClientAliveInterval 30
ClientAliveCountMax 86400
这两行的意思分别是
1、客户端每隔多少秒向服务发送一个心跳数据
2、客户端多少秒没有相应,服务器自动断掉连接
重启sshd服务
#service sshd restart
From:https://www.cnblogs.com/hailspace/p/7289985.html
https://www.cnblogs.com/ygyy/p/12416052.html
这块还可在连接端的secureCRT里定时发空命令:Session Options->Terminal->Anti idle[V]Send protocol NO-OP Every [60] seconds。
阿里云服务器ssh经常一段时间就断掉解决办法:
#vim /etc/ssh/sshd_config
找到下面两行
#ClientAliveInterval 0
#ClientAliveCountMax 3
去掉注释,改成
ClientAliveInterval 30
ClientAliveCountMax 86400
这两行的意思分别是
1、客户端每隔多少秒向服务发送一个心跳数据
2、客户端多少秒没有相应,服务器自动断掉连接
重启sshd服务
#service sshd restart
From:https://www.cnblogs.com/hailspace/p/7289985.html
https://www.cnblogs.com/ygyy/p/12416052.html
[实践OK]Linux在CentOS下的nc/ncat命令端口侦听在不同CentOS6/7的rpm包里有变化,linux nc命令传输文件(远程复制文件,传文件。),linux快速复制大量小文件方法 nc+tar,nc + tar 传送整个文件目录的方法。how-can-i-keep-netcat-connection-open?
Unix/LinuxC技术 jack 2017-12-18 11:55
特别注意:接收文件一端开端口 > ,发送文件一端 < ,IP 端口传文件,如果反了接收文件端开端口它接收完成后也还是不会自动退出,得自己估摸时间Ctrl+C:
新增nc 传目录小文件,传输目录演示(方法发送文件类似),这个和单个文件的 < 和 >有点相反的味道,
服务开端口的是接收文件方,相当于是传文件给服务器端!!!
整体:
nc -l 4444 |tar -zxvf - #接收端开10.73.234.25 4444端口
tar -zcvf - * | nc 10.73.234.251 4444 #传文件端连接端口机,中间横两边有空格!
步骤1,打开接收打包文件的端口(A机器先启动端口监听),如下:
nc -l 4444 |tar zxvf - #测试管道后面最后必须是 - ,不能是其余自定义的文件名
步骤2,发送所有文件或某个文件(B机器打包文件并连接A机器打开的端口):
管道前面表示把当前目录的所有文件打包为 - ,然后使用nc发送给B机器
tar zcvf - * | nc 10.71.182.250 4444 #传整个目录有点慢,最好是传压缩包
nc客户端:
ss -ntp|grep 4444
ESTAB 0 0 10.73.234.2**:35478 10.73.2*5.0:4444 users:(("nc",pid=54501,fd=3))
nc服务端:
ss -ntp|grep 4444
ESTAB 0 0 10.73.2*5.0:4444 10.73.234.2**:35478
iostat
来自:https://blog.csdn.net/mtj66/article/details/74959287
From: https://blog.csdn.net/mtj66/article/details/74959287
传完不退出参数:
how-can-i-keep-netcat-connection-open:
-k Forces nc to stay listening for another connection after its current
connection is completed. It is an error to use this option without the
-l option.
From: https://unix.stackexchange.com/questions/423407/how-can-i-keep-netcat-connection-open
如果两台计算机之间突然需要传送一个文件,而一时又没有什么好用的通讯工具,也来不及开服务器的时候,那么可以使用nc来传送文件。方法如下:
接收者: $ nc -l -p 12345 > save_filename ; 12345为1024-65535的任意端口号
发送者: $ nc <接收者ip> 12345 < send_file
一)目的主机监听
nc -l 监听端口[ 未使用端口] > 要接收的文件名 ,如:nc -l 4444 > cache.tar.gz
实践如下:
nc -l -p 4444 > memcached-3.0.3.tgz #@10.71.182.156
二)源主机发起请求
nc 目的主机ip 目的端口 < 要发送的文件
nc 192.168.0.85 4444 < /root/cache.tar.gz
实践如下:
nc 10.71.182.156 4444 < /home/test/rpmbuild/SOURCES/memcached-3.0.3.tgz
三)查看是否拷贝完毕:
ls /home/test/rpmbuild/SOURCES/memcached-3.0.3.tgz
/home/test/rpmbuild/SOURCES/memcached-3.0.3.tgz
nc + tar 传送整个文件目录:
接受方
nc -l 7788 |tar -zxvf -
发送方
tar -zcvf - dir |nc xx.xx.xx.xx 7788
dir 表示要传送的目录
来自:http://blog.csdn.net/u012333307/article/details/48562829
调试:
-v打印出错信息
接收方:nc -v -l -p 8210
发送方:nc -v dest_ip 8210
注意:使用nc传文件时,需注意操作次序,receiver先侦听端口,sender向receiver所在机器的该端口发送数据。否则发送失败。
来自:http://blog.csdn.net/slvher/article/details/9668749
=====>linux快速复制大量小文件方法 nc+tar(打包为一个压缩文件,再传到对端后解压到指定目录还回来了)<=====
1,在需要对大量小文件进行移动或复制时,用cp、mv都会显得很没有效率,可以用tar先压缩再解压缩的方式。
2,在网络环境中传输时,可以再结合nc命令,通过管道和tcp端口进行传输。
nc和tar可以用来快速的在两台机器之间传输文件和目录,比ftp和scp要来得简单的多。
由于nc是一个超轻量的命令,所以一般busybox都会集成它。当一个linux终端,比如linux pda,
通过usblan的方式连接到另一台linux主机的时候,这样的嵌入式终端上一般不会集成ftp server, ssh server
这样比较笨重的服务,这个时候, nc可能成为唯一的上传手段。
比如将机器A上的mytest目录上传到到机器 B(192.168.0.11)上,只需要:
在机器B上,用nc来监听一个端口,随便就好,只要不被占用;并且将收到的数据用tar展开。-l代表监听模式。
[root@server-B ~]#nc -l 4444 |tar -C /tmp/dir -zxf -
然后,在A上通过nc和 tar发送test目录。使用一致的4444的端口。
[root@server-A ~]#tar -zcvf - mytest|nc 192.168.0.11 4444
记得有一次,一台机器内核崩了,后来有位高手用liveCD把机器启动起来,就是用了类似的方法把数据导出来的。
看来基础的知识还是要多掌握一些啊,比如上次提到的links命令,有时候也很有用的
来自:http://logo32.iteye.com/blog/1564741
bash有单步调试功能吗?使用调试工具-bashdb。
Php/Js/Shell/Go jack 2017-12-12 17:38
bashdb功能: 类似于GDB的调试工具,可以完成对shell脚本的断点设置,单步执行,变量观察等许多功能
【场合】: 脚本比较大时,通过-x参数调试时已不方便时.
【用法】:
bashdb -c script.sh
bashdb script.sh
bashdb --debugger script.sh
【说明】:该工具默认未安装,当前最新版本为:4.3-0.91,下载目录:http://bashdb.sourceforge.net/
1). 如果是ubuntu系统,直接用apt-get来安装
apt-get install bashdb
2). 如果是Readhat等版本,使用wget下载后,编译,安装,大致步骤如下:
wget https://sourceforge.net/projects/bashdb/files/bashdb/4.3-0.91/bashdb-4.3-0.91.tar.bz2
https://jaist.dl.sourceforge.net/project/bashdb/bashdb/4.4-0.94/bashdb-4.4-0.94.tar.gz
tar -xzvf bashdb-4.3-0.91.tar.bz2
cd bashdb-4.3-0.91
./configure
make && make install
【示例】:
【常用命令】
l 列出当前行以下的10行
q|quit 退出
h 帮助
/for/ 向后搜索字符串for
?for? 向前搜索字符串for
x 1+2 计算算术表达式的值
!! ls -laRt 执行shell命令
n 执行下一条语句
s 4 单步执行4次,如遇到函数则进入函数里面
b 4 在行号4处设置断点
del 4 删除行号为4的断点
c 10 一直执行到行号10处
R|run 重新执行当前调试脚本
finish 执行到程序最后
摘自:http://www.voidcn.com/article/p-sljifrsx-oo.html
【场合】: 脚本比较大时,通过-x参数调试时已不方便时.
【用法】:
bashdb -c script.sh
bashdb script.sh
bashdb --debugger script.sh
【说明】:该工具默认未安装,当前最新版本为:4.3-0.91,下载目录:http://bashdb.sourceforge.net/
1). 如果是ubuntu系统,直接用apt-get来安装
apt-get install bashdb
2). 如果是Readhat等版本,使用wget下载后,编译,安装,大致步骤如下:
wget https://sourceforge.net/projects/bashdb/files/bashdb/4.3-0.91/bashdb-4.3-0.91.tar.bz2
https://jaist.dl.sourceforge.net/project/bashdb/bashdb/4.4-0.94/bashdb-4.4-0.94.tar.gz
tar -xzvf bashdb-4.3-0.91.tar.bz2
cd bashdb-4.3-0.91
./configure
make && make install
【示例】:
【常用命令】
l 列出当前行以下的10行
q|quit 退出
h 帮助
/for/ 向后搜索字符串for
?for? 向前搜索字符串for
x 1+2 计算算术表达式的值
!! ls -laRt 执行shell命令
n 执行下一条语句
s 4 单步执行4次,如遇到函数则进入函数里面
b 4 在行号4处设置断点
del 4 删除行号为4的断点
c 10 一直执行到行号10处
R|run 重新执行当前调试脚本
finish 执行到程序最后
摘自:http://www.voidcn.com/article/p-sljifrsx-oo.html
[实践OK]Linux下退出一个帐户时出现There are stopped jobs.
Unix/LinuxC技术 jack 2017-12-11 11:22
exit
exit
There are stopped jobs.
原因:有vim后以Ctrl+z退出挂起的任务,运行fg后,直接退出后即可。
来源:https://unix.stackexchange.com/questions/116959/there-are-stopped-jobs-on-bash-exit
exit
There are stopped jobs.
原因:有vim后以Ctrl+z退出挂起的任务,运行fg后,直接退出后即可。
来源:https://unix.stackexchange.com/questions/116959/there-are-stopped-jobs-on-bash-exit
电信DNS:
211.167.230.100
211.167.230.200
114.114.114.114
联通DNS:
202.106.0.20
你是电信通的机器,使用:211.167.230.100 或 211.167.230.200 以及114.114.114.114 代替202.106.0.20吧,联通dns有时候拒绝为非联通用户提供服务。
1)curl ifconfig.me 得出出口IP: 115.182.34.118,到ip138.com一查果然是电信,如下:北京北京 鹏博士/电信。
2) 想在家里搞个类似的用CentOS7机器两个网口下面组个网,能访问外网。不用路由器,说是iptable也能行, 单位是F5,配置界面简单,在F5上操作的,图形界面如下:
2)用DNS解析IP地址:
dig pypi.doubanio.com @202.106.0.20
我们平时用的最多的最常见的是反向代理。反向代理想必都会配置的,有不会的可以到本博客里面搜索下,有相关文档。 那么nginx的正向代理是如何配置的呢?
就这么简单哈。
测试:
http://www.ttlsa.com:8090
resolver指令
语法: resolver address ... [valid=time];
默认值: —
配置段: http, server, location
配置DNS服务器IP地址。可以指定多个,以轮询方式请求。
nginx会缓存解析的结果。默认情况下,缓存时间是名字解析响应中的TTL字段的值,可以通过valid参数更改。
resolver_timeout指令
语法: resolver_timeout time;
默认值: resolver_timeout 30s;
配置段: http, server, location
解析超时时间。
如需转载请注明出处:http://www.ttlsa.com/html/3287.html
nginx正向代理加上DNSIP及超时时间在upstream中的使用方法:
https://www.nginx.com/resources/wiki/modules/domain_resolve/
http {
resolver 8.8.8.8;
resolver_timeout 10s;
upstream backend {
jdomain www.baidu.com;
#keepalive 10;
}
server {
listen 8080;
location / {
proxy_pass http://backend;
}
}
}
211.167.230.100
211.167.230.200
114.114.114.114
联通DNS:
202.106.0.20
你是电信通的机器,使用:211.167.230.100 或 211.167.230.200 以及114.114.114.114 代替202.106.0.20吧,联通dns有时候拒绝为非联通用户提供服务。
1)curl ifconfig.me 得出出口IP: 115.182.34.118,到ip138.com一查果然是电信,如下:北京北京 鹏博士/电信。
2) 想在家里搞个类似的用CentOS7机器两个网口下面组个网,能访问外网。不用路由器,说是iptable也能行, 单位是F5,配置界面简单,在F5上操作的,图形界面如下:
2)用DNS解析IP地址:
dig pypi.doubanio.com @202.106.0.20
我们平时用的最多的最常见的是反向代理。反向代理想必都会配置的,有不会的可以到本博客里面搜索下,有相关文档。 那么nginx的正向代理是如何配置的呢?
就这么简单哈。
测试:
http://www.ttlsa.com:8090
resolver指令
语法: resolver address ... [valid=time];
默认值: —
配置段: http, server, location
配置DNS服务器IP地址。可以指定多个,以轮询方式请求。
nginx会缓存解析的结果。默认情况下,缓存时间是名字解析响应中的TTL字段的值,可以通过valid参数更改。
resolver_timeout指令
语法: resolver_timeout time;
默认值: resolver_timeout 30s;
配置段: http, server, location
解析超时时间。
如需转载请注明出处:http://www.ttlsa.com/html/3287.html
nginx正向代理加上DNSIP及超时时间在upstream中的使用方法:
https://www.nginx.com/resources/wiki/modules/domain_resolve/
http {
resolver 8.8.8.8;
resolver_timeout 10s;
upstream backend {
jdomain www.baidu.com;
#keepalive 10;
}
server {
listen 8080;
location / {
proxy_pass http://backend;
}
}
}
芦荟冰糖治咽炎. 取芦荟叶二至三片(大的二片或小的三片),用清水洗净,切成小. 段,放入锅内。加水(一至二碗)和冰糖适量(以甜为度)共煮沸后十分. 钟,用纱布过滤,去渣,取其液当开水喝,两天见效,五至七天痊愈。
现象:点击网址栏里面的,翻译出现:无法翻译此网页内容。
步骤:得先装这个插件,再就是插件的翻译URL地址得能访问。
1、首先我们得先确定你安装了这个翻译插件,还没有安装或者不会的可以参考:http://www.pc6.com/infoview/Article_72630.html
2、安装好之后,还是无法翻译的,那么就要修改host的了:
(1)大家可以打开“我的电脑”然后进到C:/Windows/System32/drivers/etc/hosts,记得以记事本方式打开hosts文件
(2)在加入如下两行(IP地址与网址之间必须有一空格):点击“文件”→“保存”
203.208.46.145 translate.google.com
203.208.46.145 translate.googleapis.com
参考:
https://www.kafan.cn/edu/84094646.html
http://www.pc6.com/infoview/Article_72630.html
================================================================================
简介:
Google 翻译:谷歌浏览器翻译扩展工具 Google Translate for Chrome,Google Chrome的翻译扩展工具,由Google官方发布。安装后,会在你的Chrome浏览器菜单栏中添加一个按钮,你可以方便的在任何时候点击翻译你当前正在访问的页面。本扩展能自动侦测你正在访问的页面语言和Chrome浏览器的界面语言,并根据这两种语言进行互译,你也可以选择其它语言。
DownLoad:http://down.tech.sina.com.cn/content/46326.html
官方:https://chrome.google.com/webstore/detail/google-translate/aapbdbdomjkkjkaonfhkkikfgjllcleb/related?hl=zh-CN
步骤:得先装这个插件,再就是插件的翻译URL地址得能访问。
1、首先我们得先确定你安装了这个翻译插件,还没有安装或者不会的可以参考:http://www.pc6.com/infoview/Article_72630.html
2、安装好之后,还是无法翻译的,那么就要修改host的了:
(1)大家可以打开“我的电脑”然后进到C:/Windows/System32/drivers/etc/hosts,记得以记事本方式打开hosts文件
(2)在加入如下两行(IP地址与网址之间必须有一空格):点击“文件”→“保存”
203.208.46.145 translate.google.com
203.208.46.145 translate.googleapis.com
参考:
https://www.kafan.cn/edu/84094646.html
http://www.pc6.com/infoview/Article_72630.html
================================================================================
简介:
Google 翻译:谷歌浏览器翻译扩展工具 Google Translate for Chrome,Google Chrome的翻译扩展工具,由Google官方发布。安装后,会在你的Chrome浏览器菜单栏中添加一个按钮,你可以方便的在任何时候点击翻译你当前正在访问的页面。本扩展能自动侦测你正在访问的页面语言和Chrome浏览器的界面语言,并根据这两种语言进行互译,你也可以选择其它语言。
DownLoad:http://down.tech.sina.com.cn/content/46326.html
官方:https://chrome.google.com/webstore/detail/google-translate/aapbdbdomjkkjkaonfhkkikfgjllcleb/related?hl=zh-CN
[实践Ok]yum remove mysql时出现还会移除perl-DBD-MySQL的情况原因排查。
Unix/LinuxC技术 jack 2017-12-5 16:07
yum remove mysql时出现移除perl-DBD-MySQL的情况原因排查:
根本原因是之前的CentOS6.X里默认安装了mysql-libs,而在CentOS的7.x里,先安装了自己制作的Mysql包,于是出现:
1)CentOS6.X里需要:
rpm -q perl-DBD-MySQL --requires|grep libmysqlclient
libmysqlclient.so.16()(64bit)
libmysqlclient.so.16(libmysqlclient_16)(64bit)
2)CentOS7.X里需要:
rpm -q perl-DBD-MySQL --requires|grep libmysqlclient
libmysqlclient.so.18()(64bit)
libmysqlclient.so.18(libmysqlclient_18)(64bit)
而这两个不同版本的MySQL自制的包均分别提供了libmysqlclient.so.16@CentOS6.X和libmysqlclient.so.18@CentOS7.X(7里叫:mariadb-libs),且加入到动态链接库的cat /etc/ld.so.conf.d/mysql.conf,
/usr/local/mysql/lib,并ldconfig生效了,于是这个perl-DBD-MySQL就和它建立起了依赖,导致卸载Mysql@CentOS7.x时,因为perl-DBD-MySQL依赖mysql的libmysqlclient.so.18,于是出现被一同卸载的情况。怎么办@CentOS7.X里装perl-DBD-MySQL,先卸载Mysql一并把perl-DBD-MySQL卸载了,yum remove mysql -y,然后,yumdownloader mysql-libs,它会下载:mariadb-libs-5.5.56-2.el7.x86_64.rpm,rpm -ihv mariadb-libs-5.5.56-2.el7.x86_64.rpm,以解决直接yum install perl-DBD-MySQL时会出现安装:mysql-5.7.12-171123111505的情况,装好后,再安装yum install perl-DBD-MySQL ,也就不会安装mysql-5.7.12-171123111505了,因为链接已经在mariadb-libs-5.5.56有了,不需要mysql-5.7.12-171123111505来补充了。
一)CentOS7上安装perl-DBD-MySQL:
[root@ha_mysql-mha_manager_bj_szq_10_70_36_177 ~]# yum remove mysql
Loaded plugins: langpacks
Resolving Dependencies
--> Running transaction check
---> Package mysql.x86_64 0:5.7.12-171123111505.el7.centos will be erased
--> Processing Dependency: libmysqlclient.so.18()(64bit) for package: perl-DBD-MySQL-4.023-5.el7.x86_64
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: perl-DBD-MySQL-4.023-5.el7.x86_64
--> Running transaction check
---> Package perl-DBD-MySQL.x86_64 0:4.023-5.el7 will be erased
--> Finished Dependency Resolution
libmysqlclient.so.18被perl-DBD-MySQL需要:
ls -lart /usr/local/mysql/lib/libmysqlclient.so.18
/usr/local/mysql/lib/libmysqlclient.so.18 -> /usr/local/mysql/lib/libmysqlclient.so.18.1.0
rpm -qf /usr/local/mysql/lib/libmysqlclient.so.18.1.0
mysql-5.7.12-171123111505.el7.centos.x86_64
ldconfig -p|grep libmysqlclient.so.18
libmysqlclient.so.18 (libc6,x86-64) => /usr/local/mysql/lib/libmysqlclient.so.18
验证,如果没有咱自己打的包的情况,理论上perl-DBD-MySQL也是和CentOS6.x一样需要这个mysql-libs的:
yumdownloader mysql-libs
rpm -qpl mariadb-libs-5.5.56-2.el7.x86_64.rpm|grep libmysqlclient.so
/usr/lib64/mysql/libmysqlclient.so.18 #得证!!
/usr/lib64/mysql/libmysqlclient.so.18.0.0
二)CentOS6.x Ver:
ldconfig -p|grep libmysqlclient.so
libmysqlclient.so.16 (libc6,x86-64) => /usr/lib64/mysql/libmysqlclient.so.16
rpm -qf /usr/lib64/mysql/libmysqlclient.so.16
mysql-libs-5.1.73-7.el6.x86_64
[root@ha_mysql-mha-manager_bj_sjs_10_71_182_246 ~]验证依赖:
yum remove mysql-libs
perl-DBD-MySQL x86_64 4.013-3.el6 @CentOS-Base
根本原因是之前的CentOS6.X里默认安装了mysql-libs,而在CentOS的7.x里,先安装了自己制作的Mysql包,于是出现:
1)CentOS6.X里需要:
rpm -q perl-DBD-MySQL --requires|grep libmysqlclient
libmysqlclient.so.16()(64bit)
libmysqlclient.so.16(libmysqlclient_16)(64bit)
2)CentOS7.X里需要:
rpm -q perl-DBD-MySQL --requires|grep libmysqlclient
libmysqlclient.so.18()(64bit)
libmysqlclient.so.18(libmysqlclient_18)(64bit)
而这两个不同版本的MySQL自制的包均分别提供了libmysqlclient.so.16@CentOS6.X和libmysqlclient.so.18@CentOS7.X(7里叫:mariadb-libs),且加入到动态链接库的cat /etc/ld.so.conf.d/mysql.conf,
/usr/local/mysql/lib,并ldconfig生效了,于是这个perl-DBD-MySQL就和它建立起了依赖,导致卸载Mysql@CentOS7.x时,因为perl-DBD-MySQL依赖mysql的libmysqlclient.so.18,于是出现被一同卸载的情况。怎么办@CentOS7.X里装perl-DBD-MySQL,先卸载Mysql一并把perl-DBD-MySQL卸载了,yum remove mysql -y,然后,yumdownloader mysql-libs,它会下载:mariadb-libs-5.5.56-2.el7.x86_64.rpm,rpm -ihv mariadb-libs-5.5.56-2.el7.x86_64.rpm,以解决直接yum install perl-DBD-MySQL时会出现安装:mysql-5.7.12-171123111505的情况,装好后,再安装yum install perl-DBD-MySQL ,也就不会安装mysql-5.7.12-171123111505了,因为链接已经在mariadb-libs-5.5.56有了,不需要mysql-5.7.12-171123111505来补充了。
一)CentOS7上安装perl-DBD-MySQL:
[root@ha_mysql-mha_manager_bj_szq_10_70_36_177 ~]# yum remove mysql
Loaded plugins: langpacks
Resolving Dependencies
--> Running transaction check
---> Package mysql.x86_64 0:5.7.12-171123111505.el7.centos will be erased
--> Processing Dependency: libmysqlclient.so.18()(64bit) for package: perl-DBD-MySQL-4.023-5.el7.x86_64
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: perl-DBD-MySQL-4.023-5.el7.x86_64
--> Running transaction check
---> Package perl-DBD-MySQL.x86_64 0:4.023-5.el7 will be erased
--> Finished Dependency Resolution
libmysqlclient.so.18被perl-DBD-MySQL需要:
ls -lart /usr/local/mysql/lib/libmysqlclient.so.18
/usr/local/mysql/lib/libmysqlclient.so.18 -> /usr/local/mysql/lib/libmysqlclient.so.18.1.0
rpm -qf /usr/local/mysql/lib/libmysqlclient.so.18.1.0
mysql-5.7.12-171123111505.el7.centos.x86_64
ldconfig -p|grep libmysqlclient.so.18
libmysqlclient.so.18 (libc6,x86-64) => /usr/local/mysql/lib/libmysqlclient.so.18
验证,如果没有咱自己打的包的情况,理论上perl-DBD-MySQL也是和CentOS6.x一样需要这个mysql-libs的:
yumdownloader mysql-libs
rpm -qpl mariadb-libs-5.5.56-2.el7.x86_64.rpm|grep libmysqlclient.so
/usr/lib64/mysql/libmysqlclient.so.18 #得证!!
/usr/lib64/mysql/libmysqlclient.so.18.0.0
二)CentOS6.x Ver:
ldconfig -p|grep libmysqlclient.so
libmysqlclient.so.16 (libc6,x86-64) => /usr/lib64/mysql/libmysqlclient.so.16
rpm -qf /usr/lib64/mysql/libmysqlclient.so.16
mysql-libs-5.1.73-7.el6.x86_64
[root@ha_mysql-mha-manager_bj_sjs_10_71_182_246 ~]验证依赖:
yum remove mysql-libs
perl-DBD-MySQL x86_64 4.013-3.el6 @CentOS-Base
镁着火时,可以采用的灭火方法是用沙子掩埋:
38℃-40℃是镁的燃点,燃烧的镁温度很高(3000度,足以点燃树木枯树枝),用水来灭火的话会发生如下反应,使燃烧更旺
Mg+2H2O=Mg(OH)2+H2↑
2H2+O2=2H2O
也不能用二氧化碳,因为镁在二氧化碳中也会燃烧,方程如下,2Mg+CO2==2MgO+C
在空气中,
2Mg+O2=点燃=2MgO,3Mg+2N2=点燃=2Mg3N2,2Mg+CO2=点燃=2MgO+C.
38℃-40℃是镁的燃点,燃烧的镁温度很高(3000度,足以点燃树木枯树枝),用水来灭火的话会发生如下反应,使燃烧更旺
Mg+2H2O=Mg(OH)2+H2↑
2H2+O2=2H2O
也不能用二氧化碳,因为镁在二氧化碳中也会燃烧,方程如下,2Mg+CO2==2MgO+C
在空气中,
2Mg+O2=点燃=2MgO,3Mg+2N2=点燃=2Mg3N2,2Mg+CO2=点燃=2MgO+C.
[口袋技巧]securecrt会话的屏幕输出文字长度控制缓冲大小设置,设置SecureCRT会话的缓冲区大小。
Unix/LinuxC技术 jack 2017-12-1 17:03
背景:有时操作一些命令出现问题,后来才发现,而如果把屏幕缓冲区设置大小变大,能够回看,有可能是一些”证据“,比如:挂载的NAS硬盘好的,一会 就不行了,这个会话的缓冲区大小设置大点能助于反查问题。
在使用SecureCRT操作设备时,默认的回滚行数为500行。可以通过打开[选项]->[会话选项]->[Terminal]->[Emulation]-[Scrollback],默认为500行,可以最大调整到128000行。
设置所有呢?
在Option->Global Option->General->Default Session->Edit Default Settings...->Session Options - Default->Terminal->Emulation->Scrollback :Scrollback Buffer:128000 ,点Ok后,如果你的那个 服务器太多,得卡住没有响应,等一会就好了,全部修改了。
来自:http://blog.csdn.net/imxiangzi/article/details/7457703
在使用SecureCRT操作设备时,默认的回滚行数为500行。可以通过打开[选项]->[会话选项]->[Terminal]->[Emulation]-[Scrollback],默认为500行,可以最大调整到128000行。
设置所有呢?
在Option->Global Option->General->Default Session->Edit Default Settings...->Session Options - Default->Terminal->Emulation->Scrollback :Scrollback Buffer:128000 ,点Ok后,如果你的那个 服务器太多,得卡住没有响应,等一会就好了,全部修改了。
来自:http://blog.csdn.net/imxiangzi/article/details/7457703
Q:在excel中输入的手机号码 然后打印的时候打出的不是完整的手机号,比如手机号是10000000000的话 打出的就是1.00E+10的字样 请问这是为什么啊 应该如何设置,已经尝试在手机号码的那一竖栏的单元格的设置单元格格式的选项里点了 文本模式了 仍然打不出完整的手机号码。
A:你的顺序不对,设置后得再输入:
法一,先将表格设为文本格式,然后再输入即可。
法二,或者在输入手机号码之前,输入一个英文状态下的‘ 就可以了!
来自:https://zhidao.baidu.com/question/118805241.html
想把手机号格式再变化一下的步骤URL:https://jingyan.baidu.com/article/22a299b51339db9e19376a18.html , 实践:新的纯Excel可以,请假单的手机号栏无效。
A:你的顺序不对,设置后得再输入:
法一,先将表格设为文本格式,然后再输入即可。
法二,或者在输入手机号码之前,输入一个英文状态下的‘ 就可以了!
来自:https://zhidao.baidu.com/question/118805241.html
想把手机号格式再变化一下的步骤URL:https://jingyan.baidu.com/article/22a299b51339db9e19376a18.html , 实践:新的纯Excel可以,请假单的手机号栏无效。
今天在使用冷备份文件重做从库时遇到一个报错,值得研究一下。
版本:MySQL5.6.27
一、报错现象
dba:(none)> start slave;
ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
这个时候查看error.log:
2017-07-17 16:19:02 9022 [ERROR] Failed to open the relay log './tjtx-96-67-relay-bin.017814' (relay_log_pos 172582079).
2017-07-17 16:19:02 9022 [ERROR] Could not find target log file mentioned in relay log info in the index file './tjtx135-1-95-relay-bin.index' during relay log initialization.
2017-07-17 16:19:02 9022 [ERROR] Failed to initialize the master info structure
2017-07-17 16:19:02 9022 [Note] Check error log for additional messages. You will not be able to start replication until the issue is resolved and the server restarted.
2017-07-17 16:19:02 9022 [Note] Event Scheduler: Loaded 0 events
2017-07-17 16:19:02 9022 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
Version: '5.6.27-log' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server (GPL)
2017-07-17 16:19:06 9022 [ERROR] Slave SQL: Slave failed to initialize relay log info structure from the repository, Error_code: 1872
从报错上看,意思是启动slave时,使用repository中信息初始化relay log结构失败了。为什么失败了?原来是从tjtx135-1-95-relay-bin.index文件中找不到tjtx-96-67-relay-bin.017814文件。到这里,答案就很清楚了,由于我使用的是冷备份文件恢复的实例,在mysql库中的slave_relay_log_info表中依然保留之前relay_log的信息,所以导致启动slave报错。
那如何解决呢?先来简单的了解MySQL Relay log的基础知识:
二、MySQL Relay log介绍
在MySQL复制结构下,Slave服务器会产生三种日志文件,用来保存主库的二进制日志事件以及relay log已执行到的位置和状态。
1、relay log 文件:由IO thread线程从主库读取的二进制日志事件组成,该日志被Slave上的SQL thread线程执行,从而实现数据的复制。
2、master info log:该文件保存slave连接master的状态以及配置信息,如用户名,密码,日志执行的位置等。在5.6版本之前,都是使用master.info文件,从5.6开始,通过在my.cnf 中配置 --master-info-repository=TABLE。这些信息会被写入mysql.slave_master_info 表中,代替原来的master.info文件了。
3、relay log info log:该文件保存slave上relay log的执行位置。在5.6版本之前,都是使用relay-log.info文件,从5.6开始,通过在my.cnf中配置 --relay-log-info-repository=TABLE,使用mysql.slave_relay_log_info表代替原来的文件。每次当slave上执行start slave时,就会读取该表中的位置信息。
新版本使用表来代替原来的文件,主要为了crash-safe replication,从而大大提高从库的可靠性。为了保证意外情况下从库的可靠性,mysql.slave_master_info和mysql.slave_relay_log_info表必须为事务性的表,从5.6.6起,这些表默认使用InnoDB存储引擎。在5.6.5及之前的版本默认使用MyISAM引擎,可用下面语句进行转换:
ALTER TABLE mysql.slave_master_info ENGINE=InnoDB;
ALTER TABLE mysql.slave_relay_log_info ENGINE=InnoDB;
【注意】不要试图手工的更新、插入、删除以上两个表的内容,以免出现意料不到的问题。
三、问题解决
通过上面的报错以及relay log介绍,很容易知道由于mysql.slave_relay_log_info表中保留了以前的复制信息,导致新从库启动时无法找到对应文件,那么我们清理掉该表中的记录不就可以了。再次提醒,不要手动删该表数据,MySQL已经提供工具给我们了:reset slave:
reset slave干的那些事:
1、删除slave_master_info ,slave_relay_log_info两个表中数据;
2、删除所有relay log文件,并重新创建新的relay log文件;
3、不会改变gtid_executed 或者 gtid_purged的值
下面解决问题:
dba:(none)> reset slave;
Query OK, 0 rows affected (0.00 sec)
1
dba:(none)> change master to ......
1
2
dba:(none)> start slave;
Query OK, 0 rows affected (0.00 sec)
到这里问题解决了。
来自:https://www.cnblogs.com/mysql-dba/p/7201513.html
【经验】:以后用冷备份恢复实例后,在启动slave前,先进行reset slave清空下以前的旧信息。
【参考资料】:https://dev.mysql.com/doc/refman/5.6/en/slave-logs.html
https://dev.mysql.com/doc/refman/5.6/en/reset-slave.html
版本:MySQL5.6.27
一、报错现象
dba:(none)> start slave;
ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
这个时候查看error.log:
2017-07-17 16:19:02 9022 [ERROR] Failed to open the relay log './tjtx-96-67-relay-bin.017814' (relay_log_pos 172582079).
2017-07-17 16:19:02 9022 [ERROR] Could not find target log file mentioned in relay log info in the index file './tjtx135-1-95-relay-bin.index' during relay log initialization.
2017-07-17 16:19:02 9022 [ERROR] Failed to initialize the master info structure
2017-07-17 16:19:02 9022 [Note] Check error log for additional messages. You will not be able to start replication until the issue is resolved and the server restarted.
2017-07-17 16:19:02 9022 [Note] Event Scheduler: Loaded 0 events
2017-07-17 16:19:02 9022 [Note] /usr/local/mysql/bin/mysqld: ready for connections.
Version: '5.6.27-log' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server (GPL)
2017-07-17 16:19:06 9022 [ERROR] Slave SQL: Slave failed to initialize relay log info structure from the repository, Error_code: 1872
从报错上看,意思是启动slave时,使用repository中信息初始化relay log结构失败了。为什么失败了?原来是从tjtx135-1-95-relay-bin.index文件中找不到tjtx-96-67-relay-bin.017814文件。到这里,答案就很清楚了,由于我使用的是冷备份文件恢复的实例,在mysql库中的slave_relay_log_info表中依然保留之前relay_log的信息,所以导致启动slave报错。
那如何解决呢?先来简单的了解MySQL Relay log的基础知识:
二、MySQL Relay log介绍
在MySQL复制结构下,Slave服务器会产生三种日志文件,用来保存主库的二进制日志事件以及relay log已执行到的位置和状态。
1、relay log 文件:由IO thread线程从主库读取的二进制日志事件组成,该日志被Slave上的SQL thread线程执行,从而实现数据的复制。
2、master info log:该文件保存slave连接master的状态以及配置信息,如用户名,密码,日志执行的位置等。在5.6版本之前,都是使用master.info文件,从5.6开始,通过在my.cnf 中配置 --master-info-repository=TABLE。这些信息会被写入mysql.slave_master_info 表中,代替原来的master.info文件了。
3、relay log info log:该文件保存slave上relay log的执行位置。在5.6版本之前,都是使用relay-log.info文件,从5.6开始,通过在my.cnf中配置 --relay-log-info-repository=TABLE,使用mysql.slave_relay_log_info表代替原来的文件。每次当slave上执行start slave时,就会读取该表中的位置信息。
新版本使用表来代替原来的文件,主要为了crash-safe replication,从而大大提高从库的可靠性。为了保证意外情况下从库的可靠性,mysql.slave_master_info和mysql.slave_relay_log_info表必须为事务性的表,从5.6.6起,这些表默认使用InnoDB存储引擎。在5.6.5及之前的版本默认使用MyISAM引擎,可用下面语句进行转换:
ALTER TABLE mysql.slave_master_info ENGINE=InnoDB;
ALTER TABLE mysql.slave_relay_log_info ENGINE=InnoDB;
【注意】不要试图手工的更新、插入、删除以上两个表的内容,以免出现意料不到的问题。
三、问题解决
通过上面的报错以及relay log介绍,很容易知道由于mysql.slave_relay_log_info表中保留了以前的复制信息,导致新从库启动时无法找到对应文件,那么我们清理掉该表中的记录不就可以了。再次提醒,不要手动删该表数据,MySQL已经提供工具给我们了:reset slave:
reset slave干的那些事:
1、删除slave_master_info ,slave_relay_log_info两个表中数据;
2、删除所有relay log文件,并重新创建新的relay log文件;
3、不会改变gtid_executed 或者 gtid_purged的值
下面解决问题:
dba:(none)> reset slave;
Query OK, 0 rows affected (0.00 sec)
1
dba:(none)> change master to ......
1
2
dba:(none)> start slave;
Query OK, 0 rows affected (0.00 sec)
到这里问题解决了。
来自:https://www.cnblogs.com/mysql-dba/p/7201513.html
【经验】:以后用冷备份恢复实例后,在启动slave前,先进行reset slave清空下以前的旧信息。
【参考资料】:https://dev.mysql.com/doc/refman/5.6/en/slave-logs.html
https://dev.mysql.com/doc/refman/5.6/en/reset-slave.html
首先先生,如果您觉得淘宝的价格和正常销售的价格能一样吗?产品质量能一样吗?获得的保修时间能一样吗?
您不能把潜在的责任风险抹除,单算成本吧 您是联系那个保修电话
壁挂炉:官方指定售后安工电话:13311196671
13311196671,这个是我们官方指定售后
如果是13311196671这个电话给您报的价,那就是对的,淘宝上有卖控制天燃气控制板的,见下在的图,到时用图搜索即可。
产生E2的解决方法:AddTime:2021/01/06 ===>壁挂炉右侧有E2的说明。
1)更换燃气表的电池。
2)将温度由51度调节到47度。(这样就以点上火了)的确有点奇怪,实践的确如此(一是温度太高可能燃气费不少,二是温度高水泵可能循环慢,出现新的一些保护性措施。)。
3)水压按微信海顿燃气壁挂炉(北京售后服务)讲的调到1.2-1.5之间。
烧了两三周,中间出现F2是由于在过程中压力不够,出现问题,停电一会儿,把水压力加到近3时就Ok了(建议1.5左右)。AddTime:2020-12-27。
步骤如下:AddTime:2019/11/16
1、首先通上电和天然气,把地暖的两个阀门打开(逆时针旋转到拧不动就是打开到最大化了,一年用一次容易出现误判,尤其是第4步骤,出现天然气点火几秒就关了,出现过一次就是因为还是关的,感觉是逆时针拧到底了的原因!!!),从左到右第一和最后一根,第一是出热水,最后是降温的回水。
2、打开自来水管充压力到1.5-2之间,也就是要打开从左向右第三个阀门(逆时针旋转到拧不动就是打开到最大化了),然后接通自来水后,
打开壁挂炉下面的黑色补水钮(逆时针旋转),将壁挂炉上压力表压力补到1.5(1-2之间都可以),关闭补水钮,每次补完水一定要关闭(关闭从左到右第三根自来水管阀门和沉着上去靠近壁挂炉上面的黑色补水按钮)。
3、壁挂炉操作面板上ON/OFF为壁挂炉开关键,按一下打开。
4、雪花和太阳的键是模式选择键,冬天选择雪花是冬季(IN)模式,夏天(SU)选太阳模式,只有生活热水?(这个待实践考证),IN冬季模式打开后点火后,智能燃气表会自动转动起来,也就是计消耗的燃气度数。
PS:如果出现烧一会就不消耗天然气了,很可能是第一个也就是热水出口被关掉了,也可能是从左到右第四根回水给关掉了导致一加热没有散发就到了设置的温度海顿据程序也就关掉了燃气,一定要逆时针拧打开拧到拧不动了也就算是接通了。究其原因是烧的水一下子就达到了设置的温度,没有循环降温,于是据程序的判断,也就关掉了继续天然气加热,导致现象也就是不会一直燃,而是燃不到半分钟(不到10秒)就关掉了。
5、带暖气符号的加减按钮是调暖气温度,一般地暖调到50度,带水龙头符号的按钮是调生活热水温度的,调到40多度。
6、点火后屏幕上的火苗指示灯会亮。
7、REST按钮为复位重启键,当壁挂炉出现故障需要复位时按一下,回清除故障重启
8、每组散热片,譬如:厨房、客厅、主卧、次卧、厕所都在其入水处有一个开关,得打开。因为厨房的那个桌子安装时没打开,拧出来顶着桌子了,现在都是无法进水加热的。
总结,左右数第一根管子是暖气出热水口,第二根是洗菜热水,第三根是压力自来水进水(补水后关掉),第四根是暖气片回水,第一第四根水管要完全逆生长拧到头完全打开,第三根压力到2后拧紧,壁挂炉上面黑色扭也拧紧,也就是说加水压来自第三个阀门和它下游的一个黑社旋钮实现加压力到1.5-2Pa,而在打开天然气物理通路(一路的阀门打开后,直通到壁挂炉待燃烧。)后,得将室内温度也就是两排按钮中第二排的从左向右第1第2按钮给设置到50度,也样也就能按4,5步骤能够让壁挂炉自动点燃这个天然气加热暖气片的循环水源,加热后再由水泵泵到家里各个散热片,使其室内得到采暖。
阅读全文
您不能把潜在的责任风险抹除,单算成本吧 您是联系那个保修电话
壁挂炉:官方指定售后安工电话:13311196671
13311196671,这个是我们官方指定售后
如果是13311196671这个电话给您报的价,那就是对的,淘宝上有卖控制天燃气控制板的,见下在的图,到时用图搜索即可。
产生E2的解决方法:AddTime:2021/01/06 ===>壁挂炉右侧有E2的说明。
1)更换燃气表的电池。
2)将温度由51度调节到47度。(这样就以点上火了)的确有点奇怪,实践的确如此(一是温度太高可能燃气费不少,二是温度高水泵可能循环慢,出现新的一些保护性措施。)。
3)水压按微信海顿燃气壁挂炉(北京售后服务)讲的调到1.2-1.5之间。
烧了两三周,中间出现F2是由于在过程中压力不够,出现问题,停电一会儿,把水压力加到近3时就Ok了(建议1.5左右)。AddTime:2020-12-27。
步骤如下:AddTime:2019/11/16
1、首先通上电和天然气,把地暖的两个阀门打开(逆时针旋转到拧不动就是打开到最大化了,一年用一次容易出现误判,尤其是第4步骤,出现天然气点火几秒就关了,出现过一次就是因为还是关的,感觉是逆时针拧到底了的原因!!!),从左到右第一和最后一根,第一是出热水,最后是降温的回水。
2、打开自来水管充压力到1.5-2之间,也就是要打开从左向右第三个阀门(逆时针旋转到拧不动就是打开到最大化了),然后接通自来水后,
打开壁挂炉下面的黑色补水钮(逆时针旋转),将壁挂炉上压力表压力补到1.5(1-2之间都可以),关闭补水钮,每次补完水一定要关闭(关闭从左到右第三根自来水管阀门和沉着上去靠近壁挂炉上面的黑色补水按钮)。
3、壁挂炉操作面板上ON/OFF为壁挂炉开关键,按一下打开。
4、雪花和太阳的键是模式选择键,冬天选择雪花是冬季(IN)模式,夏天(SU)选太阳模式,只有生活热水?(这个待实践考证),IN冬季模式打开后点火后,智能燃气表会自动转动起来,也就是计消耗的燃气度数。
PS:如果出现烧一会就不消耗天然气了,很可能是第一个也就是热水出口被关掉了,也可能是从左到右第四根回水给关掉了导致一加热没有散发就到了设置的温度海顿据程序也就关掉了燃气,一定要逆时针拧打开拧到拧不动了也就算是接通了。究其原因是烧的水一下子就达到了设置的温度,没有循环降温,于是据程序的判断,也就关掉了继续天然气加热,导致现象也就是不会一直燃,而是燃不到半分钟(不到10秒)就关掉了。
5、带暖气符号的加减按钮是调暖气温度,一般地暖调到50度,带水龙头符号的按钮是调生活热水温度的,调到40多度。
6、点火后屏幕上的火苗指示灯会亮。
7、REST按钮为复位重启键,当壁挂炉出现故障需要复位时按一下,回清除故障重启
8、每组散热片,譬如:厨房、客厅、主卧、次卧、厕所都在其入水处有一个开关,得打开。因为厨房的那个桌子安装时没打开,拧出来顶着桌子了,现在都是无法进水加热的。
总结,左右数第一根管子是暖气出热水口,第二根是洗菜热水,第三根是压力自来水进水(补水后关掉),第四根是暖气片回水,第一第四根水管要完全逆生长拧到头完全打开,第三根压力到2后拧紧,壁挂炉上面黑色扭也拧紧,也就是说加水压来自第三个阀门和它下游的一个黑社旋钮实现加压力到1.5-2Pa,而在打开天然气物理通路(一路的阀门打开后,直通到壁挂炉待燃烧。)后,得将室内温度也就是两排按钮中第二排的从左向右第1第2按钮给设置到50度,也样也就能按4,5步骤能够让壁挂炉自动点燃这个天然气加热暖气片的循环水源,加热后再由水泵泵到家里各个散热片,使其室内得到采暖。
阅读全文




