Linux命令+Git命令

发布于:2025-04-17 ⋅ 阅读:(31) ⋅ 点赞:(0)

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-- 1 user group 12345 Apr 15 10:30 file.txt
    drwxr-xr-x 2 user group 4096 Apr 15 10: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)中,可以通过以下命令安装:
      sudo apt install tree
      
    • 安装后,使用 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 命令
创建文件 touch type nul > filename
创建文件夹 mkdir mkdirmd
移动文件/文件夹 mv move
删除文件 rm del
删除文件夹 rm -r rmdirrd
拷贝文件 cp copy
拷贝文件夹 cp -r xcopy

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 返回普通模式

保存和退出

  1. 保存文件并退出 (:wq)

    • 命令:wq:x
    • 功能:保存文件并退出 vim
    • 操作步骤
      1. Esc 键确保你处于 普通模式(命令模式)。
      2. 输入 :wq,然后按 回车
      3. :w 表示保存文件,q 表示退出。
      • 或者,你可以使用 :x,它的效果与 :wq 一样,都会保存并退出。

    示例

    :wq
    

    或者:

    :x
    
  2. 仅保存文件 (:w)

    • 命令:w
    • 功能:保存文件,但不退出 vim
    • 操作步骤
      1. Esc 键确保你处于 普通模式
      2. 输入 :w,然后按 回车

    示例

    :w
    
    • 这会将当前编辑的内容保存到文件中,但仍然留在 vim 中继续编辑。
  3. 仅退出 (:q)

  • 命令:q
  • 功能:退出 vim,如果文件已经保存,直接退出;如果文件没有保存,会提示警告。
  • 操作步骤
    1. Esc 键确保你处于 普通模式
    2. 输入 :q,然后按 回车

示例

:q
  • 如果文件没有保存,vim 会显示警告信息,如 E37: No write since last change (add ! to override),表示文件有未保存的更改。
  1. 强制退出 (:q!)

    • 命令:q!
    • 功能:强制退出 vim,不保存文件。
    • 操作步骤
      1. Esc 键确保你处于 普通模式
      2. 输入 :q!,然后按 回车
    • 这个命令会 丢弃所有未保存的更改,直接退出。

    示例

    :q!
    
  2. 保存文件到不同的文件名 (:w filename)

  • 命令:w filename
  • 功能:将文件保存到一个新的文件名。
  • 操作步骤
    1. Esc 键确保你处于 普通模式
    2. 输入 :w newfile.txt,然后按 回车

示例

:w newfile.txt

Git

注意事项

  1. pull过来,merge处理冲突,同时保证最新!
  2. git bash here还是普通文件夹,只有git init才变成了本地仓库
  3. git checkout 切换之前,必须git status 确保没有commit剩余!!!否则报错
  4. 区别
命令 功能描述 备注
git commit 提交已通过 git add 暂存的文件 需要手动使用 git add 添加更改文件
git commit -a 提交所有已跟踪文件的更改(自动暂存已更改的文件) 不会提交新文件,需要使用 git add 添加新文件
git add 将指定的文件更改添加到暂存区 可以指定文件名或使用通配符(如 *
git add -A 将 所有更改(包括新增、修改、删除)添加到暂存区 更安全的选项,可以确保不会错过任何修改
git add 当前目录下所有未add的进行add操作 经常用
  1. merge和push pull都有可能冲突,解决冲突之后要,重新a,c,p
  2. gitlab私有软件托管,只要企业内部

建立连接远程仓库

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

公有的 http
私有的 ssh 用密钥

  • 本地有进度
git remote add  origin 地址

更新到远程仓库

git push  origin  本地分支:远程分支

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

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

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

git pull orgin  远程分支:本地分支

git bash常用的快捷键

git入门教程

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

网站公告

今日签到

点亮在社区的每一天
去签到