Advertisement

2024年最新【南京大学PA】 PA0 环境配置 & lab (vim gcc lab),2024年是意义非凡的一年

阅读量:
img
img

不仅提供适合小白学习的零基础资料,并针对有3年以上开发经验的用户提供了深入学习和提升课程。该课程覆盖了95%以上的C/C++开发知识点,并系统性地构建了一个完整的知识体系。

因为文件数量较多,在此仅作为参考提供了一些目录截图,并涵盖大厂面经书籍、学习笔记文档以及源码解析资料等。同时后续内容也会不断更新完善。

如果你需要这些资料,可以戳这里获取

// 加上

设定本地不生成swap文件
设定buffer隐藏状态
设定配色方案为_evening_
显示行号
突出显示当前行
打开状态栏标尺
设定<<和>>命令移动宽度为2个空格
使得按退格键时可以一次删除2个空格
设定tab长度为2个空格
覆盖文件时不备份
自动切换当前目录为当前文件所在目录
设置备份时的行为为覆盖
搜索结果高亮显示
关闭错误信息响铃功能
关闭使用可视响铃代替呼叫的功能
置空错误铃声的终端代码为空(默认值为空)(仅适用于插入状态)(默认值为1, 无法显示状态栏)(默认值为空): %=\ %y\ %0(%{&fileformat}\ %{&encoding}\ Ln\ %l,\ Col\ %c/%L%): 在状态行显示以下信息:%<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ Ln\ %l,\ Col\ %c/%L%): 开始折叠操作(默认值为空): 设置折叠区域宽度(默认值为空): 设定折叠层数为1层(默认值为空): 按下@键切换到折叠模式

复制代码
    ## 补linux指令
    
    
    * `ln` 主要用于在两个文件中创建链接,链接又分为 `Hard Links` (硬链接)和 `Symboli Links` (符号链接或软链接),其中默认为创建硬链接,使用 `-s` 参数指定创建软链接。
    
    
    硬链接主要是增加一个文件的链接数,只要该文件的链接数不为 `0` ,该文件就不会被物理删除,所以删除一个具有多个硬链接数的文件,必须删除所有它的硬链接才可删除。  
     软链接简单来说是为文件创建了一个类似快捷方式的东西,通过该链接可以访问文件,修改文件,但不会增加该文件的链接数,删除一个软链接并不会删除源文件,即使源文件被删除,软链接也存在,当重新创建一个同名的源文件,该软链接则指向新创建的文件。  
     硬链接只可链接两个文件,不可链接目录,而软链接可链接目录,所以软链接是非常灵活的。

mkdir 用于新建文件夹。

cp source dest ### 将 source 文件复制到 dest 文件夹 cp folder/* dest ### 将 folder 文件夹内的所有非子文件夹文件内容复制到 dest 文件夹
$ cp -r folder dest ### 将 folder 文件夹内的所有文件(包括子文件夹中的所有文件)复制到 dest 目录中

将源文件夹通过管道运算符移动到目标目录中(生成 [目标目录]/[源文件名])

cat /etc/locale-gen ### 显示 locale-gen 文件的内容 cat -n /etc/locale-gen ### 同时显示 locale-gen 文件的内容及其行号

用 more 逐行显示内容。

more /etc/locale.gen more +100 /etc/locale.gen ### 从 100 行开始显示

reboot 为重启命令。

poweroff ### 马上关机

用grep提取特定模式的相关信息 ### 输出包含该模式的所有记录
通过grep命令提取特定语言信息 ### 输出包含该语言标识符的所有条目

tar -tvf filename.tar . ### 压缩打包当前目录中的所有文件... tar -xf filename.tar ### 解压为当前文件夹中的...
tar -tvjfilename.bzip2 .### 采用bzip2格式进行压缩... tar -xjvfilename.bzip2 .### 解压为当前文件夹中的...
tar -tvzf filename.gzip ... tar -xjvfilename.gzip ...
$ tar –tf –lfilename### 查看指定归档文件中的内容

ln -f source dest ### 建立了一个以 dest 命名的硬链接至 source ln -f -s source dest ### 建立了一个以 dest 命名的软链接至 source
#ln命令及其作用是为了防止误删操作
#一个文件名与这个i结点 连接

ln命令仅将目标指向同一个i结点 ### 此外,在使用过程中需要注意以下事项:一是每个目标只能引用同一个i结点;二是禁止跨分区连接。

符号链接(软链接 跨分区用) 记录路径 i结点标号都是不同的

chown 用于改变一个文件的所有者及所在的组

使用chown命令将filename的所有者更改为user。
通过指定user和group参数来更改为filename的所有权和组。
应用-R选项将folder及其子文件的所有权设置为root。
运行ls-l命令可以查询文件权限信息:拥有者是...用户组是...其他权限包括...读取r, 写入w, 执行x。

chmod +x filename ### 为 user ,group ,others 添加执行权限

chmod -x filename ### 取消 user , group ,others 的执行权限

chmod +w filename ### 为 user 添加写入权限

chmod ugo=rwx filename ### 设置 user ,group ,others 具有 读取、写入、执行权限

chmod ug=rw filename ### 设置 user ,group 添加 读取、写入权限

chmod ugo=— filename ### 取消所有权限

useradd 用于添加一个普通用户。

useradd -m -g users -G audio -s /usr/bin/bash newuser

设置 home 目录为当前目录,并指定用户的主组归属;允许指定附加用户组;配置默认 shell 设置;newuser 作为新用户身份使用

passwd 用于改变用户登录密码。

$ passwd ### 不带参数更改当前用户密码

passwd newuser ### 更改上述新建的 newuser 的用户密码

#whereis 用于查找文件、手册等。
whereis bash bash: /usr/bin/bash /etc/bash.bashrc /etc/bash.bash_logout /usr/share/man/man1/bash.1.gz /usr/share/info/bash.info.gz whereis -b bash ### 仅查找 binary
bash: /usr/bin/bash /etc/bash.bashrc /etc/bash.bash_logout
$ whereis -m bash ### 仅查找 manual
bash: /usr/share/man/man1/bash.1.gz /usr/share/info/bash.info.gz

find也可用于搜索文件;相较于而言更加的强大支持使用正则表达式匹配,并且其搜索结果可通过后续操作进一步处理或应用。

使用 find 命令,在当前目录中搜索与PATTERN 匹配的文件。 使用 find 命令,在/home目录中搜索所有与PATTERNS 匹配的文件,并通过管道将结果传递给ls命令以显示详细信息。

复制代码
    ## lab
    
    
    ### Write a “Hello World” program under GNU/Linux
    
    
    Write a “Hello World” program, compile it, then run it under GNU/Linux. If you do not know what to do, refer to the GNU/Linux tutorial above.  
     Here’s a simple “Hello World” program in C:
    
    
    Copy

#include <stdio.h>

int main() {
printf(“Hello World!\n”);
return 0;
}

复制代码
    To compile this program, save it to a file called `hello.c` and open a terminal. Navigate to the directory where the file is saved and type the following command:
    
    
    Copy

gcc -o hello hello.c

复制代码
    This will compile the program and create an executable file called `hello`. To run the program, type:
    
    
    Copy

./hello

复制代码
    This should output:
    
    
    Copy

Hello World!

复制代码
    Congratulations, you’ve successfully written and run your first program under GNU/Linux!
![在这里插入图片描述]()
    
    
    ### Write a Makefile to compile the “Hello World” program
    
    
    Write a Makefile to compile the “Hello World” program above. If you do not know what to do, refer to the GNU/Linux tutorial above.
    
    
    以下是一个简单的Makefile,用于编译C语言中的“Hello World”程序:
    
    
    * `Makefile` 文件名的文件 和 `hello.c` 必须在同一目录文件下
![img]()
![img]()
    
    **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!** **由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新** **[如果你需要这些资料,可以戳这里获取]()**
    
    6588870)]
    
    **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!** **由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新** **[如果你需要这些资料,可以戳这里获取]()**

全部评论 (0)

还没有任何评论哟~