首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【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

13010

【Linux】命令行参数和环境变量

今日更新了Linux命令行参数和环境变量的内容 欢迎大家关注点赞收藏⭐️留言 命令行参数 我们平时写的main函数没有参数,其实它是有参数的。...由此可以得出:命令行中启动的程序,都会变成进程,并且都是bash的子进程。 所以,我们平常写的命令行字符串,默认都是输入给父进程bash的,因此bash也叫命令行解释器。...环境变量 如下图,为什么我们写的程序,运行时需要./,而系统的指令却不需要./就可以运行呢? Linux中,存在一些全局的设置, 告诉命令行解释器,应该去哪些路径下寻找可执行程序。...常见环境变量 PATH : 指定命令的搜索路径 HOME : 指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录) SHELL : 当前Shell,它的值通常是/bin/bash。...原因:最开始的环境变量不是在内存中,而是在系统对应的配置文件中。 当我们每次登录Linux时,配置文件会拷贝一份到bash进程中,里面的内容就包括PATH。

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

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

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

    42310

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

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

    2.1K31

    【Linux课程学习】:命令行参数,环境变量

    1.变量定义在for循环中,在c99和c++中才支持: gcc ^ -o @ -std=c99 2.命令行也是一个进程,它的父进程都是shell。...命令行参数: int main(int argc,char* argv[ ]) argc表示参数的个数,crgv[]表示参数清单,是一个一个的字符串。...根据下面的测试结果,我们知道argv是我们在命令行输入的命令,所以argv[1]是./code ,后面的根据输入的命令而定。...1.首先被shell(命令行解释器)拿到。然后shell根据空格,就形成了一张表(argv),也就可以知道元素个数(argc)。这张表中每一个都指向一个字符串,最后以NULL结尾。...2.命令执行的时候,给进程传递,命令行参数。此时就形成了全局的argc和argv[ ],命令行参数是不会发生变化的,这样子进程不用拷贝一份,argc和argv[ ]不会进行修改,只需要只读就行。

    11010

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

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

    2.1K20

    【Linux】进程详解:命令行参数、环境变量及地址空间

    前言 之前在这篇文章中【Linux】进程管理:状态与优先级调度的深度分析就已经简述了 进程的部分相关内容,下面我们来进一步深入了解进程的命令行参数以及环境变量和进程地址空间。 2....说到字符串,我们无论实在 Linux 还是 Windows 或者其他系统,都有命令行提示符,他们是怎么构成的?...SHELL中保存的就是当前的命令行解释器的版本 3.4 和环境变量相关指令 在讲这个之前,我们需要先了解一下本地变量和环境变量 Linux中,我们可以在bash中直接定义环境变量 指令:变量名=内容...此时就需要引出一个新的概念 Linux的命令分类: 常规命令:shell fork让子进程执行的 内建命令:shell命令行的一个函数,当然可以直接读取shell内部定义的本地变量!...小结 Linux命令行参数,环境变量,环境变量的学习重在理解,细节比较多,而且有很多新概念,所以认真,细心的学习环境变量是很重要的,地址空间让进程管理和内存管理互不干涉,起到了很大作用。

    14110

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

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

    59620

    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、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

    4K30

    【Linux】借命令行参数的引导,探索环境变量的奥秘

    1.命令行参数 1.1.概念: 命令行参数是指在执行一个程序或命令时,通过命令行输入的附加信息和选项。...我们为什么会有不同的指令对应的不同的功能,就是因为命令行参数的存在,命令行参数就是Linux指令选项的基础! 注意我们的main()函数也是有参数的,且有三个参数,也就是命令行参数。...其中,argc表示命令行参数的个数,同时也表示argv数组中元素的个数,而argv是一个指向参数值的指针数组,每个指针指向一个命令行参数的字符串 注意在argv数组存储的时候,默认第一个参数就是程序的名称...利用命令行传参,main函数第二个参数,会把所有环境参数都会被解析成一对多进行输出 所以我们可以通过不同的选项,让我们的同一个程序执行它内部不同的功能 1.2.利用命令行参数打造计算器: int main...\n"); } return 0; } 2.环境变量 2.1.环境变量是什么?

    12110

    【Linux内核揭秘】深入理解命令行参数和环境变量

    命令行参数 什么是命令行参数 形如这样的命令后面带的选项就是命令行参数。 首先我们要了解一下命令行参数的原理。...env这张表会一一对应的指向对应的环境变量。 说了这么多,那什么是环境变量?—在 Linux 中,环境变量是用于在操作系统和程序之间传递配置信息的一种机制。...不同用户对应的HOME变量是不同的,刚登录上系统时,当前目录就是家目录HOME。 SHELL SHELL 环境变量在 Linux 系统中表示当前用户默认使用的命令行解释器(Shell)的路径。...总结 在 Linux 中,命令行参数和环境变量作为系统和应用之间的桥梁,提供了灵活且高效的配置和交互方式。...在日常使用中,充分利用环境变量和命令行参数,能够大幅提高工作效率,打造出更加符合需求的操作体验。希望这篇文章能帮助你更好地理解和运用这些基础概念,迈向更高效的 Linux 使用之路!

    14110

    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.

    15K30

    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   PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数。...默认如下: 1 [root@zhang ~]# echo $PS1 2 [\u@\h \W]\$   意思就是:[当前用户的账号名称@主机名的第一个名字 工作目录的最后一层目录名]# PS1的常用参数以及含义...  \W :利用basename取得工作目录名称,只显示最后一个目录名   \# :下达的第几个命令   \$ :提示字符,如果是root用户,提示符为 # ,普通用户则为 $ 2.颜色设置参数  在PS1

    2.8K20

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

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

    1.1K20

    玩转服务器 —了解bashrc文件

    滴水穿石 非一日之功 .bashrc文件 .bashrc 是一个配置文件,主要用于用户自定义 Bash shell(Linux 系统中的默认命令行解释器)的行为和环境。...你可以在 .bashrc 文件中设置环境变量,比如修改 PATH 路径以添加自己的程序目录;也可以为常用命令设置别名,简化操作,例如将 ls -lh 设置为 ll 以及 自定义命令行提示符、编写简单函数...前提是需要掌握vim编辑器的用法 vim ~/.bashrc 自定义 .bashrc 文件,比如设置命令提示符、添加自己安装的软件路径到环境变量 等等 #自定义命令提示符(PS1 变量) PS1="\[...它为用户提供了启动程序,管理文件系统中的文件以及运行在Linux系统上的进程的途径。shell的核心是命令行提示符。命令行提示符是shell负责交互的部分。...进入方式:在普通模式下按 : 常用命令: bash shell 命令提示符 PS1 变量 PS1常用的参数: \d :#代表日期,格式为weekday month date,例如:"Mon Aug 1"

    38910

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券