Linux必须掌握的入门知识

linux环境中的一些常用命令

ll --> 显示当前路径下目录的详细信息

ls --> 显示当前路径下的目录信息

    -a --> 列出目录下所有文件

    -l --> 列出文件详细信息

cd --> (+目录名)进入指定目录

    cd .. --> 进入当前目录的上级目录

    cd . --> 进入当前目录

    cd /home/tyy --> 绝对路径访问方式

    cd ../tyy --> 相对路径访问方式

pwd --> 显示当前目录的路径

    / --> 显示该路径时表示进入Linux的根目录

clear --> 清屏操作

    ctrl+l --> 也可以达到清屏的效果

mkdir -->(+目录名)创建目录

touch --> (+文件名)创建文件

rm --> (+文件名)删除文件

    rm -r --> 为rm带上选项 --> (+目录名)删除目录

    rm -rf --> (+目录名)强制删除目录

    sudo rm -rf --> (+目录名)进行权限上的升级后强制删除目录 --> 实际应用中没必要这么较真的删目录哈

whoami --> 查看当前我是谁

man --> 向man进行咨询

       man 3 printf --> man会告诉你printf这个函数的用法以及头文件等等

mv --> 有三种常见用法

      mv 目录名1 目录名2 --> 将目录名1改为目录名2

      mv 目录名 路径 --> 将该目录剪切到该路径中

      mv 目录名1 路径/目录名2 --> 更改路径并且更改目录名

            例:mv a.text /home/tyy/b.text --> 将目录a.text放到路径为/home/tyy中,并将目录名改为b.text

cp --> 复制源文件(或目录)到目标文件(或目录)

cat --> 查看文件内容

more --> 类似cat,还能进行分屏显示

    b --> 向上翻屏

    空格键 --> 向下翻屏

less --> 类似more,除了分屏还能上下走一行,还能进行查找

    k --> 向上走一行

    j --> 向下走一行

    / --> 后直接加需要查找的内容,系统会用高光进行标识

head --> 显示文件的前几行(默认打印前10行)

    -n --> 后接行数m,显示前m行

tail --> 显示指定文件末尾内容

    -n --> 后接行数m,显示后m行

history --> 查看历史命令

    后直接数字m --> 查看刚敲过的m条命令(包括刚敲的histroy m命令)

cal --> 显示当月的日历信息

find --> 在目录下查找文件

    -name --> 后接文件名,以该文件名去寻找当前目录以及子目录下所有的该文件

    -exec --> 后接命令,将找到的文件均执行该命令

    -ok --> 和exec一样的功能,区别在于每次执行命令都会进行询问

grep --> 在文件中搜索字符串,将找到的对应行均打印出来

tar --> 将文件进行打包/解包

    tar -czvf 目录名.tar.gz 目录名 --> 将该文件进行打包

    tar -xzvf 压缩包 --> 将打包的文件进行解包

bc --> 浮点数计算器

chmod --> 修改文件的访问权限

    +、-、= --> 分别指加、减、赋予后面跟的权限

    r、w、x --> 分别指查看、修改、执行权限

Linux的编译器(gcc)

gedit file.c --> Linux下的记事本,拥有编辑功能,编辑完成后会出现一个file.c~文件,其实是将file.c进行了备份不用考虑 --> 可在该文件中编写代码

gcc file.c --> 生成可执行程序 --> 默认生成的可执行程序写入到文件a.out

    gcc -E file.c -o file.i --> 将文件执行完预处理后(c语言)结束,并将结果写入file.i中

    gcc -S file.c -o file.s --> 将文件执行完编译后(汇编语言)结束,并将结果写入file.s中

    gcc -c file.c -o file.o --> 将文件执行完汇编后(机器语言)结束,并将结果写入file.o中

    gcc file.c -o mytext --> 将文件执行完预处理、编译、汇编、链接(及生成可执行程序),并将结果写入mytext中 --> 完成整个翻译过程

./a.out --> 执行当前工作目录下的a.out

   当执行的程序陷入死循环时,ctrl+c可以终止循环

注意:Linux默认的发布版本为Release,转换为Debug发布 --> gcc file.c -o mytext_d -g

          Linux默认的链接方式为动态链接,转换为静态链接 --> gcc file.c -o mytext_s -static

          当然了,不适用默认的就会占用更大的空间

Linux的编辑器(vim-系统自带的文本编辑器)

    vim 文件名 --> 新建文件/修改文件 --> 当该文件名存在时为修改,不存在时为新建并且下方会进行提醒

Linux必须掌握的入门知识_第1张图片

编辑

i --> 光标所在位置前插入

a --> 光标所在位置后插入

o --> 在当前行下面插入一行

O --> 在当前行的上面插入一行

I --> 在当前行的行首插入

A --> 在当前行的行尾插入

保存

:wq(:x)--> 保存并退出

:wq! --> 强制保存退出

:q! -->强制退出

查找

/ --> 后接查找内容,定位到第一个找到的

    n --> 查找下一个

    N --> 查找上一个

? --> 后接查找内容,定位最后一个找到的

    n --> 查找上一个

    N --> 查找下一个

替换

r --> 替换光标中的字符

:开始行,结束行s/旧的内容/新的内容 --> 替换每一行的第一个

:开始行,结束行s/旧的内容/新的内容/g --> 替换所有

:开始行,结束行s/\<旧的内容\>/新的内容/g --> 将旧的内容作为单词替换,若旧的内容作为其他单词的一部分则不进行替换

:%s/旧的内容/新的内容 --> 全文替换

删除

s --> 删除光标的一个字符并直接进入插入模式

x --> 删除光标中的位置

dw --> 删除光标所在位置到当前单词词尾

db --> 删除光标所在位置到当前单词词首

dd --> 删除当前行

m(数字)dd --> 删除当前行及以下m行

dG --> 删除光标所在行到文件结尾

d0 --> 删除光标到当前行行首

d$ --> 删除光标到当前行行尾

预处理

预处理包含宏替换、去注释、头文件展开、条件编译

预定义符号

__FILE__ //进行编译的源文件

__LINE__ //文件当前的行号

__DATE__ //文件被编译的日期

__TIME__ //文件被编译的时间

__STDC__ //如果编译器遵循ANSI C其值为1,否则报错提示未定义

Linux必须掌握的入门知识_第2张图片

宏定义

宏定义分为:#define定义标识符、#define定义宏

注意:#define机制允许把参数替换到文本中,这种实现称为宏(或定义宏)

         #define ADD( x ) x*x --> 参数列表的左括号必须与ADD紧邻,如果两者之间有任何空白存在,参数列表就会被解释为后面x*x的一部分

你可能感兴趣的:(提升之操作系统)