Linux Command Line Basics (closed)

Linux Command Line Basics (closed)

标签(空格分隔): Udacity


Lesson 1: Get Into the Shell
Lesson 2: Shell Commands
Lesson 3:The Linux Filesystem

[TOC]

Lesson 1: Get Into the Shell

1.1 Log In and Break Stuff

log in:
cd Udacity/Shell/文件夹下:(有一个Vagrantfile的文件,有这个文件才能用vagrant up配置所需要的环境

vagrant up

vagrant ssh

ok, it's done. 现在可以试一试,在command line里随便输入一些东西。

你会发现大部分的命令都是无效的,但是出现'单引号的时候,shell会提示你继续输入,因为在没有见到第二个'之前,它认为现在输入的命令还没有写完。

除此之外用exit可以log out.

lc1.png-138.9kB
lc1.png-138.9kB

如果你输入python或其它什么奇怪的命令,进入了某个程序,可以用quit或Ctrl+C退出该程序,回到shell。

1.2 Commands That Work

lm2.png-456kB
lm2.png-456kB
lm3.png-461.4kB
lm3.png-461.4kB

运行后的结果,在Udacity/Shell/文件夹下多了一个things.zip的文件

1.3 What can you do in the terminal?

lm4.png-316.1kB
lm4.png-316.1kB

1.4 The Terminal Interface

lm5.png-397.8kB
lm5.png-397.8kB

1.5 The Terminal vs The Shell

Terminal 只是一个终端而已,他负责接受input,但不会处理,所以把这些input传给shell来运行,shell把得到的结果返回给terminal,terminal再展示给我们。所以说terminal就是个窗口而已。

Different shells

Unix and Linux programmers over the years have written many different shell programs. You can read more about them on Wikipedia: the original Bourne shell or sh; the C shell or csh; the Korn shell or ksh; the Z shell or zsh; as well as the bash shell that this course uses.

Different systems may have different shells installed by default. Most Linux systems, and Mac OS X, default to bash for interactive shells. However, the most common default shell for scripting (shell programming) is classic sh. BSD Unix systems usually default to sh or ksh.

Almost everything in this course will work the same in any of these shell programs. The exception is one of the file matching (globbing) syntaxes at the end of Lesson 3.

1.6 Try More Commands

lm6.png-363.4kB
lm6.png-363.4kB

host udacity.com 给出了Udacity的IP地址,并告诉我们它的mail是Gmail负责的。

lm7.png-525.1kB
lm7.png-525.1kB
lm8.png-621.3kB
lm8.png-621.3kB
lm9.png-199.4kB
lm9.png-199.4kB

1.7 Reading the Output of a Command

lm10.png-442.4kB
lm10.png-442.4kB

1.8 Identify User Input

lm11.png-406.1kB
lm11.png-406.1kB

Lesson 2: Shell Commands

2.1 Filenames and Contents

lm12.png-366.7kB
lm12.png-366.7kB

2.2 Command History

有三种方法来找到之前输入过的命令。

  1. 这个方向键, up arrow key.
  2. use the commend history
  3. Ctrl + R, 能用来搜索之前输入的命令,适合久远的命令。

2.3 Some Common Commands

unzip things.zip来解压之前curl来的文件things.zip.

cat file_name.txt,会return文档里的内容。

Tab来自动补全。

用来分析文件的命令:

  1. wc bivalves.txt, wc is a word count program. return the lines, words, bytes.
  2. diff gastropods.txt gastropods_draft.txt, 返回两个文档不同的地方。这个在git教程里也讲到了。
lm13.png-870.9kB
lm13.png-870.9kB

2.4 Manual Pages

man command 来查询文档

lm14.png-211.2kB
lm14.png-211.2kB

在synopsis里,像[-e eye_string]这样的表示有可选项的命令。必须在-e后添加一个eye_string来改变cowsay的眼睛形状。

lm15.png-603kB
lm15.png-603kB

2.5 Using the Manual for Serious Purpose

比如在unzip things.zip的时候,发现extracting .secret的字样,但是用ls看不到。所以用man ls来查看用什么命令能看到隐藏文件。

答案是ls -als --all.

2.6 Options to ls

lm16.png-362.7kB
lm16.png-362.7kB

从右到左,filename, modification time, file size(byte),


lm17.png-552.3kB
lm17.png-552.3kB

2.7 Researching Commands

运行不确定的command前先google,别手贱……

比如rm -rf/
-r is for recursive, and -f is for force.

Just to be clear: This command is not good for your system. Don't run it. Keep watching ...

2.8 Line Based Programs

一些交互式的命令,一旦运行后就会占据terminal,一直运行。比如ping,检测某个域名是否alive. 这个命令会一直返回echo。除非你用Ctrl+C终止进程。

lm18.png-390.1kB
lm18.png-390.1kB

但另外一些programs有不同的behavior。

lm19.png-163.8kB
lm19.png-163.8kB

比如输入sort,回车。这个命令会进入下一行,每输完一个单词回车后就会另起一行,无法停止。此时必须用Ctrl+D来告诉shell”输入完毕“,然后就会得到按字母排好序的单词。

lm20.png-20.6kB
lm20.png-20.6kB

2.9 Waiting for Input

输入bc可以进入一个basic calculator, 你可以输入数字,回车,但是怎样才能退出呢?

  1. 输入quit
  2. Ctrl + D
lm21.png-315.6kB
lm21.png-315.6kB
lm22.png-229.3kB
lm22.png-229.3kB

2.10 Full Screen Interactive Programs: less

其实在用man command的时候,就是用的less的语法。比如用Q退出,就是less的功能。

less thewind.txt

这个less就像是vim里的命令模式,只能看和编辑,不能输入。

Cheatsheet of less's Keyboard

Introduction to Regular Expressions

2.11 Editing Files in nano

lm23.png-504.8kB
lm23.png-504.8kB

Lesson 3:The Linux Filesystem

3.1 The Filesystem Tree

lm24.png-213.4kB
lm24.png-213.4kB
lm25.png-316.3kB
lm25.png-316.3kB

文件路径。Linux中用/(slash)来表示路径,和https://一样,和1/2 = 0.5 只有windows用backslash.

lm26.png-222.2kB
lm26.png-222.2kB

3.2 The Working Directory

pwd显示 Present Working Directory。
cd来改变Directory:

  1. cd /var/log 给出整个path
  2. cd three 进入当前Directory中的某个名为three的Directory
  3. cd .. 返回上一级
lm27.png-386.6kB
lm27.png-386.6kB

可以下载一个叫tree的program,能显示文件目录的树状结构。

3.3 Absolute and Relative Paths

lm28.png-1024.8kB
lm28.png-1024.8kB

../mountain:表示cwd(当前目录)的parent directory下的另一个directory mountain. 也就是说这个mountain和当前目录是同一层级的。
.:一个dot表示cwd。
cd ~: 回到home directory. 其中代表home,我的home directory就是xu.

lm29.png-457kB
lm29.png-457kB
lm30.png-34.5kB
lm30.png-34.5kB
lm31.png-72.4kB
lm31.png-72.4kB

`cd without arguments is a shortcut to take you home.

As long as your home directory exists, you can always go home.

lm32.png-431.8kB
lm32.png-431.8kB

3.4 Tab Completion

在输入目录path的时候用Tab补全。

3.5 Moving and Copying Files

lm33.png-194.6kB
lm33.png-194.6kB

3.6 Making and Removing Directories

mkdir notes:在当前directory创建一个新的叫notes的directory
mkdir /tmp/cache : 给出absolute path, 创建叫cache的directory,和cwd无关。

lm34.png-176.2kB
lm34.png-176.2kB

rmdir notes :只能移除空文件夹

rm -rf junk : 递归并强制删除

You might remember looking up rm -rf before. Well, it can be used for good as well as evil. Here, you don't need the -f option; just rm -r junk will do what you need.

3.7 mv and directories

lm35.png-293kB
lm35.png-293kB
lm36.png-374.8kB
lm36.png-374.8kB

3.8 Globbing (通配符)

lm37.png-558.8kB
lm37.png-558.8kB

*:代表多个character
{css,html} : css或html
:代表一个character
[aeiou] : 只要这五个字符中的一个出现即可
要注意,这些是大小写敏感的

lm38.png-264.9kB
lm38.png-264.9kB
lm39.png-290.1kB
lm39.png-290.1kB

3.9 Applying Globbing

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

推荐阅读更多精彩内容