Linux命令+Git命令
2026/7/30 18:15:22 网站建设 项目流程

Linux命令+Git命令

  • linux
    • 查看
    • 两个操作系统cd命令的区别
    • 操作文件和文件夹
    • vim
      • 不同模式
      • 复制粘贴
  • Git
    • 注意事项
    • 基本操作
      • 查看和修改信息
      • git提交项目提示账号密码错误
      • 提交操作的区别
      • branch
      • 建立-拉取--提交
      • 拉取操作的时候
      • 拉取和推送,没有参数的时候
    • git bash常用的快捷键

完整并且进阶的Linux :https://blog.csdn.net/m0_74133525/article/details/155363577?spm=1011.2415.3001.10575&sharefrom=mp_manage_link
完整并且进阶的Git:https://blog.csdn.net/m0_74133525/article/details/155825822?fromshare=blogdetail&sharetype=blogdetail&sharerId=155825822&sharerefer=PC&sharesource=m0_74133525&sharefrom=from_link

linux

Linux操作系统中,几乎所有的东西都以文件夹或文件形式存在,这些文件夹/文件有一个共同的根目录/。如果我们在某块磁盘A上(无其他分区)安装了Linux操作系统后,那么根目录下将会有此类默认的系统目录:

$ls/ bin etc lib mnt proc run tmp var boot dev home root srv sys usr

查看

经常去pwd + ls + tree!!!

ls -al 类似于 dir /a

  1. dir+ls命令
  • Windows

    • dir是 Windows 命令提示符(CMD)中默认的命令,用来列出当前目录下的文件和文件夹。它不需要安装任何东西
  • Linux

    • ls用来列出当前目录的文件和子目录。
  1. Linux 下ls命令的常用选项:

  2. -l(详细信息)

    • -l选项让ls显示文件和目录的详细信息,包括权限、链接数、所有者、组、文件大小、修改时间等。

    示例:

    ls-l

    输出示例:

    -rw-r--r--1user group12345Apr1510:30 file.txt drwxr-xr-x2user group4096Apr1510:00 mydir
    • 第一列表示文件权限。
    • 第二列是硬链接数。
    • 第三列是文件的所有者。
    • 第四列是文件的所属组。
    • 第五列是文件大小(以字节为单位)。
    • 第六列是最后修改时间。
    • 最后一列是文件名或目录名。
  3. -a(显示所有文件,包括隐藏文件)

    • -a选项显示目录中的所有文件,包括以点(.)开头的隐藏文件(例如.bashrc)。

    示例:

    ls-a
  4. -la-al(显示详细信息并显示所有文件)

    • 可以将-l-a选项组合使用,显示所有文件和详细信息。
  5. Windows 下dir命令的常用选项:

  6. /Q(显示文件所有者)

    • 显示文件的所有者(类似于ls -l中显示的所有者信息)。

    示例:

    dir /Q
  7. /A(显示所有文件,包括隐藏文件)

    • dir命令的/A选项用于显示所有文件,包括隐藏文件和系统文件。你可以通过指定/A:H来只显示隐藏文件,或者/A:S来只显示系统文件。

    示例:

    dir /A
  8. /Q+/A(显示文件所有者并显示隐藏文件)

    • 如果要显示详细的文件信息并包括隐藏文件,你可以将/A/Q选项组合使用。

    示例:

    dir /A /Q
  9. /T(显示文件时间)

    • dir /T选项用于显示文件的时间戳(例如创建时间、修改时间、最后访问时间)。/T:C表示显示创建时间,/T:A表示显示最后访问时间,/T:W表示显示最后修改时间。

    示例:

    dir /T:W
  10. tree命令

  • Windows

    • tree命令默认在 Windows 系统中可用,它用于以树形结构显示目录及其子目录。无需额外安装。
  • Linux

    • tree命令在大多数 Linux 发行版中不自带,通常需要单独安装。例如,在基于 Debian 的系统(如 Ubuntu)中,可以通过以下命令安装:
      sudoaptinstalltree
    • 安装后,使用tree命令查看目录结构。
    • 示例:
      tree
    • 这会显示当前目录及其子目录的树状结构。

两个操作系统cd命令的区别

cd 命令在 Linux 和 Windows 中都可以接受绝对路径和相对路径,都是.表示当前目录,..表示父目录
cd /d E:/lang适用于切换盘符并进入指定目录。
但是只有在 Windows 中,/d是用来切换盘符的,因为 Windows 文件系统基于不同的盘符来管理不同的磁盘,
在 Linux 中,cd不需要-d或类似的选项,只需要指定路径,不需要考虑盘符的问题,因为 Linux 是一个基于文件系统树的操作系统。它的文件系统是统一的,所有的磁盘和分区都挂载到一个根目录/下。
除了盘符切换(/d选项)的区别外,Linux 和 Windows 中的cd命令在行为和一些细节上也有一些不同:

  1. 路径表示
  • Linux
    • 使用/来表示目录分隔符。例如:/home/user/docs
    • 路径是区分大小写的。也就是说,/home/user/home/User是不同的路径。
  • Windows
    • 使用\来表示目录分隔符。例如:C:\Users\Documents
    • 路径不区分大小写。例如,C:\UsersC:\users被视为相同路径。
  1. 环境变量

    • Linux
      • 在 Linux 中,cd可以通过~来表示当前用户的主目录。例如,cd ~会切换到当前用户的家目录/home/username
      • cd也支持-来返回到上一个目录(即最近访问的目录)。例如,cd -会切换到上次访问的目录。
    • Windows
      • Windows 命令行中,cd命令不支持~表示当前用户目录(但是 PowerShell 中支持)。例如,cd ~在普通的命令提示符下会报错。
      • 同样,Windows 命令行也支持cd -来返回上一个目录,这个功能在某些版本的 CMD 中可能不可用,但 PowerShell 中则支持。
  2. 路径中的空格

  • Linux
    • 如果路径中包含空格,通常需要用引号或反斜杠来转义。例如:cd "My Documents"cd My\ Documents
  • Windows
    • 同样的情况,如果路径中有空格,使用引号包围路径。例如:cd "C:\Users\My Documents"

操作文件和文件夹

  1. 创建文件
  • Linux

    • touch:用来创建一个空文件,或者更新已有文件的修改时间戳。
      • 示例:touch newfile.txt会创建一个名为newfile.txt的空文件。
  • Windows

    • type nul > filename:Windows 中没有直接类似touch的命令,但可以通过type nul创建一个空文件。
      • 示例:type nul > newfile.txt创建一个空的newfile.txt文件。
  1. 创建文件夹(目录)
  • Linux

    • mkdir:用来创建一个新的目录。
      • 示例:mkdir newdir会创建一个名为newdir的目录。
  • Windows

    • mkdirmd:在命令提示符中,mkdirmd都可以用来创建一个新的目录。
      • 示例:mkdir newdir会创建一个名为newdir的目录。
  1. 移动文件或文件夹
  • Linux

    • mv:用来移动文件或文件夹。如果目标是一个路径,mv会将文件移动到该路径;如果目标是另一个文件名,mv会将文件重命名。
      • 示例:mv file.txt /newdir/会把file.txt移动到/newdir/目录。
      • 示例:mv oldname.txt newname.txt会把文件oldname.txt重命名为newname.txt
  • Windows

    • move:Windows 中的move命令用于移动文件或目录,功能与mv类似。
      • 示例:move file.txt D:\newdir\会把file.txt移动到D:\newdir\目录。
  1. 删除文件或文件夹
  • Linux

    • rm:用于删除文件或目录。rm默认只删除文件,要删除目录,需要使用-r选项(递归删除)。
      • 示例:rm file.txt删除文件。
      • 示例:rm -r dir删除目录及其内容。
  • Windows

    • del:用于删除文件。
      • 示例:del file.txt删除文件。
    • rmdirrd:用于删除空目录。如果目录中有内容,需要使用/s选项递归删除。
      • 示例:rmdir /s /q dir删除目录及其所有内容,/q是安静模式,不提示确认。
  1. 拷贝文件或文件夹
  • Linux

    • cp:用于复制文件或目录。cp命令默认只复制文件,若要复制目录,需要使用-r选项。
      • 示例:cp file.txt /newdir/会将file.txt复制到/newdir/目录。
      • 示例:cp -r dir /newdir/会将整个目录dir复制到/newdir/中。
  • Windows

    • copy:用于复制文件。
      • 示例:copy file.txt D:\newdir\会将file.txt复制到D:\newdir\目录。
    • xcopy:用于复制文件和目录,包括子目录。
      • 示例:xcopy /E dir D:\newdir\会将目录dir及其内容复制到D:\newdir\中。

    总结:

操作Linux 命令Windows 命令
创建文件touchtype nul > filename
创建文件夹mkdirmkdirmd
移动文件/文件夹mvmove
删除文件rmdel
删除文件夹rm -rrmdirrd
拷贝文件cpcopy
拷贝文件夹cp -rxcopy

vim

vim是Linux的文本编辑器,有很多命令和模式。

不同模式

Vim的操作依赖于 不同的模式,每个模式下键盘按键的功能不同。、

  1. 普通模式(Normal Mode)
  • 功能:这是 Vim 的默认模式,也是最常用的模式。在普通模式下,你可以执行各种命令和操作,如移动光标、删除字符、复制、粘贴、查找等。
  • 操作:按键并不直接插入字符,而是触发命令。例如,按h移动光标向左,按d删除文本,按yy复制一行,按p粘贴等。
  • 如何进入:启动 Vim 后默认进入普通模式。如果你在其他模式(如插入模式)下,可以按Esc返回普通模式。
  1. 插入模式(Insert
  • 功能:在插入模式下,你可以像在普通文本编辑器中一样输入字符。你在此模式下编辑文本。
  • 操作:按键直接插入文本,类似于大多数文本编辑器中的操作。
  • 如何进入:按i(插入当前位置)、I(行首插入)、a(当前光标后插入)、A(行尾插入)、o(下一行插入)、O(上一行插入)等都可以进入插入模式。
  • 如何退出:按Esc返回普通模式。
  1. 命令模式(Command-Line Mode)

    • 功能:命令模式允许你输入文件操作命令,如保存、退出、搜索、替换等。在命令模式下,你可以执行各种与文件操作相关的命令。
    • 操作:常用命令包括:w保存文件、:q退出、:wq保存并退出等。
    • 如何进入:在普通模式下,按:进入命令模式。
    • 如何退出:按Esc返回普通模式。
  2. 可视模式(Visual Mode)

  • 功能:可视模式允许你选择文本,然后对选择的文本进行操作(如复制、删除、格式化等)。
  • 操作:按键用于操作选中的文本。例如,按d删除选中的文本,按y复制选中的文本。
  • 如何进入:按v进入字符可视模式,按V进入行可视模式,按Ctrl-v进入块可视模式。
  • 如何退出:按Esc返回普通模式。
  1. 替换模式(Replace Mode)
  • 功能:替换模式允许你在光标下直接替换字符。
  • 操作:按下一个字符会替换当前光标位置的字符。
  • 如何进入:按R进入替换模式,按r替换当前光标位置的字符。
  • 如何退出:按Esc返回普通模式。
  1. 底部命令行模式(Ex Mode)
  • 功能:底部命令行模式允许执行更复杂的命令,通常在执行:ex:visual等命令时使用。
  • 操作:这个模式主要用于复杂的文件操作和搜索等。
  • 如何进入:通常通过:进入命令模式后执行特定命令。

总结 Vim 模式:

模式简述如何进入如何退出
普通模式默认模式,进行文本编辑、移动光标、执行命令等启动 Vim 或按Esc
插入模式输入文本模式i(插入),a(追加)等进入Esc返回普通模式
命令模式执行命令,如保存、退出、查找、替换等普通模式按:进入Esc返回普通模式
可视模式选择文本模式,进行文本操作(如复制、删除等)v(字符模式),V(行模式),Ctrl-v(块模式)Esc返回普通模式
替换模式替换模式,直接替换光标下的字符R进入替换模式Esc返回普通模式
底部命令行模式用于执行复杂的操作命令,如执行多行操作或编辑命令。主要用于高级操作:进入命令行模式Esc返回普通模式

复制粘贴


----摘抄留名----

Git

注意事项

  1. pull过来,merge处理冲突,同时保证最新!
  2. git bash here还是普通文件夹,只有git init才变成了本地仓库
  3. git checkout 切换之前,必须git status确保没有commit剩余!!!否则报错
  4. merge和push pull都有可能冲突,解决冲突之后要,重新a,c,p
  5. gitlab私有软件托管,只要企业内部
  6. 可以通过邀请成员获得push权限,成为仓库的开发人员。也可以让别人PR你的代码,这样就不用成为仓库的开发者了,但是你需要审核之后再merge
  7. PR需要先fork然后在自己这里进行PR就可以指定自己的的哪个分支去merge到原来仓库的哪个位置

基本操作

查看和修改信息

// 查看修改完后的用户名:gitconfig user.namegitconfig user.name"name"// 设置 // 查看修改完后的邮箱:gitconfig user.emailgitconfig user.email"email"// 设置 // 查看修改完后的密码:gitconfig user.passwordgitconfig user.password"password"// 设置 // 查看全局的用户名和邮箱gitconfig--globaluser.namegitconfig--globaluser.email // 设置全局的用户名和邮箱gitconfig--globaluser.name"name"gitconfig--globaluser.email"email"

git提交项目提示账号密码错误

参考------Incorrect username or password ( access token ) fatal

提交操作的区别

命令功能描述备注
git commit提交已通过git add暂存的文件需要手动使用git add添加更改文件
git commit -a自动执行了一次git add,然后才会提交暂存区里面的所以可以再git add -A 之后再进行一次,防止两次命令直接存在修改了但是没有暂存的文件
git add将指定的文件更改添加到暂存区可以指定文件名或使用通配符(如*
git add -A所有更改(包括新增、修改、删除)添加到暂存区更安全,经常用,整个工作目录中
git add .当前目录下新增和修改的经常用,当前目录及其子目录

branch

删除本地分支:

gitbranch-dfeature-branch

如果需要删除远程分支,可以:

gitpush origin--delete<branchname>

或者使用更短的语法:这个貌似相当于递归自己给了自己,然后就删除远程分支了

gitpush origin :<branchname>

创建远程分支:

gitpush<远程主机名><本地分支名>:<远程分支名>

如果远程分支不存在,这个命令会创建一个新的远程分支。


查看远端分支

gitbranch-r

要查看所有本地分支及其最后一次提交的信息,可以使用:

gitbranch-v

而要查看本地分支与远程分支的关系,可以使用-vv选项:

gitbranch-vv

这将显示本地分支是否跟踪了远程分支

建立-拉取–提交

建立连接远程仓库

  • 本地0进度
    git clone完全复制过来创建仓库
    “origin” 是克隆操作默认使用的名称

公有的 http
私有的 ssh 用密钥

  • 本地有进度
gitremoteaddorigin 地址

更新到远程仓库

gitpush origin 本地分支:远程分支

git push底层执行了merge,需要手动解决冲突
更新到本地仓库
先看看是不是upto date
out of date就需要拉取:::

方法1.git remote show orgin 方法2.git status 不可以!!!

git fetch origin master + git merge origin/master 等于

gitpull origin 远程分支:本地分支

拉取操作的时候

  • $ git pull origin feat_slx_2022005597:master
  • $ git push origin 自己的分支名:feat_slx_2022005597
    把远程分支先拉到本地master,之后创建自己分支,再去操作
    –等价于–
  • $ git checkout feat_slx_2022005597
  • $ git pull
    checkout之后两个git指针自动同步到同样的位置,也也就是远程的分支也指向了,所以可以直接pull
    之后就可以创建自己分支操作

拉取和推送,没有参数的时候

默认行为是拉取当前分支的远程分支的最新更改
当前分支设置了追踪(tracked)某个远程分支,那么git pull会自动拉取该远程分支的最新更改并合并到当前分支中
当前分支没有设置追踪任何远程分支,那么git pull命令将会产生一个错误,提示使用git branch --set-upstream-to=origin/remote_branch your_branch来设置远程分支的追踪关系
所以可以提前git branch -vv看一下与谁关联的

git push没有指定分支的时候,会先看看远程有没有分支名称一样的,如果有会自动进行配对。如果没有,则会自动创建一个对应的远程分支

git bash常用的快捷键

git入门教程

操作快捷键备注
复制Ctrl + Shift + CCtrl + Insert可以使用数字小键盘的 0 键,更加方便。
粘贴Ctrl + Shift + VShift + Insert前者与默认截图热键冲突时可以使用后者。
跳转至行首Ctrl + A将光标移动到当前行的开头。
跳转至行尾Ctrl + E将光标移动到当前行的末尾。
删除光标左侧所有字符Ctrl + U删除光标左侧的所有字符(包括空格)。
删除光标右侧所有字符Ctrl + K删除光标右侧的所有字符(包括空格)。
查找命令历史记录Ctrl + R输入关键词后,按多次Ctrl + R可返回下一个匹配项。
清屏ctrl + L等同于clear

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询