步遥情感网
您的当前位置:首页linux bash:command,学习使用Linux Command line(Git Bash)

linux bash:command,学习使用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。

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

GUI的发展史

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

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

它有什么用?

知乎上有一个十分有趣的问题:使用命令行真的比使用可视化界面好吗?

总而言之,向朝着更高效更迅速更有逼格的使用OS这个方向发展而言,命令行是你跳不过去的坎儿。

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

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

知识准备:

例举一些单词...

一些图片...

一些图片...

一些技巧摘录...

一些技巧摘录...

关于这些命令行的更多详细介绍你可以在Linux中国上找到:Linux新手应该知道的命令行

cd (change the working directory)

使用绝对路径进入

同样使用绝对路径进入

No such file or directory

所以改一改就好了。

微信截图_20170919123108.jpg

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

cd -

跨盘符的也可以:

cd ~

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

cd ab?

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

微信截图_20170919131334.jpg

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

微信截图_20170919131919.jpg

ls (list directory contents)

ls命令简介

关于ls的几种使用方法

ls

微信截图_20170919133716.jpg

ls

只是把文件名列项

ls -l

explainshell.com的说明

同样的Img文件夹下照片ls -l

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

-rw-r--r--

Linux用户文件权限,大概查了一下....分三段来看,

第一段:rw- ,所属用户(比如是root)对这个文件可读可写

第二段:r-- ,所属用户组用户,对这个文件可读

第三段:r-- ,其他用户对这个文件可读

微信图片_201709191407.jpg

1

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

Administrator

197121

表示拥有者的用户组

5806

这个文件的大小(Byte)

九月 19 01:30

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

微信截图_20170919012956.jpeg

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

ls -hl

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

微信截图_20170919143006.jpg

ls -hl

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

ls -al

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

微信截图_20170919143129.jpg

ls -al

由于我没有隐藏文件,所有基本上差不多

ls -a

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

pwd (print name of current/working directory)

Linux —— pwd

pwd一般使用方法

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

微信截图_20170919172359.jpg

mkdir (make directories)

一般用法就不写了。

mkdir -p

mkdir xx xx

删除

这里很容易把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 -r

rm -r

这里的删除操作,在Linux下会一项一项的需要你确认(Y or N)。

rm -f 和 rm -fr

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

explainshell.com的说明

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

mv (move (rename) files)

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

explainshell.com的说明

重命名

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

mv详细介绍

rm 移动文件

移动一个.txt文件

移动一个.txt文件

移动多个.txt文件

移动多个.txt文件

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

使用通配符

将d/、e/移动到c/中

rm -v 显示移动信息

rm -i 使用交互模式

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

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

cp (copy files and directories)

微信截图_20170919221712.jpg

explainshell.com的说明

不带任何参数下,运行cp

同时拷贝多个文件

echo(display a line of text)

explainshell.com的说明

echo至.txt文件

这里使用了echo one111 >> x.txt

>> 表示不覆盖之前的内容

echo >>

echo xxx >! x.txt

将>>变为>!则是覆盖内容。

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

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

因篇幅问题不能全部显示,请点此查看更多更全内容