linux-bash手册

本文详细介绍了Linux Bash手册,包括如何使用man帮助,解析目录结构以及掌握目录的基本操作命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

bash手册

一、man帮助

#man命令详解
[root@172-0-0-2 ~]$ man man
NAME
       man - an interface to the on-line reference manuals
-------------------------------------------------------------------------
 1. Name                                   #显示命令名和一段简短的描述
 2. Synopsis                               #命令的语法
 3. Configuration                          #命令的配置信息
 4. Description                            #命令的一般性描述
 5. Options                                #命令选项描述
 6. Exit Status                            #命令的退出状态指示
 7. Return Value                           #命令的返回值
 8. Errors                                 #命令的错误消息
 9. Environment                            #描述所使用的环境变量
 10.Files                                  #命令用到的文件
 11.Versions                               #命令的版本信息
 12.Conforming TO                          #命令所遵从的标准
 13.Notes                                  #其他有帮助的资料
 14.Bugs                                   #提供提交BUG的途径
 15.Example                                #展示命令的用法
 16.Authors                                #命令开发人员的信息
 17.Copyright                              #命令源代码的版本信息
 18.See Also                               #与该命令类似的其他命令
------------------------------------------------------------------------
总结:不记得命令名怎么办?可以使用关键字搜素手册页。语法:man -k 关键字
------------------------------------------------------------------------
      区域号                                     所涵盖的内容
------------------------------------------------------------------------
       1                                   #可执行程序或shell命令
       2                                   #系统调用     
       3                                   #库调用
       4                                   #特殊文件
       5                                   #文件格式与约定
       6                                   #游戏
       7                                   #概览、约定及杂项
       8                                   #超级用户和系统管理员命令
       9                                   #内核例程
#man工具通常提供的是命令所对应的最低编号内容。对手册页中的第一部而已,就是输入man 1 hostname 。对于手册页中的第7部分,就是输入man 7 hostname
#手册页不是唯一的参考资料,还有一种叫作info页面的信息.可以输入info info 来了解info页面相关内容
#另外大多数内容都可以接受 -help 或 --help 例如:hostname -help了解具体内容

二、目录结构

#常见Linux目录名称
————————————————————————————————————————————————————————————————————————
        目录                                             用途
————————————————————————————————————————————————————————————————————————

 1. /                                     #虚拟目录的跟目录。通常不会再这里存储文件
 2. /bin                                  #二进制目录,存放许多用户级的GNU工具
 3. /boot                                 #启动目录,存放启动文件
 4. /dev                                  #设备目录,Linux在这里创建设备节点
 5. /etc                                  #系统配置文件目录
 6. /home                                 #主目录,Linux在这里创建用户目录
 7. /lib                                  #库目录,存放系统和应用程序的库文件
 8. /media                                #媒体目录,可移动媒体设备的常用挂载点
 9. /mnt                                  #挂载目录,另一个可移动媒体设备的常用挂载点
 10./opt                                  #可选目录,常用于存放第三方软件包和数据文件
 11./proc                                 #进程目录,存放现有硬件及当前进程的相关信息
 12./root                                 #root用户的主目录
 13./sbin                                 #系统二进制目录,存放许多GNU管理员级工具
 14./run                                  #运行目录,存放系统运作时的运行数据
 15./srv                                  #服务目录,存放本地服务的相关文件
 16./tmp                                  #临时目录,可以在该目录中创建和删除临时工作文件
 17./usr                                  #用户二进制目录,大量用户级的GNU工具和数据文件都存储在这里
 18./var                                  #可变目录,用以存放经常变化的文件,比如日志文件


#常见的目录名均基于文件系统层级标准。官方主页:http://www.pathname.com/fhs
   

三、目录基本命令

#在Linux系统上可以使用切换目录命令cd将shell会话切换到另一个目录
语法:cd destination #目的地
     destination参数可选择两种方式表示:一种是绝对路径,另一种是相对路径
绝对路径:定义了在虚拟目录结构中该目录的确切位置,相当于[目录全名]
相对路径:允许用户指定一个基于当前位置的目标文件路径
#查询当前工作目录
 [root@172-0-0-2 ~]# man pwd
  NAME
       pwd - print name of current/working directory

SYNOPSIS
       pwd [OPTION]...

DESCRIPTION
       Print the full filename of the current working directory.

       -L, --logical
              use PWD from environment, even if it contains symlinks

       -P, --physical
              avoid all symlinks

       --help display this help and exit

       --version
              output version information and exit

       NOTE:  your  shell  may  have  its own version of pwd, which usually supersedes the version
       described here.  Please refer to your shell's documentation for details about  the  options
       it supports.

       GNU  coreutils online help: <http://www.gnu.org/software/coreutils/> Report pwd translation
       bugs to <http://translationproject.org/team/>   
       ___________________________________________________________________________________________
       单点符(.),表示当前目录
       双点符(..),表示当前目录的父目录
       ___________________________________________________________________________________________
#列出文件内容
[root@172-0-0-2 ~]# man ls
NAME
       ls - list directory contents

SYNOPSIS
       ls [OPTION]... [FILE]...

DESCRIPTION
       List  information  about the FILEs (the current directory by default).  Sort entries alpha‐
       betically if none of -cftuvSUX nor --sort is specified.

       Mandatory arguments to long options are mandatory for short options too.

       -a, --all
              do not ignore entries starting with .

       -A, --almost-all
              do not list implied . and ..
#查询文件类型 ls -l

#过滤输出列表--通配符
    问号(?)代表一个字符
    星号(*)代表零个或多个字符
    中括号([])在特定的位置上可能出现的两种字符或指定字符范围,例如[ai][a - i]
    感叹号(!)将不需要的内容排除在外
[root@172-0-0-2 ~]# ls
anaconda-ks.cfg  Documents  initial-setup-ks.cfg  Pictures  Templates
Desktop          Downloads  Music                 Public    Videos

[root@172-0-0-2 ~]# ls -l init*
-rw-r--r--. 1 root root 1716 Jun 29 00:51 initial-setup-ks.cfg
[root@172-0-0-2 ~]# ls -l initial-setup-ks.cf?
-rw-r--r--. 1 root root 1716 Jun 29 00:51 initial-setup-ks.cfg

[root@172-0-0-2 ~]# ll init[ti]* 
-rw-r--r--. 1 root root 1716 Jun 29 00:51 initial-setup-ks.cfg

[root@172-0-0-2 ~]# ls
anaconda-ks.cfg  Documents  f1  f3                    Music     Public     Videos
Desktop          Downloads  f2  initial-setup-ks.cfg  Pictures  Templates
[root@172-0-0-2 ~]# ll f[1-5]
-rw-r--r--. 1 root root 0 Jul  5 20:54 f1
-rw-r--r--. 1 root root 0 Jul  5 20:54 f2
-rw-r--r--. 1 root root 0 Jul  5 20:54 f3

[root@172-0-0-2 ~]# ll f[!1]
-rw-r--r--. 1 root root 0 Jul  5 20:54 f2
-rw-r--r--. 1 root root 0 Jul  5 20:54 f3

#处理文件
[root@172-0-0-2 ~]# man touch                       #创建空文件或修改文件时间
NAME
       touch - change file timestamps

SYNOPSIS
       touch [OPTION]... FILE...
       
[root@172-0-0-2 ~]# ll  --time=atime f1           #查看文件访问的时间
-rw-r--r--. 1 root root 0 Jul  6 02:23 f1

#复制文件
[root@172-0-0-2 ~]# man cp
NAME
       cp - copy files and directories          #复制文件或目录

SYNOPSIS
       cp [OPTION]... [-T] SOURCE DEST
       cp [OPTION]... SOURCE... DIRECTORY
       cp [OPTION]... -t DIRECTORY SOURCE...

#链接文件
[root@172-0-0-2 ~]# man ln
NAME
       ln - make links between files

SYNOPSIS
       ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)           #ln 目标 连接名
       ln [OPTION]... TARGET                  (2nd form)           #ln[option]目标
       ln [OPTION]... TARGET... DIRECTORY     (3rd form)           #ln[option]目标 目录
       ln [OPTION]... -t DIRECTORY TARGET...  (4th form)           #ln[option] -t 目录 目标

#重命名文件
[root@172-0-0-2 ~]# man mv
NAME
       mv - move (rename) files

SYNOPSIS
       mv [OPTION]... [-T] SOURCE DEST
       mv [OPTION]... SOURCE... DIRECTORY
       mv [OPTION]... -t DIRECTORY SOURCE...
#删除文件
[root@172-0-0-2 ~]# man rm
NAME
       rm - remove files or directories

SYNOPSIS
       rm [OPTION]... FILE...

#处理目录(创建目录)
[root@172-0-0-2 ~]# man mkdir
NAME
       mkdir - make directories

SYNOPSIS
       mkdir [OPTION]... DIRECTORY...

#删除目录
[root@172-0-0-2 ~]# man rmdir
NAME
       rmdir - remove empty directories         #删除空目录

SYNOPSIS
       rmdir [OPTION]... DIRECTORY...

#使用file命令查询文件类型
语法:file [option] file

#查看整个文件
#在Linux上有3个不同命令可以完成此任务。
1、cat command
NAME
       cat - concatenate files and print on the standard output

SYNOPSIS
       cat [OPTION]... [FILE]...

2、more command
NAME
       more - file perusal filter for crt viewing

SYNOPSIS
       more [options] file [...]
       
3、less command
NAME
       less - opposite of more

SYNOPSIS
       less -?
       less --help
       less -V
       less --version
       less [-[+]aABcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~]
            [-b space] [-h lines] [-j line] [-k keyfile]
            [-{oO} logfile] [-p pattern] [-P prompt] [-t tag]
            [-T tagsfile] [-x tab,...] [-y lines] [-[z] lines]
            [-# shift] [+[+]cmd] [--] [filename]...
       (See the OPTIONS section for alternate option syntax with long option names.)

#查看文件部分内容命令
#tail command :会显示文件最后几行的内容
NAME
       tail - output the last part of files

SYNOPSIS
       tail [OPTION]... [FILE]...

#head command :会显示文件开头那些行的内容
NAME
       head - output the first part of files

SYNOPSIS
       head [OPTION]... [FILE]...

译者序毫无疑问,UNIX/Linux最重要的软件之一就是shell,目前最流行的shell被称为Bash(Bourne Again Shell),几乎所有的Linux和绝大部分的UNIX都可以使用Bash。作为系统与用户之间的交互接口,shell几乎是你在UNIX工作平台上最亲密的朋友,因此,学好shell,是学习Linux/UNIX的的开始,并且它会始终伴随你的工作学习。shell是如此地重要,但令人惊奇的是,介绍shell的书没有真正令人满意的。所幸的是,我看到了这本被人称为abs的书,这本书介绍了bash大量的细节和广阔的范围,我遇到的绝大部分的技术问题--无论是我忘记的或是以前没有发现的--都可以在这本书里找到答案。这本使用大量的例子详细地介绍了Bash的语法,各种技巧,调试等等的技术,以循序渐进的学习方式,让你了解Bash的所有特性,在书中还有许多练习可以引导你思考,以得到更深入的知识。无论你是新手还是老手,或是使用其他语言的程序员,我能肯定你能在此书用受益。而本书除了介绍BASH的知识之外,也有许多有用的关于Linux/UNIX的知识和其他shell的介绍。在看到本书的英文版后,我决定把它翻译出来,在Linuxsir论坛上结识了译者之一杨春敏共同翻译这本书,600多页的书是本大部头的书,我们花了6个月的业余时间才翻译完了。关于版权的问题,英文版的作者Mendel Cooper对英文版的版权做了详细的约定,请参考:Appendix Q. Copyright。中文版版权由译者杨春敏和黄毅共同所有,在遵守英文版版权相应条款的条件下,欢迎在保留本书译者名字和版权说明以非盈利的方式自由发布此中文版,以盈利目的的所有行为必须联系英文作者和两位中文译者以获得许可。本书得以成稿,我(黄毅)要多谢我的女朋友,本该给予她的时间我用来了翻译,多谢你的理解,你是一个很棒的女朋友! 译者 杨春敏 黄毅 2006.5.15
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值