Linux入门第二天——基本命令入门(下)

一、帮助命令

  1.帮助命令man

  (是manual手册的缩写,男人无所不能,/笑哭)

  更多man用法以及man page的用法,参见:http://www.linuxidc.com/Linux/2017-03/142407.htm

  关于man的一些中文翻译,请参见:http://linux.51yip.com/

  实例:

//其中,ls(1)后面的1代表级别,具体级别如下:

  man page中的常用按键:

  

 

  实例:

  想查看man本身的帮助,可以使用man man

  2.其他帮助命令:

    --help

  实例:

  shell内部帮助命令

  什么是shell?

什么是shell 
shell是用户和Linux操作系统之间的接口。Linux中有多种shell,其中缺省使用的是Bash。本章讲述了shell的工作原理,shell的种类,shell的一般操作及Bash的特性。 
什么是shell 
Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。 
shell是用户和Linux内核之间的接口程序,如果把Linux内核想象成一个球体的中心,shell就是围绕内核的外层。当从shell或其他程序向Linux传递命令时,内核会做出相应的反应。 
shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。用户在提示符下输入的命令都由shell先解释然后传给Linux核心。 
Shell是一种具备特殊功能的程序, 它是介于使用者和 UNIX/linux 操作系统之核心
程序(kernel)间的一个接口。为什么我们说 shell 是一种介于系统核心程序与使用者
间的中介者呢?读过操作系统概论的读者们都知道操作系统是一个系统资源的管理者与分
配者,当您有需求时,您得向系统提出;从操作系统的角度来看,它也必须防止使用者因
为错误的操作而造成系统的伤害?众所周知,对计算机下命令得透过命令(command) 或
是程序(program);程序有编译器(compiler)将程序转为二进制代码,可是命令呢?
  其实shell 也是一支程序,它由输入设备读取命令,再将其转为计算机可以了解的机械码,
然后执行它。
  各种操作系统都有它自己的 shell,以 DOS 为例,它的 shell 就是 command.com文
件。如同 DOS 下有 NDOS,4DOS,DRDOS 等不同的命令解译程序可以取代标准的
command.com ,UNIX 下除了 Bourne shell(/bin/sh) 外还有 C shell(/bin/csh)、
Korn shell(/bin/ksh)、Bourne again shell(/bin/bash)、Tenex C shell(tcsh)
等其它的 shell。UNIX/linux将 shell 独立于核心程序之外, 使得它就如同一般的应用
程序, 可以在不影响操作系统本身的情况下进行修改、更新版本或是添加新的功能。
有一些命令,比如改变工作目录命令cd,是包含在shell内部的。还有一些命令,例如拷贝命令cp和移动命令rm,是存在于文件系统中某个目录下的单独的程序。对用户而言,不必关心一个命令是建立在shell内部还是一个单独的程序。 
shell首先检查命令是否是内部命令,若不是再检查是否是一个应用程序(这里的应用程序可以是Linux本身的实用程序,如ls和rm,也可以是购买的商业程序,如xv,或者是自由软件,如emacs)。然后shell在搜索路径里寻找这些应用程序(搜索路径就是一个能找到可执行程序的目录列表)。如果键入的命令不是一个内部命令并且在路径里没有找到这个可执行文件,将会显示一条错误信息。如果能够成功找到命令,该内部命令或应用程序将被分解为系统调用并传给Linux内核。 
shell的另一个重要特性是它自身就是一个解释型的程序设计语言,shell程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构。shell编程语言简单易学,任何在提示符中能键入的命令都能放到一个可执行的shell程序中。 
当普通用户成功登录,系统将执行一个称为shell的程序。正是shell进程提供了命令行提示符。作为默认值(TurboLinux系统默认的shell是BASH),对普通用户用“$”作提示符,对超级用户(root)用“#”作提示符。 
一旦出现了shell提示符,就可以键入命令名称及命令所需要的参数。shell将执行这些命令。如果一条命令花费了很长的时间来运行,或者在屏幕上产生了大量的输出,可以从键盘上按ctrl+c发出中断信号来中断它(在正常结束之前,中止它的执行)。 
当用户准备结束登录对话进程时,可以键入logout命令、exit命令或文件结束符(EOF)(按ctrl+d实现),结束登录。
View Code

  实例:

  info 命令暂不展开

二、压缩命令与解压缩命令

   关于压缩文件的先导知识——压缩的原理,可以参考鸟哥私房菜的介绍,以及百度百科的解释:压缩文件

   相关压缩命令资料请参考http://www.cnblogs.com/yejianfei/p/3351626.html

  

  1..zip格式

//与windows互通

  实例:

  //当然,jibangbei.zip后的zip后缀名是可以不写的(前面已经讲过Linux不通过拓展名进行区分),写这个是为了给管理员查看的!

  而压缩文件压缩0%是因为是个空文件

  若要压缩文件夹:mkdir,可以加上选项 -r 

  

  实例:

  2.gz格式

 

// -num选项(1-9可以指定压缩等级)

  实例:

若要压缩文件夹:mkdir,可以加上选项 -r (是压缩目录下的子文件,但不会打包压缩)

  实例:

  3.bz2格式

  实例:

  

  实例:

相应的,可以通过zcat/zmore/zless来查看gzip的文本压缩文件的内容而无需解压缩,bzip2则对应bzcat等!

  关于压缩率还要高的xz(提高了压缩率,但是需要更多的时间!),可以参考此处http://blog.csdn.net/rheostat/article/details/7614451

   4.打包命令tar

  由于压缩命令只能针对一个文件,因此想要压缩多个文件,就需要通过“打包”,来把多个文件(甚至目录)进行打包再进行后续的压缩处理

  tar的命令分为主辅命令,可以参考这里,(关于拿掉前缀 / 的警告,也可以参考此文的示例以及鸟哥的详细讲解!)完整请参见Linux命令手册或man!

  实例:

//之后就可以对打包文件进行gzip等的压缩了,解决了目录不能压缩的问题

  

  5..tar.gz压缩格式与.tar.bz2压缩格式

 

  实例:

 //可以看到原文件保留了

   解压到指定目录(使用大C):

  要压缩到指定目录,直接在压缩文件名称前面加绝对路径即可(前面路径的知识)

   只想解压部分文件,可以使用-t主选项进行查看,再接一个待解开的文件名即可!

tar -jxv -f 打包档.tar.bz2 待解开文件名

  想要排除文件,使用--exclude参数进行排除!

  bz2实例类同gz,不再赘述

 【注意】:其实最常用的是最后介绍的两个压缩格式:.tar.gz与.tar.bz2

 三、关机与重启命令

  1.关机命令shutdown

  //强制重启关机需谨慎!

  实例:

[root@study ~]# shutdown -h now
立刻关机,其中 now 相当于时间为 0 的状态
[root@study ~]# shutdown -h 20:25
系统在今天的 20:25 分会关机,若在21:25才下达此指令,则隔天才关机
[root@study ~]# shutdown -h +10
系统再过十分钟后自动关机
[root@study ~]# shutdown -r now
系统立刻重新开机
[root@study ~]# shutdown -r +30 'The system will reboot'
再过三十分钟系统会重新开机,并显示后面的讯息给所有在线上的使用者
[root@study ~]# shutdown -k now 'This system will reboot'
仅发出警告信件的参数!系统并不会关机啦!吓唬人!

 

  2.其他关机命令

  3.其他重启命令

  这里对比可以发现 Init后面跟了0和6两个数字,那么0和6分别代表什么呢,这就类似前面帮助命令中的数字,代表级别

  查看运行级别:

//N代表NULL,无级别,3多用户,也就是我们的字符界面

  4.退出登录:logout

注意: logout 注销用户 exit 退出控制台

四、挂载命令

  1.什么叫挂载:

    根文件系统之外的其他文件要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”,此目录即为“挂载点”,解除此关联关系的过程称之为“卸载”

    将文件系统与目录树结合的动作我们称为“挂载”。

  2.查询与挂载命令mount

 

//关于自动挂载,这里暂时不展开,可以参加鸟哥的Linux私房菜

  实例:

  3.挂载命令格式mount DECE MOUNT_POINT

//特殊选项这里暂不展开,尽量不要修改这些特殊选项

  也可以尝试鸟哥推荐的通过blkid查看UUID来进行挂载!

  4.挂载光盘:

//挂载的设备名不能自定义,这是由Linux决定的,光盘U盘等都有固定格式,其中-t也可以省略,Linux会智能判断(光盘sr0),所以挂载简化为第三种操作:

  mount 挂载设备名 挂载点

  5.卸载命令umount

    不能省略,一定要卸载!

  直接卸载报 device is busy 设备繁忙是因为当前位置(pwd)就在光盘中,退出卸载即可!

  查看是否成功卸载可以使用df或者Mount命令进行检查

此外,如果你使用的是图形界面,那么系统会自动的帮你挂载这个光盘到 /media/ 里面
去喔!也可以不卸载就直接退出! 但是文字界面没有这个福利就是了! ^_^

  6.挂载U盘

  实例:

   一般情况下U盘是sdb1,可以通过上面的命令来查看:fdisk -l

五、用户登录查看命令

  1.w命令

  实例:

 //此处突然在虚拟机操作是由于xshell又自动断开连接了,此bug待更新解决,无法连接见day01文末

   2.last命令

  实例:

  3.lastlog

 

  

posted @ 2017-12-04 16:49  ---江北  阅读(319)  评论(0编辑  收藏  举报
TOP