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

第四章 shell和环境变量

而不同操作系统,由于系统内核不同,所以也有各自不同编译器,因此一种操作系统下程序,无法在其他操作系统执行。如:windows程序,无法在Linux运行。...题外话,为了实现同一程序可以在不同操作系统上运行,java推出了自己独立编译器:JDK。...则在不同操作系统上安装对应版本jdk后,同一个java程序即可在不同操作系统上运行了,所以我们经常称java解决了程序跨平台问题。...PS1 命令提示符 PWD 用户的当前目录 SHELL 用户shell类型 TERM 终端类型 HOME 用户主目录位置,通常是/home/用户名 表中值得注意是:PATH、PS1、SHELL...) $HOME/.profile(功能与.bash_profile相同,默认不存在) 我们可以根据需要,编辑配置文件,完成重启生效配置。

89731

一台机器下,多个Java版本粗放与精细管理

鉴于这些情况,我们就需要在在本机环境安装多个JDK,并且能够方便切换。 本篇文章Mac OS操作系统为例,演示一下如何安装多个JDK版本,并且进行切换。...这里重点介绍两种方式,基于别名形式和基于jenv软件形式。 基于别名JDK切换 这里Mac操作系统下,Java 9为例进行演示。...保存上述修改配置,并执行以下命令使bash_profile生效: source ~/.bash_profile 编译完成,相关配置即完成,后续可通过命令来进行JDK切换。...└── test └── java 创建完成之后,进入项目根目录,执行jenv命令将对应目录环境变量设置为Java 17: $ jenv local temurin64-17.0.4.1...小结 本篇文章针对多Java版本环境变量管理问题,带大家实践和学习了两种环境变量管理方式:一种是比较粗放,基于环境变量命令别名形式,通过别名来切换当前环境变量;另外一种是借助于三方工具JEnv来完成多

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

linux20个中级命令

Warning:rm -rf命令是一个危险命令,如果你不小心把它放到了错误目录。.../bin/bash告诉 shell 它是一个脚本。 33. passwd命令 这是一个重要命令,可用于在终端更改自己密码。显然出于安全原因,你需要知道你当前密码。.../a.out Hello world Note: 在编译一个c程序输出自动生成到一个新文件 a.out并且每次编译c程序相同文件 a.out被修改。...Note: 在编译一个c++程序输出自动生成到一个新文件 a.out并且每次编译c++程序相同文件 a.out被修改。因此,在编译期间定义输出文件是一个很好建议,因此不存在覆盖输出文件风险。...当今大多数基于 Web 服务都运行在 Java 上。 通过将以下测试粘贴到名为文件创建一个简单 java 程序rumenz.java(记住.java扩展名是必须)。

72140

环境变量详解

环境变量详解 当前文章 Java 为例,但是编程语言在环境变量上知识大同小异,思想是相同。...直接加载到对应设置目录下 CLASSPATH CLASSPATH 具有双重含义: Java 虚拟机或 Java 编译一个参数,用于指运行程序所需要 class 文件位置; 环境变量一个配置...且classpath 默认且必须含有当前目录 . ,java 和 javac 等命令会在当前目录寻找相关 java 文件以及 class 文件。...格式是:alias 别名='原命令 -选项/参数',例如:alias ll='ls -lt'; 用户环境变量和系统环境变量  它们之间在作用域上有着显著区别: 用户环境变量:用户变量只对当前用户有效;...系统环境变量:系统变量对所有用户有效;  我们使用vim ~/.bash_profile命令进行环境变量配置,其意义是:编辑当前 SHELL 对应用户级环境变量配置文件,如 bash 对应 .bash_profile

1.2K40

Ubuntu常用指令及用法详解

/etc目录) tar-cvzpf etc.tar.gz /etc (-c为创建一个打包文件,相应-f后面接创建文件名称,使用了.tar.gz后缀,-z标志使用gzip压缩,最后面为具体操作对象...9.fsck 磁盘检查修复命令,可以检查修复文件系统错误。类似于Windows 下chkdsk。但是,这里要输入“分区”并不是分区挂载后目录,而是分区在/dev 标识。...常见用法:whereisbash(查询 bash这个程序在什么地方) 16.touch 创建空文件 常见用法:touchupdate.sh (创建 update.sh空文件) 17.alias 设置命令别名...常见用法:aliasdir = ‘ls’ (将 dir设为 ls别名) 18.pkill 结束进程,类似于Windows 下taskkill 命令 常见用法:pkillbash(结束 bash进程)...常见用法:sync同步当前用户数据 root身份运行 sync:同步所有用户数据。

3.5K53

Bash Shell

bash内置命令type:Linux操作系统命令分为两大类:1.内部命令、即内置在bash命令2.外部命令、即该命令不是内置在bash,外部命令可执行文件方式存储在Linux文件系统...如在bash提示符下输入file dog,连续按两次Tab键就会显示所有dog开头文件名。命令行~符号使用:~符号含义如下:1.如果~符号后面没有用户名,则该符号代表当前用户目录。2。...Bash Shell,通过别名和函数来设定Bash Shell,通过set命令来设定Bash Shell,通过环境变量设定Bash Shell其他命令和应用程序。...创建一个别名时要遵守如下规则:1.在等号两边都不能有任何空格 2.如命令字符串包含任何选项、元字符或空格,命令就必须使用单引号括起来3.在一个别名每一个命令必须用分号(:)隔开。 ...Shell启动脚本作用包含以下4点:1.通过在启动脚本设置局部变量或运行set命令来设置shell  2.通过在启动脚本文件建立环境变量设置其他程序  3.在启动脚本文件创建(启用)别名4.在启动脚本文件定义系统启动时要执行程序

1.5K30

git 入门教程之 git bash 竟然不支持 tree 命令

举个简单例子,如果想要查看当前目录文件结构,最好是以目录形式展现,聪明你获取已经猜到了tree 命令. git bash 命令行输入 tree 命令发现并无此命令. snowdreams1006...在 git bash 桌面快捷方式右键,选择打开文件位置,当前正处于 git 安装目录,进入.\usr\bin 文件夹....激动人心时刻就要来临,在正式使用 Pacman 安装 tree 命令外,我们再次检查当前系统环境确保没有 git bash 无法调用 tree 命令....首先清除掉上一步设置别名,防止干扰确保此二进制文件真实有效. snowdreams1006@home MINGW64 /g/sublime/test # 切换到 `git` 安装目录 $ cd /e...下载 已编译 tree.exe 文件到 git bash 安装目录 /usr/bin 目录,然后执行 tree 命令.

2.6K70

命令别名:保护和服务

首先,我们使用别名(lt)来创建另一个别名 —— 这是完全可以。其次,我们将一个新参数传递给 lt(后者又通过 lt 别名定义传递给了 ls)。...那么,在有些离题之后,最终我们得到就是这个列表将当前目录文件和目录新鲜度逆序列出(即老在前)。...最后你需要注意是,当在当前目录任何目录运行 lt 时: # 这可以工作: lt # 这也可以: lt /some/other/directory ……而 lo 只能在当前目录奏效: # 这可工作:...mkdir='mkdir -pv' 可以让你一次性创建目录目录。...对于 cp 也是一样,它能够覆盖一个文件而不会给你任何提示。创建一个类似 alias cp='cp -i' 来保持安全吧。

42820

程序50大Linux面试问题及答案

8.迷路,我的当前位置在哪? 9.如何切换目录? 10.如何查看目录文件?区分哪些是文件哪些是目录?递归查? 11.创建文件?创建目录?批量创建? 12.删除文件?强制删除?递归删除?...作为普通程序运行,通常在用户登陆终端时启动。登录时系统启动shell依赖与用户账户配置。 5.bash手册 大多数linux发行版自带查找shell命令及其他GNU工具信息在线手册。...绝对文件路径:描述了在虚拟目录结构目录的确切位置,虚拟目录目录开始,相当于目录全名。 正斜线(/)开始,比如 /usr/local。...在bash shell,环境变量分为两类: 全局变量:对于 shell会话和所有生成子shell都是可见。 局部变量: 只对创建他们shell可见。 28.储存用户文件是?包括哪些信息?...ps它能输出运行在系统上所有程序许多信息。 默认情况下ps值显示运行在当前控制台下的当前用户进程。

20620

Linux权限维持|内网渗透学习(十二)

service ssh restart ssh keylogger(alias设置操作别名) 编辑当前用户下.bashrc文件(~/.bashrc), 在配置文件末尾添加: alias ssh='strace..., 则在执行过程该文件可以获得root权限, 从而可以更改用户密码....setgid: 该权限只对目录有效, 目录被设置该位后, 任何用户在此目录创建文件都具有和该目录所属组相同组 #include void main(int argc,.../bin/bash nc -l -v -p 4444 -e /bin/bash 2>/dev/null &/bin/uname $@ 其他可执行程序也可以尝试通过这种方式进行劫持, 是否成功取决于原可执行文件所在目录之前其他...shell目录是否有我们可写入 或者除了劫持之外直接将原本程序给扬了替换成我们自己恶意程序也不是不行 2022_10_02 05:15

97532

小白Linux入门--入门篇:Linux下搭建JavaWeb环境

2) PATH环境变量修改 PATH变量决定了shell 将到哪些目录寻找命令或程序。如果要执行命令目录在 $PATH ,您就不必输入这个命令完整路径,直接输入命令就可以了。...在大多数情况下,您不能用“PATH=/some /directory”,因为这将删除 $PATH 其他所有目录,这样您在该终端运行程序时,就不得不给出完整路径。.../arm/3.4.1/bin” 这样,PATH 被设成当前值( $PATH 来表示)+新添目录。...')、当前所在目录(在 Unix ,'~'表示您 home 目录)。...在 man bash 'PROMPTING'部分,对这些参数(parameter)有详细说明。您可以加入一些小玩意,如不同格式的当前时间,命令历史记录号,甚至不同颜色。

1.1K31

学习笔记0402----shell基础知识

站在这个角度讲,Shell 也是一种编程语言,它编译器(解释器)是 Shell 这个程序。我们平时所说 Shell,有时候是指连接用户和内核这个程序,有时候又是指 Shell 编程。...2.自定义别名 3.别名配置文件:~/bash.rc 和 /etc/profile.d/ 4.取消别名 4.通配符、输入输出重定向 4.1 通配符 符号 作用 * 匹配任何字符串/文本...匹配任何一个字符(不在括号内时)?代表任意1个字符 [abcd] 匹配abcd任何一个字符 [a-z] 表示范围a到z,表示范围意思 []匹配括号任意一个字符 {…} 表示生成序列....时, 首先启动 /etc/profile文件 然后再启动用户目录 ~/.bash_profile、 /.bash_login或/.profile文件其中一个,执行顺序为:~/.bash_profile.../filename是因为当前目录没有在PATH,所有"."是用来表示当前目录

68950

linux详解sudoers

sudo命令执行过程 将当前用户切换到超级用户下,或切换到指定用户下,然后超级用户或其指定切换到用户身份执行命令,执行完成后,直接退回到当前用户。   ...在上面的默认例子: "字段1"不以%号开头表示"将要授权用户", 比如例子root;%号开头表示"将要授权组", 比如例子%wheel组 和 %sudo组。  ...如果你将授权写成如下安全性欠妥格式:lucy ALL=(ALL) chown,chmod,useradd那么用户就有可能创建一个他自己程序, 也命名为userad, 然后放在它本地路径, 如此一来他就能够使用...任何在/etc/sudoers.d/目录下,不以~号结尾文件和不包含.号文件,都会被解析成/etc/sudoers内容。   ...该例子意思是: 用户papi在所有可能出现主机上, 能够运行目录/usr/sbin和/sbin下所有的程序, 但fdisk除外。

66710

linux bash环境变量简单总结

:查看当前系统所支持字符集】 LANG 没有设置任何LC_XXX变量时所使用默认值。...如果在不支持作业管理操作系统编译bash,会使用另一套接口 相同机制对进程信息进行简单维护。.../etc/default/useradd –它定义了创建用户时,默认家目录根,默认shell,从哪里拷贝必要配置文件,是否创建邮箱等。.../etc/skel –【.bashrc, .bash_profile, .bash_logout等文件都源自这里】 当用命令添加一个用户时,它默认会在/home/下新建一个用户名为名目录,并把/etc...这看上去没有任何意义,但若是一个设计精良溢出值,则可能会因此覆盖掉某些程序一部分内存空间 从而轻易获取该程序控制权,若该程序是系统进程,则它将可能获取系统权限 shell数组相关操作: —【注

1.8K30

linux bash环境变量简单总结

一般Linux发行版bash可执行文件往往是/bin中最大几个实用程序之一, 客观反映了它复杂性。...如果在不支持作业管理操作系统编译bash,会使用另一套接口 相同机制对进程信息进行简单维护。.../etc/default/useradd –它定义了创建用户时,默认家目录根,默认shell,从哪里拷贝必要配置文件,是否创建邮箱等。.../etc/skel –【.bashrc, .bash_profile, .bash_logout等文件都源自这里】 当用命令添加一个用户时,它默认会在/home/下新建一个用户名为名目录...这看上去没有任何意义,但若是一个设计精良溢出值,则可能会因此覆盖掉某些程序一部分内存空间 从而轻易获取该程序控制权,若该程序是系统进程,则它将可能获取系统权限 shell数组相关操作

1.8K60

Docker重学系列之高级数据卷配置

,类似于 Linux 下对目录或文件进行 mount,镜像被指定为挂载点目录文件会复制到数据卷(仅数据卷为空时会复制)。...首次使用到时候自动创建 第一次使用别名时将容器中原始数据留下来,使用绝对路径方式不会保留容器中原始数据 别名是什么: 别名代表一个docker自身维护数据卷 1.查看所有docker维护数据卷..._3 --volumes-from centos_2 centos /bin/bash 接下来,我们在每个容器里面的/data/centos目录里面都创建一个文件 在宿主机/data/centos目录里面创建了...main.java文件 在centos_1容器/data/centos目录里面创建了centos_1.java文件 在centos_2容器/data/centos目录里面创建了centos_2....java文件 在centos_3容器/data/centos目录里面创建了centos_3.java文件 最后在面四个环境/data/centos目录执行ls命令,都能看到所有容器创建文件,这样我们就实现了各个容器之间数据同步

45620

SHELL(bash)脚本编程四:其他扩展

在交互式shell退出时(exit),当前环境下执行过命令会保存在此配置文件。 当不带任何选项执行内置命令history时,将输出所有记录历史命令(共$HISTSIZE条)。...但别名名称并不像变量名要求那样严格,别名可以包含除了 /,$,反引号,= ,元字符和引用字符之外任意字符。而别名替代字符串可以是任何shell输入。...默认时shell脚本不能使用别名别名扩展是完全基于文本,因而别名可以改变shell语法。几乎任何别名作用,都可以用shell函数来实现。 大括号扩展 大括号扩展是一种生成任意字符串机制。...l.txt 大括号也可以嵌套 如创建目录 [root@centos7 tmp]# mkdir -p ....~]# fg %1 sleep 300 ^C [root@centos7 ~]# 在交互式shell或脚本控制操作符&结尾命令也会被作为后台命令异步地执行,当前shell不会等待此命令执行结束

72330
领券