Linux知识点

常用的Linux指令

查看当前进程:ps

执行退出:exit

查看当前路径指令:pwd

列出指定目录中的目录,以及文件:ls
ls指令的参数:

  • -a显示所有文件以及目录(.开头的隐藏文件也会列出)
  • -l除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
  • -r 将文件以相反次序显示(原定依英文字母次序)
  • -t 将文件依建立时间之先后次序列出
  • -A 同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
  • -F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
  • -R 若目录下有文件,则以下之文件亦皆依序列出

创建目录:mkdir

mkdir runoob #在工作目录下,建立一个名为 runoob 的子目录
mkdir -p runoob2/test #在工作目录下的 runoob2 目录中,建立一个名为 test 的子目录。若 runoob2 目录原本不存在,则建立一个。(注:本例若不加 -p 参数,且原本 runoob2 目录不存在,则产生错误。)	

创建文件:

  1. vi或者vim

     vi file1.txt #直接创建并打开一个文件file1.txt
    
  2. touch

    touch file2.txt
    
  3. echo

    echo "this is a new file" > file3.txt #创建文件file3.txt并将this is a new file写入(说明:使用>指令覆盖文件原内容并重新输入内容,若文件不存在则创建文件。)
    echo "add contents" >>file3.txt #在已存在的文件补充写入新内容add contents(说明:使用>>指令向文件追加内容,原内容将保存。)
    
  4. lessmorecat

    cat 1.txt > 2.txt
    less 1.txt > 3.txt
    more 1.txt > 4.txt
    
    #三者都是将文件内容输出到标准输出,其中less和more可以分页显示,cat是显示全部。三者可以根据已经存在的文件创建新的文件。假设已经存在文件1.txt。
    
  5. cd

    cd > file3.txt #创建新的空文件file3.txt
    cd >> file4.txt #创建新的空文件file4.txt
    

    复制文件的指令:cp

    cp –r test/ newtest #将当前目录 test/ 下的所有文件复制到新目录 newtest 下
    

    查看文件内容的指令:

    vi 文件名 #编辑方式查看,可修改
    cat 文件名 #显示全部文件内容
    more 文件名 #分页显示文件内容
    less 文件名 #与 more 相似,更好的是可以往前翻页
    tail 文件名 #仅查看尾部,还可以指定行数
    head 文件名 #仅查看头部,还可以指定行数
    

    移动文件的命令以及更改文件名的命令:

    mv source_file(文件) dest_file(文件) #将源文件名 source_file 改为目标文件名dest_file
    mv source_file(文件) dest_directory(目录) #将文件 source_file 移动到目标目录dest_directory 中
    

    删除文件命令:

    rm -rf file/directory #删除当前目录下的所有文件及目录,并且是直接删除,无须逐一确认
    rm -rf directory/ #删除目录 directory,不管该目录下是否有子目录或文件
    

    查找文件内容用那个命令:

    grep test *file #在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行
    grep -r update /etc/acpi #查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符串"update"的文件
    grep -v test *test* #查找文件名中包含 test 的文件中不包含test 的行
    

    查找文件用那个命令:

    find . -name "*.c" #将当前目录及其子目录下所有文件后缀为 .c 的文件列出来
    find . -ctime -20 #将当前目录及其子目录下所有最近 20 天内更新过的文件列出
    

    cat命令:

    cat -n textfile1 #把 textfile1 的文档内容加上行号后输入到屏幕
    cat -n textfile1 > textfile2 #把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里
    cat -b textfile1 textfile2 >> textfile3 #把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里
    cat /dev/null > /etc/test.txt #清空 /etc/test.txt 文档内容
    

常用的GCC指令

预处理 -E
gcc -E test.c -o test.i #把预处理的结果导出到test.i文件
编译为汇编代码 -S
gcc -S test.i -o test.s #编译器将test.i翻译成汇编语言,并将结果存储在test.s文件中
汇编 -C
gcc -S test.i -o test.s #编译器将test.i翻译成汇编语言,并将结果存储在test.s文件中
链接 -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())

常用的驱动开发指令

加载/卸载驱动
insmod/modprobe #加载驱动
rmmod #卸载驱动
Linux驱动如何查看驱动模块中打印信息?
dmesg
如何查看内核中已有的字符设备的信息?
lsmod
如何查看正在使用的那些中断号?
cat /proc/interrupt

  • 44
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值