Linux| |Linux小知识点

Linux小知识点


1. &

  • 表示在后台运行

2. 如何在vim页面下打开两个文档

  • 使用vs命令。采用crtl+ww进行切换

3. 如何直接进行多行缩进呢?

  • 直接在命令行模式下:敲出[5,12>]按下回车表示将5到12行进行缩进,如果是[5,12<]按下回车表示缩

  • 在命令行模式下,将光标放到要缩进的行首,按下[行数+>>]表示缩进几行,[行数+<<]表示缩回几行

4. 如何进行多行注释

  • 第一步:首先进入到正常模式

  • 第二步:使用crtl+v进入到块选择模式

  • 第三步:使用h,j,k,l分别表示左下上右,这里只用j和k,进行上下选择块

  • 第四步:选择好了之后,就使用shift+i进入得到插入模式

  • 第五步:直接输入//

  • 第六步:按下Esc进入到插入模式就好了

5. 如何判断一个文件存在还是不存在

  • //access系统调用函数
    ​
    #include <unistd.h>
    ​
    int access(const char* pathname, int mode);
    ​
    参数:
        pathname:路径名,也就是文件名
        mode:检查文件的各种选项,四个
            1. F_OK 检查文件是否存在
            2. R_OK 检查文件存在并且是否具有读权限
            3. W_OK 检查文件存在并且是否具有写权限
            4. X_OK 检查文件存在并且是否具有执行权限
    ​
    返回值:
        正确的话返回0,失败返回-1

6. 如何在linux下使用C++的标准

  • 对于一般的linux下的g++编译器都是支持c++98的,如果想让其支持c++11编译的话,那就只需要显式打开c++11就好了

#include <iostream>
#include <typdinfo>
using namespace std;
​
int TestAuto()
{
  return 10;
}
​
int main()
{
  int a = 10;
  auto b = a;
  auto c = 'a';
  auto d = TestAuto();
​
  cout << typeid(b).name() << endl;
  cout << typeid(c).name() << endl;
  cout << typeid(d).name() << endl;
​
​
  //auto e; 无法通过编译,使用auto定义变量时必须对其进行初始化
​
  return 0;
}

对于上面的代码,具有c++11的新语法auto,如何对其进行编译呢?

g++ -o auto auto.cpp 
//采用这种编译的话,就显示
//‘b’ does not name a type
//表示该编译器不支持c++11,所以就要显式的使用c++11编译
​
g++ -std=c++11 -o auto auto.cpp
//这种进行编译的话就不会出错,显式的使用c++11
​

7. 64位的linux下gcc如何编译出32位的程序

  • -m32参数即可

8. 如何在vim下替换内容

8.1 多行替换

A,Bs/test/return
  • 参数A表示开始行,B表示结束行。如果B为$表示为最后一行。

  • 此命令表示从A行到B行结束的每行的第一个test替换为return

A,Bs/test/return/g
  • 表示从A行到B行的每一个test替换为return

8.2 全文替换

%s/test/return 
  • 表示将全文的test都替换为return

9. 如何修改linux下命令行输入的前面的提示符

  • 第一步:非root用户下,进入~/.bashrc

  • 第二步:添加PS1='[\u@\d||YK||\#]\$ '。u代表用户,d代表时间,#表示本次进入linux下输入的函数

  • 第三步:出去使用export PS1='[\u@\d||YK||\#]\$ '即可

10. strace命令

strace能够显示所有由用户空间程序发出的系统调用:直接在命令行上使用

该命令可以以一行的方式显示调用的系统调用的名字,参数以及返回值

常见的一些参数:

​ -f -F 选项告诉strace同时跟踪fork和vfork创建出来的进程

​ -o xxx.txt 输出到某个文件

​ -e execve 只记录execve这类的系统调用

​ -p pid 绑定到一个正在运行的进程号为pid的进程

  • 输出的每一行都是系统调用

  • =的左边是系统调用函数的名字和参数,等号右边是返回值

【原理】:

  • 使用ptrace系统调用来跟踪调试运行中的进程

11. awk文本处理工具

12. 如何对于vim中的代码进行语法高亮并且取消高亮

12.1 高亮

当处于一个代码的时候,进入到命令模式,然后按下#就可以了

12.2 取消高亮

处于末行模式的时候,输入nohl(no high light)之后,按下enter即可,取消高亮

13. 如何进行静态编译

在进行编译的时候加上- static即可

猜你喜欢

转载自blog.csdn.net/qq_40399012/article/details/84135153