关于linux下的各种命令记录

最近老是需要在linux做一些文本处理类工作,发现之前的命令都忘得差不多了。
博闻强识,还是记录下,方便以后查阅。

提取文件某些列

用cut:

1
cut -d' ' -f2-26 det.result	#提取文件中的第2列到第26列,文件分隔符为空格

提取文件某些行

用head+tail配合(貌似用sed也可以,目前用不习惯)

1
head -n100 [filename] | tail -n50	#提取文件第51行到第100行

转换图片的颜色空间

问题场景是用matlab的imread读取Imagenet的图片时候出现这个问题:

1
JPEG images with CMYK colorspace are not currently supported.

最后也没有找到在matlab中转换的函数,于是还是从外部解决吧,用convert命令可以转换图片的颜色空间:

1
convert ***.jpg -colorspace RGB ***.jpg

批量对图片进行缩放,翻转等操作

用的是imagemagick这个工具,apt-get后,用convert命令即可。(上面那个转换图片颜色空间的也是用这个命令)
比如,将目录下的所有jpg图片水平翻转,可以用:

1
2
3
for img in `ls *.jpg`;do
convert -flop $img $img
done

小作记录:

修改分区的卷标名字

对于ext分区,用:

1
e2label /dev/sd** [new name]

对于NTFS分区,用:

1
ntfslabel /dev/sd** [new name]

解决类似:xxx.so: cannot open shared object file: No such file or directory

so是linux的动态库,首先确认机器有没有这个动态库:

1
locate xxx.so

如果没有找到,那么搜索一下怎么获得这个动态库,一般都是用类似apt-get install libxxx类似的就能够下载到对应的库。
如果是有xxx.so,但是版本不对(比如要求xxx.so.4,但是机器上只有xxx.so.5),那么建立个软链接:

1
ln -s [path to xxx.so.5] [path to xxx.so.4]

最后如果还是链接不上,设置LD_LIBRARY_PATH,具体操作:

  1. vim ~/.bash.rc或者gedit ~/.bashrc
  2. 在bashrc添加export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:[the path to xxx.so]
  3. 保存修改之后,sudo ldconfig
  4. 关闭terminal后重新开启,echo $LD_LIBRARY_PATH,确认刚才的修改生效

用find搜索某目录下的文件

比如要删除所有svn文件夹,那么用:

1
find . -type d -name ".svn"|xargs rm -rf

安装网卡驱动

问题场景是更换了主板,然后上不了网了。查阅后知道需要重装网卡驱动。
参考了,http://blog.sina.com.cn/s/blog_c0468c8f0101ld2x.html
大致过程是:

  1. lspci查到自己的网卡是 intel i217-v rev 05
  2. 然后搜索,发现还是应该用e1000e驱动。
  3. 去上文作者提供的网址下载驱动
  4. 安装驱动,流程跟上文基本一致:

    1
    2
    3
    4
    5
    tar -xvf e1000e-1.6.2.tar.gz  # 解压 (唯一不同是我下载的驱动版本比较新,已经是ver4了)
    cd e1000e-1.6.2/src/ # 找到程序所在目录
    sudo make install # 安装
    sudo modprobe e1000e # 载入
    sudo dhclient eth0 # dhclient 是直接控制 eth 来进行网络操作自动获取 IP(这一步没有做,因为实验室用的是固定IP)
  5. 由于之前的网卡驱动没有删除,所以这里显示是eth2。貌似看过如何去卸载原来的驱动,让新驱动从eth0开始,但目前没有必要,暂时跳过。

命令下下发送邮件

安装和配置看这里:http://zhanxw.com/blog/2011/03/%E5%9C%A8%E5%91%BD%E4%BB%A4%E8%A1%8C%E9%87%8C%E5%8F%91%E9%82%AE%E4%BB%B6ubuntu/
之后发邮件的格式很简单:
echo content|mail -s title xxx@xxx.com

在ubuntu下用360wifi当无线网卡

参考这个帖子即可:http://www.freemindworld.com/blog/2013/131010_360_wifi_in_linux.shtml

很久没有更新网站,发现多了不少评论和问题,无法一一回复,如果现在仍有问题请再次留言 :) 2016.03.29