V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
ppj
V2EX  ›  Linux

Linux Shell 小白入门手册

  •  3
     
  •   ppj · 69 天前 · 2725 次点击
    这是一个创建于 69 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人攒的一个关于 Linux Shell 小白入门的教程,对于刚入门 Linux 的同学有帮助。欢迎收藏。

    => Linux Shell 入门

    19 条回复    2022-06-07 10:49:31 +08:00
    ralstonish
        1
    ralstonish  
       69 天前
    感谢分享
    kingjpa
        2
    kingjpa  
       69 天前
    学习了,赞
    koebehshian
        3
    koebehshian  
       69 天前
    什么是 linux shell?
    Bourne shell 始于 1979 年
    Bourne Again shell 始于 1989 年
    Linux 始于 1991 年
    ppj
        4
    ppj  
    OP
       69 天前
    @koebehshian Unix 比 Linux 出生的早,bash 在最早是在 unix 上运行的。
    tsaioil
        5
    tsaioil  
       69 天前
    已加入收藏夹
    i3x
        6
    i3x  
       69 天前 via Android
    @koebehshian 我也想说。。。。除了 bash ,很多 linux 带的默认是其他的 zsh ass 并不是 bash 。。。。之前在某系统直接 sh xxxx.sh 就中招了。。。。现在都是 bash xxx.sh 或者直接./xxx.sh 了。。。
    还有 linux 有好多。。。rh 系玩的 6 上天,突然第一次接触 deb 系或者 openwrt 还是生疏的不行啥都干不了。。。
    以及 freebsd openbsd 之类的各种其他的非 linux 环境。。。。windows 还有 powershell
    gearfox
        7
    gearfox  
       69 天前
    感谢你
    love2020
        8
    love2020  
       68 天前
    这个博客是咋做出来的呢,开源的?
    testlover
        9
    testlover  
       68 天前
    写的很好 就是读起来有一种汉化风的感觉 就像在看帮助文档
    ruanimal
        10
    ruanimal  
       68 天前
    不如看阮一峰这个 https://wangdoc.com/bash/
    jiobanma
        11
    jiobanma  
       68 天前
    @ruanimal 人家辛辛苦苦写了一个 你非要搁这儿踩一下 。 你哪怕说个 阮一峰这个也不错不好吗。
    ruanimal
        12
    ruanimal  
       68 天前
    新手的时间就不是时间了?
    ArmstrongPater
        13
    ArmstrongPater  
       68 天前
    感谢分享
    MarkP
        14
    MarkP  
       68 天前
    感谢分享。
    jarodlee
        15
    jarodlee  
       68 天前
    感谢分享
    jarodlee
        16
    jarodlee  
       68 天前
    认真看了一通,我觉得您写的太棒了,每段还都有一个关联的主题做为练习,非常精彩,我可以用您的这个做为教材来教一下学生吗?可能要转到内网的一个 wiki 上,毕竟学校网络速度太慢了。。。
    ppj
        17
    ppj  
    OP
       68 天前
    @jarodlee 可以的,课程里有我的微信二维码,可以加我。
    lance1ot
        18
    lance1ot  
       68 天前
    感谢分享
    l00t
        19
    l00t  
       67 天前
    为啥这文风感觉是先有英语再翻译过来的…… 甚至在 touch 那里还把 touch 指令 翻译成了 触摸命令……

    内容写得还不错。不过以挑剔的眼光看的话,问题倒也是能找出不少。

    首先是最根本的一点:标题说的是 Linux shell ,然而实际上并没有这么一个叫 Linux shell 的东西,真实内容还是 Bash 。那么,为啥要学 Bash ?要说命令行的优势,其他 shell 也可以。要说流行程度,Windows 更流行,何不学 Powershell 呢?这里需要思考用户的使用场景,对用户群有个区分。对于大部分人来说,可能需要学习一些常见 shell 中比较通用的概念和操作,但是并没有学习 Bash 的必要,尤其是一些 bash 特有的内容。

    其次是一些步骤上的先决条件或者说准备步骤没有充分说明。对于纯萌新小白来说,跟着一个教程走,最厌烦的是走不下去,执行结果和教程上说的不一样。很多对老手完全不是问题的问题,对于萌新小白来说是两眼一抹黑完全不知道发生了什么情况。不区分 shell 内建命令和系统程序是不严谨的。内建命令你可以确保它存在,系统里的程序却不一定。比如文本编辑器,甚至比如 man 。虽然在 man 这部分有标注,但只是说 Git bash 下可能没有,然而 Linux 里也可能没有自带
    man 啊。如果说像获取指令帮助这样绕不过去的内容提到 man ,并给出了去网站上搜用法这样的第三条路的解决办法还是合理的,那么创建文本文件时提到 nano 并介绍 nano 的用法,就完全是离题的了,在用户机器上没有 nano 的时候更是让人困扰。简单输入几个字符,完全可以使用后面提到的 echo 加重定向来做。

    第三个问题是和上一个紧密相关的。教程里在展示 shell 的强大的时候,已经引入了大量并不是 shell 自身指令而是外部 CLI 程序了,然而却没有告知在没有相关程序的时候怎么安装。当然这里是个巨坑,估计作者也不知道怎么讲清楚怎样装程序,好在涉及到的 wc head tail cut less grep 之类程序都还算通用,几乎各个 Linux 都默认带着。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1220 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 23:40 · PVG 07:40 · LAX 16:40 · JFK 19:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.