版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章 SHELL环境基础及设置一、一、shell基本概述基本概述 1.Shell 1.Shell是用户与操作系统内核之间的接口,是用户与操作系统内核之间的接口,起着协调用户与系统的一致性和在用户和系统之间进起着协调用户与系统的一致性和在用户和系统之间进行交互的作用。行交互的作用。ShellShell在在LinuxLinux中具有及其重要的地位,中具有及其重要的地位,如图如图8.1 命令行SHELL图8-2 shell的角色用用 户户shellkernel硬硬 件件2Shell基础基础lShell如同其名所示,它就像是一个壳,而这个如同其名所示,它就像是一个壳,而这个壳介于用户和操作系统(壳介
2、于用户和操作系统(Kernel)中间,负责将用户)中间,负责将用户的命令解释为操作系统可以接受的低级语言,同时将的命令解释为操作系统可以接受的低级语言,同时将操作系统响应的信息以用户了解的方式来显示,如此操作系统响应的信息以用户了解的方式来显示,如此可避免用户执行不当的命令而对系统产生危害。可避免用户执行不当的命令而对系统产生危害。l每个用户在登录每个用户在登录Linux后,系统会出现不同的提示符后,系统会出现不同的提示符号,例如号,例如#,$或或等,之后您就可以开始输入需要的等,之后您就可以开始输入需要的命令了。如果命令正确,系统就可根据命令的要求来命令了。如果命令正确,系统就可根据命令的要
3、求来执行,直到用户退出系统为止。在登录到退出期间,执行,直到用户退出系统为止。在登录到退出期间,用户输入的每个命令都会经过解释及执行,而这个负用户输入的每个命令都会经过解释及执行,而这个负责的机制就是责的机制就是Shell。3 shell分类分类l一般用户的命令可分为两大类:程序和一般用户的命令可分为两大类:程序和Shell内置内置命令。命令。l如果该命令为程序类型,则如果该命令为程序类型,则Shell会找出该程序,会找出该程序,然后将控制权交给内核,并由内核负责执行该程然后将控制权交给内核,并由内核负责执行该程序,而在内核将程序执行完毕后,再将控制权交序,而在内核将程序执行完毕后,再将控制权
4、交回给回给Shell。但如果是。但如果是Shell内置命令,则由内置命令,则由Shell直接响应,因此速度较快。直接响应,因此速度较快。8.2 进入SHELL8.2.1 启动默认进入启动默认进入SHELL 在系统启动的时候,核心程序会被加载在系统启动的时候,核心程序会被加载到内存,负责管理系统的工作,直到系统到内存,负责管理系统的工作,直到系统关闭为止。关闭为止。 当用户登录(当用户登录(login)时,一个交互式的)时,一个交互式的shell会跟着启动,并提示输入命令。会跟着启动,并提示输入命令。8.2.2 桌面终端桌面终端SHELL 进入:主菜单进入:主菜单|应用程序应用程序|附件附件|终
5、端终端 退出:退出: 单击单击SHELL提示窗口右上角的关闭按钮提示窗口右上角的关闭按钮 提示符下输入提示符下输入exit 按按Ctrl+D组合键组合键8.2.3 远程登录远程登录SHELL 假如当前主机的系统已经具有假如当前主机的系统已经具有ssh服务或服务或telnet服务,那就可以直接使用系统的服务,那就可以直接使用系统的ssh或或telnet命令命令登录到远程的主机上。如果是在登录到远程的主机上。如果是在Windows下想要下想要登录到远程的登录到远程的Linux主机,有两种方式。第一种可主机,有两种方式。第一种可以打开以打开“命令提示符命令提示符”,使用,使用Windows内置的内置
6、的telnet命令来登录。第二种就是使用远程登录软件命令来登录。第二种就是使用远程登录软件PUTTY(http:/putty.nl/download.html)或使用或使用pieTTY(/piaip/pietty/) 如果远程主机没有提供如果远程主机没有提供SSH服务,那服务,那么就需要安装和配置么就需要安装和配置SSHEBTL。一般情况。一般情况下,我们下,我们OpenSSH来实现远程主机的来实现远程主机的SSH功能。功能。lOpenSSH介绍及安装介绍及安装 默认情况下,默认情况下,UBUNTU是不会安装是不会安装OpenSSH的,因此用户的,因此用户O
7、penSSH用户之用户之前必须先安装。在命令行终端输入:前必须先安装。在命令行终端输入: sudo apt-get install openssh-serverlOpenSSH服务器端设置服务器端设置 OpenSSH守护进程守护进程sshd使用使用/etc/ssh/sshd_config配置文件。配置文件。UBUNTU安装的置信配置文件在多数情况安装的置信配置文件在多数情况下应该是相当完备,可以直接使用。但也下应该是相当完备,可以直接使用。但也可以修改,修改完配置文件,注意重启可以修改,修改完配置文件,注意重启ssh服务,以便修改能及时生效。服务,以便修改能及时生效。lOpenSSH客户端应用
8、客户端应用 要从客户端连接到要从客户端连接到OpenSSH服务器上,服务器上,必须在客户机器上装有必须在客户机器上装有openssh-clients或或者符合者符合ssh标准的客户端软件。标准的客户端软件。启动启动OpenSSH服务服务rootubuntu:-$ /etc/init.d/ssh start停止停止OpenSSH服务服务rootubuntu:-$ /etc/init.d/ssh stop重启重启OpenSSH服务服务rootubuntu:-$ /etc/init.d/ssh restartl使用使用ssh命令命令 例:要登录到一个例:要登录到一个IP地址为地址为192.168.1
9、.103的远程机器上,在的远程机器上,在shell提示提示下输入下面的命令:下输入下面的命令: rootubuntu:-$ ssh 03 l使用使用sftp命令命令 sftp工具可以用来打开一次安全互动的工具可以用来打开一次安全互动的FTP会话。它与会话。它与ftp相似,只不过它使用安相似,只不过它使用安全、加密的连接。它的一般语法是:全、加密的连接。它的一般语法是: sftp 然后输入密码,一旦通过验证,就可以然后输入密码,一旦通过验证,就可以使用一组和使用一组和FTP相似的命令。相似的命令。lOpenSSH使用帮助使用帮助 我们可以参考以下网站:我们可以参考以下网站:
10、http:/8.3 SHELL简单使用 在使用在使用SHELL之前,建议大家平常应用之前,建议大家平常应用中不要用中不要用root账号运行账号运行Shell,如果还是新,如果还是新手,这上点非常要注意。作为普通用户,手,这上点非常要注意。作为普通用户,不管有意还是无意,都无法破坏系统。不管有意还是无意,都无法破坏系统。8.3.1 初次面对初次面对Shell 当登入系统或打开一个当登入系统或打开一个xterm窗口,首先看窗口,首先看到的是提示符。到的是提示符。UBUNTU的标准提示符包括用户的标准提示符包括用户名
11、、登入的主机名,当前所在的目录和提示符号。名、登入的主机名,当前所在的目录和提示符号。例如,以用户名例如,以用户名user登入名为登入名为ubuntuer的主机,的主机,当前的用户的主目录当前的用户的主目录/home/user中。提示符中。提示符如下:如下: userubuntuer:$ Root的提示符如下:的提示符如下: rootubuntuer:#8.3.2 基本命令体验基本命令体验pwd、cd、lsl使用使用pwd查看当前路径查看当前路径 当输入当输入pwd时,系统便会在时,系统便会在Shell提示窗提示窗口中打印当前目录名作为回应。口中打印当前目录名作为回应。l使用使用cd命令改变所
12、在目录命令改变所在目录l使用使用ls查看目录内容查看目录内容 8.3.3 定位文件和目录定位文件和目录locate 有时候,知道某一文件或目录存在,但有时候,知道某一文件或目录存在,但却不知该到哪里去找到它。可以使用却不知该到哪里去找到它。可以使用locate命令来搜寻文件或目录。命令来搜寻文件或目录。8.3.4 从命令行中打印从命令行中打印 lpr命令紧跟着一个文件名,会把指定的文件发命令紧跟着一个文件名,会把指定的文件发送到打印队列中。如,送到打印队列中。如,lpr foo.txt会打印会打印foo.txt文件。文件。 要查看在打印队列中等待的作业,在命令行中要查看在打印队列中等待的作业,
13、在命令行中输入输入lpq。输入。输入lpq后,会看到和以下相似的输出后,会看到和以下相似的输出 active root 389 foo.txt 取消作业输入取消作业输入lprm,再跟打印作业的号码。,再跟打印作业的号码。8.3.5 清除和重设终端清除和重设终端 清除终端用清除终端用clear命令命令8.4 Shell应用技巧lTAB自动补齐自动补齐 如何用如何用cd(改变目录,(改变目录,change directory)最快地从您当前所在的最快地从您当前所在的 home 目录跳到目录跳到/usr/local/games呢?呢?cd /ulog 这称为这称为命令行自动补齐命令行自动补齐(aut
14、omatic command line completion),这在平常应用中是不,这在平常应用中是不可缺少的。让我们仔细看看这个例子:可缺少的。让我们仔细看看这个例子:cd /u扩展成了扩展成了 cd /usr/ ,很简单吧。,很简单吧。下面的下面的cd /usr扩展为扩展为 cd /usr/src/ 。如果您只敲了。如果您只敲了cd /us,/usr下匹配的(下匹配的(cd /u*/s*)三个子目录将列出供您选择:)三个子目录将列出供您选择:/usr/sbin、/usr/share和和/usr/src。 因此,因此, 键可以很方便地用于根据前几个键可以很方便地用于根据前几个字母,来查找匹配
15、的文件或子目录。比如,字母,来查找匹配的文件或子目录。比如,ls /usr/bin/zip 将列出所有将列出所有/usr/bin下面,以下面,以字符串字符串zip开头的文件或子目录。当然,完成这类开头的文件或子目录。当然,完成这类任务还有更厉害的命令,但这个方法确实很管用。任务还有更厉害的命令,但这个方法确实很管用。 另外,碰到长文件名时就显得特别方便。假设另外,碰到长文件名时就显得特别方便。假设您要安装一个名为您要安装一个名为boomshakalakwhizbang--mdk586.rpm的的 RPM 包,您输入包,您输入 rpm -i boom ,如果目录下没有其他文件能够匹
16、配,如果目录下没有其他文件能够匹配,那那 shell 就会自动帮忙补齐。就会自动帮忙补齐。 cd /usrl8.4.2命令行的历史记录命令行的历史记录 通过按向上方向键,您可以向后遍历通过按向上方向键,您可以向后遍历近来在该控制台下输入的命令。用向下方近来在该控制台下输入的命令。用向下方向键可以向前遍历。与向键可以向前遍历。与 SHIFT 键连用的话,键连用的话,您还可以遍历以往在该控制台中的输出。您还可以遍历以往在该控制台中的输出。您也可以编辑旧的命令,然后再运行。您也可以编辑旧的命令,然后再运行。 按按 后,后,shell 就进入就进入“reverse-i(ncremental)-sear
17、ch”(向后增量搜索)模式。(向后增量搜索)模式。现在输入您要找的命令的首字母:现在输入您要找的命令的首字母:(reverse-i-search):. 敲入敲入 i可能会变成:可能会变成:(reverse-i-search)i: isdnctrl hangup ippp0 如果您再按如果您再按 键,上面的命令将再次键,上面的命令将再次执行。而如果您按了向右、向左方向键或执行。而如果您按了向右、向左方向键或 ,上面的命令将回到普通的命令行,这样您就可以进上面的命令将回到普通的命令行,这样您就可以进行适当编辑。行适当编辑。 例如,用命令例如,用命令mkdir /homezcq/a/b新新建了一个目
18、录,现在想用命令建了一个目录,现在想用命令cd进入到该进入到该目录,可以用目录,可以用cd !$,shell将把子前一个命将把子前一个命令令mkdir的参数添加到现在的的参数添加到现在的cd后面。后面。8.4.3 命令的别名命令的别名 在使用在使用shell的过程中记住所有的命令的过程中记住所有的命令及各自带的可选项,然后每次一一输入,及各自带的可选项,然后每次一一输入,这确实前点枯燥。但幸运的是,可以为常这确实前点枯燥。但幸运的是,可以为常用命令定义快捷方式。这些快捷方式可以用命令定义快捷方式。这些快捷方式可以用较简单的命令别名或复杂一些的用较简单的命令别名或复杂一些的shell函函数的语法
19、来定义。数的语法来定义。l例,用下面的命令来上传例,用下面的命令来上传MUO中的文件:中的文件: userubuntuer:$ rsync e ssh z t vv progress /home/learner/web/muo/rsmuo/docs muo:/www/mandrakeuser/docs显然,如果每次都要逐一输入,那真是太痛苦了!显然,如果每次都要逐一输入,那真是太痛苦了!因此我们可以在因此我们可以在/.bashrc中定义了别名。中定义了别名。Alias upmuo=rsync e ssh z t vv progress /home/learner/web/muo/rsmuo/d
20、ocs muo:/www/mandrakeuser/docs现在,只要输入现在,只要输入upmuo就可以完成上传任务了。就可以完成上传任务了。l定义别名的语法是:定义别名的语法是: alias shortcut=command8.4.4 shell快捷方式快捷方式 就是就是home/user目录的简写。目录的简写。例:把一个名为例:把一个名为bb的文件复制到的文件复制到home目录目录下的下的a子目录中。子目录中。方法一:方法一:cp bb /home/user/a方法二:方法二: cp bb /a8.4.5 多命令执行多命令执行 在在shell的使用中,有时候用户希望在的使用中,有时候用户希
21、望在一次执行中使用多个命令,然后在执行过一次执行中使用多个命令,然后在执行过程中把注意力转移到其他地方。这都是没程中把注意力转移到其他地方。这都是没问题的,问题的,shell允许在不同的命令之间放上允许在不同的命令之间放上特殊的排列字符,实现多命令执行。常用特殊的排列字符,实现多命令执行。常用的有以下两种:的有以下两种:l分号分号 使用方式:使用方式:command1;command2 先执行先执行command1,不管,不管command1是是否出错,接下来执行否出错,接下来执行command2 例:例:cd a;ls 将先进入到将先进入到a目录,再显示目录,再显示a目录。目录。l&
22、 使用方式:使用方式:command1&command2 只有当只有当command1正确运行完毕后,才正确运行完毕后,才执行执行command2例:例:cd a&ls8.4.6 命令的替换命令的替换 命令替换是一项很实用的功能。假设用命令替换是一项很实用的功能。假设用户想看看户想看看XFree86文档中的文档中的.mouse文件,文件,但不知道这个文件的位置。如果你已经听但不知道这个文件的位置。如果你已经听说了说了locate命令,也安装了命令,也安装了slocate包,就包,就可以用可以用locate README.mouse,发现那,发现那个文件在个文件在/usr/X11
23、R6/lib/X11/doc中,现在中,现在就可以在终端用就可以在终端用less或在文件管理器中进或在文件管理器中进入那个目录然后读取文件。而命令替换可入那个目录然后读取文件。而命令替换可以给带来一些便捷。以给带来一些便捷。l如:如: less $ (locate README.mouse) 一步到位。命令一步到位。命令locate README.mouse的输出的输出(=/usr/X11R6/lib/X11/doc/ README.mouse 语法:语法:command1 $ (command2) 除了除了$(),还可以用后引号,还可以用后引号(backquote) command1 , c
24、ommand2 除此之外,还有一个例子,假设打算结束一个gThumb的程序,须用命令pidof找出相应的进程号,然后以这个进程号为参数,这样就可以结束gThumb程序了。 pidof gThumb 256 kill 256 还可以试试: kill pidof gThumb8.4.7 命令的任务调度命令的任务调度 当在终端运行一个命令或开启一个程序时,终端当在终端运行一个命令或开启一个程序时,终端要等到命令或程序运行完毕后,才能再被使用,要等到命令或程序运行完毕后,才能再被使用,在在Linux中,我们称这样的命令或程序在前台运中,我们称这样的命令或程序在前台运行。如果想在终端下运行另一个命令,则
25、需要打行。如果想在终端下运行另一个命令,则需要打开一个新的终端。有一个便捷的办法,即任务调开一个新的终端。有一个便捷的办法,即任务调度。当运用任务的高度或将命令置于后台,终端度。当运用任务的高度或将命令置于后台,终端就立即解放了,这样一来,终端立即就可以接收就立即解放了,这样一来,终端立即就可以接收新的输入。我们只需在后面添加一个新的输入。我们只需在后面添加一个&。l如:如: gqview & 命令命令jobs将显示在这个终端窗口中运行着哪些命将显示在这个终端窗口中运行着哪些命令与程序:令与程序: $ jobs 1+Running gqview & 当要关闭终端窗口中进
26、,这一点就很重要,因为当要关闭终端窗口中进,这一点就很重要,因为关闭终端将导致所有在其中运行机制的作罢针被关闭终端将导致所有在其中运行机制的作罢针被中止,在此例子中,如果关闭了终端,由这个终中止,在此例子中,如果关闭了终端,由这个终端开启的端开启的GQview程序也将被关闭。但如何将前台程序也将被关闭。但如何将前台运行的一个程序放到后台去?可以使用运行的一个程序放到后台去?可以使用bg命令。命令。 $ gqview 按按Ctrl+Z 2+stopped gqview $ bg 2+gqview & 组合键组合键Ctrl+Z将挂起终端中正在运行的程将挂起终端中正在运行的程序,然后就可以用
27、序,然后就可以用bg命令将其放到后台去命令将其放到后台去执行了。执行了。8.5 Bash Shell的配置文件 在使用在使用Shell时,可以通过对用户的时,可以通过对用户的Shell环境进行一定的设置,以满足个性化环境进行一定的设置,以满足个性化或习惯上的要求。或习惯上的要求。8.5.1 Bash配置文件配置文件 Bash文件在用户的主目录下。在用户的主目录文件在用户的主目录下。在用户的主目录下运行下运行ls .bash*,如下:,如下:ls .bash* .bash_history .bash_logout .bash_profile .bashrcl/.bash_profile: 定义了
28、个人路径定义了个人路径(PATH)与环境变与环境变量的文件名称量的文件名称.l /.bashrc: 对于个人喜好的对于个人喜好的bash设定是最重要的设定是最重要的,在这里设定个人变量在这里设定个人变量.l /.bash_history: 此文件用于记录曾经用过的命此文件用于记录曾经用过的命令令.l /.bash_logout: 此文件是在注销此文件是在注销shell时时bash要要为你做的事情为你做的事情. 区别:.bash_profile只在会话开始时只在会话开始时被读取一次,而被读取一次,而.bashrc则每次打开新的终则每次打开新的终端时,都要被读取。按照传统,须将定义端时,都要被读取
29、。按照传统,须将定义的变量,如的变量,如PATH,放到放到.bash_profile中,中,而像而像aliases和函数之类,则放在和函数之类,则放在.bashrc中。中。但由于但由于.bash_profile经常被设置成先读经常被设置成先读取取.bashrc的内容,如果图省事的话,就把的内容,如果图省事的话,就把所有配置都放进所有配置都放进.bashrc。 这些文件是每一位用户的设置。系统这些文件是每一位用户的设置。系统级的设置存储在级的设置存储在/etc/profile、/etc/bashrc及目录及目录/etc/profile.d下的文件中,但最好下的文件中,但最好用各自的配置文件,这样
30、编辑不需要用各自的配置文件,这样编辑不需要root权限,还可以使设置更有个性,同时也不权限,还可以使设置更有个性,同时也不会受到别人设置的影响。当系统级与用户会受到别人设置的影响。当系统级与用户级的设置发生冲突时,将采用用户的设置。级的设置发生冲突时,将采用用户的设置。8.5.2 提示符设置提示符设置 在默认设置下,提示符将显示的是用户名、在默认设置下,提示符将显示的是用户名、主机名和当前所在目录,如主机名和当前所在目录,如usrhostname $ 一般来说,最后一个字符可以标识是普通一般来说,最后一个字符可以标识是普通用户用户($),还是,还是root(#)。 但对于一些用户来说,默认设定
31、可能有些但对于一些用户来说,默认设定可能有些不友好,因为提示符只显示当前目录的最后不友好,因为提示符只显示当前目录的最后一部分。能不能用一部分。能不能用Shell自动提示当前目录自动提示当前目录呢?呢? Shell的大部分设定,包括提示符,一般的大部分设定,包括提示符,一般都包含在文件都包含在文件/etc/bashrc中,可以通过编中,可以通过编辑各自主目录下的辑各自主目录下的.bash_profile和和.bashrc来改变设置来改变设置 你可以通过改变你可以通过改变bash 的的PS1变量的值来改变你的变量的值来改变你的缺省提示符,例如:缺省提示符,例如: PS1=Please enter
32、 a command 把把bash shell 的提示符该为指定的字符串。如果退出的提示符该为指定的字符串。如果退出刚刚设定的变量读取系统默认的变量的话,暂时没有什刚刚设定的变量读取系统默认的变量的话,暂时没有什么好办法,么好办法,crtl+d 退出再次登陆读取系统默认变量。退出再次登陆读取系统默认变量。第二级:当第二级:当bash 期待输入更多的信息以完成命令时显期待输入更多的信息以完成命令时显示第二级提示符。缺省的第二级提示符是示第二级提示符。缺省的第二级提示符是 。 如果你如果你要改变第二级提示符,可以通过设置要改变第二级提示符,可以通过设置PS2变量的值来实变量的值来实现:现: PS2
33、=I need more information 8.6 Shell环境命令 $PATH与与$PS1一样,也是环境变量。一样,也是环境变量。输入输入set将列出所有当前定义的环境变量。将列出所有当前定义的环境变量。您看到的这些环境变量在您看到的这些环境变量在 shell 的配置文件的配置文件中定义,可能是用户自己的配置文件,也中定义,可能是用户自己的配置文件,也可能是由可能是由root通过通过/etc下面的系统级文件下面的系统级文件定义的。如果您使用定义的。如果您使用 X ,更多的一些变量,更多的一些变量将由将由 X 、您的窗口管理器或桌面环境的启、您的窗口管理器或桌面环境的启动文件配置。动文
34、件配置。 如果对这些设置不很清楚,您暂时最好不要随如果对这些设置不很清楚,您暂时最好不要随便改动。了解如何改变便改动。了解如何改变 $PATH 变量很有用,因为这变量很有用,因为这个变量决定了个变量决定了 shell 将到哪些目录中寻找命令或程将到哪些目录中寻找命令或程序。如果要执行的命令的目录在序。如果要执行的命令的目录在 $PATH 中,您就不中,您就不必输入这个命令的完整路径,直接输入命令就可以必输入这个命令的完整路径,直接输入命令就可以了。一些第三方软件没有将可执行文件放到了。一些第三方软件没有将可执行文件放到 Linux 的标准目录中。因此,将这些非标准的安装目录添的标准目录中。因此
35、,将这些非标准的安装目录添加到加到 $PATH 是一种解决的办法。此外,您也将看到是一种解决的办法。此外,您也将看到如何处理一般的环境变量。如何处理一般的环境变量。 首先,作为惯例,所有环境变量名都是大写。首先,作为惯例,所有环境变量名都是大写。由于由于 Linux 区分大小写,这点您要留意。当然,区分大小写,这点您要留意。当然,您可以自己定义一些变量,如您可以自己定义一些变量,如$path、$pAtH,但但 shell 不会理睬这些变量。不会理睬这些变量。第二点是变量名有时候以第二点是变量名有时候以$开头,但有时又不是。开头,但有时又不是。当设置一个变量时,您直接用名称,而不需要加当设置一个
36、变量时,您直接用名称,而不需要加$:PATH=/usr/bin:/bin:/usr/local/bin:/usr/X11R6/bin 要获取变量值的话,就要在变量名前加要获取变量值的话,就要在变量名前加$:echo $PATH/usr/bin:/bin:/usr/local/bin:/usr/X11R6/bin否则的话,变量名就会被当作普通文本了:否则的话,变量名就会被当作普通文本了:echo PATHPATH 处理处理 $PATH 变量要注意的第三点是:您变量要注意的第三点是:您不能只替换变量,而是要将新的字符串添加不能只替换变量,而是要将新的字符串添加到原来的值中。在大多数情况下,您不能用
37、到原来的值中。在大多数情况下,您不能用PATH=/some /directory,因为这将删除,因为这将删除 $PATH 中其他的所有目录,这样您在该终端中其他的所有目录,这样您在该终端运行程序时,就不得不给出完整路径。所以,运行程序时,就不得不给出完整路径。所以,只能作添加:只能作添加:PATH=$PATH:/some/directory这样,这样,PATH 被设成当前的值(以被设成当前的值(以 $PATH 来来表示)新添的目录。表示)新添的目录。 到目前为止,您只为当前终端设置了新的到目前为止,您只为当前终端设置了新的 $PATH 变量。如果您打开一个新的终端,运行变量。如果您打开一个新的
38、终端,运行 echo $PATH ,将返回旧的,将返回旧的 $PATH 值,而看不到您值,而看不到您刚才添加的新目录。因为您先前定义的是一个局部刚才添加的新目录。因为您先前定义的是一个局部环境变量(仅限于当前的终端)。环境变量(仅限于当前的终端)。要定义一个全局变量,使在以后打开的终端中生效,要定义一个全局变量,使在以后打开的终端中生效,您需要将局部变量输出您需要将局部变量输出(export),可以用,可以用export命命令:令:export PATH=$PATH:/some/directory现在如果您打开一个新的终端,输入现在如果您打开一个新的终端,输入 echo $PATH ,也能看到
39、新设置的也能看到新设置的 $PATH 了。请注意,命令了。请注意,命令export只能改变当前终端及以后运行的终端里的变只能改变当前终端及以后运行的终端里的变量。对于已经运行的终端没有作用。量。对于已经运行的终端没有作用。 为了将目录永久添加到您的为了将目录永久添加到您的 $PATH ,只要将只要将export的那行添加到您的的那行添加到您的.bash_profile文件中。文件中。请不要在请不要在.bashrc中设置中设置 PATH ,否则会导,否则会导致致 PATH 中目录的意外增长。您每次打开一中目录的意外增长。您每次打开一个新的个新的 shell ,.bashrc都会作用。所以如都会作
40、用。所以如果在该文件中添加目录,您每次打开一个终果在该文件中添加目录,您每次打开一个终端,目录又会被添加。这将导致端,目录又会被添加。这将导致 PATH 变量变量由于目录复制,不断地增长。由于目录复制,不断地增长。 8.6.1 echo指令指令 echo用于显示变量内容用于显示变量内容 语法:语法:userubuntuer:$ echo $variable 参数说明:参数说明: 8.6.2 env指令指令 显示目前系统中主要的默认变量内容。显示目前系统中主要的默认变量内容。8.6.3 set指令指令 set指令用于显示目前系统中全部的变量指令用于显示目前系统中全部的变量内容内容 8.6.4 变量设定规则变量设定规则l1.变量与变量内容以等号变量与变量内容以等号“=”来连接;来连接;l2.等号两边不能直接接空格符;等号两边不能直接接空格符;l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中煤集团山西有限公司所属煤矿机电副总工程师招聘3人备考题库附答案详解(研优卷)
- 七年级英语下册完形填空知识点总结及经典习题(含答案)
- 2022年江苏省建筑施工企业主要负责人安全员A证考核题库含答案参考46
- 热处理车间多班次交接计划规范
- 第17课 中华五岳教学设计小学信息技术(信息科技)四年级冀教版
- 劳务分包成本分析报价确认方案
- 2026云南大理州宾川县钟英乡卫生院社会招聘编外人员1人备考题库完整答案详解
- 2026海南海口市琼山中山幼儿园春季学期招聘1人备考题库含答案详解(巩固)
- 2026西南计算机有限责任公司招聘19人备考题库附答案详解(满分必刷)
- 2026中煤华利新疆炭素科技有限公司招聘13人备考题库含答案详解(黄金题型)
- 眼镜定配技术说课
- 55m集散两用船船体结构规范设计
- 电厂集控全能运行值班员应知应会(终结版)
- 团队沙漠求生游戏
- 山西省建设工程计价依据
- 车辆伤害应急预案演练记录(简单)
- GB/T 26610.2-2022承压设备系统基于风险的检验实施导则第2部分:基于风险的检验策略
- JJG 141-2000工作用贵金属热电偶
- 小学音乐四分音符-八分音符-课件-(2)ppt
- GB/T 13234-2018用能单位节能量计算方法
- 护理三基三严测试题库含答案
评论
0/150
提交评论