命令行的艺术

命令行的艺术

流畅地使用命令行是一个常被忽略的技能,或被认为是神秘的奥义。但是,它会以明显而微妙的方式改善你作为工程师的灵活度和生产力。以我有限的程序媛经历已然发觉命令行真是一个艺术的存在。

简单的几个字母组合就能产生意想不到的效果,有句话说得好:

图形界面让简单的任务变得更简单,但是命令行让复杂的任务变得可能

如果你是一名Linux开发者,可能会更频繁地使用命令行,本文主要是结合我自身学习和工作时发现的有用的命令行使用小窍门和笔记,希望和大家共享。有些小窍门是很基础的,而有些是相当地特别、复杂、或者晦涩难懂。希望和大家一起学习。

因为我用的是Ubuntu,所以以下都以Ubuntu为例说明。

如何学习命令##

如果我们已经把系统装好,启动之后就是这个样子。

ubuntu

如果对Ubuntu感兴趣的话戳这里哟。

使用命令行,我们先要打开一个叫做”终端“的软件,这个软件是系统已经预装的了,所以我们可以敲ctrl+alt+t打开它

终端

学习命令行之前我们先了解一下这些字符的含义以及命令的组成。

图中冒号以前的部分称作命令提示符由“username@machinename” 后面跟上当前工作目录组成;

其中 ~ 代表当前用户的主目录( home ),对于 never 用户来说这个位置就是 /home/never,后面我们介绍文件系统结构的时候,会对什么是当前工作目录有进一步的了解。

后面的美元符号就告诉我们可以开始输入命令了,如果我们随便输入一些字符,就会报错 “command not found”。

一个合法的命令一般由三部分组成,命令本身,命令参数,操作对象。

命令的例子:

$ ls
$ mkdir ttt
$ rm -r ttt

作为开发者,入手一个新的工具的时候,基本原则不必每个知识点都逐一学习,实际动手中学习就好了。如果要看书,千万不要看手册型的大部的课本,课本通常都讲的太深了而且是重理论轻动手。所以还是自己动手敲一遍记忆更加深刻。

对于已经基本学会的命令,如果忘了具体细节,可以使用 manpage,手册。如果要查看 rm 这个命令的文档,我们可以敲

$ man rm

然后敲 /-r 就可以查找 -r 这个参数的意义了,查找下一处,敲 n,退出,敲 q 。

常用的基础命令##

一般的命令行都是可以加参数的,不同参数代表不同的操作。
1. 文件/文件夹操作

  • ** ls **---列出当前目录下的文件或者目录名字
  -a 显示所有文件和目录
-A 显示所有文件和目录除了.和..
-l 显示详细信息
-h 将文件容量以较为易懂的方式列出(如:GB,MB)
-t 按时间显示
  • cd ---切换目录
    输入:cd 【相对路径或者绝对路径】例如:cd /etc 则切换到etc目录下
    特殊的cd命令搭配:
    cd ~ 或者 cd ---切换到自己的主文件夹(root权限下,到/root目录下。用户abc权限下,到/home/abc目录下)
    cd .. ---返回上一个目录
    **cd - ** ---返回刚才的目录(例如:本来在/etc目录下,cd到了/root目录下。输入cd - 则回到/etc目录)
  • pwd ---用于显示当前所在目录的路径
  • which ---用于获得执行文件的位置
  • clear ---清除终端
  • mv ---移动/重命名文件
  • **rm ** ---删除文件/文件夹(-r 表示递归删除目录)
  • mkdir ---新建目录
  • cat --- 连接文件
  • touch ---新建一个文件

2. 用户相关操作

  • whoami ---打印当前用户信息,如:
who am i
  • su ---切换用户
  • sudo ---切换为root用户,具有最高权限

3. 安装软件

  • apt-get update --- 更新系统包管理器
  • apt-get install --- 使用安装软件
  • apt-get upgrade --- 更新所有使用包管理器安装的软件
  • apt-get remove PACKAGE ---移除或卸载包

4. 其它

  • grep --- 打印出匹配条件的文字行
  • chown --- 更改拥有者命令
示例

输入命令 sudo chown root:root t.txt 可以将文件的所有者和用户组改为 root,这时原来的所有者将变成其他用户;

示例

好用的终端推荐##

上面介绍了一些常用的命令,这里安利一个好用的终端吧,听说和命令行很配哦!
oh-my-zsh + guake :一个很酷炫的终端软件,让你分分钟爱上命令行,它有美观的界面以及强大的可操作性,就是酱紫的。

zsh

是不是很赞那,快来试一试吧!

参考资料:
https://github.com/iamcoach/console/blob/master/COMMANDS.md
http://happypeter.github.io/LGCB/book/02_hello_cli.html
https://www.ibm.com/developerworks/cn/linux/l-lpic1-v3-103-1/
https://github.com/robbyrussell/oh-my-zsh

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

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,238评论 9 467
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,156评论 2 33
  • 一、文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件)ls -a 列出当前目录文件(包括隐含文件)l...
    路痴千行阅读 2,390评论 0 5
  • 一、文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件) ls...
    会飞的鱼Coo阅读 4,496评论 1 23
  • 请求与命令 杰克:“我很孤单,希望今晚你能陪我聊聊。” 珍妮:“ 杰克,我今天很累。如果你想今晚有人陪你,你去找其...
    Fly_Catkin阅读 304评论 0 0