背景
在 Linux 的世界中我们对ssh命令并不陌生,几乎所有的远程服务器登录操作都是用的它。同时它也是 Git 中身份认证的一个重要的方式,虽然网上关于如何生成和使用 SSH 密钥的文章很多。
但是很多教程只讲最基础的密钥生成,而不讲密钥管理,当你有多个服务器需要登陆的时候就傻眼了;或者只讲 Windows 或者 Linux 某一个平台的密钥生成,不讨论ppk与OpenSSH两种私钥格式的转换。本文就一网打尽,将一些常见的问题都包括进来,从此不再被密钥配置困扰。
more >>在虚拟的世界中寻找真实感
读研期间在学校实验室或者工作中,老大经常会分配一些服务器给我们,当我们拿到一台新的Linux服务器后最好先确定一些基本的系统信息以方便后续的使用。
常用的信息有:
项目 | 命令 |
---|---|
cpu | lscpu |
cat /proc/cpuinfo | |
内核版本 | uname -a |
系统版本 | ls /etc/*release;cat /etc/*release |
内存大小 | free -h |
编译器版本 | gcc -v |
mpi版本 | mpif90 -v |
NUMA相关信息 | 需要额外的hwloc库 |
包管理 | apt/dpkg是debian系, yum/rpm是redhat系, pacman是arch系 |
当前shell类型 | echo $0 |
硬盘使用信息 | df -h |
PCI设备信息 | lspci -vvv |
查看ip | ifconfig或ip addr |
查看路由 | route -n或ip route |
查看端口监听 | netstat -lutnp或ss -lutnp |
查看DNS | cat /etc/resolv.conf |
最近小组里有新的同学进来,需要教他们一些基本工具的使用,网上的教程已经足够好了,没必要从零开始写,我对现有的一些资料进行一个整理,给出一条的Git学习路线,并附有一些常见问题的解法和自己的心得体会。
因为目标平台的原因,我所做的一个自动并行化项目是用C/C++混合编程的。由于一个新的需求,我需要为一个函数接口foo添加一个参数,当我添加完参数后,用gcc命令编译报重复声明。
1 | //简化后,原本声明如下 |
很明显修改过后的代码不能通过gcc的编译,因为C语言不支持重载,两个foo是重复声明。那么问题来了为什么修改之前能通过编译呢?
more >>最近在项目中遇到了并发编程相关的东西,网上的资料较为零碎不成体系,偶然间看到C++ Concurrency in Action一书,比较全面地介绍了C++并发编程相关的知识点。此书的中文版翻译比较差,所以直接看了原版。本文是我对书中部分内容做的笔记,加上对cppreference中相关内容的翻译收集整理而成。部分内容还不够充实,后续再更新补充。
more >>我是从什么时候开始有写博客的念头的呢?从大二开始身边的学长建议我写博客,因为他们说写博客对找工作很有帮助,我的内心告诉我不能这么功利,我打心底里抵触为了一个漂亮的简历而写博客这件事。
时间来到大四,偶然间和朋友交流技术问题时得知身边不少同学已经有了自己的小站,写了不少的博文。自诩为技术达人(脸已打肿),我不能在这方面落后,不就是搭建博客吗,以我多年的技术积累还不是分分钟搞定。
事实的确是这样,很短的时间内我搞定博客的部署,心里一阵窃喜。那时的我没有明白博客的价值是其中的博文而不是好看的外表。我是被动开始写博客,果不其然,在毕业后,我很快失去了打理博客的动力。
要强一直是我人生中的一个标签,不服输的精神促使我建立这个博客,但它不能支撑我爱上写博客。说到底,没坚持更新是性格使然。我是一个内向的人,热忠于接受输入而不乐与输出,空间、朋友圈年更是一个常态。更别说写博客这样公开展现自我的事情了。
more >>用gdb调试的人,多半是被环境所逼。如果有条件用gui的调试环境为什么不用呢,难道用gui的调试环境会损失什么功能?难道在调用栈间进行跳转用鼠标点击不比输入up、down方便?
作为忠实的开源软件拥护者,我一度相信了网上所谓极客说的“抛弃gui吧!在gdb用命令行调试能让你更专注。“直到我对着命令行敲了无数遍list、无数遍bt。然后我开始寻找救赎,作为一个vim党我当然是先去找vim的gdb插件,发现vim对gdb的支持并不好,因为vim一开始并没有集成gdb的打算,仅有的几个插件已经很久没更新了。然后在知乎上看到这篇文章终端调试哪家强?对emacs的gdb插件有了一个好印象。但是作为坚定的vim党(逃)我怎么能去用emacs呢(其实是懒,不想学新的按键绑定),抱着试一试的心态用了一下emacs,最后。。。。真香
其实,如果对开源软件比较了解的话,你就会知道gdb和emacs都是出自Richard Stallman之手。那就不会去找vim的gdb插件了。
more >>
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true
2021-08-24
#教程#工具#SSH
2021-08-15
#docker#部署#容器
2021-07-26
#linux#cmd
2021-05-27
#Git#教程#工具
2021-03-01
#C/C++#语言特性
2021-01-26
#C++#并发编程#学习笔记
2021-01-21
#关于我#随笔
2021-01-20
#随笔#view#观点
2019-05-30
#linux#emacs
2019-05-28
#tools#gdb#linux