第三章:基本的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 )

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

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

    第二十三章 使用其他shell bash shell是linux发行版中最广泛使用的shell.但是它并不是唯一的选择,还有其他的shell可以供你选择. 23.1 什么是dash shell 百度百 ...

  2. 《Linux命令行与shell脚本编程大全》第九章 安装软件程序

    包管理系统(PMS):用来进行软件安装.管理和删除的命令行工具 9.1包管理基础 1.主流的Linux发行版都采用了某种形式的包管理系统来控制软件和库的安装 2.PMS用一个数据库来记录:系统上安装了 ...

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

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

  4. 《Linux命令行与shell脚本编程大全 第3版》创建实用的脚本---11

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  5. 《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---47

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  6. 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---57

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

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

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

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

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

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

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

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

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

随机推荐

  1. 为什么重写equals方法还要重写hashcode方法?

    我们都知道Java语言是完全面向对象的,在java中,所有的对象都是继承于Object类.Ojbect类中有两个方法equals.hashCode,这两个方法都是用来比较两个对象是否相等的. 在未重写 ...

  2. C语言中volatile关键字的作用

    http://blog.csdn.net/tigerjibo/article/details/7427366#comments 一.前言 1.编译器优化介绍: 由 于内存访问速度远不及CPU处理速度, ...

  3. mongodb 常见操作转

    Ø Collection聚集集合 1.创建一个聚集集合(table) db.createCollection(“collName”, {size: 20, capped: 5, max: 100}); ...

  4. YCM安装与配置

    1.重新编译vim 2.通过vundle安装YCM 3.安装CMake 4.下载预先编译好的llvm+clang 5.看官网的命令,生成CMake的编译文件并编译 配置YCM: 要额外配置ycm_ex ...

  5. 07-语言入门-07-A Famous Music Composer

    题目地址: http://blog.csdn.net/sevenmit/article/details/8231994  描述 Mr. B is a famous music composer. On ...

  6. HDFS小文件处理——Mapper处理

    处理小文件的时候,可以通过org.apache.hadoop.io.SequenceFile.Writer类将所有文件写出到一个seq文件中. 大致流程如下: 实现代码: package study. ...

  7. [POJ3352]Road Construction(缩点,割边,桥,环)

    题目链接:http://poj.org/problem?id=3352 给一个图,问加多少条边可以干掉所有的桥. 先找环,然后缩点.标记对应环的度,接着找桥.写几个例子就能知道要添加的边数是桥的个数/ ...

  8. log4j配置webapp日志系统

    1.基础知识: Log4j的中文文档 (这是根据最新的log4j(jakarta-log4j-1.2.8)的开发包自带文档的manual翻译的) http://dev.csdn.net/develop ...

  9. ha_innobase::open

    http://mysql.taobao.org/monthly/2015/08/07/ /******************************************************* ...

  10. Fatal NI connect error 12170

    Fatal NI connect error 12170 转载:http://www.xifenfei.com/1812.html 今天在一台服务器的日志文件中,发现如下信息: Fatal NI co ...