今天是辞职后的第一天,本来想写写工作总结,还有许多东西需要整理和学习。这是我继毕业之后的第二次焦虑和迷茫。希望我能早点找到工作吧!
步入正题,其实,linux要学的东西非常多。不是我分个上、中、下三篇博文就能写完的。不过,既然弄了个“上”出来,题目我就不改了。这篇就定为“中”吧!如果写了“下”,还没写完,也许会弄个“下续” ,“下续二”出来。^_^ :) ,也许,写了这个就没下了,哈哈!毕竟只是博客,又没人约稿,所以,比较随意。评论帮顶应该算我最大的动力吧!
别名的使用
在上一节中,在查看当前目录下的文件时,我说到了一个 ll 命令,看一楼回复中说,他是 ls -l 命令的别名,不是所有的linux都有。 别名嘛,顾名思义,不同的两个名字指的是一个人,不同的两个命令具有相同的作用。 现在,你一定很想知道自己的系统中都有哪些别名。 [root@localhost ~]# alias 查询系统中的别名 alias cp='cp -i' alias l.='ls -d .* --color=tty' alias ll='ls -l --color=tty' alias ls='ls --color=tty' alias mv='mv -i' alias rm='rm -i' alias vi='vim' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' 如何定义别名,假如我在dos下用习惯了copy 而不想用cp ,那么就可以为cp 定义一个copy的别名。 [root@localhost ~]# alias copy=cp 将cp命令功能赋于给copy [root@localhost ~]# alias drm="rm -rf" 将“ rm -rf ” 命令定义一个drm的别名。 [root@localhost ~]# unalias copy 取消别名 vim/vi编辑器 这一部分应该属于重点了,关于vi 的东西很多,貌似出过几本专门讲vi的书。有牛人用这个编程序超快。对于我们大多人来说会使用就OK了 vim/vi是一个功能强大的屏幕文本编辑器,是linux、UNIX 上最常用的文本编辑器,他的作用是建立、编辑、显示文本文件。 vim/vi 没有菜单,只有命令。 为了便于操作,我们在copy一个有内容的文件拿来操作。 [root@localhost test]# cp /etc/services services.test 拷贝/etc/services文件到当前目录下。 vim是vi 的加强版,当好多用户还是习惯用vi 来编辑文件 [root@localhost test]# vim services.test 进入文件 vi 的三种模式: 三种模式的转换: 命令模式 下输入 a、i、o进入 插入模式 插入模式 下按ESC进入 命令模式 命令模式 下输入 : (冒号)进入 编辑模式 编辑模式 下指令错误则返回 命令模式 是不是觉得有点儿绕,其实,我们只要记着,vi 进入文件后,按 i 键可以对文件时行编辑了。 编辑完成后,按Esc 键退出编辑模式。退出有三中必须要记。 :q 是退出(文件没发生更改时) :q! 不保存退出(文件发生改变时) :wq 保存并退出 vim/vi的具体操作 了解下面的一些命令,有助于我们快速的编辑和使用vi 命令模式: 命令模式主要使用方向键移动光标位置进行文字的编辑,下面列出了常用的操作命令及含义 上、下、左、右键盘和 h、j、k、l键分别都是移动光标方面的。 $ ------------移至行尾 0(零) -----移至行首 H ----------移至屏幕上端 M ----------移至屏幕中央 L ----------移至屏幕下端 gg ---------到文件第一行 G ----------到文件末尾 PageDn ----- 向下移动一页 PageUp ----- 向上移动一页 d+方向键 -----删除文字 dd -----删除整行 pp -----整行复制 r -----修改光标所在的字符 S -----删除光标所在的列,并进入输入模式 插入模式: 可以通过以下命令由“命令模式”进入“插入模式” a------------在当标后附加文本 A------------在本行行末附加文本 i-------------在光标前插入文本 I-------------在本行开始插入文本 o------------在光标下插入新行 O-----------在光标上插入新行 ESC--------退出“插入模式” 编辑模式: :q -----结束Vi程序,如果文件有过修改,先保存文件 :q! -----强制退出Vi程序 :wq -----保存修改并退出程序 :set nu -----使文本每一行前出现行号 :set nonu ------取消每一行前的行号 :n ------------到第n行 linux引导流程解析 这一部分属于理论知识,感兴趣的和我一起了解一下。 linux的引导流程,也就是linux的启动过程,启动顺序是是怎样的,linux为我们启动了哪些服务。 系统引导流程:- BIOS自检
- 启动GRUB/LILO
- 加载内核
- 执行init进程
- 通过/etc/inittab文件进行初始化
/etc/rc.d/rc.sysinit # 由init执行的第一个脚本首先终止“K”开头的服务,然后启动“S”开头的服务。 对每一个运行级别来说,在/etc/rc.d子目录中都有一个对应的下级目录。这些运行级别的下级子目录的命名方法是rcX.d,其中的X就是代表运行级别的数字。比如说,运行级别3的全部命令脚本程序都保存在/etc/rc.d/rc3.d子目录中。在各个运行级别的子目录中,都建立有到/etc/rc.d/init.d子目录中命令脚本程序的符号链接,但是,这些符号链接并不使用命令脚本程序在 /etc/rc.d/init.d子目录中原来的名字。如果命令脚本程序是用来启动一个服务的,其符号链接的名字就以字母S打头;如果命令脚本程序是用来关闭一个服务的,其符号链接的名字就以字母K打头。许多情况下,这些命令脚本程序的执行顺序都很重要。如果没有先配置网络接口,就没有办法使用DNS服务解析主机名!为了安排它们的执行顺序,在字母S或者 K的后面紧跟着一个两位数字,数值小的在数值大的前面执行。比如:/etc/rc.d/rc3.d/S50inet就会在 /etc/rc.d/rc3.d/S55named之前执行。存放在/etc/rc.d/init.d子目录中的、被符号链接上的命令脚本程序是真正的实干家,是它们完成了启动或者停止各种服务的操作过程。当 /etc/rc.d/rc运行通过每个特定的运行级别子目录的时候,它会根据数字的顺序依次调用各个命令脚本程序执行。它先运行以字母K打头的命令脚本程序,然后再运行以字母S打头的命令脚本程序。对以字母K打头的命令脚本程序来说,会传递Stop参数;类似地对以字母S打头的命令脚本程序来说,会传递 Start参数。 执行/etc/ec.d/rc.local Redhat Linux中的运行模式2、3、5都把/etc/rc.d/rc.local做为初始化脚本中的最后一个,所以用户可以自己在这个文件中添加一些需要在其他初始化工作之后,登录之前执行的命令。在维护Linux系统运转的日子里,肯定会遇到需要系统管理员对开机或者关机命令脚本进行修改的情况。如果所做的修改只在引导开机的时候起作用,并且改动不大的话,可以考虑简单地编辑一下/etc/rc.d/rc.local脚本。这个命令脚本程序是在引导过程的最后一步被执行的。 执行 /bin/login 程式 login 程序会提示使用者需输入账号及密码, 接着编码并确认密码的正确性, 若二者相合, 则为使用者进行初始化环境, 并将控制权交给 shell,即等待用户登录。多次为止Linux启动过程全部结束。 修改本机的软硬件时间 关于,修改系统的软硬件时间,对新手来说不是特别重要,软件(指的系统时间)时间很好修改,硬件(指CMOS时间)时间就不知道怎么修改了。不感兴趣的可以无视。 [root@localhost hzh]# date 查看本机的软件时钟 [root@localhost hzh]# hwclock 查看本机的硬件时钟 [root@localhost hzh]# hwclock --help --set set the rtc to the time given with --date --hctosys set the system time from the hardware clock --systohc set the hardware clock to the current system time 假如有一个时间是错的,我们可以通过上面的命令进行修改。 [root@localhost hzh]# hwclock --hctosys 设置系统时间与硬件时间对应。 [root@localhost hzh]# hwclock --systohc 设置硬件时间与系统时间对应。 假如两个时间都是错误的,我们可以自己设置时间 [root@localhost hzh]# hwclock --set --data="月/日/年 时:分:秒" 标签:引导,命令,root,rc,init,etc,那点,linux,事儿 From: https://www.cnblogs.com/outrun/p/17708855.html
/etc/rc.d/rc.sysinit主要做在各个运行模式中相同的初始化工作,包括:
设置初始的$PATH变量。
配置网络。
为虚拟内存启动交换。
设置系统的主机名。
检查root文件系统,以进行必要的修复。
检查root文件系统的配额。
为root文件系统打开用户和组的配额。
以读/写的方式重新装载root文件系统。
清除被装载的文件系统表/etc/mtab。
把root文件系统输入到mtab。
使系统为装入模块做准备。
查找模块的相关文件。
检查文件系统,以进行必要的修复。
加载所有其他文件系统。
清除几个/etc文件:/etc/mtab、/etc/fastboot和/etc/nologin。
删除UUCP的lock文件。
删除过时的子系统文件。
删除过时的pid文件。
设置系统时钟。
打开交换。
初始化串行端口。
装入模块。
/etc/rc.d/rcX.d/[KS]