4. Linux命令学习入门

Date:

2018-09-02

4.1. Linux的shell

linux命令的运行环境和基础是shell,命令通过shell才能调用系统。

shell的概念可以参考: shell百度百科

个人理解:

shell就是用户和操作系统内核交互的一个中间件。用户可以通过shell实现控制或调试内核输入输出等操作。

4.1.1. 查看当前的shell类型

注意

Linux的shell有很多种。但是一般linux默认是bash。

查看当前用户使用的shell类型:

1[root@zzjlogin ~]# echo $SHELL
2/bin/bash

4.1.2. 查看系统支持的所有shell类型

1[root@zzjlogin ~]# cat /etc/shells
2/bin/sh
3/bin/bash
4/sbin/nologin
5/bin/dash
6/bin/tcsh
7/bin/csh

4.2. 命令分类

内建命令

由shell自带。

外部命令

某路径下的可执行程序文件。

查询命令类型(是否是shell内置命令):

type

4.2.1. 查看命令类型

1[root@zzjlogin user1]# type cd
2cd is a shell builtin
3[root@zzjlogin user1]# type service
4service is /usr/sbin/service

4.2.2. 查询命令帮助

查找命令帮助的方法:
  1. command --help 或者 `` command -h``

    command 用对应的命令替换即可,这样查询,一般显示比较精简。

  2. man command

    一般命令都可以通过man查找对应的命令手册,这种man手册一般比较详细,存储路径一般是 /usr/share/man 或者软件安装目录对应的doc目录下面

  3. info command

    这种查询帮助也比较详细,但是一般都会用man,这种帮助查询看个人习惯来掌握。

  4. help command

    很多人没有注意过这种方式和第一种方式的区别。shell内置命令用man和查找时会看到所有shell内置的帮助,所以一般用这种方式查询帮助才是最好的方法。

4.2.3. 命令路径

Linux命令的存储路径一般是:
/usr/local/sbin

一般通过用户自己安装的,用来管理系统的软件的二进制文件命令,需要管理员权限运行的(这些软件一般不是系统必须安装的)

/usr/local/bin

一般是通过用户自己安装的,安装的普通软件的二进制文件命令,普通用户权限即可执行(这些软件一般不是系统必须安装的)

/sbin

一般用来存放管理系统的二进制程序,需要管理员权限可以执行/修改(showdown、ifconfig)

/bin

一般存放普通二进制程序,普通和系统管理员都可能会用到,一般普通用户即可执行(例如:ls、pwd等)

/usr/sbin

一般是存放一些不是系统必须的,可以由管理员使用,用来管理系统的工具的二进制程序(crond、ntpdate)

/usr/bin

一般是存放一些非系统必须的,普通用户和管理员都可能会用到的程序的二进制命令文件。(zip、yum)

Linux命令一般都不需要输入绝对路径就可以执行的原因:

因为和windows系统一样,Linux系统也有环境变量,当前用户环境的环境变量可以通过 PATH 这个系统变量查看。默认一般是:

查看当前环境变量:

1[root@zzjlogin ~]# echo $PATH
2/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
如果想把自己生成的二进制文件命令可以像系统命令一样在任何目录下直接输入命令不用绝对路径就可以执行的方法有两种:
  1. 把这个命令的二进制文件复制到上面PATH环境变量路径中的任意一个目录中,一般是 /usr/local/sbin 或者 /usr/local/bin

  2. 修改系统的环境变量,把二进制文件所在路径加入系统环境变量。但是如果要永久生效需要在文件 /etc/profile 中把对应的路径加入,并且修改当前的系统环境变量 PATH

4.3. 命令提示符

#:

系统管理员用户(超级管理/用户ID是0则会提示#)

$:

系统普通用户(用户ID不是0的用户)