Q&A

update@2013-08-06


  1. MS WINDOWS
  2. LINUX
  3. MAC


1 MS WINDOWS

windows环境下的问题与解决办法集锦。

1.1 windows copy命令拷贝的二进制文件无法使用

做FIRA的时候,机器人一直不能动,各种方法用尽了,抓狂...为了方便,拷贝dll文件的时候用的是bat脚本, copy 命令默认用ASCII的形式拷贝文件,dll文件是二进制的,所以拷贝后的文件无法使用....解决办法是给copy命令指定拷贝形式。

1.2 如何在windows命令行中配置网络?

有时候图形界面会卡的让你抓狂,那就试试命令行吧。以管理员身份运行cmd,在cmd使用下面的命令来设置ip

>netsh
>int ip
>set address "本地连接" static 192.168.1.211 255.255.255.0 192.168.1.1 1
>set dns "本地连接" 202.96.69.38
>exit 

1.3 开始-运行中的记录怎么删除?

在做windows镜像的时候为了给用户留下一个比较干净的环境,这些东西能删就删。开始-运行-输入regedit-找到 HKEY_CURRENT_USER \Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU 这一项,删除对应的记录就可以了。

2 LINUX

linux环境下的问题与解决办法集锦。

2.1 在linux下如何刻录光盘?

在linux下刻录光盘很简单,网络上的博客文章大多介绍地很详细,其实很多时候我们并不需要那么多复杂的操作,能刻就行,对不?

#yum install cdrecord
#cdrecord dev=/dev/cdrom /your/iso/path/filename.iso 

2.2 fedora 19如何关闭防火墙?

以前都是用service iptables stop搞定,换了fedora 19不知道怎么搞了。

 #sudo systemctl stop firewalld.service

2.3 vim打开文件行尾出现^M

当用vim编辑器,打开一个文件时,可能会出现每行的末尾都有"^M"符号.这很可能是由于源文件不是用vim编辑的.直接在vim下输入:%s/^M//g 即可完成^M的删除工作,需要注意的是^是用Ctrl+v输入的,M是用Ctrl+M输入的。

2.4 文件读写权限

2.5 往vim粘贴代码, 代码缩进混乱

有时候需要测试下别人的代码,往vim里贴的时候代码的缩进都乱了,如果就几行代码很快就调整好了,如果代码多的话就很麻烦.在粘贴之前,使用vim的 set paste命名,vim就会帮你保持原来的格式而不自动缩进了,然后再用set nopaste取消.

2.6 fedora19如何切换中英文输入法

在中文输入法下按shift可以切换中英文,在任意输入法下都可以用win徽标+空格来切换中英文

2.7 echo如何不换行

试试

echo -e "a new line?\c"
echo -e "no"

2.8 guestmount之后拷贝数据失败

生产环境中我们是通过guestmount将虚拟机的镜像挂载到物理机上,往里边拷贝一些数据,但是有时候数据拷贝失败。cp命令是成功的,umount之后看不到文件。后来才发现是内存中的数据没有回写导致的,cp完文件之后调用一下sync命令就行了。

2.9 ubuntu如何修改hostname

$hostname $hostname
$echo "$hostname" > '/etc/hostname' 

2.10 mysql如何丢掉主键

alter table t_example_table drop primary key

2.11 spring-boot 依赖包冲突

从报错信息可以看出是org.slf4j和ch.qos.logback里的logger冲突

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/work/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-jdk14/1.7.25/bccda40ebc8067491b32a88f49615a747d20082d/slf4j-jdk14-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/work/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.1.11/ccedfbacef4a6515d2983e3f89ed753d5d4fb665/logback-classic-1.1.11.jar!/org/slf4j/impl/StaticLoggerBinder.class]
	

一般这种情况是新引入的包(或者其依赖包)和之前引入的包(或其依赖包)相冲突, 在新引入的包里加入排除语句即可

testCompile('org.batfish:batfish:0.28.1') {
	exclude group: 'org.slf4j'
}
	

3 MAC

mac环境下的问题与解决办法集锦。

3.1 sed替换

sed -i "" "s/bilibili/panda/g" client.go

3.2 intellij创建gradle项目

当使用本地安装的gradle时,会提示路径不对, 记得在mac下,gradle的路径包含libexec, 比如

/usr/local/Cellar/gradle/3.5/libexec

3.3 intellij 启动项目时端口被占用

用下面的命令找到占用端口的进程,然后杀掉即可

lsof -i:8081

3.4 删除git仓库远程分支

git remote prune origin
git branch -r  |grep -E -v "181|203|199|196|develop|master|release|115|118|138|142|202|112|144|201|204|28|75|87" | sed 's/origin\///'  | xargs git push origin --delete
	

3.5 git merge时报编辑器错误

错误信息
git merge error: There was a problem with the editor 'vi'
	
解决方法
git config --global core.editor /usr/bin/vim
	

3.6 磁盘无法挂载

解决方法
diskutil unmountDisk /dev/disk2
diskutil eject /dev/disk2