分类 Linux 下的文章

mysql 5.7重置root密码与以往有点不同


遇到问题

新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过免密码登录的方式更改密码,输入update mysql.user set password=password('root') where user='root'时提示ERROR 1054 (42S22): Unknown column 'password' in 'field list'

原因

原来是mysql数据库下已经没有password这个字段了,password字段改成了 authentication_string


开发编程语言(一):动机


起步

大学阶段,当拿到厚厚的《编译原理》书的时候,就感到了来自书里厚重的使命感,我觉得我学完后可以开发一个编译器。然而,这一学期又TM浪费了,都还没理解文法,LL0和LR1等分析就草草考试了。直到毕业,又重新燃起了开发编程语言的想法。

好处

虽然说,重新编写一个和以后语言相似的语言是“重复造轮子”,但是从以后的道路上来说这可以让我更加深刻理解编程语言的运行机制。说不定还能成为名人呢。

用什么语言来开发

C语言,因为作为高级程序语言设计的基础,相信很多人都是学过的。而且像lex/yacc这些工具就是面向C语言的,同时,使用C语言还可以降低依赖程度,性能也很优越。(其实是找的资料用的是C写的),卧槽,刚刚谁在说话。

设计怎样的语法

总的来说,应该会接近java语言吧。

运行方式

暂时未定是要编译型还是解释型


手动为Linux设置Swap(虚拟内存)


起步

买的服务器初始状态未配置swap,如果升配从内存从1G到2G,价格翻了一倍,那就走其他路径来“扩大”内存吧。

开始

1、创建用于交换分区的文件

dd if=/dev/zero of=/mnt/swap bs=block_size count=number_of_block

block_size、number_of_block 大小可以自定义,如:bs=1M count=1024,那么久会创建1024个bs=1M的区块(文件大小1024M)


Liunx screen命令


起步

搭建git服务器时需要一个进程一直运行着,关掉窗口或者断开链接,该任务就被kill了。发现screen命令真是太好用了。

介绍

这个命令可以在命令行终端自由切换,用户可连接多个命令行会话。可以实现会话恢复多窗口会话共享的功能。确保已经安装:sudo apt-get install screen或者yum install screen

使用

# screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]


Windows和Linux之间压缩包中文乱码的解决


windows压缩包在linux下解压的乱码问题(zip):

有两种方式解决问题:(建议采用方法一)

  1. 通过unzip行命令解压,指定字符集:(用GBK, GB18030也可以)

    unzip -O CP936 xxx.zip

      有趣的是unzip的manual中并无这个选项的说明,   unzip --help对这个参数有一行简单的说明,如下:   -O CHARSET specify a character encoding for DOS, Windows and OS/2 archives

  2. 在环境变量/etc/environment中加入如下两行指定unzip参数总是以指定的字符集显示和解压文件: ```  UNZIP="-O CP936" ZIPINFO="-O CP936"
    
     
     这样Gnome桌面的归档文件管理器(file-roller)可以正常使用unzip解压中文,但是file-roller本身并不能设置编码传递给unzip。

linux压缩包在Windows下解压的乱码问题:

在linux在将它压缩成.7z格式就可以了