第一部分:Linux命令行
《Linux命令行与shell脚本编程大全》 第一章:初识Linux shell
《Linux命令行与shell脚本编程大全》 第二章:走进shell
《Linux命令行与shell脚本编程大全》 第三章:基本的bash shell命令
《Linux命令行与shell脚本编程大全》 第四章:更多的bash shell命令
《Linux命令行与shell脚本编程大全》 第五章:使用Linux环境变量
《Linux命令行与shell脚本编程大全》 第六章:理解Linux文件权限
《Linux命令行与shell脚本编程大全》 第七章:管理文件系统
《Linux命令行与shell脚本编程大全》 第八章:安装软件程序
《Linux命令行与shell脚本编程大全》 第九章:使用编辑器
第二部分:shell脚本编程基础
《Linux命令行与shell脚本编程大全》 第十章:构建基本脚本
《Linux命令行与shell脚本编程大全》 第十一章:使用结构化命令
《Linux命令行与shell脚本编程大全》 第十二章:更多的结构化命令
《Linux命令行与shell脚本编程大全》 第十三章:处理用户输入
《Linux命令行与shell脚本编程大全》 第十四章:呈现数据
《Linux命令行与shell脚本编程大全》 第十五章:控制脚本
第三部分:高级shell编程
《Linux命令行与shell脚本编程大全》 第十六章:创建函数
《Linux命令行与shell脚本编程大全》 第十七章:图形化桌面上的脚本编程
《Linux命令行与shell脚本编程大全》 第十八章:初识sed和gawk
《Linux命令行与shell脚本编程大全》 第十九章:正则表达式
《Linux命令行与shell脚本编程大全》 第二十章:sed进阶
《Linux命令行与shell脚本编程大全》 第二十一章:gawk进阶
《Linux命令行与shell脚本编程大全》 第二十二章:使用其他shell
第四部分:高级shell脚本编程主题
《Linux命令行与shell脚本编程大全》 第二十三章:使用数据库
《Linux命令行与shell脚本编程大全》 第二十四章:使用Web
《Linux命令行与shell脚本编程大全》 第二十五章:使用E-mail
《Linux命令行与shell脚本编程大全》 第二十六章:编写脚本实用工具
《Linux命令行与shell脚本编程大全》 第二十七章:shell脚本编程进阶
第三章:基本的bash shell命令
bash程序使用命令行参数来修改所启动shell的类型
参数 | 描述 |
-c string | 从string中读取命令并处理他们 |
-r | 启动限制性shell,限制用户在默认目录下活动 |
-i | 启动交互性shell,允许用户输入 |
-s | 从标准输入读取命令 |
环境变量PS1、PS2
PS1:控制默认命令行提示符格式
PS2:控制后续命令行提示符格式
bash shell提示符字符串中使用的特殊字符
字符 | 描述 |
\a | 报警字符 |
\d | “日 月 年”格式显示的日期 |
\e | ASCII转义字符 |
\h | 本地主机名 |
\H | 完全限定名(FQDN) |
\j | shell当前管理的任务数 |
\l | shell的终端设备名中的基名 |
\n | ASCII换行符 |
\r | ASCII回车符 |
\s | shell的名称 |
\t | 24小时制HH:MM:SS格式的当前时间 |
\T | 12小时制HH:MM:SS格式的当前时间 |
\@ | 12小时制am/pm格式的当前时间 |
\u | 当前用户的用户名 |
\v | bash shell的版本 |
\V | bash shell的发行版本 |
\w | 当前工作目录 |
\W | 当前工作目录的基名 |
\! | 这个命令在bash shell历史记录中的位置 |
\# | 这个命令在当前命令行的位置 |
\$ | 普通用户下的美元符,root用户下的井号 |
\nnn | 与8进制nnn对应的字符 |
\\ | 反斜线 |
\[ | 开始一个控制字符序列 |
\] | 结束一个控制字符序列 |
Linux文件系统
Linux PC上安装的第一块硬盘为根驱动器。根驱动器包含了虚拟目录的核心,其他目录都是从那里开始创建的
挂载点(mount point)是虚拟目录中用于分配额外存储设备的目录
ls
(其余参数及例子见#2 )
单字母 | 全字 | 描述 |
-A | --almost-all | 不要输出“.”和“..”文件 |
--author | 作者 | |
-b | --escape | 输出不可打印字符的8进制值 |
--block-size=size | 按size字节大小的块来计算块大小(块数) | |
-B | --ignore-backups | 不要列出名称中包含波浪线(~)的条目(波浪线用来表示备份的副本) |
-F | --classify | 给条目追加文件类型标识符 |
--file-type | 只在部分文件类型(非可执行文件)后追加文件类型标识符 | |
--format=word | 将输出格式化成across(交叉)、commas(逗号)、horizontal(水平)、long(长)、single-column(单列)、verbose(详细)或vertical(垂直) | |
--group-directories-first | 在文件之前列出所有目录 | |
-G | --no-group | 长列表输出格式下,不要显示组名(in a long listing, don't print group names) |
-h | --human-readable | 打印大小 |
--si | 和-h相同,但进制为1000 | |
-i | --inode | 显示每个文件的索引值(inode)(见#1 ) |
-L | --dereference | 对于链接文件,显示原文件信息 |
-n | --numeric-uid-gid | 显示数字类型的userid和groupid以替代名字 |
-o | 长列表输出格式下,不要显示组信息(like -l, but do not list group information) | |
-S | --sort=size | 按文件大小排序输出 |
-U | --sort=none | 不要将输出排序 |
-v | --sort=version | 按文本版本排序 |
-x | 按行而非列输出条目 | |
-X | --sort=extension | 按文件扩展名排序输出 |
创建文件(touch) (见#1 )
复制文件(cp) (见#1 )
cp命令参数
参数 | 描述 |
-a | 归档文件,并保留他们现有的属性 |
-b | 创建已存在目标文件的备份,而非覆盖它 |
-d | 保留 |
-f | 强制覆盖已存在的目标文件,不提示 |
-i | 在覆盖目标文件之前提示 |
-l | 创建文件链接而非复制文件 |
-p | 如果可能,保留文件属性 |
-r | 递归复制文件 |
-R | 递归复制目录 |
-s | 创建一个符号链接而非复制文件 |
-S | 覆盖默认的备份文件的后缀(默认为~) |
-u | 仅在源文件比目标文件新的情况下复制 |
-v | 详细模式,解释到底发生了什么 |
-x | 仅限于当前文件系统的复制 |
(见#1 )
链接文件 (见#1 )
硬链接会创建一个独立的文件,其中包含源文件的信息已经位置。引用硬链接文件等同于引用了源文件
只能在同种存储媒体上的文件之间建立硬链接。不能在不同挂载点下的文件之间创建硬链接,但是可以创建软链接
如果用cp复制一个链接到另一个源文件的文件,那么复制的是源文件的另一个副本,而不是链接文件
可以创建一个指向源文件的新链接,而不用复制链接文件
可以创建指向同一文件的多个链接,但不要创建指向其他符号链接文件的多个符号链接(这样会生成一个链接文件链,容易混淆、断掉)
删除文件(rm) (见#1 )
当删除所有此文件的硬链接时,此文件才会被删除
删除软链接指向的文件后,软链接指向无效的文件
创建目录(mkdir) (见#2 )
删除目录(rmdir) (见#2 )
查看文件统计信息(stat) (见#1 )
查看文件类型(file) (见#2 )
查看整个文件(cat、more、less) (见#16 ,#21 )
cat -T:制表符用^I代替
more
语法
more [-s ] [file ...]
-s(squeeze,挤压) :将多个空白行压缩成一个
基本命令 | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
高级命令 | ||||||||||||||||||||||||||
|
查看部分文件(head、tail) (见#16 )
1.《Unix & Linux 大学教程》 - 第二十五章 文件操作
2.《Unix & Linux 大学教程》 - 第二十四章 目录操作
3.《Unix & Linux 大学教程》 - 第十六章 过滤器:简介和基本操作
4.《Unix & Linux 大学教程》 - 第二十一章 显示文件
转贴请保留以下链接
本人blog地址
相关推荐
读书笔记:Linux命令行与shell脚本编程大全 第三版 学习笔记
Linux命令行与shell脚本编程大全_第三版_学习笔记_learn_linux_shell
本文档是一份针对Shell脚本调试的学习笔记,详细介绍了几种常见的调试方法和工具,帮助运维人员快速定位并修复脚本中的问题。 首先,需要了解的是Linux与Windows在文本文件行结束标志上的差异。在Linux系统中,文本...
通过深入学习"Unix Shell编程第三版笔记",你将能够编写出高效的自动化脚本,提高工作效率,解决日常的系统管理和开发问题。同时,对Unix Shell的熟练掌握也是成为高级系统管理员或全栈开发者的必备技能之一。
Linux Shell编程是Linux系统管理与自动化任务中的重要一环,主要通过编写脚本来实现对操作系统进行交互和控制。本文将详细解析Linux Shell编程中的几个关键概念:正则表达式、find命令、grep命令以及sed命令。 1. *...
学习Linux的推荐书籍有《鸟哥的Linux私房菜》、《Linux命令行与shell脚本编程大全》、《Linux系统管理技术手册》等,这些书籍可以帮助读者深入理解Linux系统,并提供丰富的实践指导。 6. Linux视频教程第1讲:基础...
Linux Shell是Linux操作系统中的一种命令解释器,它允许用户通过命令行界面与系统进行交互,执行各种系统操作。本文档《Linux Shell从入门到精通》是作者李振良基于个人经验整理的一份全面教程,旨在帮助读者从零...
### 学习笔记-基础Shell编程 #### 一、Shell编程概述 Shell编程是指利用Shell命令语言编写脚本来实现特定功能的过程。Shell不仅是Linux操作系统下的命令行解释器,还是一种强大的脚本语言,广泛应用于自动化任务...
Linux 学习笔记是 Linux 学习的详细笔记整理,分九章,涵盖了 vim 和 vi 编辑器、实用指令、组管理和权限管理、crond 任务调度、Linux 磁盘分区挂载、网络配置、进程管理、服务管理、shell 编程等内容。 1. vi 和 ...
### Shell脚本编程知识点概述 #### 一、预备知识与基本概念 在开始Shell脚本文档的学习之前,首先需要理解Shell脚本的基本概念及其在Linux/Unix环境中的作用。Shell是一种命令行解释器,用于执行用户输入的命令,...
Shell脚本是Linux/Unix操作系统中用于自动化任务的编程语言,它基于Bash或其他Shell变体,如Sh、Csh或Ksh。本笔记将深入探讨Shell脚本的基础知识、语法特性、常用命令以及如何编写实用的脚本来提高日常工作效率。 ...
1. "第三章、Linux的安装和编译.doc" - 这一部分主要讲解Linux系统的安装过程,包括常见的发行版如Ubuntu、CentOS等的选择,以及如何进行硬盘分区、网络安装、图形化安装和命令行安装等。同时,它可能还会涵盖源代码...
3. **解释性编程语言**:Shell脚本可以编写成程序,实现自动化任务,类似于编程语言。 Shell的职责包括: 1. **读取和解析命令行**:Shell接收用户的输入,将命令行分解为tokens,处理特殊字符,如通配符和历史记录...
八、shell脚本编程 编写shell脚本可以自动化重复任务,例如: - 变量、运算符和条件判断。 - 函数定义。 - 循环结构。 - 输入输出重定向。 九、系统管理 - sysctl:调整系统内核参数。 - logrotate:日志文件轮换。...
### Linux知识学习笔记 #### 一、Linux操作系统概述 Linux是一种开源、免费的类Unix操作系统,自1991年由芬兰学生Linus Torvalds创建以来,迅速在全球范围内获得了广泛的关注和支持。它不仅具备强大的稳定性,还...
* Linux 的 Shell 编程:Shell 是 Linux 的命令行接口,提供了交互式的命令行环境 三、Linux 文件系统 * 文件类型:普通文件、目录文件、链接文件、设备文件等 * 文件权限:所有者、群组、其他用户的读写执行权限 ...
### Redhat Enterprise Linux 5 学习笔记知识点总结 #### 一、Linux系统介绍与安装 **1. Linux的历史背景与发展** - **UNIX系统的诞生**:1970年,贝尔实验室的两位科学家发明了UNIX系统,这标志着现代操作系统的...
6. **Shell脚本编程**:Bash Shell是Linux最常用的Shell,学习编写简单的Shell脚本可以帮助自动化日常任务。了解变量、条件语句、循环结构以及函数的使用。 7. **系统服务与初始化系统**:了解Systemd,它是现代...
这些只是Linux学习笔记的一部分,完整的笔记还包括更多关于文件系统操作、权限管理、进程控制、网络配置、脚本编程等多个方面的内容。掌握这些基础技能是成为Linux运维人员的必备条件,通过不断的实践和学习,可以更...