Linux基础学习之基础命令--2019-11-14

Posted qhpnihao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基础学习之基础命令--2019-11-14相关的知识,希望对你有一定的参考价值。

查看命令路径其他方法:

which 命令:

which [options] [--] programname [...]

      -a:显示所有匹配的程序文件,而非第一个;

      --skip-alias:略过别名;

[root@RHEL-64-45 ~]# which ll

alias ll=‘ls -l --color=auto‘

       /bin/ls

[root@RHEL-64-45 ~]# which man

/usr/bin/man

别名 alias

由于复杂命令或频繁使用的命令、选项的组合,系统为嫌弃麻烦的用户提供了一个方便的工具叫 alias ,可以让我们为命令设置一个别名,后续使用只需输入一个简短的别名就可以代表长长的命令。

定义别名:alias NAME = ‘COMMADN ‘       注意‘=’和字符串之间不能包含空格

取消别名:unalias[-a] name [name ...]   -a 取消所有别名

*如果想永久有效,要定义在配置文件中,仅对当前用户:~/.bashrc;对所有用户有效:/etc/bashrc

*编辑配置给出的新配置不会立即生效,bash进程重新读取配置文件

       source /path/to/config_file

         .    /path/to/config_file

*如果别名同原命令同名,如果要执行原命令,可使用

         COMMAND       (最常用方法,使用 可以使别名本次失效)

        ’COMMAND ’    (反向单引号)

        /PATH/COMMAND: (如果是外部命令可以使用绝对路径)

whatis

 显示命令的简短描述,用于查询一个命令执行什么功能,并将查询结果显示在终端上。

 刚安装因为没有数据库,不能第一时间使用,需要输入 makewhatis 或 mandb(Centos 7版本)制作数据库。

 使用示例:

[root@RHEL-64-45 ~]# whatis ls

ls                   (1)  - list directory contents

ls                   (1p)  - list directory contents

help

help命令用于显示shell内部命令的帮助信息(外部命令最好选用 man 或 info 命令);

    内部命令·help COMMAND·

    外部命令·COMMAND --help 或 COMMAND -h ·

[root@RHEL-64-45 ~]# cd --help

-bash: cd: --: invalid option

cd: usage: cd [-L|-P] [dir] 

[root@RHEL-64-45 ~]# help cd

cd: cd [-L|-P] [dir]

    Change the shell working directory.

   

    Change the current directory to DIR.  The default DIR is the value of the

    HOME shell variable.

   

    The variable CDPATH defines the search path for the directory containing

    DIR.  Alternative directory names in CDPATH are separated by a colon (:).

    A null directory name is the same as the current directory.  If DIR begins

    with a slash (/), then CDPATH is not used.

   

    If the directory is not found, and the shell option `cdable_vars‘ is set,

    the word is assumed to be  a variable name.  If that variable has a value,

    its value is used for DIR.

   

    Options:

        -L    force symbolic links to be followed

        -P   use the physical directory structure without following symbolic

           links

   

    The default is to follow symbolic links, as if `-L‘ were specified.

   

    Exit Status:

Returns 0 if the directory is changed; non-zero otherwise.

F、Man (手册 manual)

    提供命令帮助的文件,手册页存放在/usr/share/man,几乎每个命令都有man的“页面”,man页面分组为不同的“章节”,统称为Linux手册。

man命令的配置文件:/etc/man.config| man_db.conf;

MANPATH /PATH/TO/SOMEWHERE: 指明man文件搜索位置。

 man -M/PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索COMMAND命令的手册页并显示。

    中文man需安装包man-pages-zh-CN。

   man 各章节说明

  1: 用户命令 (Executable programs or shell commands)

  2: 系统调用 (System calls)

  3: C库调用  (Library calls )

  4: 设备文件及特殊文件 (Special files)

  5: 配置文件格式 (File formats and conventions eg )

  6: 游戏 (Games)

  7: 杂项 (Miscellaneous )

  8: 管理类的命令 (System administration commands )

  9:Linux 内核API (Kernel routines)

   man 帮助段落说明

  -NAME 名称及简要说明

   SYNOPSIS 用法格式说明

        []可选内容

        <> 必选内容

        a|b二选一

        { }分组

        ...同一内容可出现多次

   DESCRIPTION 详细说明

   OPTIONS 选项说明

   EXAMPLES 示例

   FILES 相关文件

  -AUTHOR 作者

  -COPYRIGHT版本信息

  -REPORTING BUGS bug信息

  -SEE ALSO 其它帮助参考

备注:

   man命令的操作方法:使用less命令实现

   space, ^v, ^f, ^F: 向文件尾翻屏

   b, ^b: 向文件首部翻屏

   d, ^d: 向文件尾部翻半屏

   u, ^u: 向文件首部翻半屏

   RETURN, ^N, e, ^E or j or ^J: 向文件尾部翻一行y or ^Y or ^P or k or ^K:向文件首部翻一行

   q: 退出

   #:跳转至第#行

   1G: 回到文件首部

   G:翻至文件尾部

   打印man帮助文件的路径:man –w [章节] keyword

info (read Info documents)

     info [COMMAND]

     man常用于命令参考,GNU工具info适合通用文档参考。info没有参数,同时列出所有的页面。

  info 页面的结构就像一个网站,每一页分为“节点”,链接节点之前*

[root@RHEL-64-45 ~]# info ls

………

备注:

   方向键,PgUp,PgDn 导航

   Tab键移动到下一个链接

   d 显示主题目录

   Home 显示主题首部

   Enter进入选定链接

   n/p/u/l进入下/前/上一层/最后一个链接

   s文字文本搜索

   q退出info

Hash缓存表

   系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找。利用hash缓存表可大大提高命令的调用速率。

    hash常见用法

    hash 显示hash缓存

    hash –l 显示hash缓存,可作为输入使用

    hash –p path name 将命令全路径path起别名为name

    hash –t name 打印缓存中name的路径

    hash –d name 清除name缓存

    hash –r 清除缓存

    I、tab补全键(用好tab键)

命令补全

    程序在接收到用户执行命令的请求且分析完成之后,bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,用户给定的字符串只有一条惟一对应的命令,直接补全,否则,再次Tab会给出列表。

路径补全

    把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名,如果惟一:则直接补全;否则:再次Tab给出列表。

[root@RHEL-64-45 ~]#  Tab & Tab

Display all 2390 possibilities? (y or n)

………command 2Tab 所有子命令或文件补全

string2Tab 以string开头命令

/2Tab 显示所有根目录下一级目录,包括隐藏目录

./2Tab 当前目录下子目录,包括隐藏目录

*2Tab 当前目录下子目录,不包括隐藏目录

~2Tab 所有用户列表

$2Tab 所有变量

@2Tab /etc/hosts记录(centos7不支持)

=2Tab 相当于ls –A (centos7不支持)

显示当前工作目录及切换命令

pwd 命令:显示当前工作目录(printing working directory)。

 其他选项:-P 显示真实物理路径(查看链接文件查看路径方法)

[root@Redhat-7-43 ~]# echo $PWD

/root                                   当前目录路径

[root@Redhat-7-43 ~]#echo $OLDPWD

/etc                                         上一次目录路径

cd 命令:切换路径  (change directory)

cd [/PATH/TO/SONMEDIR] 

[root@Redhat-7-43 ~]# cd /etc

  [root@Redhat-7-43 etc]#cd

  [root@Redhat-7-43 ~]#                     直接切换到家目录下,~表示用户的家目录,(超级用户root家目录在 / 下,其他普通用户家目录在/home下)

    快捷操作: 

    切换至父目录:cd..

    切换至当前用户主目录:cd

    切换至以前的工作目录:cd-

可使用相对路径方式做目标; . 、..

查看块设备信息

[root@RHEL-64-45 ~]# lsblk

NAME                 MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sr0                   11:0    1  3.6G  0 rom  /media/RHEL_6.5 x86_64 Disc 1

sda                    8:0    0   10G  0 disk

├─sda1                 8:1    0  200M  0 part /boot

├─sda2                 8:2    0 1000M  0 part [SWAP]

└─sda3                 8:3    0  8.8G  0 part /

sdb                    8:16   0    1G  0 disk

└─sdb3                 8:19   0 1004M  0 part

  └─myvg-mylv (dm-0) 253:0    0  500M  0 lvm 

sdc                    8:32   0    1G  0 disk

sdd                    8:48   0    1G  0 disk

sde                    8:64   0    1G  0 disk

以上是关于Linux基础学习之基础命令--2019-11-14的主要内容,如果未能解决你的问题,请参考以下文章

linux学习之shell编程基础

linux学习之二:日常的基础命令收集

linux零基础学习之Linux sed 命令常用操作详解

Linux学习之二十一-shell编程基础

Linux学习之

Oracle菜鸟学习之 Oracle基础命令