Udacity课程选修内容shell

Shell 资源
Shell脚本编程30分钟入门
Bash 学院(英)
Bash 初学者指南(英)
Bash 编程指南(英)
Regexr — 学习正则表达式(英)
终端的$:表示他是shell的变量
一条命令
echo $COLUMNS X $LINES
会打印出你终端窗口大小
ls 列出当前目录的文件
打开shell在主目录
cd 加路径改变目录
cd …返回父目录
哪些命令会列出 Pictures 目录下的内容??
选择所有正确的选项

ls Pictures

cd Pictures; ls

ls Pictures/…/Pictures

cd ~回到主目录
ls .查看当前目录文件等同于ls
ls ~查看主目录中的文件
为何 shell 命令都非常简短?

要输入的内容更少。
shell命令有选项
ls -l:详细列出文件
*.pdf
列出 *后的以.pdf 结尾的文件
习题 1/2
你可以从 ls -l 中找到哪些信息?要回答该问题,你可以需要调查下;使用你最喜欢的搜索引擎。

列出的每个文件或目录的名称。

文件上次修改日期和时间。

文件的大小(字节)。

如果你想列出所有名称以单词 bear 开头的文件,该如何操作?

==;==让你可以多写一条命令

ls bear*

pwd查看当前目录
*代表全部文件
假设我改变了主意,想要将 epub 文件从 Documents/Books 移回到 Documents。如何操作?我当前的工作目录是我的主目录,Documents 位于该目录中。 请标记每个可行的答案:

mv ‘Documents/Books’/* Documents

cd Documents; mv ‘Books’/*.epub .

cd ‘Documents/Books’; mv * …

顺便提下,在 shell 中引用内容时,请始终使用直引号。如果你输入到终端窗口中,将会获得相关内容。但是,如果从网页或文档中进行复制,一定要小心不是“弯引号”。弯引号在 shell 中不可行。

在 shell 中,单引号和双引号的作用不太一样。如果不确定使用哪种引号,请选择单引号。
.当前目录
..父目录
~主目录
mkdir 加路径创建文件夹
mv 路径或文件 路径
路径文件可以加单引号
cat 文件名
列出全部文件
less 文件名
列出部分文件
删除命令
rm
删除目录
rmdir
rm -i询问是否删除

你有四个文件,名称分别为:

Good File
Bad Name Good File
Bad File
Good Name Bad Face
你想删掉第 3 个和第 4 个文件,并保留第 1 个和第 2 个文件。下面的两个命令可以实现这一操作,请选择:

rm ‘Bad File’ ‘Good Name Bad Face’

rm *‘Bad F’*
grep 查看是否字符串在文件中行
grep 字符 文件
管道命令|
grep 字符 文件 | less
计数wc 他的-l是行的意思
grep 字符 文件 | wc -l
等同
grep -c 字符 文件
还可以直接查看
curl “URL” | grep 字符
非永久添加环境变量
PATH=$PATH:新目录
shell变量赋值
变量名=‘zifu’

在.bash_profile配置文件中加入PATH=$PATH:新目录即可永久在每次打开shell的时候添加环境变量
有一个我用来构建长而复杂的 $PS1 提示符的工具的屏幕截图。该工具由 Julien Ricard 构建,网址为 http://bashrcgenerator.com by。请试试!

alias 别名=‘shell命令’

初次配置 Git

在开始使用 Git 之前,你需要配置 Git。在命令行工具中运行以下每行,确保所有选项都已被配置好。

#设置你的 Git 用户名
git config --global user.name “”

#设置你的 Git 邮箱
git config --global user.email “”

#确保 Git 输出内容带有颜色标记
git config --global color.ui auto

#对比显示原始状态
git config --global merge.conflictstyle diff3

git config --list
Git 与代码编辑器
最后一个配置步骤是让 Git 能与你的代码编辑器结合使用。以下是三个最热门的代码编辑器。如果你使用的是其他编辑器,则在 Google 中搜索“修改 Git 默认编辑器为 X 编辑器”(将 X 替换为你的代码编辑器的名称)。

Atom Editor 设置
git config --global core.editor “atom --wait”
Sublime Text 设置
git config --global core.editor “‘C:/Program Files/Sublime Text 2/sublime_text.exe’ -n -w”
VSCode 设置
git config --global core.editor “code --wait”

Git 基础 - 获取 Git 仓库

从头创建仓库

在对 Git 仓库进行 commit 或执行任何其他操作之前,需要一个实际存在的仓库。要使用 Git 新建一个仓库,我们将使用 git init 命令。

init 子命令是"initialize"(初始化)的简称,这个命令很有用,因为它将进行所有仓库初始设置。稍后我们将了解它的作用。

所需的命令
注意!我们将在这节课使用以下终端命令:

ls - 用来列出文件和目录
mkdir - 用来新建目录
cd - 用来更改目录
rm - 用来删除文件和目录
如果你不知道如何使用它们,请参阅我们的 Linux 命令行基础 课程!

我们还会涉及的一个概念是当前目录,即你的 shell 正在查看的目录。使用 cd 可以更改工作目录,使用 ls(单独使用)会列出工作目录下的文件。如果你忘记 shell 的当前工作目录,可以使用 pwd 命令(表示 print working directory 输出工作目录)输出该目录的名称。

创建课程目录
我们将为本课程新建一个项目。因为我们都是专业人士,因此我们希望我们的项目具有条理性。如果你已经在计算机上有一个放置所有项目的文件夹,则可以继续这么做。我会将所有的工作文件存储在目录 udacity-git-course 下。

如果你想跟着我一起操作:

创建一个目录,叫做 udacity-git-course

在该目录中,创建另一个目录,叫做 new-git-project

使用 cd 命令移到 new-git-project 目录下

如果你和我一样喜欢复制粘贴,则在终端上运行以下命令:- mkdir -p udacity-git-course/new-git-project && cd $_(在运行此命令前,确保使用 cd 命令转到你想将这些文件存储到的位置。例如,如果你想将文件存储到桌面上,则使用 cd 转到桌面,然后再运行该命令。)

一切准备好后,你的终端应该位于 new-git-project 目录中,并看起来如下所示:

位于 new-git-project 目录下的终端应用。

git init
很棒!我们已经准备好,并且可以开始使用 git init 命令了!

这是最简单的命令之一。你只需在终端上运行 git init。就这么多内容,立即试试吧!

终端显示 git init 命令正在运行。该命令会在当前目录下初始化生成一个空的 Git 仓库。

练习题
运行 git init 了吗?如果没有,现在就运行吧,因为这道练习会用到该命令!

运行 git init 之后,应该会出现一段文字:“Initialized empty Git repository in”,后面是一个路径。问题是,提示符有任何改变吗?如果有改变,是什么?

是的,我看到单词 master 了。

git init 命令的作用
运行 git init 命令会初始化 Git 跟踪所有内容会用到的所有必要文件和目录。所有这些文件都存储在叫做 .git(注意开头有个 .,表示在 Mac/Linux 上,它将是一个隐藏目录)的目录下。这个 .git 目录是一个库!Git 会将所有 commit 记录在这里,并跟踪所有内容!

我们来大致了解下 .git 目录下的内容。

警告:请勿直接修改 .git 目录下的任何文件。这是仓库的核心。如果你更改了文件名或文件内容,Git 可能就无法跟踪你保存在仓库中的文件,你可能会丢失很多内容!可以查看这些文件,但是请勿编辑或删除这些文件。

Mac 的 Finder 窗口正在显示“.git”隐藏目录中的内容。

.git 目录内容
我们将查看 .git 目录…对这门课程来说,该目录并不重要,因此不用记住任何内容,你可以在此处深入了解 Git 背后的工作原理。

下面简要概述了 .git 目录下的各项内容:

config 文件 - 存储了所有与项目有关的配置设置。
摘自于 Git Book - 英 | 中文点此处:

Git 会查看 Git 目录下你当前所使用仓库对应的配置文件(.git/config)中的配置值。这些值仅适用于当前仓库。

例如,假设你将 Git 全局配置为使用你的个人电子邮箱。如果你想针对某个项目使用你的工作邮箱,则此项更改会被添加到该文件中。

description 文件 - 此文件仅用于 GitWeb 程序,因此可以忽略
hooks 目录 - 我们会在此处放置客户端或服务器端脚本,以便用来连接到 Git 的不同生命周期事件
info 目录 - 包含全局排除文件
objects 目录 - 此目录将存储我们提交的所有 commit
refs 目录 - 此目录存储了指向 commit 的指针(通常是“分支”和“标签”)
注意,除了 hooks 目录,你应该不会对这里的其他内容有太多的困扰。hooks 目录可以用来连接到 Git 工作流的不同部分或事件,但是在这门课程中,我们不会对此作过多介绍。

深入研究
Git 内部原理 - 底层命令和高层命令 : 英 | 中(进阶内容——请将此网址添加到书签中,并在以后查看)

自定义 Git - Git Hooks - 英 | 中

git init 小结
使用 git init 命令可以在当前目录下创建新的空仓库。

$ git init

运行此命令可以创建隐藏 .git 目录。此 .git 目录是仓库的核心/存储中心。它存储了所有的配置文件和目录,以及所有的 commit。

实用链接
Git 基础 - 获取 Git 仓库 – 中

git init 文档 - 英

git init 教程 - 英

你可能感兴趣的:(Udacity课程选修内容shell)