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

网站背景图中国室内设计者联盟官网

网站背景图,中国室内设计者联盟官网,360建筑网广州八臂猿李工,网页编程入门目录 Bash 简介与基础基本命令与文件操作权限管理与用户管理重定向与管道变量与环境变量通配符与正则表达式Shell 脚本结构与控制流常用内建命令与技巧文本处理常用命令作业控制与进程管理别名与函数实用技巧与注意事项更多 Bash 进阶话题参考资源 1. Bash 简介与基础 1.1 什…目录 Bash 简介与基础基本命令与文件操作权限管理与用户管理重定向与管道变量与环境变量通配符与正则表达式Shell 脚本结构与控制流常用内建命令与技巧文本处理常用命令作业控制与进程管理别名与函数实用技巧与注意事项更多 Bash 进阶话题参考资源 1. Bash 简介与基础 1.1 什么是 Bash BashBourne-Again SHell一种常见的 Unix/Linux Shell命令解释器也是在大多数 Linux 发行版中的默认 Shell。Shell 的作用提供命令执行与脚本编写环境是用户与操作系统内核交互的接口。 1.2 如何进入 Bash 登录终端 后默认即进入 Bash。如果使用的是其他 Shell如 zsh可输入 bash 切换到 Bash。查看当前 Shellecho $SHELL1.3 Bash 的主要特点 强大的 命令行交互组合、重定向、管道操作非常灵活。支持 脚本编写可以编写 .sh 文件并运行。易于与其他命令结合具有丰富的内置功能。 2. 基本命令与文件操作 2.1 查看当前目录与切换目录 查看当前所在目录pwd切换目录cd /path/to/directory2.2 列出文件 列出文件和目录简洁列表ls查看详情权限、大小、修改时间等ls -l显示隐藏文件ls -a2.3 创建、删除、复制、移动 创建文件空文件touch filename创建目录mkdir directory_name删除文件rm filename删除目录rm -r directory_name复制文件cp source_file target_file移动/重命名文件mv old_name new_name2.4 查看文件内容 cat一次性显示整个文件cat file.txtless分页查看文件q 退出less file.txthead/tail只看开头/结尾 N 行head -n 10 file.txt tail -n 10 file.txttail -f file.txt实时查看文件增长常用于查看日志 2.5 搜索文件 find在指定路径下查找文件find /path -name *.sh常与 xargs 或 -exec 搭配使用做批量操作find /path -type f -name *.log -exec rm {} \;3. 权限管理与用户管理 3.1 文件权限 Unix/Linux 的文件权限通常分为所有者user、组group 和 其他人others 三类。每一类权限有三个维度读r、写w、执行x。查看权限ls -l例如-rwxr-xr-- 表示所有者有 rwx 权限组用户有 r-x 权限其他人有 r-- 权限。 3.2 修改权限 使用 chmod 修改权限符号模式或数字模式chmod urwx,grx,or file.sh chmod 755 file.sh3.3 修改文件拥有者 chown修改文件/目录所有者或所属组chown user file.txt chown user:group file.txt3.4 切换用户 从当前用户切换到其他用户su - other_user使用超级管理员权限若当前用户在 sudoers 列表中sudo command4. 重定向与管道 4.1 标准输入输出和错误输出 文件描述符 stdin标准输入文件描述符 0stdout标准输出文件描述符 1stderr标准错误输出文件描述符 2 4.2 重定向 重定向输出到文件覆盖原文件command file.txt追加输出到文件command file.txt重定向错误输出command 2 error.log command 2 error.log同时重定向标准输出和错误输出command all.log 214.3 管道 管道操作符 |将左边命令的标准输出作为右边命令的标准输入。command1 | command2常用示例ls -l | grep .sh4.4 Here Document 与 Here String Here Document将多个行的文本作为输入传递给命令cat EOF file.txt line1 line2 EOFEOF 可以改为任意标记结束符前不能有多余空格。Here String将一小段字符串作为输入grep pattern this is a test5. 变量与环境变量 5.1 变量的定义与使用 定义变量NAMEAlice echo $NAME注意等号两边不能有空格要引用变量使用 echo $变量名 或 ${变量名}。 5.2 环境变量 常见环境变量 $HOME用户主目录$PATH可执行文件搜索路径$PWD当前工作目录$SHELL当前 Shell 路径 导出环境变量export VARIABLEvalue查看环境变量env printenv5.3 位置参数变量 脚本中的位置参数 $0脚本自身的名字$1$9传递给脚本的参数$#传递给脚本的参数总个数$传递给脚本的所有参数$?上一条命令的退出状态0 表示成功非 0 表示失败 5.4 数组与关联数组简单介绍 普通数组myarr(apple banana cherry) echo ${myarr[0]} # apple echo ${myarr[]} # apple banana cherry关联数组Bash 4 支持declare -A mymap mymap[color]blue mymap[fruit]apple echo ${mymap[color]} # blue6. 通配符与正则表达式 6.1 通配符Globbing *匹配任意长度的任意字符包括空字符?匹配单个任意字符[ ]匹配中括号内任意单个字符 例如 ls *.sh匹配当前目录下所有以 .sh 结尾的文件。 6.2 正则表达式Regular Expressions 通常结合 grep、sed、awk 等命令使用用于复杂的文本匹配。常见元字符 ^匹配行首$匹配行尾.匹配除换行符以外的任何字符*匹配前一个字符的 0 次或多次出现[...]匹配方括号内的任意一个字符( )分组 注意通配符与正则表达式的语法/使用场景并不完全相同需要区分。 7. Shell 脚本结构与控制流 7.1 脚本的基本结构 脚本头行Shebang指定解释器#!/usr/bin/env bash注释使用 #执行权限要让脚本具有可执行权限chmod x script.sh运行脚本./script.sh或在当前 Shell 中执行source script.sh # 或 . script.sh7.2 条件判断 if 语句if [ condition ]; then# ... elif [ condition2 ]; then# ... else# ... fitest 命令 或者 单中括号 [ ]进行数值、字符串、文件检测比如[ -f file ] # 是否是一个普通文件 [ -d directory ] # 是否是一个目录 [ $VAR abc ] # 字符串是否相等 [ $NUM -eq 10 ] # 数值是否等于 10双中括号 [[ ]]Bash 的扩展测试语句支持更多模式匹配等高级特性。 7.3 循环 for 循环for var in item1 item2 item3 doecho $var donewhile 循环while [ condition ] do# ... doneuntil 循环until [ condition ] do# ... done7.4 case 语句 case $variable inpattern1)# ...;;pattern2)# ...;;*)# 默认匹配;; esac7.5 常用扩展 命令替换result$(command) # 或者老式用法 resultcommand算术扩展num110 num25 echo $((num1 num2)) # 15花括号扩展echo {1..5} # 1 2 3 4 5 echo file{A,B,C}.txt # fileA.txt fileB.txt fileC.txt8. 常用内建命令与技巧 8.1 type/which 查看命令是内置builtin还是外部可执行文件type cd type ls查看可执行文件路径which ls8.2 history 查看和管理历史命令history执行第 N 条历史命令!N搜索历史按 Ctrl r然后输入关键字 8.3 echo/printf echo输出文本自动换行printf功能类似 C 语言的 printf可格式化输出 8.4 read 交互式读取用户输入read -p Enter your name: NAME echo Hello, $NAMEread 常用选项 -r禁止反斜杠转义-t 秒设置等待输入的超时时间 8.5 引号与转义 单引号 原样输出引号内所有字符都被视为普通字符双引号 可以进行变量替换和命令替换反斜杠 \ 转义下一字符 9. 文本处理常用命令 9.1 grep 在文本中搜索匹配的行grep pattern file.txt结合正则表达式grep -E reg(pattern) file.txt常用选项 -i忽略大小写-n显示行号-v显示不匹配的行 9.2 sed 流编辑器可进行文本替换、插入、删除等sed s/old/new/g file.txt-i 选项可以直接修改文件sed -i s/old/new/g file.txt9.3 awk 强大的文本处理工具可按列进行分析awk {print $1, $3} file.txt支持复杂脚本逻辑可以根据分隔符处理 CSV 等格式。关键字段 $0当前行全部内容$1第一列 … $NF最后一列NR当前行号FS输入分隔符 9.4 sort、uniq、cut、paste、xargs、tee sort排序sort file.txtuniq去重需先 sortsort file.txt | uniqcut切割某几列cut -d , -f 1,3 file.csvpaste将多文件按行合并xargs将标准输入的输出拼接成命令参数find . -name *.txt | xargs rmtee将输入同时写入文件和标准输出command | tee output.txt10. 作业控制与进程管理 10.1 后台运行 在命令末尾加 使其在后台运行long_running_command 查看后台作业jobs10.2 前后台切换 暂停前台作业Ctrl Z将暂停的作业放到后台bg %job_number恢复后台作业到前台fg %job_number 10.3 进程管理 ps列出当前进程ps auxtop/htop动态查看进程状态kill结束进程kill -9 PID11. 别名与函数 11.1 别名alias 临时设置别名alias llls -l在 ~/.bashrc 中设置长期别名加入alias llls -l --colorauto11.2 函数function 在脚本或命令行定义函数myfunc() {echo This is my function. }调用函数myfunc在函数内使用局部变量可用 local 关键字myfunc() {local varlocal_valueecho $var }12. 实用技巧与注意事项 Tab 补全在命令行输入部分命令或文件名后按 Tab 可自动补全。通配符谨慎使用如 rm -rf *需非常小心以防误删重要文件。Shell 脚本调试 bash -x script.sh打印执行过程追踪每一条命令bash -n script.sh只做语法检查不执行脚本在脚本顶部加入 set -x 或手动添加 set -e、set -u、set -o pipefail 等以控制脚本在出错或使用未定义变量时及时退出。 查看命令帮助 内部命令使用 help command外部命令使用 command --help 或 man command PS1 自定义在 ~/.bashrc 中可自定义 PS1 来定制命令行提示符颜色、显示 Git 分支等。区分登录 Shell 与非登录 Shell常见的启动文件有 .bash_profile、.bashrc、.profile 等具体加载顺序略有差异。使用 shellcheck对脚本做静态分析排查常见错误和风格问题。 13. 更多 Bash 进阶话题 以下内容更偏进阶或对复杂场景十分有用可在掌握基础后逐步学习 定时任务使用 cron编辑 crontab -e或 at 命令进行定时或一次性任务调度。函数库与脚本组织将常用函数抽取为脚本使用 source (或 .) 引用。shopt 与 Shell 选项比如 shopt -s expand_aliases 等可开启或关闭 Bash 的一些特性。信号处理trap在脚本里捕获 SIGINT (CtrlC) 等信号并做相应处理。正则高级用法POSIX ERE 与 PCRE 的差异、利用 grep -P 等。多进程/并发用子 Shell、GNU Parallel 等方式提升脚本并发能力。 14. 参考资源 GNU Bash 官方文档The Linux Documentation Project (TLDP)Bash Scripting Tutorial (ABS Guide)shellcheck - Shell 脚本静态分析工具
http://www.ho-use.cn/article/10821531.html

相关文章:

  • 个人网站模板怎么用品牌注册名词解释
  • 网站定制要花多少钱手机端在哪里打开
  • 鼓楼机关建设网站赣榆建设局网站
  • 大连网站推广安徽旅游必去十大景点
  • 最好的dm单网站建设网络推广器
  • 商务网站开发作业网页设计基础实训期末试卷和答案
  • 广安网站建设哪家好网页编程代码
  • 做网站人员有什么名称东莞十大公司排名
  • 怎样进入国外网站网站菜单栏代码
  • 微信代运营的公司网站2023上海又要封控了吗
  • 网站上添加百度地图广西做网站的公司有哪些
  • 做电影网站 资源怎么存放免费注册公司名字大全
  • 定制网站开发公司哪家好?点击查看赤峰公司网站建设
  • 做风控的网站嘉兴网站制作网站建设
  • 好看的网站 你知道的2021百度站长工具平台
  • 如何快速做h5网站保定网建站模板
  • 如何做网站怎么赚钱吗购物建设网站
  • 做二手货车网站公司互联网的推广
  • 自己可以做拼单网站吗大兴模版网站建设哪家好
  • j2ee做网站济南做网站互联网公司排名
  • 大连金广建设集团网站怎样设计网站主页
  • 公司建网站做app要多少钱wordpress 首页访问量
  • 设计网站用户需求分析报告网站开发公司如何做直播
  • 建设微信网站要多少钱网站平台选择
  • 佛山免费建站公司金融公司网站建设模板
  • 企业网站首页布局设计asp网站开发教程入门
  • 长春火车站是南站还是北站机械 东莞网站建设
  • 商城网站建设正规公司周村网站制作哪家好
  • 网站设计师培训浙江建设网
  • 优化网站服务东莞整合网站建设