Linux基础学习

Linux基础学习

ls命令

ls 查看当前目录下的文件名
ls 目录名 查看指定目录下的文件名
ls / 根目录下的文件名
ls -a 查看当前目录下文件的所有文件,包括隐藏文件
ls -l 查看当前目录下的详细信息
ls -al 查看当前目录下的所有文件,包括隐藏文件的详细信息
ls -hl 详细信息中的字节数可以带单位显示

drwxrwxr-x -2 stu stu 4096 12月19 09:30 share
d:文件类型,linux里面不以后缀名作为文件类型的区分

Linux里面共有其中文件类型bcd-lsp,8种

  • b:块设备文件
  • c:字符设备问及那
  • d:目录文件
  • -:普通文件
  • l:软连接文件
  • s:套接字文件
  • p:管道文件

rwxrwxr-x:文件权限,以三个为一组,分别表示用户,用户组以及其他用户对文件的操作权限,r:读,w:写:x:可执行,如果是-,就表示没有这个权限

2:链接文件个数

stu:用户名

stu:用户组

4096:文件大小,默认自己为单位

12月19 09:30 文件的最后修改时间

share 文件名

tree

树形结构显示文件信息

//系统默认没有这个命令,需要安装 
sudo apt-get install tree
//删除几个文件
sudo rm /var/lib/dpkg/lock
sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/cache/apt/archives/lock
//如果还不行升级apt-get
sudo apt-get update
tree -L 3 指定显示层级的树形结构目录

clear

clear 清屏

ctrl+l 快捷键清屏

cd

cd 当前目录名称

cd / 进入根目录

cd ~ 进入家目录,就是当前用户的目录,home/用户名

cd . 当前路径

cd … 前一个路径

cd - 回到上一次的目录

绝对路径

从根目录开始的路径(最顶层)

/home/teacher/xiutao/test

/home/teacher/test.txt

相对路径:

相对当前路径下的那个路径

./xiutao/test

./xiutao/test.c

pwd

pwd 显示当前目录的绝对路径

cat

cat 文件名 显示文件内容,主要显示文本文件,也可以根路径

cat /text/test.txt

rm

rm是remove的意思。移除即删除的意思

rm 选项 文件夹或者文件路径或者名称

rm test.c

rm -rf xiutao

rm -rf /home/teacher/xiutao

注意:选项-rf可以没有,但是删除文件夹的时候必须带 -r

-f的意思是强制删除

cp

cp 选项 源文件或者文件夹路径或者名称 目的路径

cp -r -v test.txt /home/teacher/xiutao

将当前目录下的test.txt 文件拷贝到/home/teacher/xiutao目录下

注意:cp后面可以加选项

​ 拷贝文件夹的时候必须加-r

​ -v显示卡贝进度

cp 文件名  目录名    将文件复制到目录中
cp  目录1   目录2 -a  将目录1复制到目录2中
cp 文件名1 文件名2   如果文件2不是目录,则文件1复制一份为文件2,如果文件2存在且不是一个目录,则                    直接替换成文件1内容

MV

mv 文件名 目录名  将文件移动到指定目录中
mv 目录1  目录2  将目录1移动到目录2
mv 文件1  不存在的文件    给文件1重名名文件
mv 目录1  不存在目录    给目录1重名名目录名称

mkdir

mkdir 目录名称1  目录名2  目录名3  创建多个目录
mkdir -p  目录名1/目录名2/目录名3/目录名4  创建一个目录嵌套树形

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ux6EVYeJ-1653962687661)(…/AppData/Roaming/Typora/typora-user-images/image-20220525151151113.png)]

touch

touch 文件名  创建一个普通文件,如果创建的文件名存在会更新文件的时间戳

find

用法:find 路径 -name 文件名 在指定路径下查找指定文件,会从指定路径下包括所有子目录中寻找

find . -name mydir   在当前路径下寻找mydir文件

grep

指定文件中查找指定内容

用法 : grep 查找信息 文件名 参数-n 显示行号

​ grep hello /home/teacher/test.txt -n

grep 查找信息 文件名  在指定文件中查找指定内容,并将查找到的内容整行,并高亮显示输出
grep 查找信息 文件名  -n  在指定文件中查找指定内容,并将查找到的内容整行且带行号显示,并高亮显示
grep 查找信息 * -R -n 从当前目录以及子目录的文件中查找指定信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cBRVa5LP-1653962687664)(…/AppData/Roaming/Typora/typora-user-images/image-20220525153327210.png)]

ln

创建链接文件

ln 源文件名 链接文件名 -s  创建一个链接文件(类似windows的快捷方式)
注意:
不管对原文件还是链接文件修改,双方内容都会修改
如果删除链接文件对源文件没有任何影响,如果删除源文件则链接文件失效

tar 压缩与解压缩

//zcvf 格式压缩与解压
tar zcvf 压缩包包名.tar.gz  文件1 文件2  文件3 ...  
tar zxvf 压缩包包名  -C 路径 解压文件到指定路径

//bzp2
tar jcvf 压缩包包名.tar.gz  文件1 文件2  文件3 ...  
tar jxvf 压缩包包名 -C 路径 解压文件到指定路径

vim

安装vim

sudo apt-get install vim

安装ctags

sudo apt-get install vim

配置vim

GCC

在windows操作系统下,编译工具继承开发环境用的式vc6.0

在liunx操作系统下没有很好的继承环境让我门,用的是编译器gcc

在程序的编译氛围四个阶段:由.c到可执行程序

  • 预编译
  • 编译
  • 汇编
  • 链接

编译程序:

  1. 一步到位

    gcc hello.c -o hello

    运行程序:./hello

  2. 分步骤完成

    分步进行

makefile

makefile的语法规则

  1. 目标:依赖文件列表

通常是要产生的文件名称,目标可以是可执行文件或其他obj文件,也可是一个动作名称

2.依赖文件:

用来输入从而产生目标的文件

一个目标通常有几个依赖文件(可以没有)

​ 3.命令:

make执行的动作,一个规则可以含几个命令(可以没有)

有多个命令时,每个命令占一行

make命令的格式

make [ -f file] [targets]

1.[-f file]:

make默认在工作目录中寻找名为GNUmakefile,makefile,Makefile文件作为makefile输入文件,-f 可以指定以上名字意外的文件作为makefile输入文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iICvyXTa-1653962687665)(…/AppData/Roaming/Typora/typora-user-images/image-20220527153231971.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q9VoUHXG-1653962687667)(…/AppData/Roaming/Typora/typora-user-images/image-20220527153217549.png)]

前面makefile中出现的文件称之为假想目标

假想目标并不是一个真正的文件名,通常时一个目标集合或者动作

可以没有依赖或者命令

一般需要显示的使用make +名字 显示调用

all:execl exec2

clean :

rm *.o exec

运行时使用make clean 就会执行clean 后面的命令

makefile变量

makefile变量类似于c语言当中的宏,当makefile被make工具解析时,其中的变量会被展开,变量的作用:

保存文件名列表

保存文件目录列表

保存编译器名

保存编译参数

保存编译的输出

makefile的变量分类

  1. 自定义变量

​ 在makefile文件中的定义变量。

make工具传给makefile的变量

2.系统环境变量

make工具解析makefile前,读取系统环境变量并设置为makefile变量

3.预定义变量

自定义变量语法

定义变量:
	变量名=值
引用变量:
    $(变量名)或${变量名}
makefile变量名:
	makefile变量名可以数字开头
注意:
	1.变量大小写敏感
	2.变量一般都在makefile头部定义
	3.变量几乎可在makefile的任何地方使用
例2_2:
   修改例2中的makefile.使用自定义变量使其更加通用。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u69wl9Bi-1653962687669)(…/AppData/Roaming/Typora/typora-user-images/image-20220527161908801.png)]

系统环境变量

make工具会拷贝系统的环境变量并将其设置为makefile的变量,在makefile中可直接读取或修改拷贝后的变量

#export test=10

#make clean

#echo $test

预定义变量

makefile中有许多预定义变量,这些变量具有特殊的含义,可在makefile中直接使用

$@ 目标名

$< 依赖文件列表中的第一个文件

¥^ 依赖文件列表中的出去重复文件的部分

AR 归档维护程序的程序名,默认值为ar

ARFLAGS 归档维护程序的选项

AS 汇编程序的名称,默认值为as

ASFLAGS 汇编程序的选项

CC C编译器的名称,默认值为cc

CFLAGS C编译器的选项

CPP C预编译器的名称,默认值为$(CC) -E

CPPFLAGS C预编译的选项

CXX C++编译器的名称,默认值为g++

CXXFLAGS C++编译器的选项

最精简版

CC=gcc
obj=main
OBJ=main.o sub.o sum.o
CFLAGS= -Wall -g
$(obj):$(OBJ)
    $(CC) $^ -O $@
%*.O:%*.C
 	$(CC) $(CFLAGS) -C $< -O $@
clean:
    rm *.o $(obj) a.out -rf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值