Linux(一)基本知识点

一.linux档案文件系统类型分别是:

  • ext2/ext3:是 Linux 适用的文件系统类型。由于 ext3 文件系统多了日志的记录, 对于系统的复 原比较快速,因此建议你务必要选择新的 ext3 不要用 ext2 了。
  • physical volume (LVM):这是用来弹性调整文件系统容量的一种机制, 可以让你的文件系统容 量变大或变小而不改变原有的档案数据内容!这部份我们会在第十五章、进阶文件系统管理中谈 到!
  • software RAID:利用 Linux 操作系统的特性,用软件仿真出磁盘阵列的功能! 这东西很棒!不 过目前我们还用不到!在后续的第十五章再跟大家报告了!
  • swap:就是内存置换空间!由于 swap 并不会使用到目录树的挂载, 所以用 swap 就不需要指 定挂载点喔!
  • vfat:同时被 Linux 与 Windows 所支持的文件系统类型。 如果你的主机硬盘内同时存在 Windows 与 Linux 操作系统,为了数据的交换,确实可以建置一个 vfat 的文件系统喔!

二.登入Linux系统:

1. 用户家目录

[vbird@www ~]$ _:
这一行则是正确登入之后才显示的讯息, 最左边的vbird 显示的是『目前用户的账号』,而@之
后接的www 则是『主机名』,至于最右边的~则指的是 『目前所在的目录』,那个$则是我们
常常讲的『提示字符』啦!

Tips :

  • 那个 ~ 符号代表的是『用户的家目录』的意思,他是个『变量!』 ,举例来说,root 的家目录在/root, 所以 ~ 就代表/root 的意思。而vbird的家目录在/home/vbird, 所以如果你以vbird 登入时,他看到的 ~ 就会等于/home/vbird 喔!
  • 至于提示字符方面,在Linux 当中,默认root 的提示字符为 # ,而一般身份用户的提示字符为 $ 。

2. 退出系统

[vbird@www ~]$ exit

3. 文本模式下下达命令:

其实我们都是透过『程序』在跟系统作沟通的,本章上面提到的窗口管理员或文本模式都是一组或一只
程序在负责我们所想要完成的指令。 文本模式登入后所取得的程序被称为壳(Shell),这是因为这支程序
负责最外面跟使用者(我们)沟通,所以才被戏称为壳程序!

[vbird@www ~]$ command [-options] parameter1 parameter2 … 指令 选项 参数(1) 参数(2)

Tips :
0. 一行指令中第一个输入的部分绝对是『指令(command)』或『可执行文件案』
1. command 为指令的名称,例如变换路径的指令为 cd 等等;
2. 中刮号[]并不存在于实际的指令中,而加入选项设定时,通常选项前会带 - 号,
例如 -h;有时候会使用选项的完整全名,则选项前带有 – 符号,例–help;
3. parameter1 parameter2.. 为依附在选项后面的参数,或者command 的参数;
4. 指令, 选项, 参数等这几个咚咚中间以空格来区分,不论空几格 shell 都视为一格;
5. 按下[Enter]按键后,该指令就立即执行。[Enter]按键代表着一行指令的开始启动。
6. 指令太长的时候,可以使用反斜杠 () 来跳脱[Enter]符号,使指令连续到下一行。
注意!反斜杠后就立刻接特殊字符,才能跳脱!

3. 常用的基本系统命令

  • 显示日期的指令: date
    1.如果在文字接口中想要知道目前Linux 系统的时间,那么就直接在指令列模式输入date 即可显示:
    eg:
    [vbird@www ~]dateMonAug1717:02:52CST20092.2009/08/17使dateeg[vbird@www ] date +%Y/%m/%d
    2009/08/17
    [vbird@www ~]$ date +%H:%M
    17:04

  • 系统当前语系:LANG
    1.打印出当前用户命令的语系:echo $LANG
    2.设置当前用户的命令语系:LANG=en_US(英文)
    tips:注销Linux 后,语系又会还原,刚刚下达的指令就没有用啦

-显示日历的指令:cal
1.显示当前月日历:cal
(除了本月的日历之外,连同今日所在处都会有反白的显示呢!)
2.cal 指令显示某年或者某年某月的日历语法:cal [month] [year]

-简单好用的计算器: bc
1.简单运算:
· + 加法
· - 减法
· * 乘法
· / 除法
· ^ 指数
· % 余数
tips:bc 预设仅输出整数,所以除法结构取整
2.执行 scale=number ,设置结果集小数位数:
eg:scale=3(保留小数点后三位)、
3.退出计算器,回到命令行:quit(必须使用quit)

Tips :从上面的练习我们大概可以知道在指令列模式里面下达指令时,会有两种主要的情况:
· 一种是该指令会直接显示结果然后回到命令提示字符等待下一个指令的输入;
· 一种是进入到该指令的环境,直到结束该指令才回到命令提示字符的环境,例如bc命令。

4.重要的几个热键[Tab], [ctrl]-c, [ctrl]-d

  • Tab
    按键的地方如果是在command(第一个输入的数据)后面时,他就代表着 『命令补全』,如果是接在第二个字以后的,就会变成『档案补齐』的功能了!总结一下:
    · [Tab] 接在一串指令的第一个字的后面,则为命令补全;
    · [Tab] 接在一串指令的第二个字以后时,则为『档案补齐』!

  • [Ctrl]-c 按键
    将正在运作中的指令中断。

  • [Ctrl]-d 按键
    键盘输入结束(End Of File, EOF 或 End Of Input)』的意思。

  • 超简单文书编辑器 nano
    nano 的使用其实很简单,你可以直接加上档名就能够开启一个旧档或新档!
    · [ctrl]-G:取得联机帮助(help),很有用的!
    · [ctrl]-X:离开naon 软件,若有修改过档案会提示是否需要储存喔!
    · [ctrl]-O:储存档案,若你有权限的话就能够储存档案了;
    · [ctrl]-R:从其他档案读入资料,可以将某个档案的内容贴在本档案中;
    · [ctrl]-W:搜寻字符串,这个也是很有帮助的指令喔!
    · [ctrl]-C:说明目前光标所在处的行数与列数等信息;
    · [ctrl]-_:可以直接输入行号,让光标快速移动到该行;
    · [alt]-Y:校正语法功能开启或关闭(单击开、再单击关)
    · [alt]-M:可以支持鼠标来移动光标的功能

  • 正确的关机方法
    在 Linux 底下,由于每个程序 (或者说是服务) 都是在背景下执行的,因此,在你看不到的屏幕背后其实可能有相当多人同时在你的主机上面工作, 例如浏览网页啦、传送信件啦以 FTP 传送档案啦等等的,如果你直接按下电源开关来关机时, 则其他人的数据可能就此中断!那可就伤脑筋了!
    此外,最大的问题是,若不正常关机,则可能造成文件系统的毁损 (因为来不及将数据回写到档案中,所以有些服务的档案会有问题!)。所以正常情况下,要关机时需要注意底下几件事:
    · 观察系统的使用状态:
    如果要看目前有谁在在线,可以下达『who』这个指令,而如果要看网络的联机状态,可以下达
    『 netstat -a 』这个指令,而要看背景执行的程序可以执行『 ps -aux 』这个指令。使用这些指
    令可以让你稍微了解主机目前的使用状态!当然啰,就可以让你判断是否可以关机了 (这些指
    令在后面Linux 常用指令中会提及喔!)
    · 通知在线使用者关机的时刻:
    要关机前总得给在线的使用者一些时间来结束他们的工作,所以,这个时候你可以使用
    shutdown 的特别指令来达到此一功能。
    · 正确的关机指令使用:
    例如 shutdown 与 reboot 两个指令!
    1、同步写入磁盘:sync
    在Linux 系统中,为了加快数据的读取速度,所以在默认的情况中, 某些已经加载内存中的数据将不会直接被写回硬盘,而是先暂存在内存当中,如此一来, 如果一个数据被你重复的改写,那么由于他尚未被写入硬盘中,因此可以直接由内存当中读取出来, 在速度上一定是快上相当多的!
    不过,如此一来也造成些许的困扰,那就是万一你的系统因为某些特殊情况造成不正常关机 (例如停电或者是不小心踢到power)时,由于数据尚未被写入硬盘当中,哇!所以就会造成数据的更新不正常啦! 那要怎么办呢?这个时候就需要sync 这个指令来进行数据的写入动作啦! 直接在文字接口下输入sync,那么在内存中尚未被更新的数据,就会被写入硬盘中!所以,这个指令在系统关机或重新启动之前, 很重要喔!最好多执行几次!
    tips:虽然目前的 shutdown/reboot/halt 等等指令均已经在关机前进行了 sync 这个工具的呼叫, 不过,多做几次总是比较放心点
    2、惯用的关机指令: shutdown
    这个指令会通知系统内的各个程序 (processes),并且将通知系统中的run-level 内的一些服务来关闭。shutdown 可以达成如下的工作:
    · 可以自由选择关机模式:是要关机、重新启动或进入单人操作模式均可;
    · 可以设定关机时间: 可以设定成现在立刻关机, 也可以设定某一个特定的时间才关机。
    · 可以自定义关机讯息:在关机之前,可以将自己设定的讯息传送给在线 user 。
    · 可以仅发出警告讯息:有时有可能你要进行一些测试,而不想让其他的使用者干扰, 或者是明白的告诉使用者某段时间要注意一下!这个时候可以使用 shutdown 吓一吓使用者,但却不是真的要关机啦!
    · 可以选择是否要 fsck 检查文件系统 。
    选项与参数
    -t sec : -t 后面加秒数,亦即『过几秒后关机』的意思
    -k : 不要真的关机,只是发送警告讯息出去!
    -r : 在将系统的服务停掉之后就重新启动(常用)
    -h : 将系统的服务停掉后,立即关机。 (常用)
    -n : 不经过 init 程序,直接以 shutdown 的功能来关机
    -f : 关机并开机之后,强制略过 fsck 的磁盘检查
    -F : 系统重新启动之后,强制进行 fsck 的磁盘检查
    -c : 取消已经在进行的 shutdown 指令内容。
    时间 : 这是一定要加入的参数!指定系统关机的时间!
    范例:
    [root@www ~]# /sbin/shutdown -h 10 ‘I will shutdown after 10 mins’
    重要tips
    时间参数请务必加入指令中,否则shutdown 会自动跳到 run-level 1 (就是单人维护的登入情况),这样就伤脑筋了!底下提供几个时间参数例子子吧:
    eg:[root@www ~]# shutdown -h now
    立刻关机,其中 now 相当于时间为 0 的状态
    eg:[root@www ~]# shutdown -h 20:25
    系统在今天的 20:25 分会关机,若在21:25 才下达此指令,则隔天才关机
    eg:[root@www ~]# shutdown -h +10
    系统再过十分钟后自动关机
    eg:[root@www ~]# shutdown -r now
    系统立刻重新启动
    eg:[root@www ~]# shutdown -r +30 ‘The system will reboot’
    再过三十分钟系统会重新启动,并显示后面的讯息给所有在在线的使用者
    eg:[root@www ~]# shutdown -k now ‘This system will reboot’
    仅发出警告信件的参数!系统并不会关机啦!吓唬人!
    3、重新启动,关机: reboot, halt, poweroff
    基本上,在预设的情况下, 这几个指令都会完成一样的工作!(因为halt 会先呼叫shutdown,而shutdown 最后会呼叫halt!)。 不过,shutdown 可以依据目前已启动的服务来逐次关闭各服务后才关机;至于halt 却能够在不理会目前系统状况下, 进行硬件关机的特殊功能!
    4、切换执行等级: init
    Linux 共有七种执行等级, 七种等级的意义我们在后面会再谈到。本章你只要知道底下四种执行等级就好了:
    · run level 0:关机
    · run level 3:纯文本模式
    · run level 5:含有图形接口模式
    · run level 6:重新启动
    如果你想要关机的话, 除了上述的shutdown -h now 以及poweroff 之外,你也可以使用如下的指令关机:
    [root@www ~]# init 0
    5、开机过程的问题排解
    Linux 主机是很稳定的,除非是硬件问题与系统管理员不小心的动作,否则, 很难会造成一些无法挽回的错误的。但是,毕竟我们目前使用的可能是练习机,会常常开开关关的, 所以确实可能会有一些小问题发生。
    (1)文件系统错误的问题 :
    在开机的过程中最容易遇到的问题就是硬盘可能有坏轨或文件系统发生错误(数据损毁)的情况, 这种情况虽然不容易发生在稳定的Linux 系统下,不过由于不当的开关机行为, 还是可能会造成的,常见的发生原因可能有:
    · 最可能发生的原因是因为断电或不正常关机所导致的文件系统发生错误, 鸟哥的主机就曾经发生过多次因为跳电,家里的主机又没有安装不断电系统, 结果就导致硬盘内的文件系统错误!文件系统错误并非硬件错误,而是软件数据的问题喔!
    · 硬盘使用率过高或主机所在环境不良也是一个可能的原因, 例如你开放了一个FTP 服务,里面有些数据很有用, 所以一堆人抢着下载,如果你又不是使用较稳定的SCSI 接口硬盘,仅使用一般PC 使用的硬盘, 虽然机率真的不高,但还是有可能造成硬盘坏轨的。此外,如果主机所在环境没有散热的设备, 或者是相对湿度比较高的环境,也很容易造成硬盘的损坏喔!
    (2)解决的方法:
    如果根目录没有损毁
    假设你发生错误的partition 是在/dev/sda7 这一块,那么在开机的时候,屏幕应该会告诉你:press root password or ctrl+D : 这时候请输入root 的密码登入系统,然后进行如下动作:
    · 在光标处输入root 密码登入系统,进行单人单机的维护工作;
    · 输入『 fsck /dev/sda7 』(fsck 为文件系统检查的指令,/dev/sda7 为错误的partition,请依你的情况下达参数), 这时屏幕会显示开始修理硬盘的讯息,如果有发现任何的错误时,屏幕会显示: clear [Y/N]? 的询问讯息,就直接输入 Y 吧!
    · 修理完成之后,以 reboot 重新启动啰!
    如果根目录损毁了
    一般初学者喜欢将自己的硬盘只划分为一个大partition,亦即只有根目录, 那文件系统错误一定是根目录的问题啰!这时你可以将硬盘拔掉,接到另一台Linux 系统的计算机上, 并且不要挂载(mount)该硬盘,然后以root 的身份执行『 fsck /dev/sdb1 』(/dev/sdb1 指的是你的硬盘装置文件名,你要依你的实际状况来设定),这样就 OK 啰!
    如果硬盘整个坏掉
    如果硬盘实在坏的离谱时,那就先将旧硬盘内的数据,能救出来的救出来,然后换一颗硬盘来重新安装Linux 吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章