ainila 发表于 2018-8-26 12:10:07

Bash shell 基础命令(第一章至第四章)

  1.       Shell启动
  Gun bash shell为用户提供交互式访问,登录时系统依赖于用户账户的配置,在/etc/passwd 文件中存放所有系统用户账户列表及基本配置,以下为条目样本:
  root:x:0:0:root:/root:/bin/bash
  每个条目共有七个字段,分别以冒号隔开,代表的含义依次为“用户名:密码:UID(用户ID号):GID(用户主组ID号):GECOS(用户详细描述信息):用户家目录:用户默认shell程序”。当用户登录以后将会启动默认shell程序。
  2.       命令帮助
  2.1 which命令
  说明:查看命令完整路径,如果有命令设置了别名,还可以显示别名。
  格式:which COMMAND
  示例:
  # which ls
  alias ls='ls --color=auto'         ####别名
  /bin/ls                  ####ls命令的详细路径,在制作shell脚本时,经常需要用到命令的完整路径。
  命令帮助方法有几种:
  2.2 man命令
  说明:查看命令的帮助文档,通常放置于/usr/share/man 目录中
  格式:man [ 章节] COMMAND
  Man手册根据对应内容区域分为八个章节
  1章节:用户命令
  2章节:系统调用
  3章节:库调用
  4章节:设备文件及特殊文件
  5章节:配置文件格式
  6章节:游戏
  7章节:概览、约定和杂项
  8章节:超级用户和系统管理员命令
  Man手册格式
  Name:命令名和命令的描述
  Synopsis:命令的语法
  Description:命令一般性描述
  Option:命令选项描述
  Example:命令用法示例
  Authors:命令开发人员信息
  Reporting Bugs:BUG提交方法
  See Also:与命令相关的其他命令
  内部命令帮助查看可以使用COMMAND –help或help COMMAND
  3.       浏览查看命令
  3.1 cd命令
  说明:进入到指定路径下,通常使用格式为 cd COMMAND
  使用场景:
  cd /root :进入/root路径下
  cd ~ :进入到当前用户的家目录
  cd - :返回上次目录
  cd .. :进入此目录的上一级目录
  cd / :进入根目录
  3.2 ls命令
  说明:查看指定路径下的目录和文件
  格式:ls   [参数]   路径
  参数:
  不带任何参数和路径时表示查看当前目录下非隐藏属性的所有文件和目录
  -a:查看当前目录下包含隐藏文件的所有文件和目录
  -l:显示文件和目录的长格式
  -h:人性化显示文件容量数据,与-l一起使用
  -i:显示每个文件的inode编号
  -d:只显示目录
  -F:在显示的文件和目录队列中,目录会跟上/,更加醒目
  -R:递归显示该路径下所有目录下的全部文件
  常用组合:
  -alh:显示长格式目录下包含隐藏文件在内的所有文件信息,文件大小人性化显示;
  -il:以长格式显示路径下文件和文件夹信息并显示inode编号
  长格式内容信息描述
  # ls -il
  total 52
  1572873 -rw-------. 1 root root2392 Oct 272014 anaconda-ks.cfg
  从左至右一次解析:
  1572873:文件的inode编号
  -:文件类型,一般文件类型有-(普通文本文件)、d(目录)、s(套接字文件)、c(字符设备文件)、b(块设备文件)、l(符号链接文件)、p(管道文件)
  rw-------:共计有9位,依次表示文件的属主、属组、其他用户的权限。
  1:文件被硬链接的次数
  root:属主
  root:属组
  2329:文件大小,以字节为单位
  Oct 272014:最后一次被修改时间
  anaconda-ks.cfg:文件名
  4.       文件处理命令
  4.1 touch命令
  说明:touch命令主要用于改变文件的时间戳,当文件不存在时会创建该文件。可以通过stat filename来查看文件的时间戳
  格式:touch [ 参数 ]   文件名
  参数:
  touchfilename :表示创建名为filename的文件
  -a:修改文件的访问时间
  -m:修改文件的修改时间
  -c:修改文件的变更时间,一般为文件最晚的时间戳
  小技巧:可以通过 ls -l –time=atimefilename来显示该文件的最后一次访问时间。
  4.2 cp命令
  说明:cp命令主要用于复制文件或文件夹到指定路径
  格式1:cp 原路径目标路径
  原路径为文件会有一下四种情况:
  如果目标路径不存在则会创建目标路径并将文件复制到目标路径中
  如果目标目录存在
  如果目标路径是文件则会被源路径文件覆盖,建议此时使用-i选项。
  如果目标路径是目录则会在目标目录下新建一个同名文件,将源文件内容填充至目标文件中。
  格式2:cp 多个源文件目标路径
  如果复制多个文件到目标路径,则目标路径必须存在且为目录
  格式3:cp 源路径目标路径
  如果源路径为目录则目标路径必须为目录,且必须使用-r选项,如果目标路径目录不存在则会创建该目录并将源路径目录填充只目标目录中,如果目录路径是目录且已存在,则会直接将源路径目录及目录中的文件填充至目标目录中。
  参数:
  -a:归档复制
  -i:交互式,复制每一个文件和目录都需确认
  -r:递归复制目录下的所有文件
  -f:强制复制
  4.3 mv命令
  说明:用于移动文件到指定路径下,也可用于文件重命名
  格式:
  mv ... [-T] SOURCE DEST
         mv ... SOURCE... DIRECTORY
         mv ... -t DIRECTORY SOURCE...
  参数:
  -i:交互式
  -f:强制
  4.4 ln命令
  说明:创建符号连接文件和硬链接,链接到同一个文件的硬链接文件inode编号为同一编号,在磁盘中存放的位置一致,符号连接文件相当于源连接文件的一个快捷方式。
  创建硬链接:ln 原文件硬链接文件路径和文件名
  创建软链接:ln 源文件符号连接路径和文件名
  4.5 rm命令
  说明:删除指定目录和文件
  参数:
  -i:交互式
  -r:递归删除
  -f:强制删除
  rm -rf 命令会在不通知的情况下强制删除所制定的目录和文件,慎用。
  mkdir命令
  说明:删除空目录,当目录中有文件时,无法删除,可使用rm -rf 强制删除。
  5.       shell通配符
  shell支持通配符机制,可用通配符如下:
  *:代表任意长度的任意字符
  ?:代表一位任意字符
  []:位于[]中的字符为可选字符。
  示例:
  ls/etc/p*表示列出/etc目录下所有以P开头的文件和文件夹
  ls /etc/p?sswd 表示列出/etc目录下以任意以P开头sswd结尾的文件
  6.       绝对路径和相对路径
  绝对路径:表示完整路径,例如 /bin/bash
  相对路径:./ 表示当前路径,../表示当前路径的上一级路径。
  7.       文件查看命令
  7.1 file命令
  说明:查看文件类型,使用格式 flie 文件名即可。
  7.2 cat命令
  说明:仅查看文本文件文件的命令,-n参数表示查看文件时带上行号,-b参数表示仅在有文字的行前加行号,-T表示显示时去表文件中的制表符
  7.3 more命令
  说明:more支持翻页,cat在查看大文件时不受控制,more可以自动分页,仅支持向下翻页。
  7.4 less命名
  说明:功能类似于more,不过可支持来回翻页
  7.5 tail命令
  说明:只从尾部开始查看文件,默认查看最后10行,-n 20 则表示查看倒数20行,-f参数可动态显示文件尾部追加的内容。
  7.6 head命令
  说明:从头部开始查看文件,默认显示从头部开始10行文件, -20则表示查看从头部开始往后20行文件
  以上文件查看命令仅支持查看文本文件。
  7.7 tree命令
  说明:tree命令可以树型结构查看指定路径的文件和文件夹。一般系统默认不安装此命令,可使用yum -y install tree安装。
  8.       监测程序
  8.1 ps命令
  说明:ps是一个功能强大的进程查看工具,可查看进程和系统关键参数。
  BSD风格的常用组合:ps aux
  解析:
  USER:启动进程的用户
  PID:进程编号
  %CPU:CPU占用率
  %MEM:内存占用率
  VSZ:虚拟内存集
  RSS:常驻内存集
  TTY:进程启动时的终端
  STAT:进程当前状态
  R:正在运行
  S:可中断睡眠
  D:不可终端睡眠
  T:停止的进程
  Z:父进程已被结束的僵死进程
  +:前台进程
  
页: [1]
查看完整版本: Bash shell 基础命令(第一章至第四章)