Linux常见命令(如何运行C/C++程序、gdb调试)

一. Linux主要目录:

  1. /: 为根目录 (/home: 先到达根目录,在到home目录);
  2. /bin:可执行文件的目录,如常用命令ls、tar、mv、cat等;
  3. /etc:系统配置文件存放的目录,不建议存放可执行文件;
  4. /home:系统默认的家目录
    • ~表示当前的家目录 == /home/ezreal
    • ~edu表示用户edu的家目录

二. Linux文件特点与格式

  • Linux文件或者**目录(文件夹)**名称最长有256个字符
  • . 开头的文件为隐藏文件,需要用ls命令用参数**-a**才能显示
  • . 代表当前目录
  • 代表上一级目录
  • ~表示家目录 == /home/用户名(ezreal)
  • ubantu中目录(文件夹)为蓝色,文件为白色
  • 文件和目录同名

三. 常用命令:

终端命令格式:command [-options] [parameter] (中括号表示可选)
  • command:命令名,相应功能的英文单词或英文的缩写;eg:ls,pwd,rm,cd,touch,mkdir等
  • [-options]:选项,可用来对命令进行控制,也可以省略,eg: -r,-g,-o等;
  • parameter:传给命令的参数,可以是零个、一个或者多个,eg:文件名,目录名等;
  1. ls : 查看当前文件夹下的内容(list)
  2. pwd:显示当前文件的路径(print work directory)
  3. cd+空格+目录名:切换到指定的目录名的文件夹(change directory)
  4. touch+空格+文件名:在当前路径下新建文件夹
  5. mkdir+空格+目录名:创建目录(make directory)
  6. rm+空格+文件名:删除指定文件(remove)
  7. clear:清屏

四. 小技巧:

  1. ctrl+shift+= 放大终端窗口;
  2. ctrl± 缩小终端窗口;
  3. 查询命令(command)的常用选项和参数
    • command --help

    • man command(详细)

      • 空格键:显示手册下一屏
      • Enter键:一次滚动手册一页
      • b:回滚一屏
      • f:前滚一屏
      • q:退出
  4. shift+insert : 复制;ctrl+insert :粘贴
  5. 自动补全:输入命令/文件/目录后按tab会自动补全

五. 命令的选项详解:

  1. ls: 查看当前文件夹下的内容
    • **-a:**显示隐藏的文件
    • **-l:**以列表方式显示文件的详细信息
    • -h:配合 -l人性化的方式显示文件大小
    • 通配符(低配版正则表达式)
      • *** :代表任意个数个**字符
      • **?:**代表任意一个字符,只能是一个
      • []:表示可以匹配字符组中的任一一个
        • [abc]:匹配a、b、c中的一个
        • [a-f]:匹配从a到f范围内的任意一个字符
  2. **cd:**切换到指定的目录名的文件夹(change directory)
    • cd切换到当前用户的主目录(/home/用户目录)
    • cd **:**切换到当前用户的主目录**(/home/用户目录)(即**表示/home/用户目录或称为家目录
    • cd. :保持在当前目录
    • cd…:切换到上级目录
    • cd - :可以在最近两次工作目录之间来回切换
  3. **touch:**在当前路径下新建文件夹,也可以指定路径
    • 如果文件不存在,则创建新文件
    • 如果文件存在,则可以修改文件的末次修改时间
  4. **mkdir:**创建目录
    • -p :连续创建子目录(递归创建)e.g:mkdir -p a/b/c/d
  5. **rm:**删除文件
    • 删除的文件不能恢复
    • **-f:**强制删除,忽略不存在的文件,无需提醒
    • **-r:**递归地删除目录下的内容,删除文件夹必须加此参数
    • 删库:/rm -rf *
  6. tree[目录名]:树状图列出文件目录结构
    • **-d:**只显示目录
  7. **cp:**复制文件或目录; 语法:cp 源文件路径 目标文件路径(可自行命名)
    • **-i:**提示是否覆盖目标文件的内容(即把源文件的内容复制到目标文件)
    • **-r:**复制目录
  8. mv:移动文件目录,也可以给文件或目录重命名;语法:mv 源文件(路径) 目标文件(路径)
    • 参数1一般是路径下的文件
    • 参数2一般是要移动到的文件目录或者路径
    • 若参数2是与参数1一模一样的路径,但文件名不同就表示给该文件重命名(但内容与参数1的内容一样,覆盖原来参数2的文件,目录则不会
  9. **cat 与 more:**显示文件里面的内容
    • cat:一次性显示全部内容(内容短用这个)
      • **-b:**显示内容的行号(不包括空行)
      • **-n:**显示内容的行号(包括空行)
    • more:分屏显示全部内容(内容长用这个)
  10. **grep:**查找指定文本中的指定内容;语法:grep 搜索内容(可用正则表达式) 指定文本
    • -n:显示指定内容的行号
    • -v:显示不包含指定内容的行中的内容(单独使用不包括行号)
    • -i:指定内容不区别大小写
    • 若搜索的内容之间有空格,则需要用引号引起来
  11. **vi:**编辑文本中的内容;语法:vi 当前目录下的文件名
    • 命令行模式
      • a:在光标后插入文本
      • i:在光标前插入文本
      • h:左移一个字符
      • j:下移一个字符
      • k:上移一个字符
      • l:右移一个字符
      • [n]yy :复制当前的n行
      • p:在当前行粘贴
      • [n]dd:删除当前的n行
      • ctrl+g:返回当前光标所在的行数
      • x: 删除光标处的字符
    • 插入模式
      • ESC:进入命令行状态
      • :q :退出没有修改的文件
      • :q!:强制退出,不保存文件
      • :w :保存文件但不退出
      • :x :保存文件并退出
      • :wq :保存文件并退出
      • ctrl+s:锁定当前屏幕
      • ctrl+q:解除锁定
    • 底行模式
  12. **gdb:**调试C/C++(使用前提:在 **gcc **编译的时候要带上 -g 参数)
    • **r:**运行程序
    • **quit:**退出程序
    • **list:**查看源码
    • **break:**打断点
      • **next:**向下执行一行
    • **info b:**查看打断点的位置
    • **step:**进入某一个其他函数(除了main函数外)
    • **set logging on:**开启日志模式
    • **watchpoint:**开启观察点,观察变量是否改变

六. Linux运行C/C++的方法:

  1. 打开Ubantu linux的终端。创建一个文件并命名为test.c。在终端输入:touch test.c。
  2. 可以看到已经生成了一个后缀为test.c的源文件。然后用vim工具打开这个文件并编写代码。在终端中输入:vi test.c
  3. 编写完了这个代码。现在开始编译源文件。在终端中输入:gcc test.c,gcc是linux自带的c语言编译器。如果是windows则要用ide工具来编译。linux系统一般写C语言用gcc +vim+gdb三个自带的工具就可以了。
  4. 打完gcc test.c编译完C源文件。然后就可以看见a.out的文件。一**般linux系统就默认为a.out为编译完的文件。**现在运行a.out文件。在a.out文件的目录下打开终端并输入./a.out就是运行文件了。
  5. 如果想要编译完的文件名不要用a.out文件。就可以在编译时打入.gcc test.c -o test.out然后就可以看见有一个test.out.文件 了。
  6. 再运行test.out在终端中输入./test.out结果如图。这样在linux系统下编译并运行C语言就完成了。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值