Linux下指令
touch指令
作用
Linux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件
语法
官方文档
touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
参数说明
1. a 改变档案的读取时间记录。
2. m 改变档案的修改时间记录。
3. c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
4. f 不使用,是为了与其他 unix 系统的相容性而保留。
5. r 使用参考档的时间记录,与 --file 的效果一样。
6. d 设定时间与日期,可以使用各种不同的格式。
7. t 设定档案的时间记录,格式与 date 指令相同。
8. --no-create 不会建立新档案。
9. --help 列出指令格式。
10. --version 列出版本讯息。
基础语法
touch [option] file_name(s)
当不带任何选项使用时,用于创建没有任何内容的文件, 使用 touch 命令创建的文件是空的。 当用户在创建文件时没有要存储的数据时,可以使用此命令。
Linux中的文件时间戳
以下命令显示当前目录下文件的时间戳
ls -l
在 Linux 中,每个文件都有三个时间戳:访问时间 (atime)、修改时间 (mtime) 和更改时间 (ctime):
- 访问时间(atime) 是指上次查看文件但未编辑的时间。
- 修改时间(mtime) 表示文件被修改的时间。
- 更改时间(ctime) 显示对文件的元数据更改。 例如,文件权限更改。
检查包括文件时间戳在内的文件状态
使用以下命令
stat 文件名.格式

在当前目录中创建一个空文件
touch 文件名.格式
编写C语言程序
全局变量 i
主函数
函数f
编译运行程序
终端输入以下命令
gcc test.c
输入以下命令查看当前文件夹得文件,发现多了一个a.out的文件
ls
用以下命令查看a.out文件
./a.out
用以下命令删除a.out文件
rm a.out
用命令生成命名的out文件
gcc test.c -o test.out
键入以下命令
gdb ./test.out
终端会返回
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./test.out...
(No debugging symbols found in ./test.out)
这是因为编译的时候默认不会把debugging symbols放进去
将命令
gcc test.c -o test.out
改为
gcc -g test.c -o test.out
这样就可以生成有debugging symbols功能的可执行文件
当终端输出以下命令时说明此时正确
Reading symbols from ./test.out
第一个调试指令 b
b = breakpoint ,打上间断点
几种方式:
b [函数名称]
b 绝对路径:行数
info b 可以让我们查看当前有哪些断点
b 绝对路径:行数
info b 可以让我们查看当前有哪些断点
第二个调试指令r
r代表run
即将执行断点但是还没有执行
第三个调试指令n
不进函数的单步
第四个调试指令s
进函数的单步
第五个调试指令k
kill the program debugging
停止调试
第六个调试指令d
与b相反,以下命令可以删除断点
d 断点编号
同时删除多个
第七个调试指令c
continue 指令 程序经过断点继续向下运行到下一个断点或结束程序
第八个调试指令bt
bt用来查看函数调用的栈
先经过main函数在调用的f ,自下往上看
第九个调试指令watch
watch point 的作用是监视变量,一旦变量发生了变化,那么程序就停止
第十个调试指令查看变量的值p
p point 用来查看point的值
p/x point 用来查看point的十六进制的值
第十一个调试指令layout
layout src
ctrl + x + a即可关闭/打开窗口
layout asm可查看汇编,si是汇编上的单步跳转
其他指令操作
info r :查看所有寄存器的值