Linux常用命令(持续更新)

1.ls:列出目录中的内容(文件和子目录)

ls 文件路径 列出该路径的文件的目录内容

(1)-l列表形式显示所有内容

(2)-h人性化显示内容

(3)-R递归显示路径上的文件

(4)-d显示该目录自身信息而不是目录中的内容

2.pwd(Print Working Directory):显示当前工作目录

3.cd(Change Directory):切换工作目录

cd是“设定一个参考点”,从cd位置寻找某某文件

cd+ls相当于Windows系统打开文件夹

如何打开文件:

补充cat

(1)可执行文件:文件路径 直接向终端输入文件路径(ps:cat 可执行文件 会显示乱码 因为可执行文件是给cpu“看”的,是二进制机器码,而cat会尝试把文件中的原始二进制数据当作文本打印到你的终端上。)

(2)文本文件:cat 文件路径  

(3)直接在终端显示内容:chco “字符串” 直接在屏幕上显示字符串信息

(4)相对路径与绝对路径

绝对路径:从根目录 / 开始,完整描述目标位置

相对路径:以当前目录为起点,使用 .(当前目录)、..(上级目录)或目录名描述路径。

~:特殊绝对路径:直接切换到当前用户的家目录(/home/用户名)

4.sudo(Super User DO)以超级用户(root)身份执行命令

sudo 命令 会以授予用户以root用户身份执行操作

sudo su(switch user):用于切换用户身份,默认切换到 root 用户

5.mkdir(makdirectory): 创建新目录(文件夹)

(1)mkdir 目录名:创建单个目录 例如mkdir new_folder 在当前工作目录下创建一个名为 new_folder 的新目录。

(2)mkdir 目录名1,目录名2,目录名3:创建多个目录 例如mkdir dir1 dir2 dir3 在当前工作目录下同时创建 dir1dir2dir3 三个目录。

(3)mkdir -p 目录名1/目录名2/目录名3:一次性创建多级嵌套的目录,即使中间路径的目录还不存在,mkdir 也会自动创建它们。例如mkdir -p project/docs/images命令执行会发生下面事情:

创建 project/ 目录(如果它还不存在)

在 project/ 里面创建 docs/ 目录(如果它还不存在)。

在 project/docs/ 里面创建 images/ 目录。

6.touch:创建新文件 

ps:注意:目录!=文件

 Linux 不强制要求后缀,但推荐添加合理后缀

(1)touch 文件名:创建新文件 例如touch filename.txt如果filename.txt不存在,则创建它。

(2)touch 文件名1,文件名2,文件名3:创建多个文件 例如touch file1.txt file2.txt file3.jpg。

7.which:查看命令所在目录位置

which 命令 例如which ls

(bin中存放可执行文件)

8.rm(remove):删除目录或文件

(1)-r(递归嘛重复的感觉re所以是r(未考证的个人感觉)):递归删除。删除目录及其所有内容(子目录和文件)。删除目录时必须使用。

(2)-f(force):强制删除。不会提示。

9.cp(copy):复制命令

cp 源文件 to 目的目录(目的文件)

cp [选项] 源文件或目录 目标文件或目录
cp [选项] 源文件1 源文件2 ... 目标目录

(1)cp 源文件 目标文件:复制一份文件到当前目录并更名为目标文件名

(2)cp 源文件 目标目录:复制一份文件到目标目录里并保持原名

(3)cp 文件1 文件2 ... 目标目录:复制多份文件到目标目录

(4)cp -r 目录1 目录2:将目录1及其包含的所有子目录和文件递归复制到目录2下。注意目录1也会被复制同时保证目录2存在

(5)cp -r 目录1/* 目录2:使用通配符*。将目录1下的所有文件和子目录(但不包括目录1本身)复制到目录2下。

(6)对于(4)(5)常用-a选项,-a会将所有属性也复制过来,包括时间,权限等等。

10.cat:读取文件内容并将其输出到终端

(1)cat 文件路径:读取内容输出到终端上

(2)tac 文件路径:会倒着写(读日志的时候可以这个命令)

(3)cat 文件1 > 文件2:文件1 会覆盖文件2

(4)cat 文件1>>文件2:文件1 会续写在文件2后面

more:分页读文件

less:分页读文件,功能更强大更推荐

head -数字 -文件:指定查看前几行

11.ln(link) :创建连接

(1)软连接:ln -s 绝对路径 自己起的文件名:在当前目录创建名为自己起的文件名的符号链接,指向绝对路径。  ps:一定要写绝对路径,不然移动后无法正常打开。

(2)硬链接:ln 原文件名 硬链接自己起的文件名

原理:目录文件中存的是同一个inode

12.chmod(change mode):改变文件或目录的访问权限

chmod [ugoa][+-=][rwxX] 文件或目录名
chmod [ugoa][+-=][rwxX], [ugoa][+-=][rwxX], ... 文件或目录名

13.sudo adduser 新用户名:新建用户。sudo add group 新组名:新建组。sudo chown 用户名 文件路径 :修改文件所有人。sudo chgrp 组名 文件路径:修改文件所有组。sudo deluser 用户名:删除用户。sudo delgroup:删除用户组。

su(switch user):切换用户      ps:cd /home/zhangsan 只是在zhangyuzhou用户下切换到zhangsan文件夹而不是切换成了用户zhangsan。

14.sudo apt-get install 软件名 :安装软件   sudo apt-get remove 软件名:卸载软件

15.gcc命令使用

(1).gcc编译4步骤:预处理 -> 编译 -> 汇编 -> 链接。

文件类型生成阶段主要作用
.cC 源代码文件初始输入程序员编写的原始 C 语言源代码。
.i预处理后的源代码文件预处理经过宏展开、头文件包含、条件编译等处理后的“纯净”C 代码。
.s汇编语言文件编译编译器将预处理后的 C 代码翻译成的平台相关的汇编语言代码(人类可读的文本格式)。
.o目标文件 (Object File)汇编汇编器将汇编代码 .s 翻译成的机器指令(二进制格式),包含代码、数据、符号表等。
.out可执行文件链接链接器将一个或多个 .o 目标文件及库文件合并、解析地址后生成的可直接运行的程序。

(简单了解下,重点还是怎么使用吧,等熟练应用后再了解这些底层的东西)

(2).gcc命令使用

基本命令格式:gcc  [选项]  <源文件名>

选项参数:

-o (output)指定输出文件名,注意只起到一个命名作用:例如 gcc -o hello hello_a.c hello_b.c 作用是将hello_a.c hello_b.c等等源文件编译汇编成可执行文件并重新命名为hello,这里之所以会编译汇编链接只是因为gcc默认行为是这么做的
-I (大写i:include)指定头文件搜索路径:当使用头文件时,编译器会去找头文件。默认会去当前目录和系统标准路径中找,当我们使用自己的头文件时,需要-I选项告诉系统去哪个目录里找头文件。例如 gcc -I ./index hello.c -o hello 作用是告诉编译器去./index目录下寻找头文件(.h 文件)。

-L 和 -l(大写l和小写l:lib)-L 指定库函数的搜索路径:目前可以简单的将库函数理解为:库函数就是你自己编写的工具函数被放在几个.c文件里。而-L就是去指定路径搜索这些库函数。-l 后面跟指定的库函数名。 -L -l 配合使用就是去具体哪个文件目录下(用-L)搜索指定的库函数(用-l)。

-c 只汇编不链接形成二进制代码机器语言。

(3).makefile编写

先上图:

这是一个简单的makefile,首先这个文件的文件名一定叫Makefile或者makefile,进去编辑

简单来看就是把gcc命令中的文件换成变量,就像写程序时用变量就方便修改了

像变量一样:

对于这条编译指令:gcc -o kvstore kvstore.c kvstore_array.c epollentry.c -I ./

cc = gcc

app = kvstore

srcs = kvstore.c kvstore_array.c epollentry.c

flags = -I ./

可以把左边这些看作变量。

$()作用:就是make这个软件在遇到$()时会将里面的东西换成=右边的东西

kvstore作用:就是系统会找kvstore:这个标记,下一行一定要缩进,这个格式表示这句是编译指令。

特殊符号:

        ^就等于全体依赖文件,即kvstore:,冒号后面的所有文件

        @专指目标文件,即kvstore:,冒号前面的目标文件名

所以编译指令还能写成下面这种格式 

kvstore:kvstore.c kvstore_array.c epollentry.c

       $(cc) -o $^$@$(flags)

Linux根目录中的几个文件夹存储的内容

Linux系统文件类型

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值