《Linux命令行与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复制一个链接到另一个源文件的文件,那么复制的是源文件的另一个副本,而不是链接文件

可以创建一个指向源文件的新链接,而不用复制链接文件

可以创建指向同一文件的多个链接,但不要创建指向其他符号链接文件的多个符号链接(这样会生成一个链接文件链,容易混淆、断掉)

重命名文件(mv) (见#1 ,#2 )

删除文件(rm) (见#1 )

当删除所有此文件的硬链接时,此文件才会被删除

删除软链接指向的文件后,软链接指向无效的文件

创建目录(mkdir) (见#2 )

删除目录(rmdir) (见#2 )

查看文件统计信息(stat) (见#1 )

查看文件类型(file) (见#2 )

查看整个文件(cat、more、less) (见#16 ,#21 )

cat -T:制表符用^I代替

more

语法

more  [-s ] [file ...]

-s(squeeze,挤压) :将多个空白行压缩成一个

基本命令
h 显示帮助信息
<Space>、z 前进一屏
q 退出程序
高级命令
= 显示当前行号
<Return>、s 前进一行
d 前进(向下)半屏
f 前进一屏
b 后退一屏
/pattern 向前搜索指定模式
/ 重复上次搜索
!command 执行指定的shell命令
v 使用当前文件启动vi编辑器
. 重复执行前一个命令
n 在文件中查找下溢出匹配已指定表达式的内容
跳到指定表达式匹配到的第一处内容
CTRL+L 重绘当前屏

查看部分文件(head、tail) (见#16 )

时间: 2024-08-04 01:37:16

《Linux命令行与shell脚本编程大全》 第三章 学习笔记的相关文章

《Linux命令行与shell脚本编程大全》23章24章

第二十三章 使用其他shell bash shell是linux发行版中最广泛使用的shell.但是它并不是唯一的选择,还有其他的shell可以供你选择. 23.1 什么是dash shell 百度百科上说:Dash shell是一个Unix shell,比Bash shell小的多,符合POSIX标准. 下面是书上的: dash shell是作为debian linux发行版的一部分开发的,主要出现在Ubuntu linux发行版中.它是Bourne shell的精简版.所以它并不像bashs

《Linux命令行与shell脚本编程大全》学习笔记(转)

第一部分:Linux命令行<Linux命令行与shell脚本编程大全> 第一章:初识Linux shell<Linux命令行与shell脚本编程大全> 第二章:走进shell<Linux命令行与shell脚本编程大全> 第三章:基本的bash shell命令<Linux命令行与shell脚本编程大全> 第四章:更多的bash shell命令<Linux命令行与shell脚本编程大全> 第五章:使用Linux环境变量<Linux命令行与she

&lt;&lt;linux命令行与shell脚本编程大全&gt;&gt;学习笔记(1)

一章初识linux shell 一.什么是linux 1.linux系统可大致划分为四部分: l Linux内核 l GNU工具组件 l 图形化桌面环境 l 应用软件 在linux系统里,这四部分中的每一部分都扮演着一个特别的角色,但如果将他们分开,每一部分都没太大的作用. 1)探究linux内核 Linux系统的核心是内核,内核控制着计算机系统上的所有硬件和软件,必要时分配硬件,有时需要执行软件. 内核基本负责以下四项主要功能: l 系统内存管理 l 软件程序管理 l 硬件设备管理 l 文件系

【持续更新中】Linux命令行与Shell脚本编程大全(第3版)读书笔记12-20章

<Linux命令行与Shell脚本编程大全(第3版)>读书笔记 第十二章 使用结构化命令 根据条件使脚本跳过某些命令,这样的命令称为结构化命令(structured command).结构化命令允许改变程序执行的顺序. If-then语句: If command Then Commands Fi 如果if后的command执行退出码是0(也就是执行成功了),then后面的语句就会被执行. 也可以写成: If command; then Commands Fi 注意了,if后的command结果

Linux命令行与shell脚本编程大全.第3版(文字版) 超清文字-非扫描版 [免积分、免登录]

此处免费下载,无需账号,无需登录,无需积分.收集自互联网,侵权通知删除. 点击下载:Linux命令行与shell脚本编程大全.第3版 (大小:约22M) 原文地址:https://www.cnblogs.com/pluse/p/9408724.html

《Linux命令行与Shell脚本编程大全第2版.布卢姆》pdf

下载地址:网盘下载 内容简介  · · · · · · 本书是一本关于Linux 命令行与shell 脚本编程的全面教程.全书分为四部分:第一部分介绍Linuxshell 命令行:第二部分介绍shell 脚本编程基础:第三部分深入探讨shell 脚本编程的高级内容:第四部分介绍如何在现实环境中使用shell 脚本.本书不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料. 本书内容全面,语言简练,示例丰富,适合于linux 系统管理员及Linux 爱好者阅读

《Linux命令行与shell脚本编程大全 第3版》

第一部分 Linux 命令行 第1章  初识Linux she1.1   什么是Linux 21.1.1 深入探究Linux 内核 31.1.2 GNU 工具 61.1.3 Linux 桌面环境 81.2   Linux 发行版 121.2.1 核心Linux 发行版 131.2.2 特定用途的Linux 发行版 131.2.3 Linux LiveCD 141.3   小结 15 第2章  走进shell2.1   进入命令行 162.1.1 控制台终端 172.1.2 图形化终端 172.2

【更新完毕】Linux命令行与Shell脚本编程大全(第3版)读书笔记21-26章

第二十一章 sed进阶 N:将数据流中的下一行加进来创建一个多行组(multiline group)来处理. D:删除多行组中的第一行. P:打印多行组中的第一行. sed '/header/{n ; d}' data.txt 首先匹配有header的行,然后n表示移动到文本的下一行,然后进行删除.然后继续搜索data.txt中包含header的行,继续之前的流程. 加入有个文本的内容如下: [[email protected] ~]# cat data.txt On Tuesday, the

《Linux命令行与Shell脚本编程大全(第3版)》读书笔记

第一章 初始Linux Shell Linux可以划分为4个部分: - Linux内核 - GNU工具 - 图形化桌面环境 - 应用软件 Linux系统的核心是内核.内核控制着计算机系统上的所有硬件和软件,在必要时分配硬件,并根据需要执行软件. 内核主要负责以下4种功能: - 系统内存管理 - 软件程序管理 - 硬件设备管理 - 文件系统管理 操作系统内核的主要功能之一就是内存管理.内核不仅管理服务器上的可用物理内存,还可以创建和管理虚拟内存(即实际并不存在的内存). 内核通过硬盘上的存储空间来

《Linux命令行与shell脚本编程大全》 第六章环境变量

很多程序和脚本都通过环境变量来获取系统信息.存储临时数据和配置信息. 6.1 什么是环境变量: bash shell用一个叫环境变量(environment variable)的特性来存储有关shell会话和工作环境的信息. 这项特性允许在内存中存储数据,以便程序能轻松访问到它们. 在bash shell中,分两类: 全局变量:对于shell会话和所有生成的子shell都是可见的 局部变量:只对创建的它们的shell可见 6.1.1全局环境变量 查看全局变量,  $env    $printen