学习使用Linux Command line(Git Bash)

了解一个新事物,一个新知识最好的方式,就是对它问问题,然后再自己寻找答案,进行解答并总结,SO......


Question:

  • 命令行是什么?

Baidu
命令提示符是在操作系统中,提示进行命令输入的一种工作提示符。在不同的操作系统环境下,命令提示符各不相同……

Wiki
命令行界面(英语:command-line interface,缩写:CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。也有人称之为字符用户界面(character user interface, CUI)。
通常认为,命令行界面(CLI)没有图形用户界面(GUI)那么方便用户操作。因为,命令行界面的软件通常需要用户记忆操作的命令,但是,由于其本身的特点,命令行界面要较图形用户界面节约计算机系统的资源。在熟记命令的前提下,使用命令行界面往往要较使用图形用户界面的操作速度要快。所以,在现在的图形用户界面的操作系统中,通常都保留着可选的命令行界面。
虽然现在许多计算机系统都提供了图形化的操作方式,但是却都没有因而停止提供文字模式的命令行操作方式,相反的,许多系统反而更加强这部分的功能,例如Windows就不只加强了操作命令的功能和数量,也一直在改善Shell Programming的方式。而之所以要加强、改善,自然是因为不够好;操作系统的图形化操作方式对单一客户端计算机的操作,已经相当方便,但如果是一群客户端计算机,或者是24小时运作的服务器计算机,图形化操作方式有时会力有未逮,所以需要不断增强命令行界面的脚本语言语言来提供丰富的控制与自动化的系统管理能力,例如Linux系统的Bash或是Windows系统的Windows PowerShell

咳咳,请自动忽略百度百科

Django Girls's tutorial
可能需要翻墙来查阅

GUI的发展史
其实大家看到,维基的解释也很清楚了。在GUI广泛出现以前(注意,这里的GUI指的不是显示器上的画面),当时的计算机界对UI,人机交互是没有很清晰的概念的,但是让PC在民用市场得到广泛传播使用,需要降低使用门槛,并且用户需求、体验也被越来越多的人关注......最终,用户图形界面(Graphics User Interface)诞生了,经过无数计算机科学家与图形学工作者的努力.......直到如今这个模样(貌似偏题了)。

这里就与其历史问题一同解答了


  • 它有什么用?

知乎上有一个十分有趣的问题:使用命令行真的比使用可视化界面好吗?
总而言之,向朝着更高效更迅速更有逼格的使用OS这个方向发展而言,命令行是你跳不过去的坎儿。


  • 不同平台(OS)上的命令行有什么区别?

这个问题我自己觉得最好的解答方式就是自己亲自去把win、linux、mac os的命令行敲一遍......大体上都差不多。


知识准备:

例举一些单词...
一些图片...
一些图片...
一些技巧摘录...
一些技巧摘录...

cd (change the working directory)

即改变或切换当前工作目录,也可通俗理解为打开某个文件夹,并跳转至该处。

使用绝对路径进入
同样使用绝对路径进入
. 表示当前目录
.. 表示上一级目录(父目录)

除此之外,我们还可以针对同一父目录下的文件夹使用相对目录来使用cd

使用"."表示当前目录

首先,我们使用绝对目录进入了,c/Users/Administrator/Dekstop/img/这个文件夹里,之后使用"../"回到父母路,也就是/Desktop下。因为/a文件与/img都是/Desktop下的文件夹,所以直接/a,应该会进入/Desktop/a目录对吧,可是报错了。

No such file or directory
原因很简单,在进入/a时,没有用.表示当前目录
所以改一改就好了。

微信截图_20170919123108.jpg

这是我在cd命令下的一个低级错误,我想,产生这个错误的原因在于,自己并没有把./,../这些概念理解透,所以,继续摸索试错吧。

我们可以有一个最快的方法,就是相对目录的使用。

相对目录跳转
cd -

cd后加入-可以在最近的工作目录下切换

两个工作目录下的切换

跨盘符的也可以:

两个工作目录下的切换
cd ~

返回Home目录

返回Home目录

这个有一个细节,文件夹名为:Front End,在命令行中,需要加入一个反斜杠来表示空格符,即空格符等于:\+空格

cd ab?

有时你可能忘记了文件名,但是记得它由几个字符组成,那就可以使用这个方法了。

微信截图_20170919131334.jpg

关于cd命令还有很多值得探索的细节,这里就不一一说明了。

微信截图_20170919131919.jpg

cd命令


ls (list directory contents)

ls命令简介

Linux中的15个基本‘ls’命令示例(墙荐)


关于ls的几种使用方法

ls

仅列出当前目录可见文件

微信截图_20170919133716.jpg
ls

只是把文件名列项


ls -l

列出当前目录可见文件详细信息(注意是可见文件)

explainshell.com的说明
同样的Img文件夹下照片ls -l

我们拿第一个Img文件来“翻译”一下。

  • -rw-r--r--

Linux用户文件权限,大概查了一下....分三段来看,
首尾代表的是目录或者文件,一般不用管,后面的三段每段3位,r代表可读,w代表可写,x代表可执行。第一段是代表文件所属用户主对它的权限,第二段是所属用户组的用户对它的权限,第三段是其他用户对他的权限。
第一段:rw- ,所属用户(比如是root)对这个文件可读可写
第二段:r-- ,所属用户组用户,对这个文件可读
第三段:r-- ,其他用户对这个文件可读

微信图片_20170919140647.jpg
  • 1

表示连接占用的节点(i-node)

  • Administrator

表示这个文件或目录的“拥有者”

  • 197121

表示拥有者的用户组

  • 5806

这个文件的大小(Byte)

  • 九月 19 01:30

这个文件的创建日期或者是最近的修改日期

  • 微信截图_20170919012956.jpeg

文件的文件名:如果文件名前面有.说明是隐藏文件。如果只输入ls 前面加.的文件不会显示出来。ls -al则会显示出全部文件。

Linux ls命令行解析


ls -hl

列出详细信息,并以可读大小显示文件大小

微信截图_20170919143006.jpg
ls -hl

主要是文件大小的表示方法发生了变化。

ls -al

列出所有文件(包括隐藏)的详细信息

微信截图_20170919143129.jpg
ls -al

由于我没有隐藏文件,所有基本上差不多
drwxr-xr-x表示的是目录文件

ls -a

就像你输入ls -a ,它会把/img本身和它的父目录一同显示详细信息。

注意: Linux 中 以 . 开头的文件或文件夹均为隐藏文件或隐藏文件夹。

pwd (print name of current/working directory)

pwd命令以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从根目录)写入标准输出。全部目录使用/分隔。第一个/表示根目录,最后一个目录是当前目录。执行pwd命令可立刻得知您目前所在的工作目录的绝对路径名称。
Linux —— pwd

对,简而言之,就是显示当前的工作目录

pwd一般使用方法

但是输入pwd --help,文档里有更多关于pwd的知识和高级用法,之后再慢慢研究。

微信截图_20170919172359.jpg

mkdir (make directories)

mkdir命令用来创建目录。该命令创建由dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。 注意:在创建文件时,不要把所有的文件都存放在主目录中,可以创建子目录,通过它们来更有效地组织文件。最好采用前后一致的命名方式来区分文件和目录。例如,目录名可以以大写字母开头,这样,在目录列表中目录名就出现在前面。来自: Linux—— mkdir

延伸:大白虾:mkdir命令

一般用法就不写了。

mkdir -p

递归的创建多个目录


递归的创建目录
mkdir xx xx

这个方法是一次创建多个同级目录

创建时,目录名空格隔开

这里,同时创建了同级目录one two,递归创建了目录1/2/3。

同样的,删除多个同级目录也是空格隔开目录名就可以了,但是需要加上-r,使用递归删除(rm -r)来完成。

删除

这里很容易把mkdir -p 和rm -r 搞混,所以要注意区分。

mkdir -v

创建目录同时提示信息
这里的-vp,意思就是同时使用-v与-p的用法,即:递归的创建/b/c,并提示信息

递归创建目录


rm (remove files or directories)

要注意的是,Linux、Mac下的rm操作是会有重复确认的,即需要你输入yes or no,但windows不会这样,还不知道为什么,难道因为有一个回收站的原因?

rm

单单的rm,可以删除目录下的文件,但不能删除整个目录。

使用rm删除一个文本文档

想要删除整个目录下的文件包括目录本身,需要使用rm -r

rm -r
使用递归(recursion)方式来删除目录下文件
rm -r

首先递归创建目录1/2/3,之后rm -r递归删除,包括1/和所有子目录下文件都删除掉了。
这里的删除操作,在Linux下会一项一项的需要你确认(Y or N)。

rm -frm -fr

如果不想回复,直接确认所有删除,可以使用rm -f(force)强制删除。

explainshell.com的说明

但是我这里只有win的,而win下是没有确认这一交互的,无法演示,有机会再来补吧。

资料补充:Linux下rm命令使用详解

mv (move (rename) files)

mv命令包含了两个功能,移动和重命名


explainshell.com的说明
重命名

这里重命名了一个.txt文件

mv详细介绍
rm 重命名目录
重命名目录
rm 移动文件

移动一个.txt文件


移动一个.txt文件

移动多个.txt文件


移动多个.txt文件

也可使用通配符,移动所有以.txt结尾的文件

使用通配符
rm 移动目录

d/e/移动到c/

移动多个目录到c/中

rm -v 显示移动信息
移动目录和.txt文件
rm -i 使用交互模式

当你将文件移动到其它位置,而那个位置恰好有同样的文件,这时 mv 命令会覆盖掉原来的文件。对于mv的这一行为一般不会有什么提示。如果想产生一个关于覆盖文件的提示,我们可以使用-i选项。

关于rm命令还有很多操作,待补充......

Linux 移动或重命名文件/目录-mv 的10个实用例子
简明Linux命令行笔记:mv - Nerxious -

cp (copy files and directories)

微信截图_20170919221712.jpg
explainshell.com的说明

不带任何参数下,运行cp

复制.txt文件到另一个目录下

同时拷贝多个文件

将多个.txt文件复制到绝对路径下的目录

拷贝一个目录
要拷贝一个目录的话会有点棘手。你需要添加 -r 或者 -R 选项来实现。-r或-R 选项表明递归操作。无论该目录是否为空目录,这个选项都是必要的。如下示例

需要注意的一件事,有可能你需要移除在目录名尾部的斜杠。如果需要赋值的目录没有赋值成功,估计原因在这。
Linux cp 命令的15个示例 - 创建文件和目录的副本
Linux命令手册——cp

echo(display a line of text)

explainshell.com的说明
echo至.txt文件

这里使用了echo one111 >> x.txt
>> 表示不覆盖之前的内容


echo >>


echo xxx >! x.txt
将>>变为>!则是覆盖内容。

关于这个echo命令,翻阅资料后也不是很懂,到时正式学习Linux时在回来补充。

Linux中的15个‘echo’ 命令实例
echo命令来自: http://man.linuxde.net/echo

先到这里,留下一些文章博客。

新手指南: Linux 新手应该知道的 26 个命令

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,099评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,473评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,229评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,570评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,427评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,335评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,737评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,392评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,693评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,730评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,512评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,349评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,750评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,017评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,290评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,706评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,904评论 2 335

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,044评论 9 467
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,113评论 2 34
  • 上一篇我们分析了androidHAL层的主要的两个结构体hw_module_t(硬件模块)和hw_device_t...
    donnahn阅读 618评论 0 1
  • 暖暖的太阳,照在身上,整个人都懒洋洋的,不太想动,可是电话的铃声,不合时宜的响起,不情愿的接起,脸上立马堆起职业的...
    色妖妖阅读 2,853评论 0 1
  • 以下内容是我2010年上的中医基础课的笔记。仅供分享学习。用药方面还请自己斟酌。 感冒是感染与触冒的简称。 判断感...
    玄月之佑阅读 721评论 0 5