Linux 认识与学习Bash——1

news2024/11/24 4:08:11

在Linux系统中,有多种命令和技巧可以帮助用户与shell交互、管理变量以及执行命令。以下是对您提供的信息的简化和概述:

命令查找和信息

  • which:查找系统路径中的命令位置。
  • whereis:查找命令的二进制文件、源代码和手册页。
  • type:显示一个命令的类型(别名、关键字、函数、内置或磁盘文件)。
  • cal:显示当前月份的日历。
  • date:显示当前日期和时间。
  • 使用分号;:在一行中顺序执行多个命令。

Shell和终端

  • 打开终端会启动一个shell进程,但终端本身不是shell。
  • ~(波浪号)代表当前用户的家目录。

变量管理

  • 定义本地变量变量名=值(等号两边不要有空格)。
  • 显示变量echo $变量名
  • 取消变量unset 变量名
  • 查看进程IDecho $$显示当前shell的进程ID。
  • 本地变量:只在当前shell中有效,不影响子shell。
  • 显示所有变量set命令显示所有变量。

环境变量

  • 定义环境变量export 变量名=值declare -x 变量名="值"
  • 取消环境变量declare +x 变量名
  • 查看环境变量envexport命令显示所有环境变量。使用export命令可以显示所有的环境变量,与env命令的区别是前面会显示declare -x
  • 位置参数:使用set命令设置位置参数,如set aa bb cc dd,然后echo $2显示第二个参数(bb)。
  • 引用多位数位置参数:使用大括号,如echo ${10},以确保正确解析。

set 3 2 3 4 5 6 7 8 9 a b c

echo $10  #这边解析的时候会解析成echo $1,也就是3;然后再把0添加到后面去。所以会显示成30

echo ${10} #如果变量是两位以上的时候,我们用大括弧把它括起来,这样表示一个整体

这些命令和技巧是Linux用户日常工作的基础,它们提供了与系统交互和管理环境的强大工具。通过熟练使用这些命令,用户可以有效地控制和自定义他们的工作环境。

位置变量

  • $0 是程序的名字
  • $# 是参数的个数
  • $* 是程序所有的参数

var.sh

#!/bin/bash
echo "这个程序的名字是: $0"
echo "这个程序的第1个参数是: $1"
echo "这个程序的第2个参数是: $2"
echo "这个程序的第3个参数是: $3"
echo "这个程序的第4个参数是: $4"
echo "这个程序的第5个参数是: $5"
echo "这个程序的第6个参数是: $6"
echo "这个程序一共有$#个参数,分别是:$* "

 history 命令:

这个命令用于显示用户在当前shell会话中执行过的命令历史列表。它可以帮助用户快速查找和重复之前使用过的命令。

echo $HISTFILESIZE:

这个命令显示了环境变量HISTFILESIZE的值,它定义了在.bash_history文件中可以存储的命令历史的最大行数。当达到这个数值时,最旧的命令将会被新命令替换掉。


echo $PS1:

这个命令显示了环境变量PS1的值,它定义了主提示符字符串,即每次你在命令行中输入命令时首先看到的文本。用户可以自定义这个提示符,以显示不同的信息,如用户名、主机名、当前工作目录等。

echo $PS2:

这个命令显示了环境变量PS2的值,它定义了次级提示符字符串,通常在你输入一个多行的命令时出现。当你输入一个不完整的命令,需要继续输入时,PS2定义的提示符将会显示出来。

locale 命令:

这个命令用于显示关于当前区域设置的信息,或者在标准输出上显示所有可用的区域设置。没有参数时,locale命令显示基于控制区域设置的环境变量的当前区域设置的每个类别的信息。

locale -a:

这个命令显示了系统上所有可用的区域设置。这对于查看和选择系统支持的不同语言和字符编码设置非常有用

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1605182.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c++二分排序(向右

描述 给出有 n 个元素的由小到大的序列&#xff0c;请你编程找出某元素最后一次出现的位置。 (n<10^6 输入描述 第一行&#xff1a;一个整数&#xff0c;表示由小到大序列元素个数&#xff1b;下面 n 行&#xff0c;每行一个整数&#xff1b; 最后一行 一个整数 x&#x…

05_数组和结构体

结构体 结构体的使用(重点) 结构体值传参 传值是指将参数的值拷贝一份传递给函数&#xff0c;函数内部对该参数的修改不会影响到原来的变量 结构体地址传递 传址是指将参数的地址传递给函数&#xff0c;函数内部可以通过该地址来访问原变量&#xff0c;并对其进行修改。…

图片批量高效美化,支持图片批量旋转,360度自由旋转,让图片焕然一新!

在这个视觉为王的时代&#xff0c;图片已成为我们传达信息、展示创意的重要载体。然而&#xff0c;面对海量的图片资源&#xff0c;如何快速、高效地进行图片处理&#xff0c;让它们更好地呈现我们的想法和创意呢&#xff1f; 第一步&#xff0c;进入首助编辑高手的图片批量处…

day82 过滤器 监听器

过滤器 监听器 一 过滤器 手动在web.xml配置过滤器 url-pattern设置过滤器要保护的资源的路径 每当我打开一次index.jsp页面或者第一个jsp.jsp页面&#xff0c;都会在控制台输出&#xff1a;------------- 表示先走过一次过滤器 添加注解的方式配置过滤器 value值代表要保护…

Win11关闭Bitlocker

Win11关闭Bitlocker - 知乎 Win11默认开启 Bitlocker功能&#xff0c;如果想关闭&#xff0c;可参照以下步骤&#xff1a; 1.点击开始菜单&#xff0c;选择设置 2.点击左侧“隐私和安全性”菜单&#xff0c;然后进入右侧的“设备加密”选项 3.将设备加密选项关闭即可 点击关闭…

【Linux】Linux基础与常用指令大全

文章目录 操作系统是什么&#xff1f;1. Linux家族介绍2. Linux的安装方式3. 常用指令3.1 ls [选项] [目录/文件]&#xff08;显示目录或文件信息&#xff09;3.2 pwd&#xff08;显示当前所在目录&#xff09;3.3 任意指令加上 --help&#xff08;查看指令的用法&#xff09;3…

腾讯云APP备案指南:一站式完成备案手续,助您顺利上线

工信部最新通知要求所有互联网信息服务提供者完成移动互联网应用程序备案手续。腾讯云为开发者提供了简单易行的备案流程&#xff0c;本文详细解答如何在腾讯云平台完成备案&#xff0c;帮助开发者快速上线自己的APP。从验证备案域名到腾讯云审核&#xff0c;一步步指导您完成备…

视频素材库在哪里找免费?几个短视频素材大全告诉您

在这个视觉传达愈发重要的数字时代&#xff0c;拥有一库多样而高质量的视频素材是每位创作者的必备武器。从广告制作到社交媒体分享&#xff0c;优质的视频素材不仅能够增强视觉效果&#xff0c;还能显著提升受众的参与度。以下是一系列精选的全球视频素材网站&#xff0c;旨在…

3W 1.5KVDC 隔离单输出 DC/DC 电源模块 ——TPL-3W 系列

TPL-3W系列是一款额定功率为3W的隔离产品&#xff0c;国际标准引脚&#xff0c;宽范围工作温度–40℃ 到 105℃&#xff0c;在此温度范围内都可以稳定输出3W&#xff0c;并且效率非常高&#xff0c;高达88%&#xff0c;同时负载调整率非常低&#xff0c;对于有输出电压精度有要…

汇编语言——将DX,AX组成的32位数循环左/右移3位

文章目录 将DX&#xff0c;AX组成的32位数循环左移3位将DX&#xff0c;AX组成的32位数循环右移3位 将DX&#xff0c;AX组成的32位数循环左移3位 data segment data ends stack segment stacktop label worddw 100 dup (?) stack ends code segmentassume cs:code,ds:data,ss:s…

web前端网络相关知识

一、OSI 7层参考模型 1.物理层&#xff08;光纤、电缆等物理介质&#xff09; 传播比特流&#xff08;bit&#xff09; 01010101的形式 2.数据链路层&#xff08;交换机&#xff0c;mac地址&#xff09; 将比特流组合成字节&#xff0c;组合成帧&#xff0c;用mac地址访问&…

Opentelemetry——分析C++项目链接时循环依赖导致的错误

大纲 环境分析过程函数是否真的未定义是否有完整实现被谁编译代码是否被编译到静态库 链接出现了什么问题原因猜想 解决方案参考资料 在《Opentelemetry-Language APIs & SDKs-CGetting Started》一文中&#xff0c;介绍了如果编译一个可以发出Trace遥测数据的C项目。虽然过…

制作直通网线和交叉网线

制作直通网线和交叉网线 1. 网络直通线2. 网络交叉线References 双绞线的连接方法有两种&#xff1a;直通连接和交叉连接 。 直通连接是将双绞线的两端分别都依次按白橙、橙、白绿、蓝、白蓝、绿、白棕、棕色的顺序 (国际 EIA/TIA 568B 标准) 压入 RJ45 水晶头内。这种方法制作…

SpringMVC(二)【请求与响应】

0、测试环境 我们简化开发&#xff0c;创建一个简单的环境&#xff08;因为没有其它包比如 service、dao&#xff0c;所以这里不用 Spring 容器&#xff0c;只用 SpringMVC 容器&#xff09;&#xff1a; Servelet 容器配置&#xff1a; package com.lyh.config;import org.s…

物理学视角讲解diffusion生成模型——混合高斯扩散模型

学习评分函数 想要通过逆向扩散从某个目标分布中抽样——其功能形式未知&#xff0c;我们只能通过抽样来学习——但这需要我们知道对应于目标分布的评分函数。知道评分函数&#xff0c;即这个分布对数的梯度&#xff0c;似乎等同于知道分布本身。我们如何学习评分函数呢&#…

Android--ConnectivityManager使用

一、前言 Android10之后官方废弃了通过WifiManager连接WIFI的方式&#xff0c;现在要使用ConnectivityManager连接WIFI 二、连接WIFI public class MainActivity extends AppCompatActivity {private static final String TAG"lkx";Overrideprotected void onCrea…

【MongoDB】数据的自动过期,TTL索引

文章目录 1. 前言2.概念与使用2.1.使用方式2.2.数组中包含日期字段2.3.设置具体的过期时间点2.4.额外的过滤条件 3.总结 1. 前言 在近期的工作中&#xff0c;使用了MongoDB来保存了一些日志数据&#xff0c;但是这些日志数据具有一定的时效性&#xff0c;也就是按照业务的需要…

K8S部署Nginx与问题

【containerd错误解决系列】failed to create shim task, OCI runtime create failed, unable to retrieve OCI... 环境 # cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) # uname -r 4.18.0-348.rt7.130.el8.x86_64 问题及现象 1、pod的状态全部都是Conta…

lua学习笔记18(面相对象之多态)

print("*****************************面相对象多态*******************************") --相同方法不同执行逻辑 object{} object.id1 function object:new()local obj{}self.__indexself setmetatable(obj,self)return obj end function object:subClass(className)…

C/C++基础----内存相关

malloc分配内存 用法 参数为要开辟内存的大小&#xff08;字节为单位&#xff09;返回值为void*,所以要强转一下语法&#xff1a;malloc()动态开辟20个字节的内存&#xff0c;代码&#xff1a;#include <iostream>using namespace std;int main() {int *a (int *) mal…