从 git bash 命令行中窥探人生(一)

简介: 众所周知,现实世界和计算机世界是不同的,但是计算机作为人类对现实世界的抽象模拟,在一定程度上,具备了现实世界的基本特征,本文将以哲学角度对比分析现实世界和计算机世界,试图以浅显易懂的方式感受现实世界和计算机世界的联系。

众所周知,现实世界和计算机世界是不同的,但是计算机作为人类对现实世界的抽象模拟,在一定程度上,具备了现实世界的基本特征,本文将以哲学角度对比分析现实世界和计算机世界,试图以浅显易懂的方式感受现实世界和计算机世界的联系。

首先请先回顾一下哲学的基本问题问题: 我是谁,我在哪以及我要干什么?

接下来我们逐步探讨下两个世界的关联,顺便学习下 Git Bash 支持的常用命令以及 git 的基本操作。

12.png

如果还没有安装 git 环境,请参考进行 https://snowdreams1006.github.io/git/base/install.html 或者参考千呼万唤始出来章节进行安装.

哲学第一问: 我是谁

现实生活中我们每个人都有名字,身份以及责任。正是由自我和他人一起构成了”我是谁”这一基本问题:是儿子,是丈夫,是父亲,是社会中的一份子。

但是,在计算机世界中,又是谁呢?

计算机世界是虚拟世界,有的只是冰冷冷的程序和数据,有限的人机交互才创造了”我”,所以弄清楚”我是谁”的问题至关重要。

whoami : who am i 的缩写,即打印出当前登录用户。

计算机世界中,”我”表现为一个账号,用户名是唯一标识。在这个世界上不止一个用户,同一台电脑支持多个账号。

所以,”我”是计算机的用户,哪天警察检查身份证时,需要自报家门,如果你都不知道你的名字那岂不是闹笑话了?

snowdreams1006@home MINGW64 ~
$ whoami
snowdreams1006

哲学第二问: 我在哪

不论是武侠小说主角突然失忆还是被绑架桥段,第一句总是: “我是谁?这是哪?”或者”你是谁?这是哪?”。

不仅现实世界人很多,计算机世界的用户也不止一个,目录更是数不胜数。
所以,我们第二个问题就要探讨一下”我在哪”的基本问题。

echo ~ : echo 翻译为”回声”,直接表现为输出某命令的执行结果,~ 代表用户的”家”目录,即输出家目录.

现实世界中我们每个人都有自己的家,计算机世界也不例外。每个用户都有自己的家目录

试想一下,如果没有心灵的港湾,灵魂和身体该如何安放?如果没有家目录,数据默认存放到哪里去?多个用户之间的数据怎么保证相对隔离?

snowdreams1006@home MINGW64 ~
$ echo ~
/c/Users/snowdreams1006

哲学第三问: 我要干什么

现实世界中,每个人出生后会慢慢长大,或一直留在家乡或外出闯荡,终其一生,生不带来,死不带去。

其中最直观表现为每个人基本上都要工作,从而维持生活,继而创造社会价值。不论是当地就业还是外出就业,我们上班的地点被称为工作地点

家只有一个,工作地点却可以有多个,可以换工作换工作地点,但是永远只有一个家,是故乡,是出生地,是心灵的港湾。

如果这种场景反映到计算机世界,又是怎样一番场景呢?

既然和计算机打交道,不论什么交互方式,最终都无外乎输入输出两种形式。输入的是我们的投入,输出的是我们的产出。

输入输出的数据需要存储在计算机中,是以文件的形式有组织地保存起来,保存数据的目录就是工作目录,不是自己的家目录的其他目录都是我们的工作目录。

这样看起来,原来在计算机中换工作竟然这么容易,不是家目录的其他目录都是工作目录

万丈高楼平地起: 创建目录

mkdir [OPTION] DIRECTORY : make directory 的缩写,即创建目录.

万丈高楼平地起,计算机人生刚刚起步,需要搭建好大厦的基础框架,然后再往里面一点一点加东西,终将变成摩天大厦!

立下明确目标,坚定不移前往目的地,工作目录已创建,第一步已经迈出去,接下来准备前往新创建的工作目录,搭建好我们自己的高楼大厦。

snowdreams1006@home MINGW64 ~
$ mkdir /g/workpace/git-bash-demo

飘洋过海来看你: 切换目录

cd [-L|[-P [-e]] [-@]] [dir] : change directory 的缩写,即切换目录.

既然选择了前方,便只顾风雨兼程。心中的大厦蓝图等待去实现,不论是从家目录出发还是工作目录出发,既然目标工作目录已经确定,接下来如何出发便不是太麻烦的事情了。

现实世界中出发到工作地点,可以坐高铁,坐轮船,坐飞机等多种交通方式任你挑选,在计算机世界中前往工作目录就很简单,只要明确知道工作目录,一条命令瞬间直达!

snowdreams1006@home MINGW64 ~
$ cd /g/workpace/git-bash-demo

惊鸿一瞥初相见: 打印目录

pwd [-LPW] : print working directory 的缩写,即打印工作目录.

初次来到新的工作地点,第一件事就是查看当前位置以便确认漂洋过海的经历没有白费。

非家目录的其他目录都是工作目录,确认工作目录是目标目录后就可以正式投入紧张有序的工作生活中了,准备好了吗?

snowdreams1006@home MINGW64 /g/workpace/git-bash-demo
$ pwd
/g/workpace/git-bash-demo

回头四顾心茫然: 列出文件

ls [OPTION] [FILE] : list file 的缩写,即列出文件.

刚刚进入新环境,本想查看一下周围环境和同事打个招呼,蓦然发现:周围空无一人。

空荡荡的房子提醒着自己,万丈高楼平地起,创业道路孤独而艰辛!

snowdreams1006@home MINGW64 /g/workpace/git-bash-demo
$ ls

保温杯中泡枸杞: 创建文件

touch [OPTION] [FILE] : 翻译为”触摸”,有则改之无则新增,即如果文件已存在则更新权限和修改时间,否则新建文件.

身体是革命的本钱,即将开始废寝忘食的创业之旅,在高强度的工作来临之前,先检查一下保温杯在不在,在的话,洗一洗,不在的话,先去买一个再洗一洗。

snowdreams1006@home MINGW64 /g/workpace/git-bash-demo
$ touch cup.txt

枸杞茶中加枸杞: 覆盖输入

> : 覆盖输入,不论目标文件是否已有内容,新内容直接覆盖原文件内容.

保温杯中泡枸杞,第一步先往保温杯中加入枸杞,如果有其他东西先倾倒然后再加入枸杞,否则直接加入枸杞.

snowdreams1006@home MINGW64 /g/workpace/git-bash-demo
$ echo "medlar" > cup.txt

echo “medlar” 即输出枸杞,> 是重定向操作,将上一步的输出结果当做下一步的输入参数,cup.txt 是保温杯,因此该组合命令表示将枸杞倒入保温杯.

枸杞茶中倒热水: 追加输入

>> : 追加输入,在原有文件内容后面追加新内容,新内容不会覆盖原文件内容.

保温杯中已有枸杞,第二步开始倒水准备泡枸杞茶,枸杞自然不能倾倒出去,不然就叫做白开水不能叫做枸杞茶了。

snowdreams1006@home MINGW64 /g/workpace/git-bash-demo
$ echo "water" >> cup.txt

枸杞茶要慢慢品: 查看文件

cat [OPTION] [FILE] : concatenate 的缩写,翻译为”连接”,即查看文件内容.

枸杞只需一点点,温水适量,不多也不少才是最好,最好亲自品尝一下才能决定如何继续调整。

要看到文件的全部内容正如要看到枸杞茶整体一样,后续操作视观察结果而定。

snowdreams1006@home MINGW64 /g/workpace/git-bash-demo
$ cat cup.txt
medlar
water

枸杞茶要再调整: 追加并查看文件

枸杞差不多,浓度有点大,需要再加一点水,为了控制加入量,还要再品一下枸杞茶。

# 追加文件内容
snowdreams1006@home MINGW64 /g/workpace/git-bash-demo
$ echo "more water" >> cup.txt
snowdreams1006@home MINGW64 /g/workpace/git-bash-demo
# 查看文件内容
$ cat cup.txt
medlar
water
more water
相关文章
|
3月前
|
前端开发 算法 开发工具
Git分支批量清理利器:自定义命令行插件实战
Git分支批量清理利器:自定义命令行插件实战
50 0
|
7月前
|
移动开发 小程序 Linux
【Linux】Linux和Window下\r与\n的区别、git命令行的使用
目录 1. 回车换行符在Window下和在Linux下的区别: 1.1回车换行符: 1. 2.行缓冲区打印: 1.3进度条小程序 :
111 0
|
7月前
|
存储 安全 网络安全
关于使用 git 命令行时遇到的错误消息 unable to get local issuer certificate
关于使用 git 命令行时遇到的错误消息 unable to get local issuer certificate
149 0
|
11天前
|
Shell Linux
【Linux】Bash支持各种指令选项的原理:命令行参数
【Linux】Bash支持各种指令选项的原理:命令行参数
|
1月前
|
Shell 开发工具 git
【Github】git bash将本地工程上传至github
【Github】git bash将本地工程上传至github
|
2月前
|
开发工具 git
git简易的命令行入门教程
git简易的命令行入门教程
11 0
|
2月前
|
开发工具 git
git简易的命令行入门教程
git简易的命令行入门教程
31 0
|
5月前
|
Shell
Shell(如Bash)命令行技巧
Shell(如Bash)命令行技巧
28 2
|
5月前
|
Linux 开发工具 数据安全/隐私保护
3.5、Linux:命令行git的使用
3.5、Linux:命令行git的使用
39 0
|
6月前
|
编解码 Shell
将条件判断写在bash命令行
将条件判断写在bash命令行