LEVEL.D1.Linux命令和C语言基础

目录

一.Linux文件和目录相关命令

1.浏览目录

2.ls列目录内容

3.cd 改变目录

4.查看文件内容

5. cp 复制

6. mv 移动

7.创建和删除文件

二. vi编辑器的使用

1.vi模式切换命令

2. vi 光标命令

3.vi的查找命令

4. vi 替换命令

5.vi复制和剪切命令

三.gcc编译器

四、程序调试

五.C语言基础


一.Linux文件和目录相关命令

/bin      :bin是二进制(binary)英文缩写。

/boot    :存放的都是系统启动时要用到的程序。

/dev     :包含了所有Linux系统中使用的外部设备。

/etc      :存放了系统管理时要用到的各种配置文件和子目录。

/lib       :存放系统动态连接共享库的。

/home  :普通用户的主目录。

/root     :根用户(超级用户)的主目录。

1.浏览目录

  • 当打开命令终端窗口,用户就处在自己的用户主目录的位置。
  • 学习文件系统命令,就从自我定位开始。

pwd命令

pwd命令用于显示用户在文件系统中的当前位置,该命令没有任何选项和参数,命令执行结果显示为绝对路径名。

linux@ubuntu:~$pwd

/home/linux

2.ls列目录内容

Usage:

  • ls[options][files_or_dirs]

       ls[选项][参数](对于选项和参数如果是方括号可以省略不写)

Example:

ls -a  (以点开头的是隐含文件,linux中隐含文件是以点(.)开头)

ls -l   (显示权限位,就是详细信息)

ls -R   (如目录含有目录他会递归显示)

df -T 显示文件系统信息

3.cd 改变目录

绝对路径或相对路径                              

  • cd /home/joshua/work                 
  • cd project/docs

回到家目录   cd      回到目录当中

回到上一级目录   cd ..

回到上一次的工作   cd -

4.查看文件内容

Cat  -s 多个空行合并成一个空行显示(如代码中有很多空行 cat -s hello.c 空行就没有了)

        -b 加行号显示

nl 加行号

head

  • -n 文件名(前n行,默认10)(head -2 test.c)

tail

  • -n 文件名(后n行,默认10)(倒数)

5. cp 复制

Usage:

  • cp [options] file destination

常用选项

  • -i 覆盖时交互提示   如 cp   test.c   ../  -i
  • -r 对文件夹递归(复制文件夹)  如 cp   -r   testsubdir/  bakdir
  • 复制多个文件到文件夹   如 cp  test2.c  test3.c  ../
  • cp [options] file1 file2 dest( cp test2.c test3.c ../)

6. mv 移动

Usage:

  • mv [options] file  destination

移动多个文件:

  • mv [options] file1 file2 destination

更改文件名

7.创建和删除文件

touch - 创建或更新时间戳

rm - 删除文件

Usage:

  • rm [options] <file>...

Example:

  • rm -i file  (删除普通文件)-i是有一个交互提示确定要删除吗  如 rm  test3.c -i
  • rm -r directory (删文件夹)

创建文件夹:mkdir -p(级联创建或递归创建目录) (mkdir d1        mkdir d1/d11  或 mkdir -p d1/d11)

二. vi编辑器的使用

  • vi是Linux中最基本的编辑器。

1.vi模式切换命令

命令功能
A a(Append)进入编辑状态,从当前光标之后的位置开始插入键盘输入的字符(光标之后插入)
I i(Insert)进入编辑状态,从当前光标之后的位置开始插入键盘输入的字符(光标原位置插入)
O o(Open)进入编辑状态,并插入一新行,光标移到该新行的行首,以后键盘输入的字符将插入到光标位置(光标所在下面加一空行)
ESC进入命令状态
:!Command在vi中执行外部命令Command,按回车健可以返回vi继续工作

I:到行首转插入

A:到行尾转插入

O:在上面加空行

:!pwd 看在那个目录编程的

:!dare 看时间

2. vi 光标命令

命令功能
h方向键,向左移动光标一个字符的位置,相当于左移健
j方向键,向下移动光标一个字符的位置,相当于下移健
k方向键,向上移动光标一个字符的位置,相当于上移健
l方向键,向右移动光标一个字符的位置,相当于右移健
:N移动光标到第N行(N待定)
1G移动光标到文件的第1行
G移动光标到文件的最后1行

:set number

(或者set  nu)

设置显示行号

:set nonumber

(或者set nonu)

取消显示行号

3.vi的查找命令

/string 查找字符串

  • n 继续查找
  • N 反向继续查找
  • 支持正则表达式比如:/^the (以这个单词为开头的) /end$(以这个单词为结尾的)

4. vi 替换命令

利用:s 命令可以实现字符串的替换。(s表示替换)

(底行的命令:范围s(s表示替换)/old/new)(:直接s,没有范围表示当前行)

(在Linux命令中 .(点)指的就是当前行 $指最后一行   所以.,$就是当前行到最后一行替换)

  • :s/str1/str2
  • :s/str1/str2/g          (g代表多个替换  全部替换     不加默认换第一个)
  • :.,$ s/str1/str2/g
  • :1,$ s/str1/str2/g(从第一行到最后一行替换也就是全文替换)

(:10,15 s/str1/str2/g第十行到第十五行全文替换)

  • :%s/str1/str2/g       (全文替换)

5.vi复制和剪切命令

  • y0-将光标至行首的字符拷入剪切板(部分行)
  • y$-将光标至行尾的字符拷入剪切板(部分行)
  • d0-将光标至行首的字符剪切入剪贴板
  • d$-将光标至行尾的字符剪切入剪贴板
  • range y-块复制
  • range d-块剪切

三.gcc编译器

gcc(GNU Compiler)是GNU推出的多平台编译器,可将C、C++源程序编译连接成可执行文件,支持以下后缀:

  • .c                  c语言源代码
  • .h                  程序所包含的头文件
  • .i                   已经预处理过的C源代码文件
  • .s                  汇编语言源代码文件
  • .o                  编译后的目标文件

gcc -o hello hello.c(hello.c是待处理的文件)(-o跟着执行文件hello)

    -o 输出可执行文件

    -c 只要求编译器输出目标代码(.o文件),而不必输出可执行文件

    -g 用于调试

    ./hello 查看输出结果

实战  例子

  • 用vi写一个1+2+3+......+10的程序
  • 用gcc编辑这个程序

四、程序调试

利用__FILE__,__LINE__,__FUNCTION__实现代码跟踪调试

        #include <stdio.h>

        int main(int argc,chat **argv)

        {

              printf("%s,%s,%d\n",__FILE__,__FUNCTION__,__LINE__);

 (注释:__FILE__打印的这句话中会显示的文件名是哪个程序 __FUNCTION__会现实函数名 __LINE__是当前的行号)

               return 0;

        }

m是一一对应关系  m对应正数 FILE对应文件

提示:这个文件是  test2.c  main  第九行有一个  m=55  的提示

五.C语言基础

一个程序应当包含两部分内容:

  • 对数据的描述。在程序中要指定数据的类型和数据的组织形式,即数据结构
  • 对操作的描述。即操作步骤,也就是算法

简单算法举例

计算1x2x3x4x5x...x10

其他方法:设两个变量,一个代表被乘数,一个代表乘数。设p为被乘数,i为乘数,用循环乘法。

S1) 使p = 1

S2) 使i = 2

S3) p x i => p

S4) i + 1 => i

S5) 如果 i 不大于10,返回执行S3;否则算法结束。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值