一、基础
二、目录相关命令
查看:ls -a
(显示隐藏的文件或目录)
ls -R
(递归显示子目录的内容)
ls -lrt
(按照文件时间进行显示)
通配符 * (代表任意多个字符)和?(代表任意一个字符): ls *.c ls fun.?
递归创建多个目录:mkdir -p test2/test22
强制删除目录:rm -rf 目录
查看当前工作目录:pwd
查找文件:find 目录 -name "文件名"
查找内容:grep "内容" 目录
查看命令所在路径:which 命令
三、其他命令
搜索关键字:/关键字
查看端口:netstat -apn | grep 端口号
centos关闭防火墙:systemctl stop firewalld.service
杀死进程号PID:kill -9 PID
查找端口号对应的进程PID:sudo lsof -i:port
四、gcc编译
链接头文件:gcc fdfs_api.c main.c -I /home/hz/Downloads/yun/
没有main()函数编译成.o文件:
cc -o base64.o -c base64.c
gcc dealfile_cgi.c -I ../include -I /home/hz/Documents/CloudDisk/hiredis-master -lmysqlclient -lfcgi -lfdfsclient -o dealfile
问题:linux生成动态库时遇到了relocation R_X86_64_32 against .rodata‘ can not be used when making a shared object; recompile with -fPIC错误。
解决:重新编译.o文件
gcc -c -fPIC head.cpp -o head.o
生成head.o
五、链接动态库
(1)第一种方法
第一步找到代码执行需要(a.out是需要执行的代码)的动态库的路径:ldd a.out
第二步将路径(不需要动态库名)加入到最后一行:sudo gedit /etc/ld.so.conf
第三步让配置生效:sudo ldconfig
(2)第二种方法:创建软链接
第一步找到动态库路径:sudo find / -name "libfcgi.so.0"
第二步创建软链接:sudo ln -s "动态库路径/libfcgi.so.0" "/usr/lib/libfcgi.so.0"
最后执行成功。