启动shell:

  • /etc/passwd包含系统用户账户列表以及每个用户的基本配置信息

    • 每个条目有七个字段,每个字段用冒号隔开

      • 用户名
      • 用户密码
      • 用户的系统UID
      • 用户的系统GID
      • 用户的全名
      • 用户的默认主目录
      • 用户的默认shell程序

如:zmcheng:x:501:501:zhangmingcheng:/home/zmcheng:/bin/bash

  • 默认情况下,bash shell启动时会自动处理用户主目录下.bashrc文件中的命令

shell 提示符:

  • PS1:控制默认命令行提示符的格式
  • PS2:控制后续命令行的提示符格式
  • bash shell提示符字符表
    • 所有提示符特殊字符都从反斜线(\)开始

PS:就是每换一行命令显示的字符。

bash 手册:

  • 打开bash 手册:$man bash
  • man 加任何命令,可以显示此命令的详细介绍,如man ls

Linux文件系统:

  • Linux将文件存储在单个目录结构中,这个目录称为虚拟目录

    • Linux虚拟目录包含一个称为根目录的基础目录
  • 根驱动器:在Linux PC上安装的第一块硬盘
    • 根驱动器包含虚拟目录的核心,其他目录都是在那里开始构建的
    • Linux在跟驱动器上创建的一些特别的目录称为挂载点
      • 挂载点是虚拟目录中用于分配额外存储设备的目录
      • Linux虚拟目录会让这些目录和文件出现在这些挂载点目录中,然后实际上他们存放在另一个驱动器中
      • 文件系统存储在跟驱动器中,而用户文件则存储在另一个驱动器中
  • cd命令
    • 如果用户没有指定目标路径,那么将切换到你的用户主目录
    • 目标路径参数的两种表达方式
      • 绝对文件路径
      • 相对文件路劲
        • .:当前目录
        • ..:父目录

 文件及目录列表:

  • ls命令

    • 作用:显示当前目录下的文件和目录
    • LS_COLORS环境变量支持彩色来区分不同类型的文件
    • 单参数
      • -F:区分文件和目录

        • 在目录名后加/
        • 在可执行文件后面加“*”
      • -a:将隐藏文件和普通的文件及目录一起显示出来
      • -R:列出当前目录下包含的目录中的文件
      • -l:按长列表格式输出显示
        • 第一行显示了目录中包含的快的总数
        • 第二行及以后显示文件的下列信息
          • 文件类型:目录(d)、文件(-)、字符型文件(c)或块(b)
          • 文件的权限
          • 文件的硬链接总数
          • 文件属主的用户名
          • 文件属组的组名
          • 文件的大小
          • 文件的修改时间
          • 文件或目录名
    • 组合参数:双破折号参数必须分开输入,但破折号参数可以组合输入
      • -sail

        • -i:列出每个文件的索引节点
        • -s:列出文件的快大小
        • 组合后的输出信息
          • 索引节点
          • 文件快大小
          • 文件权限
          • 指向文件的硬链接数
          • 文件属主
          • 文件属组
          • 文件大小
          • 文件最后修改时间
          • 文件真实名字
    • 过滤输出列表
      • ?:代表一个字符
      • *:代表零个或多个字符

 创建文件:

  • touch命令

    • 作用:

      • 创建指定的新文件,并将你的用户名作为文件属主

        • touch创建的文件的大小为0
    • 修改已有文件的访问时间和修改时间,而不改变文件的内容
      • touch默认使用当前时间,也可以通过-t参数加上指定时间

$touch newtext

$touch -t 201605211607 oldtext

 复制文件:

  • cp命令

    • 作用:复制文件和目录

      • 当source和destination都是文件:将源文件复制至一个新文件,并且以destination命名

        • 如果目标文件已经存在,则会提示是否覆盖
    • 参数
      • -f:强制覆盖已存在的目标文件,不提示
      • -i:在强制覆盖目标文件时提示
      • -p:如果可能,保留文件属性
      • -r:递归的复制文件
      • -R:递归的复制目录
      • -u:只在源文件比目标文件新的情况下复制(相当于更新)

链接文件:

  • 链接是目录中指向文件的占位符
  • 链接的两种分类
    • 符号链接,即软链接

      • 创建命令

        • cp -s source destination
        • ln -s source destination
      • Linux系统把软链接当成一个单独的文件,与源文件具有不同的索引节点号,且文件变小了
    • 硬链接
      • 创建命令

        • cp -l source destination
        • ln source destination
      • 会创建一个读的文件,其中包含了源文件的信息以及位置,引用硬链接文件等同于引用了源文件
        • 硬链接和源文件有相同的索引节点号
      • 只能在同种存储媒介上的文件间创建硬链接,不能在不同挂载点下的文件间创建,这种情况可以使用软链接
  • 注意:可以创建多个链接指向同一个文件,但不要创建多个链接指向链接文件,否则容易混淆且容易断掉

重命名文件:

  • mv 命令

    • Linux系统中重命名文件称为移动(move)
    • 移动文件可以改变文件名,但是会保留同样的索引节点号和时间戳
      • 移动一个具有软链接指向的文件会带来麻烦,会导致链接失效

 删除文件

  • rm 命令

    • Linux系统中删除叫做移除(remove)
    • bash shell没有回收站或垃圾箱,所以文件的删除是永久不可恢复的
    • 删除软硬链接文件的区别
      • 由于硬链接和源文件具有相同的索引节点号,所有即使删除了源文件,硬链接也会一直维持着这个索引节点号,直到删除最后一个硬链接他的文件
      • 对于软链接来说,源文件不存在了,它们就变成了无效的文件

创建目录:

  • mkdir命令

    • 创建新目录并分配新的索引节点号

 删除目录:

  • 两种方式

    • rmdir命令

      • 默认情况只删除空目录
    • rm命令
      • 加上参数-r递归删除目录下的文件最后删除目录自身
      • 加上参数-rf则会不加提示的强制删除目录及其下面的文件

查看文件统计信息:

  • stat命令

    • 提供系统上某个文件的所有状态信息,包括主次设备号等等

查看文件类型:

  • file命令

    • file命令将文件分为3类

      • 文本文件:包含可打印字符的文件
      • 可执行文件:可在系统上运行的文件
      • 数据文件:包含不可打印二进制字符、又不能在系统上运行的文件

查看整个文件:

  • 三个命令实现

    • cat命令

      • 显示文本文件中所有数据
      • 参数
        • -n:给所有行加行号
        • -b:只给有文本的行加行号
        • -s:将多个空白行压缩成单个空白行
        • -T:隐藏制表符
    • more命令
      • more命令会实现文本内容,但是会在显示每页数据之后停下来
      • 命令选项
        • H:显示帮助菜单
    • less命令
      • more命令的升级

查看部分文件:

  • 两个命令实现

    • tail命令

      • 显示文件的末尾部分内容,默认只显示文件末尾10行
      • 参数
        • -f:允许在其他进程使用该文件是查看文件的内容,不断显示加入到文件中的新内容
    • head命令
      • 显示文件开头那些行的内容,默认显示文件前十行,不支持-f选项
      • 对于不知道文件内容而想知道大致内容时的很好工具

Linux命令行–基本的bash shell命令的更多相关文章

  1. mysq在命令行模式下执行shell命令

    mysql可以在命令行模式下执行shell命令 mysql> help For information about MySQL products and services, visit: htt ...

  2. Linux 学习笔记 更多的bash shell命令

    一  监测程序 1.ps 输出运行在系统上的所有程序的许多信息 运行ps命令,也会开启一个进程 默认情况下,ps命令只会显示运行在当前控制台下的属于当前用户的进程. Unix风格的参数(单破折号) - ...

  3. Linux 学习笔记 基本的bash shell命令

    Linux 文件系统 Linux讲文件存储在单个目录结构(虚拟目录)中,虚拟目录包含了安装在PC上的所有存储设备的文件路径. Linux虚拟目录中比较复杂的部分是它如何来协调管理各个存储设备.Linu ...

  4. 《Linux命令行与shell脚本编程大全》- 读书笔记2 - 更多的bash shell命令

    更多的bash shell命令 想检测进程,需要熟悉ps命令的用法.ps命令好比工具中的瑞士军刀,它能输出运行在系统上的所有程序的许多信息.默认情况下,ps命令只会显示运行在当前控制台下的属于当前用户 ...

  5. bash shell命令(2)

    在上篇<bash shell命令(1)>中,介绍了几种简单的linux shell命令,今天继续介绍bash shell命令 本文地址:http://www.cnblogs.com/arc ...

  6. 第四章:更多的bash shell命令

    第四章:更多的bash shell命令 监测程序 ps (其他ps内容见#1 ) Unix风格的ps命令参数 参数 描述 -A 显示所有进程 -N 显示与指定参数不符的所有进程 -a 显示除控制进程( ...

  7. (转)shell解析命令行的过程以及eval命令

    shell解析命令行的过程以及eval命令   本文说明的是一条linux命令在执行时大致要经过哪些过程?以及这些过程的大致顺序. 1.1 shell解析命令行 shell读取和执行命令时的大致操作过 ...

  8. bash shell命令与监测的那点事(三)

    bash shell命令与监测的那点事之df与du 前两篇介绍了bash shell的进程监控指令,但是有时候你需要知道在某个设备上还有多少磁盘空间.首先介绍df命令: df命令 df命令就是用来轻松 ...

  9. bash shell命令与监测的那点事(二)

    bash shell命令与监测的那点事之top 上次我们说到了ps命令,ps命令虽然在收集运行在系统上的进程信息很有用,但是也有不足之处,ps命令只能显示某个特定时间点的信息,如果你想观察频繁换进换出 ...

随机推荐

  1. 基于HTML5实现的超酷摄像头(HTML5 webcam)拍照功能 - photobooth.js

    在线演示 WebRTC可能是明年最受关注的HTML5标准了,Mozilla为此开发了一套帮助你控制硬件的API,例如,摄像头,麦克风,或者是加速表.你可以不依赖其它的插件来调用你需要的本机硬件设备. ...

  2. hdu Waiting ten thousand years for Love

    被这道题坑到了,如果单纯的模拟题目所给的步骤,就会出现同一个位置要走两次的情况...所以对于bfs来说会很头痛. 第一个代码是wa掉的代码,经过调试才知道这个wa的有点惨,因为前面的操作有可能会阻止后 ...

  3. web app

    *********Modernizr作为开发HTML5必要的js工具************ Modernizr作为开发HTML5必要的js工具 *********字体大小设 rem********* ...

  4. Sublime之旅

    安装 http://www.sublimetext.com/3          常用操作  window版本 CTRL + P 打开文件搜索 Ctrl+K+B 打开目录树 Ctrl+Shift+[ ...

  5. 给Android程序员的六个建议

    给Android程序员的六个建议 分类: 安卓相关2015-07-14 23:58 177人阅读 评论(0) 收藏 举报 android程序员 如果你一年前写的代码 , 在现在看来你还感觉写的很不错 ...

  6. Oracle 安装 INS-30131错误。

    需要学习SDE配置相关知识,其中Oracle数据库安装遇到错误INS-30131,虽然未能最终解决,但找到了初步的思路,记录下来给大家提供参考.下文对很多知识的理解可能存在错误或不够精准,仅作参考. ...

  7. Spring IoC反转控制的快速入门

    * 下载Spring最新开发包 * 复制Spring开发jar包到工程 * 理解IoC反转控制和DI依赖注入 * 编写Spring核心配置文件 * 在程序中读取Spring配置文件,通过Spring框 ...

  8. android ArrayAdapter 如何动态更改数据

    在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示,使用adpater与listview捆绑后,有时希望在程序使用过程中能动态的更改l ...

  9. 【转】深入浅出 JavaScript 中的 this

    Java 等面向对象的语言中,this 关键字的含义是明确且具体的,即指代当前对象.一般在编译期确定下来,或称为编译期绑定.而在 JavaScript 中,this 是动态绑定,或称为运行期绑定的,这 ...

  10. nRF51822之WDT浅析

    看门狗定时器 NRF51822 的看门狗定时器是倒计数器, 当计数值减少到 0 时产生 TIMEOUT 事件. 通过 START task 来启动看门狗定时器. 看门狗定时器启动时,如没有其他 32. ...