Linux下的命令技巧

  使用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后格式化就行了。

     有值得的记录的,继续更新...

原文地址:https://www.cnblogs.com/wuchaofan/p/3170521.html