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

注:查看权限设置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值