当前位置: 首页 > article >正文

Linux Shell 基础操作笔记

一、目录导航与文件操作

常用命令

pwd:显示当前工作目录。

cd [目录]:切换到指定目录。

  • cd ~:返回用户主目录。

  • cd ..:切换到上一级目录。

  • cd -:切换到上一次所在的目录。

ls:列出当前目录下的文件和文件夹。

  • ls -R:递归列出当前目录及其子目录。

  • ls -al:以长格式列出所有文件和文件夹,包括隐藏文件。

mkdir [目录名]:创建新目录。

  • mkdir -p [目录路径]:递归创建多级目录。

touch [文件名]:创建空文件。

rm [文件名]:删除文件。

  • rm -fr [目录名]:强制递归删除目录及其内容。

# 切换到根目录
cd /
# 返回用户主目录
cd ~
# 列出根目录下的所有文件和文件夹
ls
# 创建多级目录结构
mkdir -p project/src/main/java
# 删除某个文件
rm file.txt
# 强制删除某个目录及其内容
rm -fr project

二、文件权限管理

权限基础

Linux文件权限分为读(r)、写(w)、执行(x)三种,分别对应4、2、1的数值。权限设置针对文件所有者(u)、所属组(g)、其他用户(o)三类用户。

常用命令

chmod [选项] [权限] [文件名]:修改文件权限。

  • chmod +x file.sh:为文件添加执行权限。

  • chmod u-w file:移除文件所有者的写权限。

  • chmod 755 file:设置文件权限为所有者可读写执行,组用户和其他用户可读执行。

# 创建一个脚本文件
vim script.sh
# 添加执行权限
chmod +x script.sh
# 移除写权限
chmod u-w script.sh
# 设置权限为755
chmod 755 script.sh

三、Shell脚本编程

脚本创建与执行

  1. 使用文本编辑器(如vim)创建脚本文件。

  2. 为脚本文件添加执行权限。

  3. 执行脚本。

示例:

创建并执行一个简单脚本

# 创建脚本文件
vim hello.sh
# 添加执行权限
chmod +x hello.sh
# 编辑脚本内容
#!/bin/bash
echo "Hello, World!"
# 执行脚本
./hello.sh

脚本中的变量与用户输入

# 定义变量
name="Alice"
# 用户输入
read -p "Enter your age: " age
# 输出变量和用户输入
echo "Name: $name, Age: $age"

条件语句

# if语句
if [ $a -eq $b ]; then
    echo "a equals b"
elif [ $a -gt $b ]; then
    echo "a greater than b"
else
    echo "a less than b"
fi
# case语句
case $choice in
    "1") echo "First option";;
    "2") echo "Second option";;
    *) echo "Invalid option";;
esac

循环语句

# while循环
count=0
while [ $count -lt 5 ]; do
    echo $count
    count=$((count + 1))
done
# for循环
for i in {1..5}; do
    echo $i
done
# until循环
num=0
until [ $num -ge 5 ]; do
    echo $num
    num=$((num + 1))
done

函数定义与调用

# 定义函数
greet() {
    echo "Hello, $1!"
}
# 调用函数
greet "Bob"

四、字符串操作

字符串拼接

# 使用双引号拼接
name="Alice"
greeting="Hello, "$name"!"
# 使用${}语法拼接
greeting_1="Hello, ${name}!"

字符串长度与截取

# 获取字符串长度
str="hello world"
len=${#str}
# 字符串截取
substr=${str:1:4}

五、数组操作

# 定义数组
array=(element1 element2 element3)
# 访问数组元素
echo ${array[0]}
# 遍历数组
for element in ${array[@]}; do
    echo $element
done
# 获取数组长度
echo ${#array[@]}

六、脚本间变量共享

使用source命令

# 在脚本中加载另一个脚本
source ./another_script.sh
# 访问被加载脚本中的变量
echo $shared_variable

注:查看权限设置


http://www.kler.cn/a/600721.html

相关文章:

  • 区间端点(java)(贪心问题————区间问题)
  • [CLS] Token 在 ViT(Vision Transformer)中的作用与实现
  • vscode ssh连接ubantu显示管道不存在,VMware Virtual Ethernet Adapter for VMnet8不存在
  • Redis原理:multiexec命令
  • C/S与B/S架构
  • ThreadLocal 的用途与用法全解析:Java 多线程开发的利器
  • C++中将记录集的数据复制到Excel工作表中的CRange类CopyFromRecordset函数异常怎么捕获
  • 【c++入门系列】:引用以及内联函数详解
  • javaweb自用笔记:Mybatis
  • Java 线程池全面解析
  • 【Pandas】pandas Series to_csv
  • vue3中watch 函数参数说明
  • 小蓝的括号串(栈,dfs)
  • PHP在2025年的新趋势与应用
  • xilinx约束中set_property -dict表示什么意思
  • Nuxt出现Error: Failed to download template from registry
  • C语言复习笔记--函数递归
  • Hugging Face Spaces 介绍与使用指南
  • 4.milvus索引FLAT
  • 黄土高原风蚀区解析多源数据融合与机器学习增强路径-RWEQ+集成技术在风蚀模数估算中的全流程增强策略—从数据融合到模型耦合的精细化操作指南