首页
学习
活动
专区
工具
TVP
发布

Linux】详谈命令行参数&&环境变量

当我们在命令行解释器输入一串指令时,命令行解释器会将这一串指令当成一个字符串,并以空格作为分隔符,将这个字符串分割成更小的字符串,并将这些更小的字符串分别存到argv数组中。...当你从命令行运行一个程序时,命令行解释器会负责解析命令行中的各个部分,包括程序名(即argv[0])和传递给程序的任何选项(即argv[1]、argv[2]等)。...这也就可以解释为什么同一条指令我们在命令行中传递不同的选项它可以帮我们执行不同的功能。所以选项的本质就是命令行参数。命令行参数,是Linux指令选项的基础。...当我们执行某一条指令的时候,系统默认会到PATH环境变量保存的目录中去搜索指令对应的可执行程序(这里我们必须清楚的是,Linux中指令的本质就是可执行程序)。...命令行解释器/bash进程内部自己维护了一张表,env表,env表中每一个位置都指向了一个环境变量,我们自己运行起来的进程都是bash的子进程(不考虑fork),当我们的程序运行起来时,bash进程会把它维护的

6510

Linux命令行参数和环境变量

二.命令行参数 在初学C语言的时候,可能在一些书籍上会看到main函数带参数,就像这样 int main(int argc,char*argv[]) { //.......我们平常使用的那些指令,例如 ls 什么的,它们后面跟不同的选项,就会有不同的功能,原理就是这个命令行参数。...HOME HOME : 指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录) echo $HOME  SHELL SHELL : 当前Shell,它的值通常是/bin/bash echo...: 显示本地定义的shell变量和环境变量(即显示本地变量和环境变量) 环境变量的组织方式 环境变量的组织方式和命令行参数是一样的。...所以一个进程在运行时,不是简单的加载到内存中,还会传入两张核心向量表: 命令行参数表 环境变量表 通过代码如何获取环境变量 函数getenv #include #include

8410
您找到你想要的搜索结果了吗?
是的
没有找到

LinuxLinux环境变量的理解 --- 命令行参数、shell子进程、环境变量、本地变量

bash当中的,linux在环境变量的配置文件当中就有环境变量的设置,当我们登录shell的时候这个环境变量就会load到当前的shell进程当中。...shell做为一种和Linux系统的特殊交互式工具,为用户提供了启动程序、管理文件系统中的文件及运行在Linux上的进程的途径。shell通过解析输入的文本命令,在内核中执行来达到与系统交互的功能。...Linux操作系统的准备工作 1....导入环境变量可以先在命令行定义本地变量,然后导成环境变量,也可以两个步骤同时进行,取消环境变量或本地变量可以通过unset指令来操作。 2....转载自csdn博主吃鱼的羊文章 四、命令行参数表和环境变量表 1.命令行参数表 1.

1.9K31

Linux操作系统】环境变量命令行参数

三.和环境变量相关的命令 1.echo:显示某一特定环境变量 2.export: 设置新的环境变量 3.env: 显示所有环境变量 4.set:查看本地定义的本地变量 四.命令行参数 1.cmd下的命令行参数...windows下环境变量和我们今天讲的Linux下环境变量的原理和作用都是类似的,只不过是使用和细节上有差异!...例如:一个环境变量存储的字符串可能由多条路径组成,在windows下和Linux下它们的路径分隔符就有所差异 windows下: Linux: 3.一览常见的环境变量 当前登入用户:...残留问题:我们知道echo是bash的子进程,本地变量不会被父进程在创建子进程的时候被继承,那为什么可以通过echo $本地变量名的方式打印到命令行终端?-----内建命令!...1.cmd下的命令行参数 在windows下相信你肯定写过所谓的关机小程序,那你肯定用到过这个: 或许你会说这不就是一个选项嘛,啊,他确实是选项,可是这选项的背后原理依赖的就是命令行参数!

2K20

Linux小技巧之命令行颜色突出显示小技巧

Linux命令行颜色突出显示小技巧为了区分生产环境和测试环境,强烈调整Linux命令行颜色,避免误操作导致生产故障,很不起眼的一个操作,但是在犯蒙时刻能救命~[root@centos ~]#vim /...Linux中,PS1是一个环境变量,用于定义命令行提示符的格式。...通过组合特殊字符和转义序列,我们可以自定义命令行提示符的样式。...例如,下面是一个自定义的命令行提示符:PS1='\[\e[1;32m\]\u@\h:\w\$\[\e[0m\] '这个命令行提示符将当前用户的用户名和主机名显示为绿色,当前工作目录显示为普通文本,以$符号作为命令行输入的结尾...需要注意的是,PS1环境变量的设置只对当前的终端会话有效。如果我们想要永久修改PS1环境变量的值,可以将其添加到.bashrc或者.profile文件中。

44620

linuxPS1、PS2、PS3、PS4最全详解

通过设置环境变量PS1、PS2、PS3以及PS4来自定义用户命令行的字符显示。...如果要长期永久性修改提示符,可以将修改提示符的命令添加到HOME/.profile或HOME/.bash_profile文件中 PS1 PS1是主提示符变量,也是默认提示符变量。...基本上通过设置PS1来定义命令行提示字符即可,最常用的需求就是显示登录的用户名、主目录、主机名等等。...把定义好的变量写成脚本建议放到/etc/profile.d/下 举例: [root@centos7 ~]#vim /etc/profile.d/env.sh PS1="\[\e[1;36m\][...例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux /h 仅取主机的第一个名字,如上例,则为fc4,.linux则被省略 /t 显示时间为24小时格式,如:HH:MM:SS /T

3.3K30

Linux ——变量

变量:环境变量、状态变量、位置参数变量、自定义变量,调用变量时,要在变量前面加一个 $ 符号echo ①打印字符串 ②打印变量的值,变量调用要加 $环境变量:用于存储有关shell会话和工作环境的系统变量状态变量...$aecho 'this is a $a' #''里面的变量不会被解释echo "this is a $a" # “”里面的变量被解释2 环境变量:用于存储有关shell会话和工作环境的系统变量常见环境变量...输入命令时Linux会去查找PATH里面记录的路径,如果命令存在某一个路径中,就可以成功调用。使用的常见的命令都在提供的路径中,这些路径就保存在PATH变量中。...echo $PATH | tr ':' '\n'(3) $SHELL:bash shell的全路径名(4) $LOGNAME:当前用户的登录名(5) $PS1: shell命令行界面的主提示符3 状态变量...作用:这个变量代表命令行中所有的参数,把所有的参数看成一个整体$@ 作用:这个变量也代表命令行中所有的参数,不过 $@ 把每个参数区别对待$# 作用:这个变量代表命令行中所有参数的个数

2.5K20

Linux 用户名、主机添加背景色

文章参考:PS1应用之——修改linux终端命令行各字体颜色   Linux 用户名、主机添加背景色,用于生产环境,这样可以减少人为的误操作。...1 [root@zhang ~]# tail /etc/bashrc 2 ……………… 3 export PS1="\[\e[37;40m\][\[\e[37;41m\]\u\[\e[37;41m\]@...1.了解PS1   PS1Linux终端用户的一个环境变量,用来定义命令行提示符的参数。...默认如下: 1 [root@zhang ~]# echo $PS1 2 [\u@\h \W]\$   意思就是:[当前用户的账号名称@主机名的第一个名字 工作目录的最后一层目录名]# PS1的常用参数以及含义...  \W :利用basename取得工作目录名称,只显示最后一个目录名   \# :下达的第几个命令   \$ :提示字符,如果是root用户,提示符为 # ,普通用户则为 $ 2.颜色设置参数  在PS1

2.7K20

Linux命令行

bash shell提示符 登录Linux系统之后,默认进入交互式的命令行界面,在光标前边会出现提示符 [root@localhost ~]# [用户名@主机名 目录名]权限标识 用户名 当前登录的用户...主机名 当前这台主机的名字,默认叫 localhost 目录名 当前光标所在的目录 当前光标所在的目录 权限标识 超级管理员权限就表示为 # 普通用户标识为 $ 这个提示符格式被 $PS1 控制...,我们可以查看这个变量 [root@localhost ~]# echo $PS1 [\u@\h \W]\$ # \u表示是用户名 \h表示的是主机名 \W表示的当前所在目录 \$是权限标识 [root...@localhost ~]# export PS1="{\u@\h}\W \$" {root@localhost}~ $ # 可以通过export命令修改PS1变量,让提示符可以根据你的习惯变化 shell...注意Linux会准确的识别出命令的大小写,所以大家需要注意大小写的问题。命令选项和参数之间是用空格进行分隔,请大家在输入的时候注意不要缺失空格。 学习Linux最重要的就是以下三个方面 1.

14.9K30

定制你的 Linux:精彩 Shell 提示符设置技巧

在操作 Linux 系统时,我们最常接触的就是终端界面。其中,Shell 提示符(也称命令行提示符)作为用户与系统交互的第一道门户,拥有极高的可定制性。...今天,我们就来探索如何设置并优化你的 Shell 提示符,让你的命令行界面更加符合你的个性和需求。 一、什么是 Shell 提示符?...Shell 提示符,是在命令行界面中输入命令前的一段短文本,通常包含了当前用户、主机名、工作目录等信息,如 username@hostname:~。...在 Bash 中,Shell 提示符是由 PS1 环境变量定义的。你可以通过修改这个变量来定制你的提示符。...希望你喜欢今天的文章,并在你的 Linux 旅程中找到更多有趣的东西!

55020

Linux在批量服务器管理中实用的PS1命令提示符格式

而我们一般都是用跳板机登陆,由于这些机器一般都是克隆或者虚拟化出来的,所以登陆后的命令行提示符几乎是一个模子刻出来的,比如都是:[root@localhost ~]# ?...所以,我们很有必要将这个 PS1 命令行提示符优化一下。每个运维攻城狮肯定都有自己的习惯,不过我还是推荐一个服务器批量管理中比较使用的 PS1 格式吧! PS1 是神马?...PS1linux 里头的一个默认的环境变量,至于当前系统的 PS1 是如何设置的,你可以使用命令“env|grep PS1”来查看 。 其实 PS1 就是用来设置命令提示符格式的环境变量。...例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux \h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略 \t :显示时间为24小时格式,如:HH...(当然,你也可以先获取 IP,赋值变量加入到 PS1) 脚本很简单: #!

1.4K60

一文带你学会Linux系统的环境变量

背景 由于 Linux 命令行没有图形化界面,因此,所有的设置都采用文本的方式来完成,而其中最重要的用户设置则为 bashrc 文件,bashrc 配置文件非常重要,相当于图形化界面的设置选项...二、PS 部分 2.1 修改 PS 变量 Linux 系统中的 PS变量用来控制命令行设置,其中PS 即是Prompt String,命令提示符的意思,可以看到有 PS1,PS2,PS3,PS4...其中最重要的就是 PS1,PS2 用来设置二级提示符。修改 PS 中的设置就可以对命令行进行个性化的设置,不过这些都是一些奇怪的符号,不容易看懂。...Linux 命令行终端颜色是通过一些数字来显示的。...4.1 PATH 变量简介 PATH 变量Linux 系统默认程序路径,当在命令行敲命令时,系统会从 PATH 变量中设定的目录中查找程序,which 命令搜索时也会从 PATH 变量中进行搜索

84650

Linux命令行介绍

一、命令行的介绍 命令行界面(英语:command-line interface,缩写:CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后...通常认为,命令行界面(CLI)没有图形用户界面GUI那么方便用户操作。因为,命令行界面的软件通常需要用户记忆操作的命令,但是,由于其本身的特点,命令行界面要较图形用户界面节约计算机系统的资源。...在熟记命令的前提下,使用命令行界面往往要较使用图形用户界面的操作速度要快。所以,图形用户界面的操作系统中,都保留着可选的命令行界面。...另外Linux 系统的优势基因还是快速、批量、自动化、智能化管理系统及处理业务。和Windows系统使用鼠标点击的可视化管理大不相同 ,Linux通过键盘输入指令就可以完成管理系统的相关操作。...五、视频学习 视频:linux命令介绍 视频:linux常用命令

11.5K20

Linux命令行基础

Linux命令行简要介绍 AT&T公司于20世纪70年代发布了UNIX系统。经过多年的发展,Unix不再是某一个具体操作系统的名称,而是对遵循Unix规范、设计和哲学的一类操作系统的统称。...它是一种命令行解释器(CLI)或者Shell,可以让用户通过输入命令与系统交互。Unix Shell既可以直接执行用户输入的命令,也可以从文件中读取命令执行(shell scripting)。...最常用的Unix Shell是Bash,几乎所有的Linux发行版中都内置有Bash。通常所说的Linux命令行就是Bash命令或Bash脚本。...Linux命令行以强大灵活著称,使用少数命令就可以执行许多任务,还可以将许多任务自动化。 Linux命令行基础 Linux启动后,就会创建一个shell会话(shell session)。...在命令行输入:man man,输出如下: image.png Linux中常用导航命令如下: BASE COMMAND EXPLANATION FAMOUS ARGUMENTS & OPTIONS EXAMPLES

10.6K30

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券