鱼C论坛

 找回密码
 立即注册
查看: 2163|回复: 0

[学习笔记] [Linux Bible] Linux命令行和Shell代码圣经学习之路3

[复制链接]
发表于 2017-7-19 16:05:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 旧城欺烟 于 2017-7-19 16:04 编辑

第三章:bash shell基本指令

        大多数Linux的默认shell是GNU bash shell,这章主要是介绍bash shell的基本特征,如bash手册,标签的自动补全(tab auto-completion),以及如何显示文件内容。主要是如何获取文件及其路径。
        man指令能够获取存储在系统里的手册,q退出。当忘记指令名称的时候,可以通过man -k keyword来查找,如man -k terminal来查找和terminal相关的指令。

文件系统
        和windows不同,Linux保存文件在一个单独的文件夹结构,叫虚拟文件夹(virtual directory),它包含了文件的来自已安装在电脑上的不同存储设备的所有路径。虚拟文件夹结构包含了一个基本文件夹,叫root。如 /X/Y/Z.doc,表示root里有X文件夹,X里有Y文件夹,Y里面有Z.doc。
        当登录进linux后,shell启动在home文件夹。用cd指令可以改变文件夹。(和windows的很相似)
2.png

        pwd指令用来显示现在工作的文件夹(present working directory)。当只输入cd时,会自动回到home文件夹下。如果工作在home文件夹下,提示符的冒号后面会显示~号。
        . 表示现在的文件夹, ..表示父文件夹。
Untitled.png


        ls 显示当前文件夹下的文件和文件夹。ls -F 区分哪些是文件(如果带星号表示这是个可执行文件),哪些是子文件夹(带斜杠)。ls -a 显示隐藏文件。
        ls -F -R 显示子文件夹包含的文件。ls -l 显示详细信息。man ls 可以获取更多关于ls的参数。ls -l x 只显示x文件。
        ? 表示一个字母,* 表示任意多个字母,[ix] i或x,[i-x] i到x, [!x]排除x,如 ls -l x?z   , ls -l x* ,ls -l [ix]yz,ls -l [i-x]yz。

文件处理
        touch test  创建空文件test。如果test文件已经存在,则touch指令修改文件的最后一次修改的时间(默认显示)。
        ls -l --time=atime test  查看文件的最后一次使用的时间。
        cp test_one test_two 复制test_one的内容到test_two。如果test_two已经存在,建议使用指令cp -i test_one test_two,会提示你是否覆盖掉test_two里的内容。将test_two换成文件夹,即可将文件复制到该文件夹下。cp -i  /etc/NetworkManager/NetworkManager.conf  . 即将文件复制到现在的文件夹下
        cp -R x/ y 即是将x文件夹下的所有文件复制到y下,如果y不存在,则创建y后在复制。

       自动补全    $ ls really*  得到 really_ridiculously_long_file_name,输入完really后按tab。

连接文件(linking files)
        分为象征的连接(symbolic link)和硬连接(hard link),象征连接操作后生成的文件是不同的,生产的sl_*文件(大小为9)是指向源文件(大小为1092)的文件,而硬连接操作后生成的文件是相同的。
象征连接

Untitled1.png

第二个指令为其指令。

        硬连接指令ln code_file hl_code_file,硬连接只能在同一个物理中介上使用,而象征连接不用。

文件改名
        mv fall fzll 将fall改为fzll,如果fzll改为文件夹,则会将fall文件移动至该文件夹下。
        rm -i fall 移除文件

管理文件夹
        mkdir New_Dir 新建文件夹New_Dir。
        mkdir -p New_Dir/Sub_Dir/Under_Dir 新建文件夹和子文件夹。
        rmdir New_Dir 删除文件夹New_Dir。但是只能删除空文件夹。
        rm -ri My_Dir 删除非空文件夹。
        tree Small_Dir 将文件夹和文件按树状图的形式显示。(tree工具不是linux系统自带的)

查看文件
        file my_file 查看文件类型。
        cat test1 查看test1里的内容。(-n 会显示行数, -b 有字的行的行数,-T 去除缩进)
        more test1,less test1,按不同方式查看内容。q 退出。
        tail test1 显示最后10行。tail -n 2 test1 显示最后两行。(-f 显示新写入的行)
        head test1 显示头10行, head -2 test1 显示头两行。

评分

参与人数 1鱼币 +8 收起 理由
小甲鱼 + 8

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 05:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表