跳到主要内容

Linux

目录

目录切换:

# 根目录
cd /

# 进入用户主目录
cd

# 用户主目录
cd ~

# 当前目录
cd .

# 返回上级目录
cd ..

创建:

# 创建文件夹
mkdir 文件夹名称

# 创建文件,要加文件后缀
touch 文件名称

# 创建并进入文件夹
mkdir 文件夹名称 && cd 文件夹名称

# 通过 echo 写入文件内容,注意:会覆盖所有的内容
echo "content" > readme.txt

# 在文件尾部追加内容,不会覆盖前面的内容
echo "content" >> readme.txt

查看:

# 查看当前路径
pwd

# 查看当前目录下的子目录和文件
ls

# 查看文件内容,会将内容输出到终端
cat readme.txt

# 查看历史操作记录
history

# 清空窗口内容
clear

删除:

# 删除空文件夹
rmdir 文件夹路径

# 删除非空文件夹,-r 表示递归,会有确认提示
rm -r 文件夹路径

# 删除非空文件夹,-f 表示强制删除
rm -rf 文件夹路径

# 删除单个文件
rm 文件路径

# 删除多个文件
rm 文件1 文件2 文件3

# 有提示地删除文件
rm -i 文件路径

# 强制删除文件
rm -f 文件路径

系统命令

  • uname 显示系统信息:内核版本、机器类型等

Vmware

下载安装 Vmware 后,需要下载 Ubuntu 系统镜像

shell 脚本

#!/bin/bash

echo "执行的脚本名称:"$0
echo "参数个数:"$#
echo "所有参数:"$@
echo "第1个参数:"$1

# 当前目录
localURL=$(pwd)
echo "$localURL"

# 设置默认值,如果没有传入参数,就使用默认值prod
param=${1:-prod}

# 判断参数值,并执行对应的逻辑
if [ "$param" = "prod" ]; then
echo "执行逻辑1"
elif [ "$param" = "stage" ]; then
echo "执行逻辑2"
else
echo "未知参数"
exit 1
fi

read -n1 -p "Press any key to exit"
echo
exit 0
  • 使用非零的退出码来表示错误状态,如例子中的「未知参数」
  • 退出码为 0 通常表示成功,一般放在脚本的最后一行

curl 命令

curl 是一个强大的命令行工具,适用于各种网络请求和数据传输任务。

  • 支持多种协议,包括 HTTP、HTTPS、FTP、FTPS、SMTP、IMAP 等
  • 支持多个操作系统,包括 Linux、macOS 和 Windows

基本用法

1、获取并显示网页内容

curl http://example.com

2、保存网页内容到文件

curl -o example.html http://example.com

3、显示 HTTP 响应头

curl -I http://example.com

4、发送 POST 请求

curl -X POST -d "username=admin&password=123456" http://example.com/login

5、添加自定义 HTTP 头

curl -H "Content-Type: application/json" -H "Authorization: Bearer YOUR_TOKEN" http://example.com/api

6、使用代理

# HTTP 代理
curl --proxy http://127.0.0.1:8001 http://example.com

# SOCKS5 代理
curl --socks5 127.0.0.1:8001 http://example.com

配置选项

  • -X <method>:指定 HTTP 请求方法(GET、POST、PUT、DELETE 等)。
  • -d <data>:发送数据(通常用于 POST 请求)。
  • -H <header>:添加自定义 HTTP 头。
  • -I:仅获取 HTTP 头信息。
  • -o <file>:将输出保存到文件。
  • -O:将远程文件保存到本地,并使用远程文件的名称。
  • -L:跟随重定向。
  • --data-urlencode <data>:URL 编码数据。
  • --form <data>:发送 multipart/form-data。
  • --silent-s:静默模式,不显示进度条。
  • --verbose-v:显示详细的通信信息。
  • --insecure-k:忽略 SSL 证书验证。
  • --user <user:password>:提供 HTTP 认证信息。
  • --proxy <host:port>:使用 HTTP 代理。
  • --socks5 <host:port>:使用 SOCKS5 代理。

更多示例

1、跟随重定向

curl -L http://example.com

2、提供 HTTP 认证信息

curl --user admin:password http://example.com/protected

3、上传文件

curl -F "file=@/path/to/file.txt" http://example.com/upload

4、上传 JSON 数据

curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' http://example.com/api

5、使用 --retry 选项自动重试

curl --retry 999 --retry-delay 5 http://example.com

6、限制下载速度

curl --limit-rate 100K http://example.com/largefile

7、使用 --range 选项下载部分内容

curl --range 0-1000000 http://example.com/largefile

8、使用 --continue-at 选项继续下载

curl --continue-at - http://example.com/largefile -o largefile