【Linux】使用指南

记录在Linux系统上编程需要的命令及遇到的错误和解决方案
Linux系统:centos 7.0

一、常用命令

1. 查看系统版本:

cat /etc/redhat-release

2. 查看内核版本:

uname -a

3. 删除文件夹及其子文件:

rm -rf XXXX

4. vim打开XXX文件第m行:

vim +m XXX

5. 使用gdb查看core信息:[可用于查看core dumped问题]

$ ulimit -c unlimited
$ mpirun -n 2 ./a.exefile 
$ gdb ./a.exefile core.xxx

#追踪产生segmenttation fault的位置及代码函数调用情况:

gdb>bt
db>q

segmentation fault 问题可以设置ulimit -s unlimited
使用ulimit -a 可以查看系统内存的设置
此处参考链接:https://blog.csdn.net/weixin_44010117/article/details/107718757

6. 查看GPU信息

lspci | grep -i nvidia

7. 查看每个物理CPU中Core的个数:

cat /proc/cpuinfo | grep “cpu cores” | uniq | awk -F: ‘{print $2}’

8. 查看有多少个物理CPU:

cat /proc/cpuinfo | grep “physical id” | sort -u | wc -l

9. 查找库文件路径

ldconfig -p | grep lib_name
例: ldconfig -p | grep libcublas

10. 调整命令终端字符大小

终端上方的设置:
Edit->preference->General
view->zoom in/out

11. 打印PCIe树

/sbin/lspci -tv

12. 清空文件内容

//使用cat查看清空后文件会有一个空行
echo > file_name
//如果不想有空行
echo -n “” > file_name

13. 比较两个文件是否相同

//只输出是否相同,如果相同则没有输出,如果不同则输出Files file1 and file2 differ
diff -q file1 file2
//输出数据不相同的行
diff file1 file2

14. 统计文件行数

cat file | wc -l

15. 统计文件中数据信息

cat file | uniq -c > file2_name

16. 输出文件的信息

//head默认输出文件前10行
head file
//输出所需要的行数
head -n Num file
//输出除了后Num行的所有数据
head -n -N file
//输出文件所有内容
cat file

17. 设置环境变量

临时设置: export XXXX=num
永久设置: 在~./bashrc的最后加上export XXXX=num,然后source ~./bashrc
cd可以直接返回~目录

二、错误原因及解决方案

2.1 A single input file is required for a non-link phase when an outputfile is specified

编译文件的某个路径的破折号 / 不对
多填了 / 或者中文字符的 / 等

2.2 make: /usr/local/cuda/bin/nvcc: Command not found

表示路径/usr/local/cuda/bin下没有nvcc命令,可以使用which nvcc查看当前环境中命令所在位置,修改makefile文件

2.3 segment fault(core dumped)

一个原因是程序中有超出边界范围的数据访问
一个原因是程序没出错,但是需要的内存较大,超出系统默认的堆栈配置

ulimit -s unlimited
ulimit -c unlimited
//配置之后还报错,且程序没有问题的话,可以反复执行程序
//使用ulimit -a 可以查看配置信息

2.4 /usr/bin/ld: cannot find -lnuma

在程序提交到服务器的计算节点编译完成后的链接过程报错
在登录节点make一下就可以

持续更新ing~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值