Linux应用前置知识

1.Linux Shell

1.1 简介

shell是linux中的一个程序,负责接收用户的输入,根据用户的输入找到其他程序并允许

1.2 命令提示符

book@www.100ask.org:~$

book:当前登录用户名

www.100ask.org:主机名

~:当前所在目录 ~代表家目录

$:用户提示符 $:普通目录 #:root管理员

1.3 Linux命令格式

command [options] [parameter]

command:命令

options:选项

parameter:参数

[]:代表非必须 <>:代表必须

1.4 程序运行

echo $PATH:查看shell会到哪些目录寻找命令或程序

1.5 设置PATH

1.5.1 临时设置

终端执行export PATH=$PATH:/home/book,只对当前终端有效

1.5.2永久设置

1.修改~/.bashrc,在行尾添加export PATH=$PATH:/home/book,该方法只对当前用户有效

2.修改/etc/environment,在PATH的末尾添加:/home/book,该方法对所有用户有效

2.Linux基本操作

2.1 目录/文件操作命令

pwd:显示当前工作目录

cd 路径:改变路径、切换目录

cd ..:退到上一级目录

cd -:退到上一个目录

mkdir 文件名:创建目录

rmdir 文件名:删除目录

rm -rf 文件名:-r递归删除 -f强制删除

ls:列出目录内容 -a显示隐藏文件 -l显示目录详细信息

cp 要复制的文件 复制后文件:复制文件

mv 要移动的文件 移动后文件:移动文件

touch 文件名:修改文件的访问和时间,也可创建文件

2.2 文件权限和属性

-rw-r-x-wx:

-:表示普通文件 d:表示目录

r:可读 w:可写 x:可执行

chgrp:改变文件所属用户组

chown:改变文件所有者

chmod:改变文件的权限

对-r-x-wxrw-文件添加拥有者添加可写权限,同组其他用户添加可读权限,其他用户添加可执行权限命令执行:

chmod u+w,g+r,o+x 文件名

2.3 查找/搜索命令

find:查找文件

格式:find 目录名 选项 查找条件

find  /home/book/dira/ -name "test.txt"**

-name:以名字查找文件

"test.txt":指明要查找的文件

*通配符

grep:查找文件中符合条件的字符串

格式:grep [选项] [查找模式] [文件名]

grep -nwr "abc" *

-nwr:显示行号 匹配整个单词 递归查找

“abc”:要查找的字符串

*要搜索的文件

2.4 压缩/解压缩命令

2.4.1 gzip常用选项

-l:列出压缩文件的内容

-k:在压缩或解压时,保留输入文件

-d:将文件进行解压缩


注意:

1.gzip不加任何选项,会将文件压缩成.gz文件后并删除原文件

2.相同文件内容,不同文件名,压缩后大小不同

3.gzip只能压缩单个文件,不能压缩目录

2.4.2 bzip2常用选项

-k:在压缩或解压时,保留输入文件

-d:将文件进行解压缩


注意:

1.bzip2不加任何选项,会将文件压缩成.bz2文件后并删除原文件

2.bzip2只能压缩单个文件,不能压缩目录

一般情况下,小文件用gzip压缩,大文件用bzip2压缩

2.4.3 tar常用选项

-c:表示创建用来生成文件包

-x:从文件包中提取文件

-t:可查看压缩文件

-z:用gzip方式处理,与"c"结合表示压缩,与"x"结合表示解压缩

-j:用bzip2方式处理,与"c"结合表示压缩,与"x"结合表示解压缩

-v:详细报告tar处理信息

-f:表示文件,后面接文件名 -C<指定目录> 解压到指定目录


注意:tar可以对目录进行操作

3.vi编辑器基本操作

3.1 模式切换

3.2 移动

ctrl+f:向前翻页

ctrl+b:向后翻页

跳到某一行::行号

显示行号::set number

隐藏行号::set nonumber

G:跳到文件结尾

0:跳到行首

S:跳到行尾

3.3 编辑

插入:输入i进入编辑模式

删除:

x:删除一个字母

dd:删除整行

ndd:删除当前行及其后的n-1行

o:在当前行下面新增一行

u:撤销上一步操作

3.4 复制/粘贴

yy:复制当前行

nyy:复制当前行及其后的n-1行

p:粘贴

3.5 查找/替换

/要查找的单词:n向下查找 N向上查找

:%s/p1/p2/g:将文件中所有的p1均用p2替换

:%s/p1/p2/gc:替换时需要确认

4.Linux应用开发基础

4.1 GCC编译过程

一个C/C++文件要经过预处理(preprocessing)、编译(compilation)、汇 编(assembly)和链接(linking)等4步才能变成可执行文件。

4.2 常用编译选项


-E 预处理,开发过程中想快速确定某个宏可以使用“-E -dM”

-c 把预处理、编译、汇编都做了,但是不链接

-o 指定输出文件

-I 指定头文件目录

-L 指定链接时库文件目录

-l 指定链接哪一个库文


4.3 Makefile

4.3.1 Makefile的使用

make命令所执行的动作依赖于Makefile文件,其根据文件更新的时间戳来决定哪些文件需要重新编译,极大提高了开发效率

4.3.2 Makefile格式

目标文件 :依赖文件

TAB键 命令

4.3.3 Makefile语法

%:通配符

$@:目标文件

$< 或 $^:依赖文件

make [目标名]:若无目标名默认第一个目标

make clean:清除所有的目标文件

假想目标:.PHONY

即时变量(简单变量):A := xxx A的值即时确定

延时变量:

B = xxx B的值使用时才确定

B ?= xxx 如果是第一次定义才起效,若前面该变量已定义则忽略

附加:它是延时变量还是即时变量取决去前面的定义

                        ​​​​​​​        ​​​​​​​        

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

引用变量:$(变量名)

4.3.4 Makefile函数
函数名描述
$(foreach var,list,text)对list的每个var变量进行text操作
$(filter pattern...,text)在text中取出符合patten格式的值
$(filter-out pattern...,text)在text中取出不符合patten格式的值
$(wildcard pattern)pattern定义了文件名的格式,wildcard取出其中存在的文件
$(patsubst pattern,replacement,$(var))将$(var)里符合pattern替换成replacement

        ​​​​​​​        ​​​​​​​                ​​​​​​​                

        ​​​​​​​        ​​​​​​​        

4.3.5 Makefile生成依赖
命令描述
gcc -M c.c打印出c.c所依赖的文件
gcc -M -MF c.d c.c把依赖写入文件c.d
gcc -c -o c.o c.c -MD -MF c.d编译c.o,把依赖写入文件c.d
  • 13
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值