前言
为什么Linux命令让很多新手感觉到很难呢?主要是没有掌握对的方法,吴工刚开始学习的时候妄图把它拿捏,特意打印了十几页Linux命令每天拿着背,不能说没有效果只能说微乎其微背了个寂寞。
正确的解锁方式:
- 掌握常见的几个Linux基础命令,其他用到什么就查,不要想着全盘掌握又不会考试
- 不用死记硬背,不要跟自己过不去,直接上手操作,用多了自然就熟悉了也可以搞个笔记收集自己常用到的命令
- 学会使用万能的--help命令(有点晦涩难懂,对于新手百度最实用)
- 学会用AI,这些命令都是非常基础的,AI的准确率非常高不会出现糊弄你的情况所以可以借助AI学习,https://yiyan.baidu.com/
- 面向搜索式编程,记住这么多不常用命令太费精力,又不是让你炫技,还不如用到什么直接查一下
视频教程
【新手必学Linux常用命令】立创·泰山派RK3566 Linux开发板训练营第二课
Linux常用命令
下面每个命令都可以带参数,但是为了方便理解只讲最简单和最常用的使用方法,更多的高级用法大家在后续使用过程中陆续去探索。
ls:列出当前目录中的文件和文件夹
ls [选项/可为空] [文件/目录/可为空]
以下是一些ls命令的示例:
- 列出当前目录下的文件和目录:
ls
- 列出指定目录下的文件和目录:
ls /a/b/directory
- 以长格式列出文件和目录的详细信息,包括文件权限、所有者、大小等:
ls -l
- 显示所有文件,包括隐藏文件:
ls -a
- 以易读方式来显示大小。
ls -lh组合选项,
演示
mkdir:创建新的目录
mkdir [选项/可为空] 目录名
以下是一些mkdir
命令的示例:
- 创建单个目录:
mkdir 目录
- 递归创建目录:
mkdir -p /路径/目录
演示
cd:更改当前工作目录
cd [目录路径]
以下是一些cd命令的示例:
- 进入指定目录:
cd /目录
- 进入当前用户的主目录(通常是/home/username):
cd
- 进入上一级目录:
cd ..
- 进入上上级目录:
cd ../..
- 进入子目录:
cd directory
- 进入上次访问的目录:
cd -
演示
pwd:显示当前所在的工作目录的路径
touch:创建空文件
cat:查看文件内容,可以用于连接文件并显示内容
cp:复制文件或目录
rm:删除文件或目录
rm [选项/可为空] [文件或目录...]
- 删除文件:
rm file.txt
- 删除目录:
rm -r directory
- 强制删除所有文件或者目录,大家常说的删库跑路不可逆谨慎使用:
rm -rf *
演示
mv:移动文件或目录,也可以用于重命名文件或目录
mv [选项/可为空] 源文件或目录 目标文件或目录
以下是一些mv命令的示例:
- 将文件移动到目标位置:
mv file.txt /a/b/destination/
- 将文件重命名:
mv oldname.txt newname.txt
- 将多个文件移动到目标位置:
mv file1.txt file2.txt /a/b/destination/
- 将目录移动到目标位置:
mv directory/ /a/b/destination/
演示
grep:在文件中搜索字符
grep [选项/可为空] 模式 文件名
在当前目录及其子目录中递归搜索包含字符串,并在找到的行前显示行号。:
grep -r -n "要查找的字符" ./
find :查找文件
find [路径] [选项] [操作]
选项:这里有很多比如-name文件名字,-type文件类型,-size文件大小等,这里最常用的是通过文件名查找,所以我们就只演示这个选项,其他的很少用到有需要的自行学习
find . -name "tspi-rk3566-dsi-v10.dtsi"
find
:命令本身,用于查找文件和目录。.
:代表当前目录,即从当前目录开始查找。-name
"tspi-rk3566-dsi-v10.dtsi":指定了查找的条件,这里是查找文件名为 “tspi-rk3566-dsi-v10.dtsi” 的文件。
tar:常用的文件打包和压缩工具
当然还有其他的工具比如zip、unzip等,这里只讲tar其他大家用到自行百度原理都是相同的。
tar [选项] [压缩文件名] [文件或目录...]
tar [选项] [压缩文件名] [文件或目录...]
常用的选项包括:
-c
:创建压缩文件-x
:提取压缩文件-z
:使用 gzip 算法压缩文件-j
:使用 bzip2 算法压缩文件-J
:使用 xz 算法压缩文件-f
:指定归档文件的名称-v
:显示详细的处理信息-z -j -J
这三种参数如何选择?如果对时间比较敏感,可以使用-z
参数进行gzip
压缩,虽然压缩比较低,但速度较快。而如果您对压缩比较重要,可以选择-j
参数进行bzip2
压缩,尽管速度较慢,但压缩比较高,如果您对压缩率要求非常高,可以选择-J
参数进行xz
压缩需要更长的时间。
下面提供几个常见的后缀名和对应的压缩和解压命令,大家不用太过纠结命令组合,以后看见相应的后缀直接用对应的命令就行。
.tar.gz 或 .tgz:
压缩:tar -czf package.tar.gz file1.txt file2.txt directory
解压缩:tar -xzf package.tar.gz
2
.tar.bz2 或 .tbz2:
压缩:tar -cjf package.tar.bz2 file1.txt file2.txt directory
解压缩:tar -xjf package.tar.bz2
2
.tar.xz:
压缩:tar -cJf package.tar.xz file1.txt file2.txt directory
解压缩:tar -xJf package.tar.xz
2
演示
还有一个特殊命令我们经常会看到-C是大写C他的作用是指定tar 命令执行时的工作目录
vim:编辑器
vim非常非常强大,这里我们只讲最基本的用法,目的是为了大家能够用其来修改一些简单文件,比如我们需要修改源sudo vim /etc/apt/sources.list
- 安装vim
sudo apt-get install vim
- 打开或者创建一个文件
vim filename.txt
如果是root权限文件需要在前面加sudo
sudo filenam.txt
2
3
- vim模式
- 正常模式,启动就会进入这个模式,在此模式下可以使用快捷键
- 插入模式,这个模式可以编辑内容
- 命令模式,可以保存或者设置vim
- 插入文本
- 要插入文本我们首先要进入到插入模式,通过安装字母i进入,编辑完成以后按esc退出
- ctrl+insert可以粘贴文本
- shitf+insert可以粘贴文本
- 退出插入模式esc
- 正常模式
- 删除一行:dd
- 复制一样:yy
- 将复制或删除的内容粘贴在光标之后:p
- 撤销:u
- 回退:ctrl+r
- 命令模式
- 通过按:进入命令模式(shift+;这个打出:)
- 设置行号:set nu
- 保存文件:w
- 退出vim:q
- 保存同时退出:wq
- 强制退出:q!
常用快捷键:
- tab键:按下Tab键会自动补全命令和路径,建议不要自己一个个手打,所用补全键可以避免很多输入错误问题。
- ctrl+c键:强行终止
- 方向上键快速查看上一条命令
- 方向下键快速查看下一条命令
Git常用命令
为什么要学习git呢?我相信刚入门的小伙伴敲打肯定碰到过这种玄学问题,我明明刚刚还能用的代码,后面不知道咋的就不能用了,所以每次你调出一个功能点以后都会手动复制一份代码防止出问题,时间一长发现整个目录全是你复制的乱七八糟的版本头大炸了,Git工具完美的解决了这些问题。这里简单的列出几个git优点。
- 多人协作开发:Git 允许多个团队成员同时对同一代码库进行修改和提交,有效提高协作开发效率。
- 版本控制:Git 记录所有修改历史,并且可以方便地回退或者查看历史版本,可以避免由于误操作导致代码丢失的问题。
- 分支管理:Git 支持创建并管理多个分支,可以在不影响主干代码的同时,方便进行代码测试、版本迭代、功能开发、修复等操作。
- 远程仓库:Git 可以轻松地与远程仓库进行交互,方便在多个不同的部署环境中同步代码库。
步骤1:安装 Git
sudo apt update
sudo apt install git
2
步骤2:配置 Git
在使用 Git 之前,需要配置用户名和电子邮件地址(如果不提交远程可以随便配置):
- 在终端中,运行以下命令来设置你的用户名:
git config --global user.name "你的用户名"
- 运行以下命令来设置你的电子邮件地址:
git config --global user.email "你的电子邮件地址"
步骤3:创建和克隆仓库
- 在终端中,进入要创建仓库的目录或选择要克隆仓库的目录。
- 创建一个新的本地 Git 仓库:
git init
- 克隆一个远程 Git 仓库(如果已存在):
git clone 远程仓库的 URL
步骤4:常用 Git 命令
以下是一些常用的 Git 命令示例:
- 查看仓库状态: git status
- 添加文件到暂存区:
git add 文件名
- 提交更改到仓库:
git commit -m "提交信息"
- 查看提交历史:
git log
- 创建新分支:
git branch 分支名
- 切换到分支:
git checkout 分支名
步骤5:推送和拉取代码
推送和拉取代码是与远程仓库进行交互的关键操作。
- 推送代码:
git push 远程仓库名 分支名
- 拉取代码:
git pull 远程仓库名 分支名
步骤6:撤销更改
有时你可能需要撤销之前的更改或回退到之前的版本。
- 撤销对文件的修改:
git checkout 文件名
补丁
之前我们学习梁山派等单片机的时候,给其他人分享代码都是整个工程直接复制的,包括我们提供的案例也是基本一个功能对应一个工程,但Linux和Android的SDK是非常庞大的如果我们给其他人分享代码也是通过拷贝SDK那真的要累死个球。在本次训练营中我们后面给大家分享特定功能代码的时候也会通过补丁方式提供。
抽补丁
创建一个新的本地 Git 仓库:
git init
添加文件到暂存区:
git add 文件名
提交更改到仓库:
git commit -m "提交信息"
抽补丁:
git diff > my_patch_name.patch
打补丁
patch < my_patch_name.patch
演示: