常用Linux指令

面试基础知识巩固

常用Linux指令的基础知识点

    ls命令执行什么功能?可以带哪些参数?

#功能:列出指定目录中的目录和文件
#参数:
	ls -a #显示所有的文件和目录(包括.开头的隐藏文件)
	ls -l #除文件名称外,将文件形态、权限、拥有者、文件大小等信息详细列出
	ls -r #将文件以相反的顺序显示(原定依英文字母次序)
	ls -t #将文件依建立时间之先后次序列出
	ls -A #同-a,但不会列出“.”(当前目录)及“...”(父目录)
	ls -F #在列出的文件名称后加一符号;例如可执行文件加“*”,目录则加“/”
	ls -R #若目录下有文件,则将所以文件依序列出

    如何创建目录,如何创建文件?

	#创建目录
	mkdir test       	#在当前目录下,建立一个名为 test 的子目录 
	mkdir -p run/test   #在当前目录下的 run 目录中,建立一个名为 test 的子目录。#若 run 目录原本不存在,则建立一个。
						#(注:本例若不加 -p 参数,且原本 run 目录不存在,则产生错误。)
	
	#创建文件
	vim file.txt		#直接创建并打开一个文件file.txt
	touch file.txt		#创建新的空文件file.txt
	echo "this is a new file" > file.txt   
						#创建文件file.txt并将this is a new file写入
						#(说明:使用>指令覆盖文件原内容并重新输入内容,若文件不存在则创建文件。)
	echo "add contents" >>file.txt    
						#在已存在的文件补充写入新内容add contents
						#(说明:使用>>指令向文件追加内容,原内容将保存。)
	cat 1.txt > file.txt 
	less 1.txt > file.txt
	more 1.txt > file.txt
						#三者都可以根据已经存在的文件创建新的文件
						#三者都是将文件内容输出到标准输出,其中less和more可以分页显示,cat是显示全部
	cd > file.txt  		#创建新的空文件file.txt
	cd >> file.txt  	#创建新的空文件file.txt
						#它和echo的区别之处在于echo可写文件内容,而cd并不能
	
	#查看文件
	vi file				#编辑方式查看,可修改
	cat file			#显示全部文件内容
	more file			#分页显示文件内容
	less file			#和more相似,但是可以向前翻页
	tail file			#仅查看尾部,还可以指定行数
	head file			#仅查看头部,还可以指定行数

    如何查找文件?如何查找文件内容?

	#查找文件
	find . -name *file	#将当前目录及其子目录下所有文件后缀为.c的文件列出来
	find . -ctime -20	#将当前目录及其子目录下所有最近20天内更新过的文件列出
	
	#查找文件内容
	grep test *file		#在当前目录中,查找后缀为file的文件中包含test字符串的文件,并打印出该字符串的行
	grep -r update /etc/acpi	#查找指定目录/etc/acpi及其子目录(如果存在子目录的话)下所有文件中包含字符串"update"的文件,并打印出包含该字符串的行
	grep -v xxx *test*	#查找文件名中包含test的文件中不包含xxx的行
常用gcc命令

    gcc编译文件命令与流程

	//预处理
	gcc -E test.c -o test.i		/*把预处理的结果导出到test.i文件*/
	//汇编
	gcc -S test.i -o test.s		/*编译器将test.i翻译成汇编语言,并将结果存储在test.s文件中*/
	//编译
	gcc -c test.s -o test.o 	/*将汇编代码编译成目标文件,但不链接*/
	//链接
	gcc test.o -o test			/*将生成目标文件test.o生成最终的可执行文件test*/
	//一步编译
	gcc test.c -o test			/*将源文件test.c编译链接为可执行文件test*/
	
	//多文件编译
	gcc test1.c test2.c -o test
	//警告处理
	gcc -w test.c -o test  		/*忽略编译时的警告*/
	gcc -Wall test.c -o test 	/*编译后显示所有警告*/
	gcc -Werror test.c -o test 	/*在产生警告的地方停止编译*/
常用GDB调试指令
	gcc -g test.c -o test  #编译时生成debug有关的程序信
	gdb test        #启动调试
	help #查看命令帮助,具体命令查询在gdb中输入help + 命令,简写h
	run #重新开始运行文件(run-text:加载文本文件,run-bin:加载二进制文件),简写r
	start #单步执行,运行程序,停在第一执行语句
	list #查看原代码(list-n,从第n行开始查看代码。list+ 函数名:查看具体函数),简写l
	set #设置变量的值
	next #单步调试(逐过程,函数直接执行),简写n
	step #单步调试(逐语句:跳入自定义函数内部执行),简写s
	backtrace #查看函数的调用的栈帧和层级关系,简写bt
	frame #切换函数的栈帧,简写f
	info #查看函数内部局部变量的数值,简写i
	finish #结束当前函数,返回到函数调用点
	continue #继续运行,简写c
	print #打印值及地址,简写p
	quit #退出gdb,简写q
	break+num #在第num行设置断点,简写b
	info breakpoints #查看当前设置的所有断点
	delete breakpoints num #删除第num个断点,简写d
	display #追踪查看具体变量值
	undisplay #取消追踪观察变量
	watch #被设置观察点的变量发生修改时,打印显示
	i watch #显示观察点
	enable breakpoints #启用断点
	disable breakpoints #禁用断点
	x #查看内存x/20xw 显示20个单元,16进制,4字节每单元
	run argv[1] argv[2] #调试时命令行传参
	set follow-fork-mode child #Makefile项目管理:选择跟踪父子进程(fork())
常用驱动开发指令

    gcc如何查看内核已有的字符设备的信息?

lsmod可以查看模块的依赖关系,modprobe在加载模块时会加载其他依赖的模块

    gccLinux驱动如何查看驱动模块中打印信息?

dmesg

    gcc加载/卸载驱动

insmod/modprobe #加载驱动
rmmod #卸载驱动

    gcc如何查看正在使用的有哪些中断号?

cat /proc/interrupt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值