初识 linux shell

本文介绍了Shell的概念及其在Ubuntu中的应用,包括如何查看和切换Shell种类、基本命令操作及特殊符号的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Shell 是一种解释和执行用户在命令行输入命令的程序. 之所以称为Shell, 是因为它隐藏了操作系统低层的细节.

第一部分

Shell 的种类非常多,常用的主要是3种, 即 Bourne shell(sh), Korn shell(ksh)和 C shell.

要查看目前的Shell  种类或是默认的Shell 种类, 可以在Ubuntu 桌面打开一个终端, 用echo 命令来查询 Shell 环境变量。

代码如下:

echo  $SHELL

/bin/bash    //目前使用的shell 种类是bash

如果想改变 shell 的种类, 可输入如下:

aduovip@aduovip-desktop:~$sh                  //    进入shell  切换状态

$bash                                                                 //    切换到bash

aduovip@aduovip-desktop:~$ash                //    切换到ash

$csh                                                                    //    切换到csh

aduovip@aduovip-desktop:~$ksh                //    切换到ksh

$bsh                                                                   //     切换到bsh

第二部分

Shell  命令基本操作

例如:

ls                                                                          //   查看当前目录下的文件及文件夹

ls   -l                                                                    //    查看当前目录下的文件及文件夹的详细信息

ls   -l   /home                                                      //    查看/home  目录下的文件及文件夹的详细信息

 Shell 常用的特殊符号

1.   *   通用符号  例如:  ls -l /bin/gh*  含义为 查看/bin/目录下所有以gh开头的文件及文件夹的详细信息

2.   ?   类似于*,  但只能表示单个字符,  将上一条命令 *   改为  ? , 含义为: 查看/bin/目录下以gh开头的,文件名长度为3个字符的文件及文件夹的详细信息

3.  [] ,指定范围(包含边界),  例如:  ls   [a-c]  查看当前目录下的文件名为a~c 范围的文件及文件夹

4.  !  取非符号, 需要与[]  符号联合使用,

 例如: 

aduovip@aduovip-desktop:~/test$ls

a b c d e

aduovip@aduovip-desktop:~/test$ls [!a-c]       //表示当前目录下的文件名不为a~c范围的文件及文件夹

d e

5.   ;  分隔符号,  用于在一行中输入多个命令时,分隔多个命令

aduovip@aduovip-desktop:~/test$ls;ls-l   查看当前目录下的文件及文件夹,然后查看它们的详细信息

6.  `  命令替代符,这个符号总是成对出现,它们包含的内容在shell  中表示一条命令,并且会被执行.注意该符号不是单引号,使用时和单引号有区别

aduovip@aduovip-desktop:~/test$echo  `ls -l`          //  将命令"ls -l"  的结果显示出来

total  0

....

aduovip@aduovip-desktop:~/test$echo  'ls -l'          //  这里用单引号,   表示 显示 "ls -l" 这个字符串

ls   -l

7  #  符号,  注释符号,  以   #   开头的一行被当作注释处理, 不会被执行.

 aduovip@aduovip-desktop:~/test$  # ls -l          //  添加上 # 号,该命令被当作注释,  不会执行

aduovip@aduovip-desktop:~/test$

#  符号常常用于shell 脚本中

还有一些常用功能

1.  自动命令补全功能, 按 TAB 键

2.  自动输入历史命令,    history               //  查看当前的所有历史命令

3.  命令别名机制             alias                  

例如:

 aduovip@aduovip-desktop:~/test$ifconfig                                     // ifconfig  查看网络情况

aduovip@aduovip-desktop:~/test$alias  mynet=ifconfig             //  将ifconfig 取个别名为mynet,   被赋值在左边

  aduovip@aduovip-desktop:~/test$mynet

4. 重定向,  输入输出重定向(IO  Redirection)  可以让用户从文件输入命令, 或将输出结果存储在文件及设备中。

输出重定向符号有">"  和">>",  而输入重定向符为  "<".

">" : 将输入的信息直接写入目标文件或设备中,并覆盖掉之前的内容

“>>”:  将输入的信息以追加的方式写入,即写在目标文件或设备的现有内容之后,不会影响原有的内容  

使用重定向输出时,如果目标文件不存在, 系统会自动创建.

重定向输入是指输入的内容不通过键盘,而是来自于某一个文件或设备.

5.  管道,  | 符号表示,可以将多个简单的命令集合在一起,除了第一个命令和最后一个命令外,每个命令的输出都将作为后一个输入,而每一个命令的输入都来自于前一个命令的输出.

例如: 

aduovip@aduovip-desktop:~/test$ls -l | grep test                //  管道连接两个命令,将ls  -l  的输出作为grep  命令的输入,该操作的目的是查看当前目录下文件名为test 的文件的详细信息

-rw-r--r--                    1        aduovip           aduovip           287            2013-01-01    10:00  test

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值