就和今天说早安


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • 公益404

  • 搜索

tmux

发表于 2018-10-09 | 更新于 2018-10-09 | 阅读次数
字数统计 2,134 字 | 阅读时长 9 分钟

tmux

tmux 中直接通过默认前缀 ctrl + b 之后输入对应命令来操作
session 会话:session是一个特定的终端组合。输入tmux就可以打开一个新的session
‘tmux new -s session_name’ 创建一个叫做 session_name 的 tmux session
‘tmux attach -t session_name’ 重新开启叫做 session_name 的 tmux session
tmux switch -t session_name 转换到叫做 session_name 的 tmux session
tmux list-sessions / tmux ls 列出现有的所有 session
‘tmux detach’ 离开当前开启的 session
tmux kill-server 关闭所有 session
window 窗口:session 中可以有不同的 window(但是同时只能看到一个 window)
tmux new-window 创建一个新的 window
tmux list-windows
tmux select-window -t :0-9 根据索引转到该 window
tmux rename-window 重命名当前 window
pane 面板:window 中可以有不同的 pane(可以把 window 分成不同的部分)
tmux split-window 将 window 垂直划分为两个 pane
tmux split-window -h 将 window 水平划分为两个 pane
tmux swap-pane -[UDLR] 在指定的方向交换 pane
tmux select-pane -[UDLR] 在指定的方向选择下一个 pane

基本操作

? 列出所有快捷键;按q返回
d 脱离当前会话,可暂时返回Shell界面
s 选择并切换会话;在同时开启了多个会话时使用
'D 选择要脱离的会话;在同时开启了多个会话时使用'
: 进入命令行模式;此时可输入支持的命令,例如 kill-server 关闭所有tmux会话
[ 复制模式,光标移动到复制内容位置,空格键开始,方向键选择复制,回车确认,q/Esc退出
] 进入粘贴模式,粘贴之前复制的内容,按q/Esc退出
~ 列出提示信息缓存;其中包含了之前tmux返回的各种提示信息
t 显示当前的时间
ctrl + z 挂起当前会话
'$ 重命名session'

session

  1. open session

$ tmux new-session -s basic
或者
$ tmux new -s basic

-s参数表示session名称,如果不加-s参数,那么Tmux默认会新建一个以数字(下标从0开始)命名的session,并默认打开一个window。打开一个session后,后续的所有控制Tmux本身的快捷键都需要加前缀,默认是 Ctrl+b ,以下把前缀按键称为Prefix。

  1. detach session
    想要暂时离开Tmux,回到终端环境时,可以通过快捷键 Prefix+d (d for detach)。要注意的时,即使是detach的状态,Tmux中在运行的程序还会继续运行。想要回到Tmux session时,只需执行:

$ tmux attach -t basic

-t参数可以指定要attach的session。

  1. list session
    终端中执行 tmux ls (ls for list session)可以列出当前有多少个session。如果已经在session中,执行 Prefix+s (s for session)可以列出当前有多少个session,并且可通过上、下键选择要进入的session。

  2. kill session
    要真正关闭一个session,可以在终端下执行命令 ‘tmux kill-session -t basic’ ,其中-t参数表示session名称。

### 窗口操作
c ‘创建新窗口’
& ‘关闭当前窗口’
, ‘重命名当前窗口,便于识别’
. 修改当前窗口编号,相当于重新排序
f 在所有窗口中查找关键词,便于窗口多了切换
[0-9] 数字键切换到指定窗口
p 切换至上一窗口
n 切换至下一窗口
l 前后窗口间互相切换
w 通过窗口列表切换窗口

面板操作

“ ‘将当前面板上下分屏’(我自己改成了 |)
% ‘将当前面板左右分屏’(我自己改成了 -)
x ‘关闭当前分屏’
Ctrl-方向键 ‘调整分隔窗口大小’
! 将当前面板置于新窗口,即新建一个窗口,其中仅包含当前面板
ctrl+方向键 以1个单元格为单位移动边缘以调整当前面板大小
alt+方向键 以5个单元格为单位移动边缘以调整当前面板大小
q 显示面板编号
o 选择当前窗口中下一个面板
方向键 移动光标选择对应面板
{ 向前置换当前面板
} 向后置换当前面板
alt+o 逆时针旋转当前窗口的面板
ctrl+o 顺时针旋转当前窗口的面板
z 最大化当前所在面板
page up 向上滚动屏幕,q 退出
page down 向下滚动屏幕,q 退出
Prefix+Space (空格键): 对当前窗口下的所有pane重新排列布局,每按一次,换一种样式。
Prefix+z : 最大化当前pane。再按一次后恢复。

合并

‘’’试想这样一个场景:当你打开多个窗口后,然后想将其中几个窗口合并到当前窗口中,以便对比观察输出。

实际上,你的要求就是将其它窗口变成面板,然后合并到当前窗口中。对于这种操作,我们可以在当前窗口,按下prefix + :,打开命令行,然后输入如下命令:

join-pane -s window01 # 合并名称为window01的窗口的默认(第一个)面板到当前窗口中
join-pane -s window01.1 # .1显式指定了第一个面板,.2就是第二个面板(我本地将面板编号起始值设置为1,默认是0)

每次执行join-pane命令都会合并一个面板,并且指定的窗口会减少一个面板,直到面板数量为0,窗口关闭。

除了在当前会话中操作外,join-pane命令甚至可以从其它指定会话中合并面板,格式为join-pane -s [session_name]:[window].[pane],如join-pane -s 2:1.1 即合并第二个会话的第一个窗口的第一个面板到当前窗口,当目标会话的窗口和面板数量为0时,会话便会关闭。

自定义配置

如果没有配置文件的话先创建: touch ~/.tmux.conf
```

Send prefix

set-option -g prefix C-a
unbind-key C-a
bind-key C-a send-prefix

Use Alt-arrow keys to switch panes

bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D

Shift arrow to switch windows

bind -n S-Left previous-window
bind -n S-Right next-window

Mouse mode

set -g mouse on

Set easier window split keys

bind-key v split-window -h
bind-key h split-window -v

Easy config reload

bind-key r source-file ~/.tmux.conf \; display-message “tmux.conf reloaded”

key bindings for horizontal and vertical panes

unbind %
bind | split-window -h # 使用|竖屏,方便分屏
unbind ‘“‘
bind - split-window -v # 使用-横屏,方便分屏

#– statusbar –#
set -g status-justify centre
set -g status-left “#[fg=red]s#S:w#I.p#P#[default]”
set -g status-right ‘[#(whoami)#(date +” %m-%d %H:%M “)]’
set -g status-left-attr bright
set -g status-left-length 120
set -g status-right-length 120
set -g status-utf8 on
set -g status-interval 1
set -g visual-activity on
setw -g monitor-activity on
setw -g automatic-rename off

default statusbar colors

set -g status-bg colour235 #base02
set -g status-fg colour136 #yellow
set -g status-attr default

default window title colors

setw -g window-status-fg colour244
setw -g window-status-bg default

#setw -g window-status-attr dim

active window title colors

setw -g window-status-current-fg colour166 #orange
setw -g window-status-current-bg default

#setw -g window-status-current-attr bright

window title string (uses statusbar variables)

set -g set-titles-string ‘#T’
set -g status-justify “centre”
set -g window-status-format ‘#I #W’
set -g window-status-current-format ‘ #I #W ‘

pane border

set -g pane-active-border-fg ‘#55ff55’
set -g pane-border-fg ‘#555555’

message text

set -g message-bg colour235 #base02
set -g message-fg colour166 #orange

pane number display

set -g display-panes-active-colour colour33 #blue
set -g display-panes-colour colour166 #orange

clock

setw -g clock-mode-colour colour64 #green

Send prefix
把prefix的ctrl+b变为了ctrl+a,因为这样按起来方便些。基本上用tmux的都改了这个。

Use Alt-arrow keys to switch panes
不用按prefix,直接用alt+箭头在pane之间switch。实际用过之后才发现真是太方便了!

Shift arrow to switch windows
不用按prefix,直接用shift+箭头在window之间switch。太方便了!

Mouse mode
开启鼠标模式。用鼠标就能切换window,pane,还能调整pane的大小,方便!

Set easier window split keys
这一部分是用来更方便切分pane的。prefix + v 代表竖着切,prefix + h 代表横着切。比起默认的切割方法不仅直观而且方便。

首先,在更改了.tmux.conf后,在tmux里的快捷键没有变化。查找后发现是tmux只有在新建session的时候,才会去找tmux.conf文件。所以说,之前创建的那些session都没有参考tmux.conf. 就用tmux ls tmux kill-session -a只保留当前session。再删除当前session ‘tmux kill-session -t XX’。这下删除了所有创建好的session。

放大字体

Ctrl+shift+“+”

黏贴

要按住shift,再右键

参考文献

https://blog.csdn.net/u011138533/article/details/53109247
https://www.cnblogs.com/piperck/p/4992159.html

隐私挖掘研究方向乱弹

发表于 2018-09-30 | 更新于 2018-08-14 | 分类于 研究 | 阅读次数
字数统计 60 字 | 阅读时长 1 分钟

知识融合,预测

时间:过去,现在,未来。
空间:地点

信息空间和用户空间
预测红包流向、学堂在线伴读机器人「小木」

为什么时间没了
思维模式
执念,与忧虑

知乎灵感

发表于 2018-09-30 | 更新于 2018-08-23 | 分类于 项目 | 阅读次数
字数统计 287 字 | 阅读时长 1 分钟

悟空

图谱分析平台的数据基于用户的写行为,将用户,设备,IP, Objects (提问,回答..) 作为节点,具体行为作为边。当行为发生时,将用户与设备,用户与 IP, 用户与对应的 object 关联, 而每个节点的度就代表发生关联的数量。

采用了 modularity + fast-unfolding 实现了社区发现的算法,拿设备社区为例,算法的输入是设备与用户的关联,输出是每个设备节点和每个用户节点以及他们的社区号。模块度(modularity)是衡量网络划分非常常用的维度,模块度越大,意味着比期望更多的边落在了一个社区内,划分效果越好。Fast-unfolding 则是一个迭代算法,主要目标就是提升划分社区效率,使得网络划分的模块度不断增大,每次迭代都会将同一社区的节点合并,所以随着迭代的增加,计算量也在不断减少。迭代停止的条件是社区趋于稳定或者达到迭代次数上限。

8月以前思维导图

发表于 2018-08-14 | 更新于 2018-08-14 | 分类于 思维导图 | 阅读次数
字数统计 22 字 | 阅读时长 1 分钟

svd

svd

标签体系

标签体系

距离度量方法

距离度量方法

社区发现

社区发现

数据集

数据集

用户手机

用户手机

远程登录jupyter notebook

发表于 2018-08-13 | 更新于 2018-08-13 | 分类于 服务器 , linux | 阅读次数
字数统计 570 字 | 阅读时长 3 分钟

服务器上设置

生成配置文件

jupyter notebook –generate-config

生成密码

ipython

In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: ‘sha1:ce23d945972f:34769685a7ccd3d08c84a18c63968a41f1140274’
把生成的密文‘sha:ce…’复制下来

修改配置文件

vim ~/.jupyter/jupyter_notebook_config.py

c.NotebookApp.ip=’*’
c.NotebookApp.password = u’sha:ce…刚才复制的那个密文’
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888 #随便指定一个端口

本地

本地建立一个ssh通道:

ssh wxy@服务器IP -p 端口 -L 127.0.0.1:12345:127.0.0.1:8888
浏览器上输入http://127.0.0.1:12345

http://frankchen.xyz/2017/12/25/Remote-jupyter-notebook/('开机自启')
https://www.cnblogs.com/wushaogui/p/8797841.html(windows)

另(不成功)

https://blog.csdn.net/danlei94/article/details/74049975?utm_source=itdadao&utm_medium=referral

jupyter notebook –ip 0.0.0.0
接着你会看到有一个带token的url地址,你可以将此地址复制粘贴在你本地的浏览器,并且更换掉ip 0.0.0.0–>你服务器的ip地址

按住 Ctrl+z键,即可将一个正在前台执行的命令放到后台,并且暂停

Ctrl +z (按键)

输入jobs查看当前job的情况

>jobs

利用bg命令将一个在后台暂停的命令,变成继续执行

>bg 1
// “1” 这里就可以替换为你运行的jupyter的job号,上一步可以查到

参考文献 https://bitmingw.com/2017/07/09/run-jupyter-notebook-server/
http://bbs.bugcode.cn/t/71596 (错误,并没有用上)

增加内核

自己是在python3环境中conda install jupyter 下载jupyter,网上是pip3 install ipykernel
然后在python3坏境中执行’python -m ipykernel install –name XXXX’
使用命令jupyter kernelspec list可以查看当前的kernel
jupyter notebook –config = /home…/ipython_notebook_config.py # .py配置文件的路径,在运行时指定配置文件(只需运行一次即可更新.json配置文件,后面再运行时不用添加路径信息)

https://blog.csdn.net/Lazybones_3/article/details/78631232
https://blog.csdn.net/qq_24027563/article/details/80589880(密码没有修改的问题解决)

在当前环境下安装anaconda包集合

conda install anaconda
http://www.mamicode.com/info-detail-2287955.html

出现错误

channel 2: open failed: connect failed: Connection refused
不知道这个错误是什么原因造成的,最后换了chrome浏览器访问成功

https://www.alibabacloud.com/help/zh/doc-detail/53650.htm(阿里使用jupyter)

http://www.itkeyword.com/doc/8934890860339928285/how-to-start-ipython-notebook-remotely

社交网络论文记忆点

发表于 2018-08-13 | 更新于 2018-04-09 | 阅读次数
字数统计 28 字 | 阅读时长 1 分钟

基于社交媒体的关联性用户属性推断

超图,多个属性进行关联预测

爬虫错误集锦

发表于 2018-08-13 | 更新于 2018-08-13 | 分类于 爬虫 | 阅读次数
字数统计 207 字 | 阅读时长 1 分钟

twitter 安装redis

安装

python ‘pip install redis’

sudo apt-get install redis-server
sudo service redis-server start

<twisted.python.failure.Failure OpenSSL.SSL.Error: [(‘SSL routines’, ‘SSL23_GET_SERVER_HELLO’, ‘sslv3 alert handshake failure’)

openSSl 版本问题,去掉了RC4-MD5
用 scrapy version -v 查询版本号
pip install –upgrade ‘cryptography<2’

https://stackoverflow.com/questions/45924568/scrapy-twisted-connection-lost-in-non-clean-fashion-no-proxy-already-tried-hea
https://github.com/scrapy/scrapy/issues/2311#issuecomment-325804964

redis 查看数据

redis-cli key  查询
del *
删除键

TypeError: Unicode-objects must be encoded before hashing python 3

shaa1 = hashlib.sha1()
‘shaa1.update(string.encode(‘utf-8’))
res = shaa1.hexdigest()
print(“sha1采用encode转换加密结果:”,res)

https://www.cnblogs.com/pycode/p/hashlib.html

redis的值有5种类型,不同的类型有不同的命令来获取:

字符直接 get key

队列 左端弹出一个元素 LPOP key

哈希 HGET key field

集合 SMEMBERS key 返回集合中的所有元素

有序集合ZRANGE key start stop

心理学

发表于 2018-08-13 | 更新于 2018-08-13 | 分类于 心理学 | 阅读次数
字数统计 1,220 字 | 阅读时长 4 分钟

## 深度学习中应用的心理学
发展心理学中研究儿童如何学习物体和词对应关系的方法,来分析深度神经网络。

认知心理学研究表明,人类儿童在将物体和词对应起来的过程中,存在三种偏好:

整体偏好:当你指着一个物体,说出一个词,孩子会假设这个词指的的整个物体,而非部件;

分类偏好:孩子会假设一个词指的是物体所属的基本类别;

形状偏好:孩子会假设一个名词的意思是基于物体的形状,而不是它的颜色或质地。

DeepMind借用的,是研究形状偏好的认知实验,因为认知心理学在这方面的研究最为丰富。

微信行为学

哈耶克在早年著作《感觉的秩序》里论证,脑的基本功能就是对各种刺激信号分类。最简单的头脑可能只认识“白色”这一特征,于是它的世界分为两类,白色的和不是白色的。更复杂的头脑可能在白色特征之外又认识黑色特征,于是它的世界分为四类:白色的、黑色的、灰色的(即白与黑的光学混合)和彩色的(即非白非黑的光学效应)。一般而言,人们的认知能力有精粗之别,甲认识N种特征,乙认识M种特征,则甲的世界最多分类是2的N次方而乙的世界最多分类是2的M次方。又因语言表达的差异,被认知的未必可被语言表达,典型如佳肴美味,很少可用语言表达的。有鉴于此,我的幼教学说,特别倡导在可承受限度内尽可能让婴儿品尝各类佳肴美味,尽早开发人类演化最早形成的长期记忆脑区——嗅脑(人脑三层次当中的爬行动物脑层次)。康德对此有感觉,他说过,人类的五种感觉当中,私己性最强的是嗅觉和味觉。不是偶然,人类语言基于听觉和视觉,因为这两种感觉最可交流。

回到主题,人们的微信行为传递哪些重要信号可让人们在众多微信群之间搬家直到出现某一均衡状态?对这一问题的解答,依赖于特定社会的特定时期的特定的人。例如我自己,对粗鲁言辞的承受力不高,故而言辞的文明程度是我在微信群之间搬家的重要动机。我的注意力的代价,与工作性质有关,很大程度上依赖于信息的学术含量。于是,我进入和离开许多微信群的主要理由是学术或思想的,与那里的言辞是否足够典雅无关。

社群

真正高维度、高价值的社群,并不止于满足社交需求,而是提供基于信任的身份认同,以及对场景需求的满足。社群成员在其中获得持续而强大的身份认同感和荣誉感的同时,也强化了圈层化
小世界网络是研究社会网络、人际关系的社会理论,是对心理学「六度理论」的迭代,由Duncan Watts和Steven Strogatz于1998年在Nature上提出,理论认为许多生物、技术和社会网络并非是简单的规则或随机网络,而是存在与规则网络类似的高的局部聚类和与随机网络类似的较短平均路径长度属性,并以此提出小世界网络模型。我们身处的各个群体,公司、社群、村落、宗族,这些社群化、部落化的社会网络,不正是小世界网络的鲜活演变吗。

我们的大脑
随着人脉神经影像技术的发展和应用,人类得以进一步认知自己身上最古老的器官:大脑,要知道,即使生活在网络时代,我们的大脑仍跟千万年前老祖宗们的大脑差别不大,尽管我剪了个比我曾曾曾曾祖父帅得多的发型。基于复杂理论的人脑建模发现,组成人脑的不同神经单元,如神经元、皮层柱或脑区,也呈现小世界网络结构。大脑爱模式,最擅长合并同类项,否则太过耗能无法在物种进化进程中生存下来,「物以类聚,人以群分」只是行为的结果,而是大脑在我们选择加入哪个群体前已经做出了决策,我们负责执行而已,因为我们需要安全感和归属感。

pycharm 远程配置

发表于 2018-08-13 | 更新于 2018-08-13 | 分类于 pycharm | 阅读次数
字数统计 103 字 | 阅读时长 1 分钟

文件映射

选择tools下deployment的configuration

选择SFTP,填写ip和端口,root/path 为可访问的路径,此路径自动添加到mapping
MAPPING映射文件时不需要添加root/path,
Deployment path on server:
/code
这个就相当于root/path/code

自动上传服务器选择deployment 下的automatic upload

远程编译器

在file/seting/program/ 选择编译器,点击添加后选择’ssh’ 添加远程编译器

机器学习知识点

发表于 2018-08-13 | 更新于 2018-06-07 | 阅读次数
字数统计 14 字 | 阅读时长 1 分钟

AUC :值越大越好

https://blog.csdn.net/colapin/article/details/53673749

1…678…11
WeiXiangYu

WeiXiangYu

胸怀猛虎 细嗅蔷薇

103 日志
30 分类
57 标签
GitHub Twitter Youtube Weibo 豆瓣 知乎 CSDN
Links
  • MacTalk
  • 爱可可爱生活
  • IT瘾
  • 苏剑林
© 2017 - 2020 WeiXiangYu
本站总访问量次 本站访客数人次
由 Hexo 强力驱动
主题 - NexT.Pisces