Linux 认识与学习Bash——1

在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

bash 复制代码
#!/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:

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

相关推荐
尘似鹤5 分钟前
linux驱动学习---竞争与并发(原子操作与各种锁)
linux·学习
盐焗西兰花12 分钟前
鸿蒙学习实战之路-STG系列(4/11)-应用选择页功能详解
服务器·学习·harmonyos
Starry_hello world13 分钟前
Linux 信号量
linux·运维
再战300年22 分钟前
Samba在ubuntu上安装部署
linux·运维·ubuntu
昱宸星光27 分钟前
spring cloud gateway内置网关filter
java·服务器·前端
雨落花开32328 分钟前
服务器集群,负载均衡,CDN简介
运维·服务器·负载均衡
晚秋大魔王33 分钟前
ubutnu 服务器配置openclaw 使用阿里云百炼模型
运维·服务器·阿里云
勇闯逆流河37 分钟前
【Linux】基础开发工具(软件包、vim)
linux·运维·服务器
岳清源37 分钟前
【无标题】Keepalived
linux·服务器·网络
先做个垃圾出来………39 分钟前
Python常见文件操作
linux·数据库·python