Linux 常用指令

进入管理员模式 sudo su

推出管理员模式 exit

常用查看类型指令

ls 查看当前目录下所有文件

ll -a 查看当前目录下所有隐藏文件

la -a 查看当前目录下所有隐藏文件

ll 查看当前目录下所有文件详细信息及隐藏文件

 

pwd 查看当前路径

切换路径 例如 cd /home/stu<=> cd ~

创建文件

touch  main.c  创建main.c文件

 vim  main1.c   创建main1.c并打开

创建文件

touch 文件名在当前路径下创建一个文件
vim 文件名在当前路径下创建并打开一个文件
mkdir 文件夹在当前路径下创建一个文件夹

删除文件

rm 文件名删除当前路径下的一个文件
rm *.c删除当前路径下的以 .c 结尾的所有文件
rm main*删除当前路径下的以main 开头的所有文件
rm *删除当前路径下的所有文件
rm -r 文件夹删除当前路径下的一个文件夹
rmdir 文件夹

                                               删除当前路径下的一个文件

为文件更改属性(改变文件的可读、可写、可执行属性)

       u(使用者)      r(可读)
chomd  g(同组工作者)+- w(可写)
       o(其他人)      x(可执行)

cp 指令(文件拷贝)

cp a.txt b.txt文件拷贝,将a.txt拷贝给b.txt
cp A B文件夹拷贝 将A文件夹拷贝给B文件夹(注意:如果B文件夹存在,则拷贝给B,如果B不存在,则重新创建B并拷贝)
cat a.txt查看a.txt文件内容

mv 指令(移动/重命名)

mv a.txt b.txt将a.txt重新命名为b.txt
mv 源文件路径+文件名 目标路径将源文件移动到目标路径下

文本编辑

:q直接推出编辑
:wq保存并推出编辑
n+shift+g将光标跳到最后一行
gg将光标跳到第一行
n dd删除从光标开始的n行
n yy拷贝从光标开始的n行
u撤销上一步操作

压缩与解压

tar cfv my.tar a.txt b.txt c.txt将a.txt b.txt c.txt打包为my.tar
gzip my.tar => my.tar.gz将my.tar压缩生成my.tar.gz压缩包
gzip -d my.tar.gz将my.tar.gz解压为 my.tar
tar xfv my.tar将my.tar解包为……
tar zcfv my.tar a.txt b.txt c.txt一步压缩 将a.txt b.txt c.txt压缩为my.tar.gz
tar zxfv my.tar.gz一步解压 将my.tar.gz 解压并解包……

文件处理

文件过滤(过滤在a.txt中含有hello的行)grep "hello" a.txt
管道文件(过滤/home目录下含 sh 的文件)ls /home l grep sh
文件查找(查找/home/stu路径下的main.c文件)find /home/stu -name main.c

wc命令(统计)

wc -w a.txt 统计a.txt中单词的个数

wc -c a.txt 统计a.txt中字符的个数

wc -l a.txt 统计a.txt中的行数

进程命令

ps -e显示系统中所有的进程信息
ps -f显示更多的进程属性信息
ps -l显示进程中 线程的pid
ps -ef查看系统中所有的进程信息并展示更多的属性信息
kill pid结束一个进程
kill -9 pid强制结束一个进程
kill -STOP pid挂起一个进程
jobs显示当前终端的任务,以及后台运行及挂起的任务,和id
bg %id将挂起的任务唤醒到后台执行
fg %id将后台执行的任务移动到前台运行

sleep 2000 (执行进程sleep 2000s)

sleep 2000&(将sleep 2000s挂起在后台执行)

运行 编译C

分布执行

gcc -E main.c -o main.i预编译阶段
gcc -S main.i -o main.s编译
gcc -c main.s -o main.o汇编
gcc main.o -o main链接生成可执行文件 main

一步编译

gcc -o main main.c

执行可执行文件main ./main

调试

gcc -o main main.c -g生成可调试文件
gdb main.c进入main.c的调试环境
gdb l展示10行源代码(可重复执行 至显示全部代码)
b n在第n行下断点
p +val展示 变量内容
r开始执行
n下一步
l+n展示n行上下的源代码
c/continue从当前断点跳到下一个断点
ptype+val展示 变量类型
info break/info b展示断点信息及断点编号
delete+断点标号删除该断点
s进入函数内部(函数调用)
finish推出函数调用
q结束调试

 

静态库 libxxx.a                                                                      共享库

vim  max.c  编写max函数                              
vim  min.c
vim  operate.h  编写头文件
    int max();函数声明  定义
    int min();
gcc -c max.c   生产max.o文件
gcc -c min.c
ar crv libfoo.a max.o min.o  打包压缩            
vim main.c  编写主函数
    #include"operate.h"
    
    
    
gcc -o main main.c -l. -lfoo             gcc -shared -fPIC -o libfoo.so  max.o  min.o
生成可执行文件main                             系统只会在默认路径下查找(/usr/lib)中
./main  执行main                          sudo mv libfoo.so /usr/lib 移动 
                                          gcc -o main mian.c -lfoo   生成mian
                                           ./main   执行main

区别:静态库在链接的时候将所有用到的函数包含到最终生成的可执行文件中

  共享库不会包含到最终生成的文件中,只会做标记,在运行时才动态加载,所以共享库体积很小 

 

 

### 回答1: FPGA代码行数统计是指对FPGA的设计代码进行计数和统计,以了解设计的规模和复杂程度。FPGA是一种可编程逻辑器件,可以根据需求进行配置和重新编程,因此设计代码行数对于了解FPGA设计的复杂性和工作量具有重要意义。 FPGA设计代码可以使用不同的编程语言进行编写,常见的有VHDL(VHSIC硬件描述语言)和Verilog等。在进行代码行数统计时,可以通过各种编程开发工具或者简单的文本编辑器实现。 要进行FPGA代码行数统计,首先需要打开设计代码文件。然后,使用计数工具或者功能强大的文本编辑器的统计功能,可以方便地统计代码的行数。可以统计总代码行数、空白行数、注释行数和实际有效代码行数等。 FPGA设计代码可以较大地分为模块化代码和顶层代码两种。模块化代码是FPGA设计中的模块和组件,每个模块通常都有自己的代码文件。顶层代码是FPGA设计的主控制代码,负责各个模块的连接和协调。对于模块代码,可以逐个打开文件进行行数统计;对于顶层代码,需要统计所有相关文件的行数。 通过统计FPGA设计的代码行数,可以更好地了解设计的规模和复杂程度,从而更好地组织和管理设计过程。代码行数统计也可以与项目进度和工时估算相结合,为项目管理提供参考。此外,代码行数统计还可以用于做设计质量的评估和比较,判断设计的精简性和可维护性。 总之,FPGA代码行数统计是一项重要的设计管理和质量评估工作,可以帮助了解设计的复杂性和工作量,并且在项目管理中起到指导和参考的作用。 ### 回答2: FPGA代码行数统计是指对FPGA设计中的代码文件进行统计分析,得出代码的行数信息。FPGA代码行数统计对于设计工程师来说非常重要,可以帮助他们评估设计的规模、复杂度和实现难度。 FPGA设计中的代码包括硬件描述语言(如VHDL、Verilog等)代码和约束文件。第一步是将所有的代码文件收集起来,包括顶层模块和子模块的代码文件。然后,可以使用代码编辑器或命令行工具对代码进行统计。 在代码行数统计中,通常包括以下几种指标: 1. 总行数:代码文件中的所有行数,包括空行和注释行。 2. 有效代码行数:代码文件中的有效代码行数,即排除空行和注释行后的行数。有效代码是实际执行操作和逻辑的行。 3. 注释行数:代码文件中的注释行数,可以帮助理解代码的功能和设计意图。 4. 空行数:代码文件中的空行数,用于提高代码的可读性。 通过对代码行数统计,设计工程师可以了解到设计的规模和复杂度。行数统计还可以帮助设计工程师评估设计进度和实现难度。此外,统计的结果还可以作为代码维护和优化的依据,有助于优化代码的可读性和性能。 总之,FPGA代码行数统计是设计工程师在FPGA设计过程中的一项重要工作,通过统计代码的行数,可以对设计的规模、复杂度和实现难度有一个直观的了解,为后续的设计工作提供依据。 ### 回答3: FPGA(Field Programmable Gate Array)是一种可编程逻辑电路器件,用户可以通过编程实现不同的电路功能。在FPGA设计过程中,代码行数统计是一项很重要的任务,它可以帮助设计人员评估设计的规模、复杂度和开发工作量。 要进行FPGA代码行数统计,首先需要使用的是一个文本编辑器,如Vim、Notepad++等。其次,我们需要将FPGA设计的代码文件打开,并浏览代码文件中的内容。代码行数统计可以按下面的步骤进行: 1. 打开代码文件:通过文本编辑器打开FPGA设计的代码文件。 2. 遍历代码文件:逐行读取代码文件的内容,并计算出每一行的字符数。 3. 忽略注释行:注释行通常不包含实际的代码,我们可以通过识别注释符号(如“//”、“/*”等)来跳过这些行。 4. 统计有效代码行数:将不包含注释的代码行累加起来,就可以得到有效的代码行数。 5. 结果输出:将得到的代码行数输出到一个统计结果文件中。 在进行代码行数统计时,需要注意以下几点: 1. 一行可能包含多个语句:在某些情况下,一行代码中可能包含多条语句,例如使用分号(;)分隔的多个语句。在统计过程中,需要对这种情况进行处理,确保每一行只统计为一行代码。 2. 排除空行:空行通常不包含任何代码,统计行数可能会导致误差。因此,在统计过程中,需要排除空行,只统计包含有效代码的行。 3. 考虑复杂度因素:代码行数统计并不完全反映设计的复杂度,还应该考虑各种其他因素,如模块数量、电路连接等。 通过以上步骤,我们可以实现对FPGA设计代码行数的简单统计。代码行数统计可以让设计人员更好地了解设计的规模和复杂度,有助于进行工作量评估和项目管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值