一. Shell命令的一般格式
Linux命令又称Shell命令,用户登录后Shell运行并进入内存,它遵循一定的语法,将输入的命令加以解释并传给系统。
命令行中输入的第一个字必须是一个命令的名字,第二个字是命令的选项或参数,命令行中的每个字必须由空格隔开,格式如下:
命令名 【选项】 【参数】
选项是一种标志,常用来扩展命令的特性或功能。[选项]的方括号表示语法上选项可有可无。选项往往包括一个或多个英文字母,在字母前面有一个减号(减号是必要的,Linux用它来区别选项和参数,参数是不带减号的)。
二. 简单的Shell命令:
- pwd
格式:pwd
功能:显示当前目录的绝对路径
由于在不同时候、不同环境中所用的工作目录会有很大的差异,所以由pwd命令显示的结果就因具体情况而异。
在实际操作中,要经常使用该命令以明确当前的操作目录,以免造成混乱。
- cd
格式:cd[目录]
功能 切换到指定目录
常用的有以下几种情况:
[root@localhost Desktop]#cd/root
[rootelocalhost~]#
切换到指定的目录/root。
[rootllocalhost~]#cd
[root@localhost~]#
切换到用户家目录,cd命令不带任何参数表示切换到当前用户的家目录
[root@localhost~]#cd..
[root@localhost/#
返回上一级目录,当前目录为/root,返回上一级目录,则为/。
[root@localhost/]#cd-
/root
[root@localhost~]#
返回上一个目录,上次操作时的目录为/root,如上例所示。所以,该命令显示结果为“/root”这个命令要注意和“cd…”命令相区别。
-
Is
格式:ls [选项] [文件|目录]
功能 显示指定目录下的内容内容包括该目录下的文件和子目录。当不指定目录时,则显示当前目录中的文件和子目录信息。“ls”为“list”的缩写。
主要选项说明如下。
-a 显示所有文件和子目录,包括隐藏文件和隐藏子且录。Linux中的隐藏文件和是藏子目录以" . "开头。
-l 显示文件和子目录的详细信息,即以长格式显示,包括文件类型、权限、拥有人和拥有组、文件大小、最近一次修改时间、文件名等信息。
-d 参数应该是目录,只显示目录的信息,而不显示其中所包含的文件及子目录的信息,该选项通常与“ -l ”选项一起使用,后接目录名,功能是以长格式显示目录的信息。
-R 不仅显示指定目录下的文件和子目录信息,而且还递归地显示各子目录下的文件和子目录信息。
一t 按照时间顺序显示文件,新的文件排在前面。 ls命令默认按照字母顺序排列。 -
date
格式:date [+FORMAT]或date[MMDDhhmm[YY][YYYY]]
功能:查看或修改系统时间。
date命令的显示内容依次为星期、月份、日期、小时、分钟、秒、时区和年份。 -
cal
格式:cal[YYYY]
功能:显示日历。 -
who
格式:who
功能:显示当前已登录到系统的所有用户名及其终端名和登录到系统的时间 -
clear
格式:clear
功能:清除当前终端的屏幕内容。
也可以使用快捷组合键Ctrl+L。
三. 获取帮助:
用户需要掌握许多命令来使用Linux操作系统。为了方便用户,Linax提供了很多种获取帮助的方式。
- whatis 础格式:whatis + 命令名
功能:查询某命令的简单功能
但该命令信息量较少,且该命令是基于数据库的查询,对于刚安装的命令则查询不到。需等待一定的时间待系统更新后才能查询。若要立即查询,则用命令makewhatis立即生效,更新数据库,然后再用该命令进行查询。
- –help
格式:命令名 --help
功能:显示指定命令的帮助信息。
“help”作为命令选项位于某待查询的命令后,即可查询该命令的使用方法。如:
[root@localhost~]#date--help
Usage:date [OPTION_...[+FORMAT]
or: date[-ul--utcl--universal][MMDDhhmmL[CCjYY][.s8]]
Display the current time in the given FORMAT,or set the system date.
-d, --date=STRING display time described by STRING, not'now
-f,-file=DATEFILE like--date once for each line of DATEFILE
-r,--reference=FILE display the last modification time of FILE
-R,--rfc-2822 output date and time in RFC 2822 format.
Example:Mon,07 Aug 2006 12:34:56-0600
--rfc-3339=TIMESPEC output date and time in RFC 3339 format.
TIMESPEC='date','seconds',or'ns' for
date and time to the indicated precision.
Date and time components are separated by
a single space:2006-08-07 12:34:56-06:00
-
man
格式:man 命令名
功能:显示指定命令的手册页帮助信息。 -
info
格式:info命令名
功能 香询命令的用法或者文件的格式。
基本上,info与man的用途差不多。但是与man page一下子输出一堆信息不同的是,info page则是将文件数据拆成一个一个的段落,每个段落用自己的页面来撰写,并且在各个页面中还有类似网页的“超链接”,利用它可以跳到各个不同的页面中,每个独立的页面也被称为一个节点(node)。所以,可以将info page看成命令行模式的网页显示数据。 -
/usr/share/doc
一般而言,命令或者软件开发者都会将自己的命令或者软件的说明制作成“在线帮助文件”。但是,毕竟不是什么都需要做成在线帮助文件的,还有相当多的说明需要额外的文件。此时,所谓的“How To Do”就很重要了。另外,某些软件不仅是告诉用户“如何做”,还会有一些相关的原理会说明。
这些帮助文档就位于/usr/share/doc目录下。
以上各种获取帮助的方法,man命令是最常使用的。
四. bash变量
-
变量的设置与引用
例如:Linux系统中的变量通常采用大写字母来表示。变量设置格式为“变量名=值”。
变量的引用格式为“$ 变量名”或“${变量名}”,一般情况下可以不用加大括号,但在以下这种情况下大括号就是必须要加:
echo $Atest 将Atest当作一个变量;
echo $(A)test 将test加到变量A之后。 -
环境变量
系统中某些特定的会影响到bash环境的变量称为环境变量,环境变量具有很多功能,
包括主文件夹的变换、提示符的显示、执行文件查地的路径等。可以使用命令(emy)或(xpor) 操作基来查阅系统默认的环境变量。。
(1)PS1:系统提示符环境变量。
rootelocalhost-]#echo $PS1
[ue \h \W]\$
系统提示符的显示是由变量PS1所定义的,其中\u代表当前登录用户,\h代表主机名,\W代表当前目录。
(2)HISTSIZE:默认保存的历史记录数。
[root@localhost-]#echo $HISTSIZE
1000
代表默认保存历史记录数为1000条。
(3)PATH:执行文件查找的路径。
[root@localhost~]#echo $PATH
/usr/1ib64/qt-3.3/bin:/usr/local/abir:/usr/sbin:/sbin:/usr/local/bin:/u
sr/bin:/bin:/root/bin
PATH变量的值都是一些目录,目录与目录之间以冒号(:)分隔,由于文件的查找是依序由PATH变量内的目录来查询的,所以目录的顺序也是重要的。
(4)USER:当前登录用户
[jerry@localhost~]secho $USER
jerry
USER的值为当前用户jerry。
(5)HOME;当前用户的家录
[jerry@localhost~]secho $HOME
/home/jerry
当前用户jerry的家目录为/home/jerry。
(6)EUID:当前用户的UID。
[jerry@localhost~]$echo $BUID
503
当前用户jerry的UID为503。
- 与Shell有关的配置文件
在Linux操作系统中,有以下几个主要的与Shell有关的配置文件
(1)/etc/profile 文件。 这是系统最重要的Shell配置文件,也是用户登录系统最先检查的文件,系统的环境变量多定义在此文件中,主要包括PATH、USER、LANG、MAIL、HOSTNAME、HISTSIZE和INPUTRC。
(2)~/.bash_profile文件。 每个用户的bash环境配置文件,存在于用户的家目录下,当系统运行/etc/profile后,将读取此文件的内容,此文件定义了USER、EUID、HOME、PATH等环境变量,此处的PATH包括了用户自己定义的路径以及用户的“bin”路径。
(3)~/.bashrc文件。 前两个文件仅在系统登录时读取,此文件将在每次运行bash时读取,此文件主要定义的是一些终端设置以及Shell提示符等,而不定义环境变量等内容。
(4)~/.bash_history文件。 该文件保存了用户的历史记录。