ls 查看目录中的文件
cd /home 进入 ‘/ home’ 目录;cd … 返回上一级目录;cd …/… 返回上两级目录
mkdir dir1 创建一个叫做 ‘dir1’ 的目录
rmdir dir1 删除一个叫做 ‘dir1’ 的目录 (只能删除空目录)
rm -f file1 删除一个叫做 ‘file1’ 的文件’,-f 参数,忽略不存在的文件,从不给出提示。
rm -rf /mulu 目录下面文件以及子目录下文件
cp /test1/file1 /test3/file2 如将/test1目录下的file1复制到/test3目录,并将文件名改为file2
mv /test1/file1 /test3/file2 如将/test1目录下的file1移动到/test3 目录,并将文件名改为file2
mv * …/ Linux当前目录所有文件移动到上一级目录
ps -ef|grep xxx 显示进程pid
kill 使用kill命令来终结进程 先使用ps命令找到进程id,使用kill -9命令,终止进程。
netstat -anp | grep 端口号(查看端口)
top命令:相当于Windows下的资源管理器,能够动态实时的显示系统中进程的资源占用情况
free -m 查看服务器内存使用情况
软件包管理器yum
route命令查看路由表
tar –xvf file.tar 解压 tar包
unzip file.zip 解压zip
unrar e file.rar 解压rar
查看文件内容的命令:
cat 由第一行开始显示内容,并将所有内容输出 (之前公司用的比较多)
tac 从最后一行倒序显示内容,并将所有内容输出
more 根据窗口大小,一页一页的现实文件内容
less 和more类似,但其优点可以往前翻页,而且进行可以搜索字符
head 只显示头几行
tail 只显示最后几行 (之前公司用的比较多)
nl 类似于cat -n,显示时输出行号
tailf 类似于tail -f
1.预处理(进行宏替换)
宏定义,文件包含,条件编译,去注释等
gcc -E hello.c -o hello.i
2.编译(生成汇编)
检查代码的规范性,是否有语法错误
gcc -S hello.i -o hello.s
3.汇编(生成机器可识别代码---->二进制文件)
gcc -C hello.s -o hello.o
4.连接(生成可执行文件或库文件)
gcc hello.o -o hello
gcc -o0 没有优化
gcc -o1
gcc -o2
gcc -o3 优化级别高
优化级别越高,程序的执行顺序就和原始的执行顺序差别大,必须要关闭优化才能进行调试。
makefile带来的好处就是**“自动化编译”**,一旦写好,只需要一个make命令,整个工程完全自动编译,提高了软件开发的效率。
make是一个命令,makefile是一个文件,两者搭配使用,完成项目自动化建设。
makefile定义了一系列的规则来指定,哪些文件需要编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作。
原理
1.make会在当前目录下找名字叫makefile或者Makefile的文件。
2.如果找到,它会找到文件中第一个目标文件,并把这个文件作为最终的目标文件。
有依赖性,make会一层一层的去找文件的依赖关系,直到最终编译出第一个目标文件;在找寻过程中,如果出现错误,比如最后的依赖没找到,则make会直接退出,并报错,而对于所定义的命令的错误,或者编译不成功,make根本不理。
make只管文件的依赖性,即如果在找到依赖之后,冒号后面的文件还是不在,那么就不会工作。
makefile中几个常见的自动变量:
$<:第一个依赖文件的名称;
$^:所有不重复的依赖文件,以空格分开;
$@:目标文件的完整名称;
$?:所有时间戳比目标文件新的依赖文件,并以空格分开;
当然还有几个就不介绍啦!
程序的发布方式:debug和release模式
gcc/g++出来的二进制文件程序,默认是release模式
gcc test.c -g -o test
list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。
list/l 函数名:列出某个函数的源代码。
r或run:运行程序。
n 或 next:单条执行。
s或step:进入函数调用
break(b) 行号:在某一行设置断点
break 函数名:在某个函数开头设置断点
info break :查看断点信息。
finish:执行到当前函数返回,然后挺下来等待命令
print§:打印表达式的值,通过表达式可以修改变量的值或者调用函数
p 变量:打印变量值。
set var:修改变量的值
continue(或c):从当前位置开始连续而非单步执行程序
run(或r):从开始连续而非单步执行程序
delete breakpoints:删除所有断点
delete breakpoints n:删除序号为n的断点
disable breakpoints:禁用断点
enable breakpoints:启用断点
info(或i) breakpoints:参看当前设置了哪些断点
display 变量名:跟踪查看一个变量,每次停下来都显示它的值
undisplay:取消对先前设置的那些变量的跟踪
until X行号:跳至X行
breaktrace(或bt):查看各级函数调用及参数
info(i) locals:查看当前栈帧局部变量的值
quit:退出gdb
下载项目到本地
git clone[项目连接url]
将代码放到刚才下载好的目录中
git add [文件名]
提交改动到本地
git commit .//表示当前目录,提交的时候注明提交日志,描述改动的详细内容
同步到远端服务器上
git push