Linux学习笔记-基本的命令行操作

来源:互联网 发布:淘宝网妈妈冬装 编辑:程序博客网 时间:2024/04/30 20:08

《鸟哥的Linux私房菜》读书笔记

[vbird@www ~]$ command [-options] parameter1 parameter2 ...                   命令     选项      参数(1)    参数(2) 说明: 0. 一行命令中第一个输入的部分绝对是『命令(command)』或『可运行文件案』 1. command 为命令的名称,例如变换路径的命令为 cd 等等; 2. 中刮号[]并不存在于实际的命令中,而加入选项配置时,通常选项前会带 - 号,    例如 -h;有时候会使用选项的完整全名,则选项前带有 -- 符号,例如 --help; 3. parameter1 parameter2.. 为依附在选项后面的参数,或者是 command 的参数;  4. 命令, 选项, 参数等这几个咚咚中间以空格来区分,不论空几格 shell 都视为一格;  5. 按下[Enter]按键后,该命令就立即运行。[Enter]按键代表着一行命令的开始启动。 6. 命令太长的时候,可以使用反斜杠 (\) 来跳脱[Enter]符号,使命令连续到下一行。    注意!反斜杠后就立刻接特殊字符,才能跳脱! 其他: a. 在 Linux 系统中,英文大小写字母是不一样的。举例来说, cd 与 CD 并不同。 b. 更多的介绍等到第十一章 bash 时,再来详述。 
1. 显示目前所支持的语系 [vbird@www ~]$ echo $LANG zh_TW.UTF-8 # 上面的意思是说,目前的语系(LANG)为zh_TW.UTF-8,亦即台湾繁体中文的万国码  2. 修改语系成为英文语系 [vbird@www ~]$ LANG=en_US # 注意到上面的命令中没有空格符,且英文语系为en_US才对喔! [vbird@www ~]$ echo $LANG en_US # 再次确认一下,结果出现,确实是en_US这个英文语系!

命令列模式里面下达命令时,会有两种主要的情况:

  • 一种是该命令会直接显示结果然后回到命令提示字符等待下一个命令的输入;
  • 一种是进入到该命令的环境,直到结束该命令才回到命令提示字符的环境。
命令下达的环境

重要的几个热键[Tab], [ctrl]-c, [ctrl]-d

[vbird@www ~]$ ca[tab][tab]    <==[tab]按键是紧接在 a 字母后面! cadaver             callgrind_control   capifax             card cal                 cameratopam         capifaxrcvd         case caller              cancel              capiinfo            cat callgrind_annotate  cancel.cups         captoinfo           catchsegv # 上面的 [tab] 指的是『按下那个tab键』,不是要你输入中括号内的tab啦!
vbird@www ~]$ ls -al ~/.bash[tab][tab] .bash_history  .bash_logout   .bash_profile  .bashrc 


  • [Tab] 接在一串命令的第一个字的后面,则为命令补全;
  • [Tab] 接在一串命令的第二个字以后时,则为『文件补齐』

  • [Tab] 接在一串命令的第一个字的后面,则为命令补全;
  • [Tab] 接在一串命令的第二个字以后时,则为『文件补齐』
    • [Ctrl]-c 按键

    如果你在Linux底下输入了错误的命令或参数,有的时候这个命令或程序会在系统底下『跑不停』这个时候怎么办?别担心, 如果你想让当前的程序『停掉』的话,可以输入:[Ctrl]与c按键(先按着[Ctrl]不放,且再按下c按键,是组合按键), 那就是中断目前程序


  • [Tab] 接在一串命令的第一个字的后面,则为命令补全;
  • [Tab] 接在一串命令的第二个字以后时,则为『文件补齐』
    • [Ctrl]-d 按键

    那么[Ctrl]-d是什么呢?就是[Ctrl]与d按键的组合啊!这个组合按键通常代表着: 『键盘输入结束(End Of File, EOF 或 End Of Input)』的意思! 另外,他也可以用来取代exit的输入呢!例如你想要直接离开文字接口,可以直接按下[Ctrl]-d就能够直接离开了(相当于输入exit啊!)

    有问题找man(manual)


    [vbird@www ~]$ man date DATE(1)                          User Commands                         DATE(1) # 请注意上面这个括号内的数字 NAME  <==这个命令的完整全名,如下所示为date且说明简单用途为配置与显示日期/时间        date - print or set the system date and time  SYNOPSIS  <==这个命令的基本语法如下所示        date [OPTION]... [+FORMAT]        date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]  DESCRIPTION  <==详细说明刚刚语法谈到的选项与参数的用法        Display  the  current  time  in  the given FORMAT, or set the system        date.         -d, --date=STRING  <==左边-d为短选项名称,右边--date为完整选项名称               display time described by STRING, not 'now'         -f, --file=DATEFILE               like --date once for each line of DATEFILE         -r, --reference=FILE               display the last modification time of FILE ....(中间省略)....        # 找到了!底下就是格式化输出的详细数据!        FORMAT controls the output.  The only valid option  for  the  second        form  specifies  Coordinated  Universal Time.  Interpreted sequences        are:         %%     a literal %         %a     locale's abbreviated weekday name (e.g., Sun)         %A     locale's full weekday name (e.g., Sunday) ....(中间省略).... ENVIRONMENT  <==与这个命令相关的环境参数有如下的说明        TZ     Specifies the timezone, unless  overridden  by  command  line               parameters.   If  neither  is  specified,  the  setting  from               /etc/localtime is used.  AUTHOR  <==这个命令的作者啦!        Written by David MacKenzie.  REPORTING BUGS  <==有问题请留言给底下的email的意思!        Report bugs to <bug-coreutils@gnu.org>.  COPYRIGHT  <==受到著作权法的保护!用的就是 GPL 了!        Copyright ? 2006 Free Software Foundation, Inc.        This is free software.  You may redistribute copies of it under  the        terms      of      the      GNU      General      Public     License        <http://www.gnu.org/licenses/gpl.html>.  There is  NO  WARRANTY,  to        the extent permitted by law.  SEE ALSO  <==这个重要,你还可以从哪里查到与date相关的说明文件之意        The  full  documentation for date is maintained as a Texinfo manual.        If the info and date programs are properly installed at  your  site,        the command                info date         should give you access to the complete manual.  date 5.97                          May 2006                            DATE(1)
  • [Tab] 接在一串命令的第一个字的后面,则为命令补全;
  • [Tab] 接在一串命令的第二个字以后时,则为『文件补齐』代号代表内容1使用者在shell环境中可以操作的命令或可运行文件2系统核心可呼叫的函数与工具等3一些常用的函数(function)与函式库(library),大部分为C的函式库(libc)4装置文件的说明,通常在/dev下的文件5配置文件或者是某些文件的格式6游戏(games)7惯例与协议等,例如Linux文件系统、网络协议、ASCII code等等的说明8系统管理员可用的管理命令9跟kernel有关的文件
  • 按键进行工作空格键向下翻一页[Page Down]向下翻一页[Page Up]向上翻一页[Home]去到第一页[End]去到最后一页/string向『下』搜寻 string 这个字符串,如果要搜寻 vbird 的话,就输入 /vbird?string向『上』搜寻 string 这个字符串n, N利用 / 或 ? 来搜寻字符串时,可以用 n 来继续下一个搜寻 (不论是 / 或 ?) ,可以利用 N 来进行『反向』搜寻。举例来说,我以 /vbird 搜寻 vbird 字符串, 那么可以 n 继续往下查询,用 N 往上查询。若以 ?vbird 向上查询 vbird 字符串, 那我可以用 n 继续『向上』查询,用 N 反向查询。q结束这次的 man page例题:
    你可否查出来,系统中还有哪些跟『man』这个命令有关的说明文件呢?
    答:
    你可以使用底下的命令来查询一下:
    [vbird@www ~]$ man -f man man                  (1)  - format and display the on-line manual pages man                  (7)  - macros to format man pages man.config [man]     (5)  - configuration data for man 
    使用 -f 这个选项就可以取得更多与man相关的信息,而上面这个结果当中也有提示了 (数字) 的内容, 举例来说,第二行的『 man (7) 』表示有个man (7)的说明文件存在喔!但是却有个man (1)存在啊! 那当我们下达『 man man 』的时候,到底是找到哪一个说明档呢? 其实,你可以指定不同的文件的,举例来说,上表当中的两个 man 你可以这样将他的文件叫出来:
    [vbird@www ~]$ man 1 man  <==这里是用 man(1) 的文件数据 [vbird@www ~]$ man 7 man  <==这里是用 man(7) 的文件数据 
    你可以自行将上面两个命令输入一次看看,就知道,两个命令输出的结果是不同的。 那个1, 7就是分别取出在man page里面关于1与7相关数据的文件文件啰! 好了,那么万一我真的忘记了下达数字,只有输入『 man man 』时,那么取出的数据到底是1还是7啊? 这个就跟搜寻的顺序有关了。搜寻的顺序是记录在/etc/man.conf这个配置文件当中, 先搜寻到的那个说明档,就会先被显示出来! 一般来说,通常会先找到数字较小的那个啦!因为排序的关系啊!所以, man man 会跟 man 1 man 结果相同!
    例题:
    找出系统的说明文件中,只要有man这个关键词就将该说明列出来。
    答:
    [vbird@www ~]$ man -k man . [builtins]         (1)  - bash built-in commands, see bash(1) .TP 15 php [php]     (1)  - PHP Command Line Interface 'CLI' ....(中间省略).... zshall               (1)  - the Z shell meta-man page zshbuiltins          (1)  - zsh built-in commands zshzle               (1)  - zsh command line editor 

    事实上,还有两个命令与man page有关呢!而这两个命令是man的简略写法说~就是这两个:

    [vbird@www ~]$ whatis  [命令或者是数据]   <==相当于 man -f [命令或者是数据] [vbird@www ~]$ apropos [命令或者是数据]   <==相当于 man -k [命令或者是数据] 

    而要注意的是,这两个特殊命令要能使用,必须要有创建 whatis 数据库才行!这个数据库的创建需要以 root 的身份下达如下的命令:

    [root@www ~]# makewhatis 
    Tips:
    一般来说,鸟哥是真的不会去背命令的,只会去记住几个常见的命令而已。那么鸟哥是怎么找到所需要的命令呢? 举例来说,打印的相关命令,鸟哥其实仅记得 lp (line print)而已。那我就由 man lp 开始,去找相关的说明, 然后,再以 lp[tab][tab] 找到任何以 lp 为开头的命令,找到我认为可能有点相关的命令后, 再以 man 去查询命令的用法!呵呵!所以,如果是实际在管理 Linux , 那么真的只要记得几个很重要的命令即可,其他需要的,嘿嘿!努力的找男人(man)吧!


  • 0 0
    原创粉丝点击