《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复制一个链接到另一个源文件的文件,那么复制的是源文件的另一个副本,而不是链接文件
可以创建一个指向源文件的新链接,而不用复制链接文件
可以创建指向同一文件的多个链接,但不要创建指向其他符号链接文件的多个符号链接(这样会生成一个链接文件链,容易混淆、断掉)
删除文件(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 )
《Linux命令行与shell脚本编程大全》 第三章 学习笔记的更多相关文章
- 《Linux命令行与shell脚本编程大全》23章24章
第二十三章 使用其他shell bash shell是linux发行版中最广泛使用的shell.但是它并不是唯一的选择,还有其他的shell可以供你选择. 23.1 什么是dash shell 百度百 ...
- 《Linux命令行与shell脚本编程大全》第九章 安装软件程序
包管理系统(PMS):用来进行软件安装.管理和删除的命令行工具 9.1包管理基础 1.主流的Linux发行版都采用了某种形式的包管理系统来控制软件和库的安装 2.PMS用一个数据库来记录:系统上安装了 ...
- Linux命令行与shell脚本编程大全.第3版(文字版) 超清文字-非扫描版 [免积分、免登录]
此处免费下载,无需账号,无需登录,无需积分.收集自互联网,侵权通知删除. 点击下载:Linux命令行与shell脚本编程大全.第3版 (大小:约22M)
- 《Linux命令行与shell脚本编程大全 第3版》创建实用的脚本---11
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- 《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---47
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---57
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---57
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---56
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---55
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---54
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
随机推荐
- [iOS]iPhone利用<极光推送>实现远程推送
准备: 1. 一个Xcode工程 2. 开发者账号 3. 真机 (重要,模拟器无法进行远程推送,因为模拟器没有UDID) 第一步:绑定工程的Bundle Identifer 首先当然要登录https: ...
- 254. Factor Combinations
题目: Numbers can be regarded as product of its factors. For example, 8 = 2 x 2 x 2; = 2 x 4. Write a ...
- Mvc Kissy uploader实现图片批量上传 附带瀑布流的照片墙
前言 KISSY 是由阿里集团前端工程师们发起创建的一个开源 JS 框架.它具备模块化.高扩展性.组件齐全,接口一致.自主开发.适合多种应用场景等特性.本人在一次项目中层使用这个uploader组件. ...
- C/c++输入输出函数
最全输入函数 c/c++一:c=getchar();功能:读入一个字符说明:调用此函数时要求在程序的第一行有预编译命令:#include<stdio>,不过在做c++时 有#include ...
- sql 2005 同义词
--> Title : SQL Server2005 Synonym的使用 --> Author : wufeng4552 --> Date : 2009-10-30 1.Sy ...
- ExtJs自学教程(1):一切从API开始
题 记 该系列文章不侧重全方位的去介绍ExtJs的使用,只是侧重于解决ExtJs问题的思考方法.写的人不用长篇大论,学的人则能够自立更生.l 学习的人只要有一些CSS的javascript的基础知识 ...
- ACM刷题常用链接
武汉科技大学 http://acm.wust.edu.cn/ 华中科技大学 http://acm.hust.edu.cn/vjudge/toIndex.action 杭州电子科技大学 http:/ ...
- zoj 3778 Talented Chef(思维题)
题目 题意:一个人可以在一分钟同时进行m道菜的一个步骤,共有n道菜,每道菜各有xi个步骤,求做完的最短时间. 思路:一道很水的思维题, 根本不需要去 考虑模拟过程 以及先做那道菜(比赛的时候就是这么考 ...
- 省常中模拟 Test2 Day2
two 模拟 大意:给你一个 N 位二进制数,有四种操作:加1.减1.乘2.整除2.给定一个操作序列,求最终结果.N <= 5*10^6.数据保证不会在最高位上进行进位或退位操作. 初步解法:由 ...
- windows 下使用 MinGW + msys 编译 ffmpeg
本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处. FFmpeg是在Linux平台下开发的,但 ...