首页 > 分布式 > Linux > Linux Shell概述及命令行基础(Bash)
2014
03-20

Linux Shell概述及命令行基础(Bash)

在计算机科学中,Shell俗称壳(用来区别于核,Kernel)。首先说一下什么是Kernel:

Kernel (内核),内核就是Linux的核心,用户的所有操作,最终都是由Kernel来完成的,但是用户却又不是直接对 Kernel 操作,因为用户与Kernel之间,并不都能直接的沟通(除非人人都是大牛),这个时候就需要Shell了,Shell把你给它的指令翻译成Kernel能懂的命令,然后Kernel按照你的要求完成相应的操作,即Shell是用户与操作系统的接口。如下图:

linux shell kernel

shell分两大类:

(1)GUI shell,即图形用户界面:目前linux系统上最流行的桌面环境是GNOME和KDE。

(2)CLI shell,即命令行界面:绝大多数linux发行版采用bash(大多数UNIX系统的缺省shel是sh)

注:通常讲的shell指的是命令行式的shell(or Bash),以后如果不特别注明,shell是指命令行式的shell。除此之外,shell还是一种高级程序设计语言。

GNOME图形界面:

1、每次打开一个文件夹都会打开一个新窗口,可在edit-preferences-behavior中勾选Always open in browser windows修改

2、Applications菜单:常用软件工具,包括Accessories(相当于附件)、Graphics(图形化软件)、Internet、Sound&Video、System Tools(有命令行终端,它和真正的CLI无区别,方便使用)

3、Places菜单:管理本地或者远程的文件。

4、System菜单:Preferences、Administration、Help、锁屏/注销/关机

5、GNOME还提供workspace,可以有多个桌面环境。

Bash基础:

1、刚进入命令行环境会看到类似如下的一行字符:

[flyne@localhost ~] $

每个字段对应的含义为:[当前用户@主机名 当前工作目录] 提示符

注:~代表当前用户的家目录

Bash提示符:#(root用户)、$(普通用户)

2、Linux命令的一般结构为:命令 [-选项] [参数]

多个选项可用一个 – 连起来,如ls -l-a 与ls -la相同

3、使用Tab键来简化输入:补全命令 / 文件名

查看以某些字符开头的所有命令

连按两次tab键可以显示所有命令

注:tab键无法补全参数

4、Bash shell命令历史记录

(1)Bash会保存你输入命令的历史记录,可以通过上下键或者history命令来查看。

(2)通过历史记录简化操作(用的比较少,写脚本时可能用到):

!! 重复前一个命令

!字符 重复前一个以指定字符开头的命令

!num 按历史记录序号执行命令

!?abc 重复之前包含abc的命令

!-n 重复n个命令之前那个命令

搜索命令历史记录:通过 Ctrl + r 来对命令的历史记录进行搜索查询(最强大、需熟记)(reverse-i-search)

5、Linux支持以下通配符:

* 匹配零个或多个

? 匹配任意一个

[c1~c2] 匹配一个c1~c2范围中的一个字符,如[0~9] [a~z],~ 也可以写成 -

[list] 匹配列表里的一个字符,如 [abc]

[!list] 匹配列表以外的一个字符,如 [!abc]

6、su命令、passwd命令

su命令:切换用户但不退出当前用户(su -、su命令的区别在于是否创建一个新的终端)

passwd命令:修改当前用户密码。

注:在命令之前加上sudo 则使用管理员用户身份运行该命令

7、Shell作业管理

通过在命令后追加一个&,可以将该命令放入后台运行

通过以下命令可以管理后台作业:

jobs 显示后台作业

fg 编号 将后台作业调到前台执行

bg 编号 让一个作业继续在后台运行

通过Ctrl+Z暂停某个程序(底层原理是向程序发送信号17)

通过Ctrl+C 终止当前命令

8、日期时间

date:查看Linux系统日期时间

date -s (后面跟时间):修改Linux系统日期时间

hwclock / clock:显示硬件时钟时间

cal:显示日历

uptime:显示系统当前时间、运行时间、在线用户数、平均负载(1、5、15分钟)

9、echo命令:将命令行中输入的字符串输出到标准输出

10、who命令:查看当前所有正在使用系统的用户

11、clear清屏命令

12、关机、重启

shutdown命令:关机、重启、休眠(可定时)[-h:关机  -r:重启]

  如:立即关机 shutdown -h now

   10分钟后关机 shutdown -h +10

   23:30分关机 shutdown -h 23:30

   立即重启 shutdown -r now

快捷命令: reboot命令:立即重启

   poweroff命令:立即关机


留下一个回复

你的email不会被公开。