Bash shell 基础命令第一章至第四章

1. Shell启动

Gun bash shell为用户提供交互式访问,登录时系统依赖于用户账户的配置,在/etc/passwd 文件中存放所有系统用户账户列表及基本配置,以下为条目样本:

root:x:0:0:root:/root:/bin/bash

每个条目共有七个字段,分别以冒号隔开,代表的含义依次为“用户名:密码:UID(用户ID号):GID(用户主组ID号):GECOS(用户详细描述信息):用户家目录:用户默认shell程序”。当用户登录以后将会启动默认shell程序。

2. 命令帮助

2.1 which命令

说明:查看命令完整路径,如果有命令设置了别名,还可以显示别名。

格式:which COMMAND

示例:

[root@localhost ~]# which ls

alias ls='ls --color=auto' ####别名

/bin/ls ####ls命令的详细路径,在制作shell脚本时,经常需要用到命令的完整路径。

命令帮助方法有几种:

2.2 man命令

说明:查看命令的帮助文档,通常放置于/usr/share/man 目录中

格式:man [ 章节] COMMAND

Man手册根据对应内容区域分为八个章节

1章节:用户命令

2章节:系统调用

3章节:库调用

4章节:设备文件及特殊文件

5章节:配置文件格式

6章节:游戏

7章节:概览、约定和杂项

8章节:超级用户和系统管理员命令

Man手册格式

Name:命令名和命令的描述

Synopsis:命令的语法

Description:命令一般性描述

Option:命令选项描述

Example:命令用法示例

Authors:命令开发人员信息

Reporting BugsBUG提交方法

See Also:与命令相关的其他命令

内部命令帮助查看可以使用COMMAND �Chelphelp COMMAND

3. 浏览查看命令

3.1 cd命令

说明:进入到指定路径下,通常使用格式为 cd COMMAND

使用场景:

cd /root 进入/root路径下

cd ~ :进入到当前用户的家目录

cd - :返回上次目录

cd .. :进入此目录的上一级目录

cd / :进入根目录

3.2 ls命令

说明:查看指定路径下的目录和文件

格式:ls [参数] 路径

参数:

不带任何参数和路径时表示查看当前目录下非隐藏属性的所有文件和目录

-a:查看当前目录下包含隐藏文件的所有文件和目录

-l:显示文件和目录的长格式

-h:人性化显示文件容量数据,与-l一起使用

-i:显示每个文件的inode编号

-d:只显示目录

-F:在显示的文件和目录队列中,目录会跟上/,更加醒目

-R:递归显示该路径下所有目录下的全部文件

常用组合:

-alh:显示长格式目录下包含隐藏文件在内的所有文件信息,文件大小人性化显示;

-il:以长格式显示路径下文件和文件夹信息并显示inode编号

长格式内容信息描述

[root@localhost ~]# ls -il

total 52

1572873 -rw-------. 1 root root 2392 Oct 27 2014 anaconda-ks.cfg

从左至右一次解析:

1572873:文件的inode编号

-:文件类型,一般文件类型有-(普通文本文件)、d(目录)、s(套接字文件)、c(字符设备文件)、b(块设备文件)、l(符号链接文件)、p(管道文件)

rw-------:共计有9位,依次表示文件的属主、属组、其他用户的权限。

1:文件被硬链接的次数

root:属主

root:属组

2329:文件大小,以字节为单位

Oct 27 2014:最后一次被修改时间

anaconda-ks.cfg:文件名

4. 文件处理命令

4.1 touch命令

说明:touch命令主要用于改变文件的时间戳,当文件不存在时会创建该文件。可以通过stat filename来查看文件的时间戳

格式:touch [ 参数 ] 文件名

参数:

touch filename :表示创建名为filename的文件

-a:修改文件的访问时间

-m:修改文件的修改时间

-c:修改文件的变更时间,一般为文件最晚的时间戳

小技巧:可以通过 ls -l �Ctime=atime filename来显示该文件的最后一次访问时间。

4.2 cp命令

说明:cp命令主要用于复制文件或文件夹到指定路径

格式1cp 原路径目标路径

原路径为文件会有一下四种情况:

如果目标路径不存在则会创建目标路径并将文件复制到目标路径中

如果目标目录存在

如果目标路径是文件则会被源路径文件覆盖,建议此时使用-i选项。

如果目标路径是目录则会在目标目录下新建一个同名文件,将源文件内容填充至目标文件中。

格式2cp 多个源文件目标路径

如果复制多个文件到目标路径,则目标路径必须存在且为目录

格式3cp 源路径目标路径

如果源路径为目录则目标路径必须为目录,且必须使用-r选项,如果目标路径目录不存在则会创建该目录并将源路径目录填充只目标目录中,如果目录路径是目录且已存在,则会直接将源路径目录及目录中的文件填充至目标目录中。

参数:

-a:归档复制

-i:交互式,复制每一个文件和目录都需确认

-r:递归复制目录下的所有文件

-f:强制复制

4.3 mv命令

说明:用于移动文件到指定路径下,也可用于文件重命名

格式:

mv [OPTION]... [-T] SOURCE DEST

mv [OPTION]... SOURCE... DIRECTORY

mv [OPTION]... -t DIRECTORY SOURCE...

参数:

-i:交互式

-f:强制

4.4 ln命令

说明:创建符号连接文件和硬链接,链接到同一个文件的硬链接文件inode编号为同一编号,在磁盘中存放的位置一致,符号连接文件相当于源连接文件的一个快捷方式。

创建硬链接:ln 原文件硬链接文件路径和文件名

创建软链接:ln 源文件符号连接路径和文件名

4.5 rm命令

说明:删除指定目录和文件

参数:

-i:交互式

-r:递归删除

-f:强制删除

rm -rf 命令会在不通知的情况下强制删除所制定的目录和文件,慎用。

mkdir命令

说明:删除空目录,当目录中有文件时,无法删除,可使用rm -rf 强制删除。

5. shell通配符

shell支持通配符机制,可用通配符如下:

*:代表任意长度的任意字符

?:代表一位任意字符

[]:位于[]中的字符为可选字符。

示例:

ls /etc/p* 表示列出/etc目录下所有以P开头的文件和文件夹

ls /etc/p?sswd 表示列出/etc目录下以任意以P开头sswd结尾的文件

6. 绝对路径和相对路径

绝对路径:表示完整路径,例如 /bin/bash

相对路径:./ 表示当前路径,../表示当前路径的上一级路径。

7. 文件查看命令

7.1 file命令

说明:查看文件类型,使用格式 flie 文件名即可。

7.2 cat命令

说明:仅查看文本文件文件的命令,-n参数表示查看文件时带上行号,-b参数表示仅在有文字的行前加行号,-T表示显示时去表文件中的制表符

7.3 more命令

说明:more支持翻页,cat在查看大文件时不受控制,more可以自动分页,仅支持向下翻页。

7.4 less命名

说明:功能类似于more,不过可支持来回翻页

7.5 tail命令

说明:只从尾部开始查看文件,默认查看最后10行,-n 20 则表示查看倒数20行,-f参数可动态显示文件尾部追加的内容。

7.6 head命令

说明:从头部开始查看文件,默认显示从头部开始10行文件, -20则表示查看从头部开始往后20行文件

以上文件查看命令仅支持查看文本文件。

7.7 tree命令

说明:tree命令可以树型结构查看指定路径的文件和文件夹。一般系统默认不安装此命令,可使用yum -y install tree安装。

8. 监测程序

8.1 ps命令

说明:ps是一个功能强大的进程查看工具,可查看进程和系统关键参数。

BSD风格的常用组合:ps aux

解析:

USER:启动进程的用户

PID:进程编号

%CPU:CPU占用率

%MEM:内存占用率

VSZ:虚拟内存集

RSS:常驻内存集

TTY:进程启动时的终端

STAT:进程当前状态

R:正在运行

S:可中断睡眠

D:不可终端睡眠

T:停止的进程

Z:父进程已被结束的僵死进程

+:前台进程

<:高优先级进程

N:低优先级进程

s:该进程是控制进程

l:多线程

START:进程启动时的系统时间

TIME:进程占用的CPU时间

COMMAND:程序名

参数:

-a:与终端相关的进程

-u:以用户为中心组织显示进程状态

-x:与终端无关的进程

Unix风格的常用组合:ps -ef

解析:

UID:用户ID

PID:进程编号

PPID:父进程进程编号

C:进程声明周期中的CPU利用率

STIME:进程启动时的系统时间

TTY:进程启动时的终端

TIME:运行进程累计需要使用的CPU时间

CMD:启动的程序名称

参数:

-e:显示所有进程

-f:显示完整格式的进程信息

ps -eFH

参数:

-F:显示完整的进程信息

-H:以层级格式显示进程信息

ps -efl

解析:

F:内核分配给进程的系统标记

S:进程的状态(O代表正在运行,S代表休眠,R代表可运行正在等待运行,Z代表僵死状态,T代表停止)

PRI:进程优先级,数字越大优先级越低

NINICE值,用来动态调整优先级

ADDR:进程的内存地址

SZ:假如进程要被换出,所需的交换分区大小

WCHAN:进程休眠的内核函数的地址

参数:

-l:显示长格式输出

8.2 top命令

说明:top命令功能与ps命令类似,都是用于查看进程信息,不过top命令是动态显示进程当前状态,可以用来追踪某些资源占用高的进程

解析:

首部top项表示当前系统时间、系统运行时间、登录的用户数,cpu的平均负载,分为表示1分钟、5分钟、15分钟的平均负载

第二行Tasks项表示进程大致统计信息,依次为总进程数、正在运行的进程数、休眠态的进程数、停止的进程数、僵死的进程数

第三行表示CPU的负载情况

第四行表示内存使用情况

第五行表示交换分区使用情况

PR:进程优先级

NI:进程nice值用于调节进程优先级

VIRT:内存占用的虚拟内存总量

RES:进程占用的物理内存总量

S:进程状态(R代表正在运行、S代表休眠、D代表可中断睡眠、T代表跟踪或停止状态、Z代表僵死态)

%CPU:进程使用CPU的时间比例

%MEM:进程占用的内存占可用内存的比例

TIME+:启动进程到目前位置使用CPU时间的总和

COMMAND:进程名

内置命令

排序:

P: CPU进程占用CPU时间比例排序

M: 以进程内存占用比例排序

T: 累计占据CPU时长排序

首部显示:

l: uptime首部时间显示

ttaskCPU显示

1CPU分核显示

m:内存显示

退出命令:q

修改刷新间隔:s

杀死进程:k

参数:

-d # :指定刷新时间

-b :以批次方式显示

-n :显示多少批次

8.3 htop

说明:htoptop功能更强大,可以实时显示当前进程状态,而且可以跟踪显示指定进程,htop系统并不自带需额外配置EPEL源安装。

解析:

首部为CPU、内存、交换分区使用情况

下部PIDUSER等与top相同

内置命令:

s:跟踪进程的系统调用

l:查看进程打开的文件列表

a:将进程绑定在某CPU核心

t:将进程以层级方式显示

参数:

-d # :指定延时刷新时间

-u username :仅显示指定用的进程

-s COLONM:以指定字段排序

8.4 kill命令

说明:kill命令用于给进程发送信号,以实现对进程的管理,一般不带信号参数时,默认发送15号信号。

常用信号种类:(可以使用kill -l 命令查看所有可以发送的信号)

1SIGHUB:无须关闭进程而重读进程配置文件

2SIGINT:中止正在运行的指定进程,相当于Ctrl+c

9SIGKILL:杀死正在运行的进程

15 SIGTERM:终止正在运行的进程

18 SIGCONT:启动之前停止的进程

19 SIGSTOP:停止正在运行的进程

指定信号的方法:

通过信号对应的数字,例如12915

通过信号的完整名称,例如SIGHUBSIGINT

通过信号的简称,例如HUBINT

向进程发信号的方法:kill [ -SIGNAL ] 进程名

终止某进程名下的所有进程:killall [ -SIGNAL ] 进程名

9. 磁盘挂载及监测相关命令

9.1 mount命令

说明:用于把设备关联到挂载点。仅用命令,重启后失效,如果需要永久生效可以通过配置/etc/mtab来实现

mount:查看当前所有已挂载的设备

mount [ -fnrsvw ] [ -t vfstype] [ -o options ] device dir

device:指明要挂载的设备

1)设备文件:例如/dev/dsa5

2)卷标: -L ‘LABEL’,例如 -L ‘MYDATA’

3UUID-U ‘UUID’ ,例如:-U '0c50523c-43f1-45e7-85c0-a126711d406e'

4)伪文件系统:procsysfsdevtmpfsconfigfs

dir:挂载点,尽量使用空目录,如果挂载前目录中已存在文件则在挂载后会暂时隐藏。正在使用中的设备无法挂载

常用命令选项:

-t vsftype:指定要挂载的设备的文件系统类型;

-rreadonly,只读挂载

-wread and write,读写挂载

-n:不更新/etc/mtab

-a:自动挂载所有支持自动挂载的设备;(定义在/etc/fstab文件中,且挂载选项中有自动挂载功能

-L ’LABEL’:以卷标指定挂载的设备

-U ‘UUID’:以UUID指定要挂载的设备

-B--bind:绑定一个目录到另一个目录上

注意:查看内核追踪到的已挂载设备,可用 cat /proc/mounts

-o options:挂载文件系统的选项

async:异步模式

sync:同步模式

atime/noatime:包含目录和文件

diratime/nodiratime:目录的访问时间戳

auto/noauto:是否支持自动挂载

exec/noexec:是否支持将文件系统上的应用程序运行成进程

dev/nodev:是否支持在此文件系统上使用设备文件

suid/nosuid:是否在此文件系统中使用SUID

remount:重新挂载

ro:只读

rw:读写

user/nouser:是否允许普通用户挂载此设备

acl:启用此文件系统的ACL功能

注意:上述选项可多个同时使用,以,号隔开,默认挂载选项default包含rwsuiddevautonouserasync

卸载命令:

umount DEVICE

umount MOUNT_POINT

查看正在访问指定文件系统的进程:fuser -v MOUNT_POINT

终止所有正在访问指定的文件系统的进程:fuser -km MOUNT_POINT

9.2 df命令

说明:df用来查看挂载点的详细参数,包含挂载的设备、可用容量、已用容量和所占百分比等

格式:df [ 选项 ] [挂载点]

选项:

-h:已人性化的方式显示挂载点设备、可用和已用容量等,不加挂载点时会显示当前系统所有挂载的设备

-i:同-h,但是显示的容量信息将以inode为单位

-P:以posix兼容的格式输出

9.3 du命令

说明:查看指定文件夹所占用空间容量

格式:du [ 选项 ] DIR

选项:

-h :以人性化显示

-s:仅显示占用的总容量

10. 数据文件处理命令

10.1 sort命令

说明:此命令可根据指定的条件对数据进行排序

格式:sort [ 参数 ] 目标文件

参数:

-f:忽略字符大小写

-r:逆序排序

-t DELIMITER:指定字段分隔符

-k #:以指定的字段为标准进行排序

-n:以数字大小进行排序

-uuniq,排序后去重

-M:以月份大小进行排序

10.2 . grep命令

说明:grep为正则表达式,为非常常用的文本搜索工具,会对用户给的条件进行逐行匹配,并打印出来,egrep为扩展正则表达式

格式:grep [ 参数 ] 模式目标文件

参数:

-v :打印未匹配到指定模式的行

-i:忽略字符大小写

-o:仅显示匹配到的字符

-q:静默模式,不将匹配到的行打印出来

--color=auto:指定匹配到的字符的颜色

-A # :打印匹配到的行的前面#

-B # :打印匹配到的行的后面#

-C # :打印匹配到的行的前后各#

正则表达式元字符:
字符匹配:

. :任意一个字符

*:前面字符的任意次数

[ ] :匹配中括号中的任意单个字符

[^ ] :匹配指定范围的任意单个字符

[:digit:] :任意单个数字,相当于0-9

[:lower:]:任意单个小写字母,相当于a-z

[:upper:]:匹配单个大写字母,相当于A-Z

[:alnum:]:匹配任意字母或数字,相当于0-9a-zA-Z

[:alpha:]:匹配任意单个字母,相当于A-Za-z

[:punct:]:匹配特殊字符中的一个, !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~.

[:space:]:匹配单个空格

匹配次数:

.*:匹配任意字符任意长度

\?:匹配前面的字符0次或1次,表示前面的字符可有可无

\+:匹配前面的字符至少一次

\{m,n\}:匹配前面字符至少m次,至多n

\{m,\}:匹配前面字符至少m

\{0,n\}:匹配前面字符至多n

位置锚定:

^:行首锚定

$:行尾锚定

\<\b:词首锚定

\>\b:词尾锚定

^$:表示匹配空行

^[[:space:]]$:表示空行

分组:将多个匹配的模式可以通过分组的方式绑定在一起

\( \):将多个匹配的模式放在括号里可以被当成一个整体处理了,例如\(xy\)*表示匹配\(xy\)任意次

后向引用:分组可以用\1,\2,………等参数所引用,后向引用引用仅引用前面分组中模式所匹配的内容而不是引用模式,次序按照第一个\(开始到后面与之匹配的\)结束,依次类推。

后向引用示例:\(ab\+\(xy\)*\) 后巷引用\1: ab\+\(xy\)* 。后向引用\2: xy

10.3 egrep命令

说明:egrepgrep的扩展,也等同于grep -E ,选项与grep相同。

扩展正则表达式的元字符:

字符匹配:与grep相同

次数匹配:

*:任意次数

?0次或1

+:至少1

{m}:匹配m

{m,n}:匹配至少m次,至多n

位置锚定:

^:锚定行首

$:锚定行尾

\<\b:锚定词首

\>\b:锚定词尾

分组:()

后向引用:\1,\3……

或者:|a|b表示a或者bC|cat表示C或者cat

10.4 gzip/gunzip

说明:gzip用来压缩文件,文件后缀以gz结尾,gunzip用于解压文件。

选项:

-d :解压缩文件

-c:将结果输出至标准输出

-#1-9,压缩比,默认为6

zcat:用于不展开查看gz压缩文件里的内容

10.5 bzip2/bunzip2/bzcat

说明:功能与gzip类似,文件以bz结尾。bzcat用于不展开bz压缩文件查看文件中的内容

参数:

-d:解压文件

-k:保留原文件

-#1-9,压缩比,默认为6

10.6 xz/unxz/xzcat

说明:功能与gzipbzip2功能类似,压缩魏建以xz结尾,xzcat用于不展开xz压缩文件查看文件的内容

参数:

-k:保留原文件

-d:解压缩文件

-#1-9,压缩比,默认为6

10.7 tar命令

说明:tar主要用于文件归档。

创建归档:

tar -cf /path/to/files.tar files…….

查看归档文件中的文件列表

tar -tf /path/to/file.tar

展开归档:

tar -xf /path/to/file.tar

tar -xf /path/to/file.tar -C /path/to/dir

结合压缩工具实现压缩并归档:

-jbzip2

-zgzip

-Jxz

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2280端口映射到公网,发现经常被暴力破解,自己写了个临时封禁ip功能的脚本,实现5分钟内同一个ip登录密码错误10次就封禁这个ip5分钟,并且进行邮件通知使用步骤openwrt为19.07.03版本,其他版本没有测试过安装bashmsmtpopkg
#!/bin/bashcommand1&command2&wait从Shell脚本并行运行多个程序–杨河老李(kviccn.github.io)
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/phpls-ls 2.编辑修改.bash_profile文件(没有.bash_profile文件的情况下回自动创建)sudovim~/.bash_profile在文件的最后输入以下信息,然后保存退出exportPATH="/Applications/MAMP/bin/php/php7.2.20/b
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如zh_CN之类的语言包,进行中文语言包装:apt-getinstalllanguage-pack-zh-hans3、安装好后我们可以进行临时修改:然后添加中文支持: locale-genzh_CN.UTF-8临时修改> export LC_ALL='zh_CN.utf8'> locale永久
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexadecimalbash2#[0~1]0[0~7]0x[0~f]or0X[0~f]perl0b[0~1]0[0~7]0x[0~f]tcl0b[0~1]0o[0~7]0x[0~f]bashdifferentbaserepresntationreference2.StringlengthLanguageStr
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全命令补全方法:yum-yinstallbash-completionsource/usr/share/bash-completion/bash_completionsource<(kubectlcompletionbash)echo"source<(kubectlcompletionbash)">>~/.bashrc 
参考这里启动jar包shell脚本修改过来的#!/bin/bash#默认应用名称defaultAppName='./gadmin'appName=''if[[$1&&$1!=0]]thenappName=$1elseappName=$defaultAppNamefiecho">>>>>>本次重启的应用:$appName<
#一个数字的行#!/bin/bashwhilereadlinedon=`echo$line|sed's/[^0-9]//g'|wc-L`if[$n-eq1]thenecho$linefidone<1.txt#日志切割归档#!/bin/bashcd/data/logslog=1.logmv_log(){[-f$1]&&mv$1$2
#文件增加内容#!/bin/bashn=0cat1.txt|whilereadlinedon=[$n+1]if[$n-eq5]thenecho$lineecho-e"#Thisisatestfile.\n#Testinsertlineintothisfile."elseecho$linefidone#备份/etc目录#
# su - oraclesu: /usr/bin/ksh: No such file or directory根据报错信息:显示无法找到文件 /usr/bin/ksh果然没有该文件,但是发现存在文件/bin/ksh,于是创建了一个软连接,可以规避问题,可以成功切换到用户下,但无法执行系统自带命令。$. .bash_profile-ksh: .: .b
history显示历史指令记录内容,下达历史纪录中的指令主要的使用方法如果你想禁用history,可以将HISTSIZE设置为0:#exportHISTSIZE=0使用HISTIGNORE忽略历史中的特定命令下面的例子,将忽略pwd、ls、ls-ltr等命令:#exportHISTIGNORE=”pwd:ls:ls-ltr:”使用HIS
一.命令历史  1.history环境变量:    HISTSIZE:输出的命令历史条数,如history的记录数    HISTFILESIZE:~/.bash_history保存的命令历史记录数    HISTFILLE:历史记录的文件路径    HISTCONTROL:     ignorespace:忽略以空格开头的命令
之前在网上看到很多师傅们总结的linux反弹shell的一些方法,为了更熟练的去运用这些技术,于是自己花精力查了很多资料去理解这些命令的含义,将研究的成果记录在这里,所谓的反弹shell,指的是我们在自己的机器上开启监听,然后在被攻击者的机器上发送连接请求去连接我们的机器,将被攻击者的she
BashOne-LinersExplained,PartI:Workingwithfileshttps://catonmat.net/bash-one-liners-explained-part-oneBashOne-LinersExplained,PartII:Workingwithstringshttps://catonmat.net/bash-one-liners-explained-part-twoBashOne-LinersExplained,PartII
Shell中变量的作用域:在当前Shell会话中使用,全局变量。在函数内部使用,局部变量。可以在其他Shell会话中使用,环境变量。局部变量:默认情况下函数内的变量也是全局变量#!/bin/bashfunctionfunc(){a=99}funcecho$a输出>>99为了让全局变量变成局部变量
1、多命令顺序执行;  命令1;命令2  多个命令顺序执行,命令之间没有任何逻辑联系&&  命令1&&命令2  逻辑与,当命令1正确执行,才会执行命令2||  命令1||命令2  逻辑或,当命令1执行不正确,才会执行命令2例如:ls;date;cd/home/lsx;pwd;who ddif=输入文件of=输
原博文使用Linux或者unix系统的同学可能都对#!这个符号并不陌生,但是你真的了解它吗?首先,这个符号(#!)的名称,叫做"Shebang"或者"Sha-bang"。Linux执行文件时发现这个格式,会把!后的内容提取出来拼接在脚本文件或路径之前,当作实际执行的命令。 Shebang这个符号通常在Unix系统的脚本
1、历史命令history[选项][历史命令保存文件]选项:-c:  清空历史命令-w:  把缓存中的历史命令写入历史命令保存文件 ~/.bash_historyvim/etc/profile中的Histsize可改存储历史命令数量历史命令的调用使用上、下箭头调用以前的历史命令使用“!n”重复执行第n条历史
目录1.Shell脚本规范2.Shell脚本执行3.Shell脚本变量3.1环境变量3.1.1自定义环境变量3.1.2显示与取消环境变量3.1.3环境变量初始化与对应文件的生效顺序3.2普通变量3.2.1定义本地变量3.2.2shell调用变量3.2.3grep调用变量3.2.4awk调用变量3.3
   http://www.voidcn.com/blog/wszzdanm/article/p-6145895.html命令功能:显示登录用户的信息命令格式:常用选项:举例:w显示已经登录的用户及正在进行的操作[root@localhost~]#w 11:22:01up4days,21:22, 3users, loadaverage:0.00,0.00,0.00USER