初识Linux shell工具

本文详细介绍了Linux中的shell工具及命令使用方法,包括GUI和CLI工具的区别、bash命令提示符的设置与查看、命令格式与选项使用、以及命令执行形式的差异。通过实例演示了如何使用命令选项和参数,提供了丰富的Linux命令使用技巧。
摘要由CSDN通过智能技术生成
一、	常见的shell工具
linux中的shell工具分为图像界面shell(GUI)和命令行形式(CLI)两种
1.	GUI工具包含X window manger、CDE、GNOME、KDE、XFCE
2.	CLI工具包含bsh、csh、tcsh、ksh、bash、zsh。其中bash是现今大多数流行Linux发行版默认的shell工具
二、	bash命令提示符
1.	当登陆bash后会看到命令行左侧有一些提示信息如:[root@centos6 ~]#;例子中的命令提示符中的内容分别表示
		root:当前登陆的用户
		centos6:计算机名称
		~:当前所在目录(~在linux中代表用户家目录)
		#:代表当前登陆用户的级别(#代表root用户,$代表除root之外的其它用户)
2.	更改命令提示符
命令提示符可以通过变量$PS1来改变,可以现在命令中输入echo $PS1来查看当前设置,如下:
[root@centos6 ~]# echo $PS1 
[\u@\h \W]\$
重新设置命令提示符格式:
[root@centos6 ~]# PS1="[\u@\h \W]\$"
[\u@\h \W]\$中\u代表当前登陆的用户;\h代表当前主机名称;\W代表当前所在目录;\$代表当前登陆用户级别,其它字符没有特殊意义,只表示字符本身的含义。
命令提示符($PS1环境变量)中的常用符号含义:
	\d:代表日期,格式为weekday month date
	\H:王筝的主机名称
	\h:仅获取主机的第一个名字
	\t:显示时间为24小时格式,如HH:MM:SS
	\T:显示时间为12小时格式
	\A:显示时间为24小时格式:HH:MM
	\u:当前用的账户名称
	\v:BASH的版本信息
	\w:完整的工作目录名称,家目录会以~代替
	\W:利用basename取得工作目录名称,所以只会列出最后一个目录
	\#:下达的第几个命令
	\$:提示符,如果是root时提示符为#,普通用户为$
三、	bash命令的两种类型
builtin:在shell程序中实现的命令即为内建命令;
外部命令:在文件系统上的某位置有一个与命令名称对应的可执行文件;
可以使用命令type判断命令的类型;
shell事先通过PATH设定好了多个路劲,当用户输入命令时,shell会自动到这些路劲(由左向右)下查看与命令名称相同的可执行文件,查找到并执行过的命令会保存到一个hash查找表中,可以使用hash命令查看此表。查看一个可执行程序的具体路径可以使用which命令
[root@centos6 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@centos6 ~]# hash
hits	command
   1	/bin/grep
   1	/usr/bin/man
   2	/usr/bin/info
   1	/bin/ls
[root@centos6 ~]# which ls
alias ls='ls --color=auto'
	/bin/ls
四、	命令格式
在Linux系统中,一个命令通常由命令名、命令选项和命令参数3部分内容组成,中间以空隔或制表符等空白字符隔开命令的形式如下:
command  options  arguments
命令	    选项	参数
	其中命令选项通常是以减号"-"开始的单个字符,与UNIX系统不同的是Linux系统还提供以双减号"--"为起始标识的命令选项(通称GUN选项),其选项通常为可按字面意思理解的单个英文单词,或由单词和连字符组成的词组。除了个别命令选项(如"--help")之外,以双减号"--"为起始标识的选项大多是单字符命令选项的同义词,居右相同的意义,因而可以替换使用。
在命令行结构中,只有命令名是必须提供的,命令选项和命令参数都是可以省略的,一个最简单的命令可以仅仅包含命令名本身,在这种情况下命令选项和参数均采用默认值。
[root@centos6 ~]# date
2014年 09月 16日 星期二 07:29:12 CST
	在实际应用过程中,可以根据具体需求视情况选用或省略命令选项,而且命令选项和参数可以与命令名以任意形式组合使用。例如下列命令仅由命令明和一个命令选项“-n”组成,省略的命令参数,其作用是列出系统的名字。
[root@centos6 ~]# uname -n
centos6.5_X64
下列命令由命令名和命令参数组成,而省略了命令选项,其作用是以简单的输出形式列出指定目录下的文件
[root@centos6 ~]# ls /
bin   etc   lib64       mnt   root     srv  usr
boot  home  lost+found  opt   sbin     sys  var
dev   lib   media       proc  selinux  tmp
多个以减号"-"开始的单个字符的选项之间可以进行合并,也可以分开(以双减号"--"开始的选项不能合并在一起)
[root@centos6 opt]# ls -la /opt
总用量 24
drwxr-xr-x.  3 root root  4096 9月  23 2011 .
dr-xr-xr-x. 22 root root  4096 9月  15 17:05 ..
drwx------.  2 root root 16384 9月  13 17:34 lost+found
[root@centos6 opt]# ls -l -a /opt
总用量 24
drwxr-xr-x.  3 root root  4096 9月  23 2011 .
dr-xr-xr-x. 22 root root  4096 9月  15 17:05 ..
drwx------.  2 root root 16384 9月  13 17:34 lost+found
	命令选项主要限定命令具体的功能,同时也决定了命令的最终运行结果,在Linux系统中每个命令通常都提供大量的选项,因而居右丰富的功能。选项可以被单独给出,也可以被组合使用。如果选项本身也带有参数,则这样的选项及其参数必须被单独列出。在下列排序命令中因为"-k"和"-o"等命令选项本身也要求提供参数,故需要分别给出
[root@centos6 /]# ls -al|sort -k 5 -n -o /root/test
[root@centos6 /]# cat /root/test
drwxr-xr-x.  13 root root     0 9月  15 17:05 sys
drwxr-xr-x.   7 root root     0 9月  15 17:05 selinux
dr-xr-xr-x. 114 root root     0 9月  15 17:05 proc
-rw-r--r--.   1 root root     0 9月  15 17:05 .autofsck
总用量 98
dr-xr-xr-x.   5 root root  1024 9月  13 19:51 boot
drwxr-xr-x.  16 root root  3640 9月  15 17:05 dev
drwxrwxrwt.   4 root root  4096 9月  16 07:35 tmp
drwxr-xr-x.  14 root root  4096 9月  13 17:35 usr
drwxr-xr-x.  18 root root  4096 9月  13 19:08 var
drwxr-xr-x.   2 root root  4096 9月  23 2011 media
drwxr-xr-x.   2 root root  4096 9月  23 2011 mnt
drwxr-xr-x.   2 root root  4096 9月  23 2011 srv
drwxr-xr-x.   3 root root  4096 9月  23 2011 home
drwxr-xr-x.   3 root root  4096 9月  23 2011 opt
drwxr-xr-x.  74 root root  4096 9月  15 17:05 etc
dr-xr-x---.   6 root root  4096 9月  16 09:25 root
dr-xr-xr-x.  22 root root  4096 9月  16 09:25 .
dr-xr-xr-x.  22 root root  4096 9月  16 09:25 ..
dr-xr-xr-x.   2 root root  4096 9月  13 19:49 bin
dr-xr-xr-x.   8 root root  4096 9月  13 17:35 lib
dr-xr-xr-x.   2 root root 12288 9月  13 19:50 sbin
dr-xr-xr-x.   9 root root 12288 9月  13 19:49 lib64
drwx------.   2 root root 16384 9月  13 17:34 lost+found
	其中"-k 5"中的5就是"-k"选项的参数,表示以第5个字段为关键字进行排序。"-n"选项表示按数值的大小排序。"-o /root/test"中de /root/test也是选项-o的参数,表示存储最终排序的结果输出文件。

	在Linux系统的命令提示符下,一次通常仅输入一个命令。如果愿意也可以一次输入多个命令,在命令之间用分号隔开。另外也可以使用圆括号把若干命令合并在一起,使之构成一个组合命令。
[root@centos6 /]# date;who
2014年 09月 16日 星期二 09:34:44 CST
root     tty1         2014-09-15 21:54
root     pts/0        2014-09-16 08:50 (192.168.0.56)
root     pts/1        2014-09-16 05:24 (192.168.0.56)
[root@centos6 /]# (date;who)
2014年 09月 16日 星期二 09:34:50 CST
root     tty1         2014-09-15 21:54
root     pts/0        2014-09-16 08:50 (192.168.0.56)
root     pts/1        2014-09-16 05:24 (192.168.0.56)
	除了括号之外两种命令的形式完全一样,有时其效果也完全一样,但两者的意义却大不相同。第一种命令形式只是在一个逻辑行上并列输入了多个命令,其效果同一次输入一个命令基本上没有区别,而且都是在当前shell下运行。而第二种命令形式这是把多个命令看做一个组合命令,在一个子shell中运行,所有命令的输出数据将会合并为一个输出流,其差别在管道操作中尤为明显(可以通过wc计算读入行数比较两种形式的差别)。
[root@centos6 /]# date;who |wc -l
2014年 09月 16日 星期二 10:17:04 CST
3
[root@centos6 /]# (date;who)|wc -l
4
	如果命令较长,超出一个物理行的坎杜,可以使用反斜线“\”吧命令写到做个物理行上。也可以继续输入,有系统自动延伸至后续的行上。
	如前所述许多GNU使用程序都支持以双减号"--"为起始表示的选项。这些选项或者是原有单减号"-"选项的另外一种表现形式,或者是命令功能的扩充。例如sort命令的"-k"选项对应的双减号选项为"--key"。如果使用GNU命令形式,则可以把前述的sort命令改写如下:
[root@centos6 /]# ls -al|sort --key 5 -n -o /root/test
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值