ubuntu14.04命令工具笔记(持续更新中)

重点https://packages.ubuntu.com/ 从ubuntu官方网站的软件包中可以下载所需的软件。
1、alias:给linux中的命令起别名
1.1、查看linux系统中的指令别名:alias
root@ubuntu:~# alias
alias egrep=‘egrep --color=auto’
alias fgrep=‘fgrep --color=auto’
alias grep=‘grep --color=auto’
alias l=‘ls -CF’
alias la=‘ls -A’
alias ll=‘ls -alF’
alias ls=‘ls --color=auto’
alias rm=’/home/jian/shell/rm.sh’
alias vi=‘vim’
1.2、给一个命令起别名:
1.2.1、打开.bashrc文件:vi ~/.bashrc
1.2.2、在.bashrc文件中的最后一行添加你起别名的操作:alias vi=‘vim’
1.2.3、保存退出.bashrc文件,执行命令:source .bashrc。
2、todos和frodos:将windows操作系统中文件断行字符(\r\n)和linux系统中的断行字符(\n)相互转换
2.1、安装工具:sudo apt-get install tofrodos
2.2、todos file:将file文件中的断行字符(\n)转换成断行字符(\r\n)。
2.3、fromdos file:将file文件中的断行字符(\r\n)转换成断行字符(\n)。

3、valgrind工具:是动态分析工具的框架。
3.1、在ubuntu14.04中安装valgrind-3.14.0
3.1.1、memcheck:用于检测内存错误。
3.1.2、cachegrind:用于分析cache和分支预测,帮助程序执行的更快。
3.1.3、callgrind:用于函数调用的分析。
3.1.4、helgrind:用于分析多线程。
3.1.5、drd:也用于分析多线程。与helgrind类似,但是用不同的分析技术,所以可以检测不同的问题。
3.1.6、massif:用于分析堆。帮助精简内存的使用。
3.1.7、sgcheck:检测栈和全局数组溢出的实验性工具,和memcheck互补使用。
3.1.2、下载方法:
3.1.2.1、在linux上直接下载:wget http://www.valgrind.org/downloads/valgrind-3.14.0.tar.bz2。将valgrind-
3.8.1.tar.bz2下载到当前目录下。
3.1.2.2、在windows上下载然后传到linux中。valgrind官网
3.1.2.3、解压压缩包:tar -jxvf valgrind-3.14.0.tar.bz2。
3.1.3、安装
3.1.3.1、创建安装目录:mkdir /usr/local/arm/valgrind。安装在usr目录下面。
3.1.3.2、配置:./configure --prefix=/usr/local/arm/valgrind
3.1.3.3、编译:make。
3.1.3.4、安装:make install。
3.1.3.5、导出环境变量:将/usr/local/arm/valgrind/bin导出到系统的环境变量中。
在/root/.bashrc文件中添加一行:PATH="$PATH:/usr/local/arm/valgrind/bin"。退出后执行:source
/root/.bashrc。
3.1.4、应用程序的内存检测:
3.1.4.1、先使用-g来编译程序:gcc client.c -g -o client。得到可执行文件client。这一步可有可无。
3.1.4.2、使用valgrind来测试程序client是否存在内存错误:valgrind --leak-check=yes ./client。执行结果如下

==16348== Memcheck, a memory error detector
==16348== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==16348== Using Valgrind-3.14.0 and LibVEX; rerun with -h for copyright info
==16348== Command: ./client
==16348== 
sockfd=3
IP=0x1101a8c0
connect: Connection refused
==16348== 
==16348== HEAP SUMMARY:
==16348==     in use at exit: 0 bytes in 0 blocks
==16348==   total heap usage: 1 allocs, 1 frees, 352 bytes allocated
==16348== 
==16348== All heap blocks were freed -- no leaks are possible
==16348== 
==16348== For counts of detected and suppressed errors, rerun with: -v
==16348== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

最后一行:16348== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)。说明该程序不存在内存错误。
3.2、在arm平台上安装valgrind,即在arm板子上安装valgrind
3.2.1、修改configure文件中的armv7,将armv7改为arm,退出保存。
3.2.2、配置:./configure --host=arm-linux CC=arm-none-linux-gnueabi-gcc CPP=arm-none-linux-gnueabi-cpp CXX=arm-none-linux-gnueabi-g++ LD=arm-none-linux-gnueabi-ld --prefix=/usr/tool/valgrind。
–host指出主机是arm平台的linux系统,CC、CPP、CXX、LD是arm平台下linux的交叉编译工具,–prefix是
指出安装目录,必须与arm平台的安装目录一样,否则会出现下面的错误:
[root@JianBaoShan dynamic_static]# /usr/tool/valgrind/bin/valgrind --leak-check=
yes ./dynamic_hello
valgrind: failed to start tool ‘memcheck’ for platform ‘arm-linux’: No such file or directory。
3.2.3、编译:make -j4
3.2.4、安装:make install。在ubuntu14.04中/usr/tool/valgrind目录下会出现安装得到的valgrind目录。将其
复制到arm平台中的同样目录下/usr/tool/valgrind。
4、查看文件内容的命令集合:
4.1、cat:由第一行开始显示文件内容。
4.2、tac:从最后一行开始显示。
4.5、more:一页一页的显示文件内容。
4.6、less:与more类似,但比more更好的是,它可以往前翻页。
4.7、head:只看头几行。
4.8、tail:只看结尾几行。
4.9、od:以二进制的方式读取文件内容。
4.10、nl:显示的时候顺便输出行号。
5、dmesg命令:内核日志输出。
5.1、dmesg | head -20:只查看dmesg的前面20行。
5.2、dmesg | tail -20:只查看dmesg的最后20行。
5.3、dmesg -c:只查看dmesg的最后20行。
5.4、 watch “dmesg | tail -20”:实时监控日志输出。

猜你喜欢

转载自blog.csdn.net/qq_36187809/article/details/87606737