使用ubuntu等linux发行版时经常犯一些重复的错误,今天记录一下。
1.如果hello.c属于root用户,直接vi hello.c进行编辑,突然发现没有root,
是不是经常犯的错误。有办法,在vi或者vim命令模式下输入:
:w !sudo tee %
就OK了。
2.如果我们安装g++,在ubunntu下使用apt-get install g++。在肯定是不行的,对吧。
有人会说按上键回到上个指令,然后按left键把光标定位到apt-get前然后加上sudo。
当然也有人会按上键回到上个指令,然后使用Ctrl+A直接把光标定位到apt-get前加上sudo。
但是还有不错的方法是直接sudo !! 这里的!!表示上个命令,在这里也就是apt-get install g++。
So,
sudo !! 就等价于
sudo 上一个command
3.这个是vim的功能,编辑二进制文件,比如file.bin表示二进制文件。
vim -b file.bin 然后在命令模式下输入: :%!xxd 此时就可以编辑了,回到命令模式: :%!xxd -r 保存: :wq
4.安装wireshark时出现的两个问题,在此记录一下,网上的:
1)第一个错误是:/usr/share/wireshark/init.lua 文件有错,在倒数第二行前加--,
有就是注释掉此行。
2)根据文档设置:sudo dpkg-reconfigure wireshark-common 可以普通用户使用
wireshark,但是本人依然有错误:/usr/bin/dumpcap 此文件我没权限。
如下设置:username是你的用户名。
sudo chgrp username /usr/bin/dumpcap sudo chmod 750 /usr/bin/dumpcap sudo setcap cap_net_raw,cap_net_admin+eip /usr/bin/dumpcap
5.安装windows7和ubuntu双系统,windows7由于某些原因需要重装,刻录u盘安装,很容易就抹掉
了硬盘最开始的512字节的内容。但是这512字节存储了我们能够启动双系统的重要信息(grub信息)。
所以在重装windows之前,先进入ubuntu保存硬盘的512字节内容:
sudo dd if=/dev/sda of=mbr.img count=1 bs=512
把生成的mbr.img保存好,然后就是重装windows了,重启就进不了ubuntu了,怎么办呢? 安装好后刻录
ubuntu启动盘(如果你有或者有光盘就不需要刻录了),以try ubuntu的方式进入(也就是尝试不需要安装)系统,
打开终端输入:
sudo dd if=mbr.img of=/dev/sda count=1 bs=512
再次重启,屏幕就有列表能够选择进入ubuntu了,如果选择进入windows会有问题,因为重装windows后,
grub识别windows C盘id变了,这个好办,进入ubuntu,修改/boot/grub/grub.cfg。找到windows的启动设
置部分,类似:
menuentry 'Windows 7' --class windows { insmod part_msdos insmod ntfs set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-baremetal=ahci0,msdos1 60C8505DC850340E else search --no-floppy --fs-uuid --set=root 60C8505DC850340E fi chainloader +1 }
通过ls -l /dev/disk/by-uuid找到windows C盘对用的id,替换上面红色部分。
6.恢复windows单系统
如果安装双系统是修改的mbr,想要恢复windows单系统,只需要把单系统的mbr恢复就行了。
安装ubuntu或者linux mint时已经保存了之前的mbr,路径在/usr/lib/syslinux/mbr.bin
然后:
sudo dd if=/usr/lib/syslinux/mbr.bin of=/dev/sda
再次重启就只有windows了,之前的linux系统分区在进入windows后格式化就行了。
有值得的记录的,继续更新...