linux系统中的export命令是怎么用的啊,还有exportfs是干什么用的?
Linux怎么设置系统环境变量之export命令详解
1. Linux export命令简介 Linux export命令用于设置或显示环境变量。 在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该次登陆操作。 export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。 一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执 行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。 Linux export命令简介 2. export参数 -f 代表[变量名称]中为函数名称。 -n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。 -p 列出所有的shell赋予程序的环境变量。 一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。 Linux怎么设置变量环境 3. 在linux里设置环境变量的方法 一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量。例如我的mips-linux-gcc编译器在“/opt/abc/123/bin”目录下,有如下三种方法来设置环境变量: 3.1 直接用export命令,临时生效 查看是否已经设好,可用命令export查看: 检查: 输出结果: declare -x HISTCONTROL="ignoredups" declare -x HISTSIZE="1000" declare -x HOME="/root" declare -x HOSTNAME="zcwyou" declare -x LANG="en_US.UTF-8" declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s" declare -x LOGNAME="root" declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32: .tar=01;31: .tgz=01;31: .arc=01;31: .arj=01;31: .taz=01;31: .lha=01;31: .lz4=01;31: .lzh=01;31: .lzma=01;31: .tlz=01;31: .txz=01;31: .tzo=01;31: .t7z=01;31: .zip=01;31: .z=01;31: .Z=01;31: .dz=01;31: .gz=01;31: .lrz=01;31: .lz=01;31: .lzo=01;31: .xz=01;31: .bz2=01;31: .bz=01;31: .tbz=01;31: .tbz2=01;31: .tz=01;31: .deb=01;31: .rpm=01;31: .jar=01;31: .war=01;31: .ear=01;31: .sar=01;31: .rar=01;31: .alz=01;31: .ace=01;31: .zoo=01;31: .cpio=01;31: .7z=01;31: .rz=01;31: .cab=01;31: .jpg=01;35: .jpeg=01;35: .gif=01;35: .bmp=01;35: .pbm=01;35: .pgm=01;35: .ppm=01;35: .tga=01;35: .xbm=01;35: .xpm=01;35: .tif=01;35: .tiff=01;35: .png=01;35: .svg=01;35: .svgz=01;35: .mng=01;35: .pcx=01;35: .mov=01;35: .mpg=01;35: .mpeg=01;35: .m2v=01;35: .mkv=01;35: .webm=01;35: .ogm=01;35: .mp4=01;35: .m4v=01;35: .mp4v=01;35: .vob=01;35: .qt=01;35: .nuv=01;35: .wmv=01;35: .asf=01;35: .rm=01;35: .rmvb=01;35: .flc=01;35: .avi=01;35: .fli=01;35: .flv=01;35: .gl=01;35: .dl=01;35: .xcf=01;35: .xwd=01;35: .yuv=01;35: .cgm=01;35: .emf=01;35: .axv=01;35: .anx=01;35: .ogv=01;35: .ogx=01;35: .aac=01;36: .au=01;36: .flac=01;36: .mid=01;36: .midi=01;36: .mka=01;36: .mp3=01;36: .mpc=01;36: .ogg=01;36: .ra=01;36: .wav=01;36: .axa=01;36: .oga=01;36: .spx=01;36:*.xspf=01;36:" declare -x MAIL="/var/spool/mail/root" declare -x OLDPWD declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/abc/123/bin" declare -x PWD="/root" declare -x SELINUX_LEVEL_REQUESTED="" declare -x SELINUX_ROLE_REQUESTED="" declare -x SELINUX_USE_CURRENT_RANGE="" declare -x SHELL="/bin/bash" declare -x SHLVL="1" declare -x SSH_CLIENT="113.105.164.145 6668 22" declare -x SSH_CONNECTION="113.105.164.145 6668 113.105.164.151 22" declare -x SSH_TTY="/dev/pts/0" declare -x TERM="xterm" declare -x USER="root" declare -x XDG_RUNTIME_DIR="/run/user/0" declare -x XDG_SESSION_ID="2185" 留意一下输出的这部分: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/abc/123/bin" 可以看到已经包括了刚刚设置的变量路径。 变量路径和环境Linux 3.2 修改profile文件,永久生效 把目录/opt/abc/123/bin在里面加入: export PATH=" 3.3 修改.bashrc文件,永久生效 在里面加入: export PATH="PATH:/opt/abc/123/bin"¨K14K¨G3G在里面加入:exportPATH="PATH:/opt/abc/123/bin" 检查结果: 3.4 修改/etc/re.local文件,永久生效 在里面加入: export PATH=" “/bin”、“/sbin”、“ /usr/bin”、“/usr/sbin”、“/usr/local/bin”等路径已经在系统环境变量中了,如果可执行文件在这几个标准位置,在终端命令行输入该软件可执行文件的文件名和参数(如果需要参数),回车即可。 如果不在标准位置,文件名前面需要加上完整的路径。不过每次都这样跑就太麻烦了,一个“一劳永逸”的办法是把这个路径加入环境变量。命令 export PATH:/opt/abc/123/bin"“/bin”、“/sbin”、“/usr/bin”、“/usr/sbin”、“/usr/local/bin”等路径已经在系统环境变量中了,如果可执行文件在这几个标准位置,在终端命令行输入该软件可执行文件的文件名和参数(如果需要参数),回车即可。如果不在标准位置,文件名前面需要加上完整的路径。不过每次都这样跑就太麻烦了,一个“一劳永逸”的办法是把这个路径加入环境变量。命令exportPATH="路径”(或“PATH= PATH为环境变量名,如DVSDK;调用时用 export DVSDK)可以把这个路径加入环境变量,但是退出这个命令行就失效了。要想永久生效,需要把这行添加到环境变量文件里。有两个文件可选:“/etc/profile”和用户主目录下的“.bashprofile”,“/etc/profile”对系统里所有用户都有效,用户主目录下的“.bashprofile”只对这个用户有效。exportPATH=" PATH:路径1:路径2:…:路径n" ),意思是可执行文件的路径包括原先设定的路径,也包括从“路径1”到“路径n”的所有路径。当用户输入一个一串字符并按回车后,shell会依次在这些路径里找对应的可执行文件并交给系统核心执行。那个“ ”。 注意,与DOS/Window不同,UNIX类系统环境变量中路径名用冒号分隔,不是分号。另外,软件越装越多,环境变量越添越多,为了避免造成混乱,建议所有语句都添加在文件结尾,按软件的安装顺序添加。 本文已同步至博客站: https://www.linuxrumen.com/cyml/859
linux怎么配置path环境变量
1.系统级:
(1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件,应用于登录到系统的每一个用户。该文件一般是调用/etc/bash.bashrc文件。
/etc/bash.bashrc:系统级的bashrc文件。
(2)/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。
2.用户级(这些文件处于家目录下):
(1)~/.profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。这里是推荐放置个人设置的地方
(2)~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。不推荐放到这儿,因为每开一个shell,这个文件会读取一次,效率肯定有影响。
~/.bash_profile or ~./bash_login:这里没有引用作者的,下面会提到
~/.pam_environment:用户级的环境变量设置文件,没有做测试,不知道管不管用。
系统变量path和path有什么区别
环境变量分为系统环境变量和用户环境变量。
你所说的环境变量是指系统环境变量,对所有用户起作用
而用户环境变量只对当前用户起作用。
例如你要用java,那么你把java的bin目录加入到path变量下面,那么它就是系统环境变量,所用用户登陆,在命令行输入java都会有java的帮助信息出来。而如果你在某个用户的变量下面新建一个变量,那么它就只对这个用户有用,当你以其他用户登陆时这个变量就和不存在一样。
这个问题在linux下面就相对好理解一些,系统变量都在/etc/profile文件里面,而用户的变量则在~/.bash_profile(如果用的是bash的话),每个用户的用户目录对其他用户不可见。假设有a,b,c三个用户,你在a的变量文件中写入语句在屏幕上述出a,在b的输出b,c的什么都不输出,系统文件输出sys,那么当你用a用户登陆时,输出a;用户b登陆输出b,用户c则输出sys.
在windows下面用到少设置环境变量的时候很少,例如你想只用jdk而不想用jbuilder,那么你就得自己设置jdk的path,classpath等环境变量。
在linux下,我说的的那些文件是系统自动生成的,我们可以手动更改他已达到我所说的效果。它们是在各自所属的用户登陆时自动运行的
java环境变量只设置path怎么设置
如:jdk安装在“D:\Program Files\java\jdk1.6.0_10”
第一步:新建“java_home”值,输入“D:\Program Files\java\jdk1.6.0_10”;
第二步:新建“classpath”值,输入“.;%java_home%\lib”;
第三步:在path中增加“%java_home%\bin”;
备注:配置环境变量在“计算机”右击“属性”,之后选择“高级环境变量”,在选择“环境变量”即可。
如何添加环境变量或路径添加到系统的Path里面
添加环境变量或路径到系统的path里的方法步骤如下:1、在桌面上找到“此电脑”,点击右键——“属性”2、页面右栏,选择“高级系统设置”3、页面右下角,选择“环境变量”4、在系统变量栏中,找到Path,点击“编辑”5、右边选项中选择“新建”,输入地址即可。拓展内容:环境变量一、简介环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。二、常见环境变量1、%ALLUSERSPROFILE% 局部 返回所有“用户配置文件”的位置。2、%APPDATA% 局部 返回默认情况下应用程序存储数据的位置。局部 返回当前目录字符串。4、%CMDCMDLINE% 局部 返回用来启动当前的 Cmd.exe 的准确命令行。5、%CMDEXTVERSION% 系统 返回当前的“命令处理程序扩展”的版本号。6、%COMPUTERNAME% 系统 返回计算机的名称。7、%COMSPEC% 系统 返回命令行解释器可执行程序的准确路径。8、E% 系统 返回当前日期。使用与 date /t 命令相同的格式。由 Cmd.exe 生成。有关 date 命令的详细信息请参阅 Date。9、%ERRORLEVEL% 系统 返回最近使用过的命令的错误代码。通常用非零值表示错误。百度百科 环境变量
行 3: /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc: 没有那个文件或目录
系统找不到arm-linux-gcc
原因:未设置程序执行路径
系统只起一个调用和中介的作用,没有直接转换语言的功能,系统首先根据用户的输入命令找到该命令的可执行程序,然后通过执行该程序达到实现命令语句的效果
这里没有给出可执行程序的路径,系统取不到可执行程序,故而报错。
系统执行命令都可分为三个阶段进行。即取命令-----分析命令-----执行命令
取命令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。
分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。
系统执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令可循环等待指令。
/usr/bin/sh: arm-none-eabi-gcc: command not found
xport PATH=$PATH:/usr/local/arm/2.95.3/bin
是设置当前用户的PATH,而sudo执行make的时候,使用的是超级用户权限,那也就使用了超级用户的PATH(但是这个PATH里,并没有/usr/local/arm/3.4.1/bin)
解决方法:
先打开一个超级用户权限的shell:
sudo –s
在当前shell下,设置环境变量:
export PATH=$PATH:/usr/local/arm/2.95.3/bin
再进入到kernel目录,make zImage,就可以找到arm-linux-gcc了。
再一例:
1:下载arm-linux-gcc-3.3.2.tar.bz2 到任意的目录下
我把它下载到了我的工具文件夹里 /home/zt/tools
2:解压
进入工具目录(视具体情况而定)
debian:/home/zt/tools# cd /home/zt/tools
解压
debian:/home/zt/tools# tar xvf arm-linux-gcc-3.3.2.tar.bz2
解压过程需要一段时间,解压后的文件形成了 usr/local/ 文件夹
进入该文件夹
debian:/home/zt/tools# cd usr/local/
将arm文件夹考到/usr/local/下
debian:/home/zt/tools/usr/local# cp -rv arm /usr/local/
现在交叉编译程序集都位于/usr/local/arm/3.3.2/bin下面了
3:修改环境变量
export PATH=/usr/local/arm/3.3.2/bin:$PATH
用此方法添加的环境变量会在掉电后丢失,因此,可以在启动脚本里做手脚,方法如下:
debian:/home/zt/tools/usr/local# vim /etc/bash.bashrc
在文件的最后一行添加以上命令
export PATH=/usr/local/arm/3.3.2/bin:$PATH
保存退出,当重新登录root时 新的环境变量就会加载了
如何在linux添加路径到PATH环境变量中
1. 全局的对所有用户都可以的使用的PATH: 可以通过修改配置文件: /etc/bashrc 和 /etc/profile 来时配置,全局的PATH;
例如: vi /etc/profile
在最后后加一行:PATH=THE_SET_GLOBLE_ENV_PATH:$PATH;
接着换行: export PATH
如果使其立即生效: source /etc/profile
2. 对于普通用户也可以设置,自己的路径:在自己的home目录中:
ls -a | grep bash
会找到两个文件: .bashrc 和 .bash_profile
同样可以像修改 /etc/profile一样,修改 .bash_profile 来配置你的个性PATH 环境。
同样修改后,若不重启,就使其立即生效的话,不要忘了 source .bash_profile.
呵呵,最看看的你的修改后的PATH: echo $PATH 或者 env 再者 set !!
linux的命令用下面哪个选项来解释
命令对象一般是指要被处理的文件、目录、用户等资源,而命令参数可以选用长格式(完整的选项名称)也可选用短格式(单个字母的缩写),分别用"--"与"-"做前缀。不会执行Linux命令的原因大多是因为复杂的参数,参数值会随不同的命令和需求情况而发生改变,因此一定要在参数选择搭配上多花时间来积累经验才可以。
长格式如:命令 --help
短格式如:命令 -h
楼主可以重点了解下Linux命令的格式问题3w dian linuxprobe dian com/chapter-02这篇文章上对Linux命令的运用有详细的介绍和说明。
希望可以帮到您!
谁能详细解释一下关于linux的标准输入输出
1:gunzip 命令如果没有指定输入文件,且没有指定输出文件,则从标准输入读,并写到标准输出,如果你运行gunzip < mysql.tar.gz,会看到压缩包的内容被解压,并全部写到屏幕上。
tar 指定了-f 而且参数是 - (tar -xvf -),注意命令行最后的(f -),则从标准输入读取输入,这个输入不是文件名,而是整个输入文件的内容。
所以问题1的解释是,gunzip 和 tar 通过标准输入输出的管道,建立连接,进行解压。
2:查看输出?如果要看gunzip 的输出,那就后半段不要,gunzip < mysql.tar.gz
3:这里的输入输出应该特指标准输入,输出,也就是stdio,你不能指望所有的程序都有printf,也不能期望所有的程序都要scanf或者gets,所以并不是所有的命令都有标准输入输出,但另一方面,绝大多数linux自带的命令,都有标准输入输出,所以大多数linux命令都可以用管道和重定向。
4:这个问题参见问题1
其实这些问题只要好好看下gunzip 和 tar 的命令帮助都能找到答案。
另外,在Linux下解压这种文件还有更方便的方法:
tar zxfv mysql.tar.gz 一个命令搞定,不用管道和重定向。
如何在Linux中修改环境变量PATH
修改Linux的PATH格式是这样的,以在PATH环境变量中加入/root这个路径为例:PATH="$PATH":/root首先PATH环境变量的各个路径之间要用英文冒号分割(Windows的PATH环境变量的路径之间用的是英文分号分割)。"$PATH"这一部分代表PATH环境变量原有的内容,因为PATH环境变量是非常重要,对PATH环境变量的修改都是在原PATH的内容上进行添加,所以先用"$PATH"导入原PATH的内容。后面再用英文冒号分割开/root这个新添加的内容,表示在原PATH的基础上添加/root这个路径。对PATH的修改应该写在哪个配置文件中呢?如果想让设置只对当前用户有效,就需要在~/.bashrc文件中添加设置,以添加/root目录为例需要添加如下两行:PATH="$PATH":/rootexport PATH也可以将两行设置写成一行:export PATH="$PATH":/root如果想让PATH环境变量的设置对所有用户都有效,则要把设置添加到/etc/profile这个全局配置文件中,添加的内容和在~/.bashrc中的一样。修改完配置文件后,如果想让设置马上生效,还需要运行source命令,比如:source ~/.bashrc,否则设置只在下次登录时才会生效(也就是说要重新登录)。
求助,如何在linux中设置path变量?
PATH是环境变量,要大写
那几个目录是你放置命令的目录,输命令后系统会去PATH中寻找该命令
查看当前环境变量:
echo $PATH
设置:
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
或者export PATH=PATH:/XXX
登出后就失效,要一直有效,修改~/.bashrc或~/.bash_profile或系统级别的/etc/profile
ps:
比如windows下软件都安装在program file下的不同目录
而unix是把可执行文件放在PATH中,库文件放在同级的lib下,方便输命令
Oracle的profile里,PATH=$ORACLE_HOME/bin:$PATH; export PATH,这里的bin:$PATH怎么理解呢。谢谢你。
首先你要知道$XXXX 代表引用XXXXX变量,
$ORACLE_HOME表示引用ORACLE_HOME变量的值
$PATH表示引用$PATH变量的值,
假如你ORACLE_HOME=/opt/ora10g/product/10.2.0
你的PATH=:/usr/bin:/abc/
那么你贴出的这2句话就可以理解为:
PATH=/opt/ora10g/product/10.2.0/bin:/usr/bin:/abc/
也就是说修改path的值,将oracle的bin路径添加到PATH环境变量中
如何在linux系统中添加路径到PATH环境变量中?
1. 全局的对所有用户都可以的使用的PATH: 可以通过修改配置文件: /etc/bashrc 和 /etc/profile 来时配置,全局的PATH;,例如: vi /etc/profile ,在最后后加一行:PATH=THE_SET_GLOBLE_ENV_PATH:$PATH,接着换行: export PATH,如果使其立即生效: source /etc/profile。2. 对于普通用户也可以设置,自己的路径:在自己的home目录中:ls -a grep bash,会找到两个文件: .bashrc 和 .bash_profile ,同样可以像修改 /etc/profile一样,修改 .bash_profile 来配置你的个性PATH 环境。同样修改后,若不重启,就使其立即生效的话,不要忘了 source .bash_profile。具体如下:1、简介Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。2、基本信息Linux[2]操作系统是UNIX操作系统的一种克隆系统,它诞生linux系统于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。3、分区规定设备管理在 Linux 中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等,IDE 或 SCSI 设备也不例外。Linux 把各种 IDE 设备分配了一个由 hd 前缀组成的文件;而对于各种 SCSI 设备,则分配了一个由 sd 前缀组成的文件。