实习第一周(第二天)(下午)(vim,alias,环境变量)
来源:互联网 发布:限制员工上网软件 编辑:程序博客网 时间:2024/06/08 00:29
如果你想要使用 vi 来建立一个名为 test.txt 的档案时,你可以这样做:
vi test.txt 使用 vi 进入一般模式;
直接输入『 vi 档名』就能够进入 vi 的一般模式了。
在一般模式之中,只要按下 i, o, a 等字符就可以进入编辑模式了!在编辑模式当中,你可以发现在左下角状态栏中会出现–INSERT- 的字样,那就是可以输入任意字符的提示啰!这个时候,键盘上除了[Esc] 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑啰!
OK,我们要存档了,存盘并离开的指令很简单,输入『:wq』即可存档离开! (注意了,按下: 该光标就会移动到最底下一行去!) 这时你在提示字符后面输入『 ls -l 』即可看到我们刚刚建立的test.txt 档案啦!
如此一来,你的档案 test.txt 就已经建立起来啰!需要注意的是,如果你的档案权限不对,例如为-r--r--r-- 时,那么可能会无法写入,此时可以使用『强制写入』的方式吗?可以!使用『:wq! 』多加一个惊叹号即可!不过,需要特别注意呦!那个是在『你的权限可以改变』的情况下才能成立的!
vim支持多档案编辑 执行命令 vi file1 \local\file2
- 当我有一个档案非常的大,我查阅到后面的数据时,想要『对照』前面的数据,是否需要使用 [ctrl]+f 与 [ctrl]+b (或 pageup, pagedown 功能键) 来跑前跑后查阅?
- 我有两个需要对照着看的档案,不想使用前一小节提到的多档案编辑功能;
在一般窗口接口下的编辑软件大多有『分割窗口』或者是『冻结窗口』的功能来将一个档案分割成多个窗口的展现,那么 vim 能不能达到这个功能啊?可以啊!但是如何分割窗口并放入档案呢?很简单啊!在指令列模式输入『:sp {filename}』即可!那个 filename 可有可无,如果想要在新窗口启动另一个档案,就加入档名,否则仅输入 :sp 时,出现的则是同一个档案在两个窗口间!
让我们来测试一下,你先使用『 vim /etc/man.config 』打开这个档案,然后『 1G 』去到第一行,之后输入『 :sp 』再次的打开这个档案一次,然后再输入『 G 』。
这一章重点回顾~~
- Linux 底下的配置文件多为文本文件,故使用 vim 即可进行设定编辑;
- vim 可视为程序编辑器,可用以编辑 shell script, 配置文件等,避免打错字;
- vi 为所有 unix like 的操作系统都会存在的编辑器,且执行速度快速;
- vi 有三种模式,一般模式可变换到编辑与指令列模式,但编辑模式与指令列模式不能互换;
- 常用的按键有i, [Esc], :wq 等;
- vi 的画面大略可分为两部份,(1)上半部的本文与(2)最后一行的状态+指令列模式;
- 数字是有意义的,用来说明重复进行几次动作的意思,如 5yy 为复制 5 行之意;
- 光标的移动中,大写的 G 经常使用,尤其是 1G, G 移动到文章的头/尾功能!
- vi 的取代功能也很棒! :n1,n2s/old/new/g 要特别注意学习起来;
- 小数点『 . 』为重复进行前一次动作,也是经常使用的按键功能!
- 进入编辑模式几乎只要记住: i, o, R 三个按钮即可!尤其是新增一行的 o 与取代的 R
- vim 会主动的建立 swap 暂存档,所以不要随意断线!
- 如果在文章内有对齐的区块,可以使用 [ctrl]-v 进行复制/贴上/删除的行为
- 使用 :sp 功能可以分割窗口
- vim 的环境设定可以写入在 ~/.vimrc 档案中;
- 可以使用 iconv 进行档案语系编码的转换
- 使用 dos2unix 及 unix2dos 可以变更档案每一行的行尾断行字符。
这应该是个蛮有趣的话题:『什么是 Shell』?相信只要摸过计算机,对于操作系统 (不论是 Linux 、 Unix 或者是 Windows) 有点概念的朋友们大多听过这个名词,因为只要有『操作系统』那么就离不开Shell 这个东西。不过,在讨论 Shell 之前,我们先来了解一下计算机的运行状况吧!举个例子来说:当你要计算机传输出来『音乐』的时候,你的计算机需要什么东西呢?
- 硬件:当然就是需要你的硬件有『声卡芯片』这个配备,否则怎么会有声音;
- 核心管理:操作系统的核心可以支持这个芯片组,当然还需要提供芯片的驱动程序啰;
- 应用程序:需要使用者 (就是你) 输入发生声音的命令啰!
这就是基本的一个输出声音所需要的步骤!也就是说,你必须要『输入』一个命令之后,『硬件』才会透过你下达的命令来工作!那么硬件如何知道你下达的命令呢?那就是kernel (核心) 的控制工作了!也就是说,我们必须要透过『Shell 』将我们输入的命令与 Kernel 沟通,好让 Kernel 可以控制硬件来正确无误的工作!
- 远程管理:文字接口就是比较快!
bash 是 Linux 默认的 shell ,那么总是得了解一下这个玩意儿吧!bash 是 GNU 计划中重要的工具软件之一,目前也是Linux distributions 的标准 shell 。 bash 主要兼容于 sh ,并且依据一些使用者需求,而加强的shell 版本。不论你使用的是那个 distribution ,你都难逃需要学习 bash 的宿命啦!那么这个shell 有什么好处,干嘛 Linux 要使用他作为默认的 shell 呢? bash 主要的优点有底下几个:
命令编修能力 (history):
~/.bash_history 记录的是前一次登陆以前所运行过的命令,而至于这一次登陆所运行的命令都被缓存在内存中,当你成功的注销系统后,该命令记忆才会记录到 .bash_history 当中!
命令与文件补全功能: ([tab] 按键的好处)
- [Tab] 接在一串命令的第一个字的后面,则为命令补全;
- [Tab] 接在一串命令的第二个字以后时,则为『文件补齐』!
所以说,如果我想要知道我的环境中,所有可以运行的命令有几个?就直接在 bash 的提示字符后面连续按两次 [tab] 按键就能够显示所有的可运行命令了。那如果想要知道系统当中所有以 c 为开头的命令呢?就按下『 c[tab][tab] 』就好啦! ^_^
是的!真的是很方便的功能,所以,有事没事,在bash shell 底下,多按几次 [tab] 是一个不错的习惯啦!
- 命令别名配置功能: (alias)
假如我需要知道这个目录底下的所有文件 (包含隐藏档) 及所有的文件属性,那么我就必须要下达『ls -al 』这样的命令串,唉!真麻烦,有没有更快的取代方式?呵呵!就使用命令别名呀!例如鸟哥最喜欢直接以lm 这个自定义的命令来取代上面的命令,也就是说,lm 会等于 ls -al这样的一个功能,嘿!那么要如何作呢?就使用 alias 即可!你可以在命令列输入 alias 就可以知道目前的命令别名有哪些了!也可以直接下达命令来配置别名呦:
alias lm='ls -al'在我目前这个 shell 的情况下,去激活另一个新的 shell ,新的那个 shell 就是子程序啦!在一般的状态下,父程序的自定义变量是无法在子程序内使用的。但是透过 export 将变量变成环境变量后,就能够在子程序底下应用了!
例题:
[root@www ~]# name=VBird发现了吗?没错!使用了单引号的时候,那么 $name 将失去原有的变量内容,仅为一般字符的显示型态而已!这里必需要特别小心在意!
[root@www ~]# echo $name
VBird
[root@www ~]# myname="$name its me"
[root@www ~]# echo $myname
VBird its me
[root@www ~]# myname='$name its me'
[root@www ~]# echo $myname
$name its me
环境变量的功能
环境变量可以帮我们达到很多功能~包括家目录的变换啊、提示字符的显示啊、运行文件搜寻的路径啊等等的,还有很多很多啦!那么,既然环境变量有那么多的功能,问一下,目前我的 shell 环境中,有多少默认的环境变量啊?我们可以利用两个命令来查阅,分别是 env 与 export 呢!
使用 ehco $变量名 可以查看变量的值
- 实习第一周(第二天)(下午)(vim,alias,环境变量)
- 实习日记(第一周)
- 实习第一周(第二天)(上午)(linux文件拥有者知识)
- 实习第一周(第一天)(安装linux,学习python)
- 实习第一周总结(2013.07.16-2013.07.21)
- Coursera 程序设计实习 / Practice on Programming 笔记(第一周)
- 关于在惠普实习的感想(第一周)
- 关于在惠普实习的感想(第一周)
- 实习(IT)一周总结
- Android 第三天(下午)
- Android 第五天 (下午)
- Android 第七天(下午)
- Android 第八天(下午)
- Android 第九天(下午)
- 补(第三天下午)
- 关于在惠普实习(第二周到第四周)
- 2017.8.1暑假集训第二天(下午训练赛)
- coursera机器学习笔记(第一周、第二周)
- 找出一个范围中的所有完数
- 虚拟机 VMware 桥接模式详解(翻译+部分原创)
- $.ajax()方法详解
- Cygwin在windows系统下编译Linux程序以及访问windows系统目录和软件
- Anaconda的安装、启用及停用的步骤
- 实习第一周(第二天)(下午)(vim,alias,环境变量)
- unittest常用小技能-持续更新
- STL中map和set详解
- ubuntu下查看CPU/GPU/内存使用率
- Vagrant add时出现错误
- Something need to record
- Head First Mysql笔记
- 程序人生
- JackSon学习笔记(一)