Linux基础知识与命令

目录

一、Shell

1、Shell定义

2、不同的Shell环境

二、Linux命令的分类

1、Shell与内部命令、外部命令

2、help命令可以查看内部命令

3、使用type命令来区分内外部命令

4、开启或关闭内部命令

5、hash

三、命令行使用格式

1、格式

1)命令字

2)选项

3)参数

2、编辑Linux命令行的辅助操作

四、获得命令帮助

1、help

2、--help

3、man

4、info

五、目录与文件基本操作

1、pwd

2、cd

3、ls (list)

4、通配符

5、alias 别名

1)临时修改

2)永久修改

6、du

六、创建

1、创建目录(mkdir touch)

2、创建链接文件 -ln

3、复制文件或目录 -cp

4、删除文件或者目录-rm

七、总结


Linux优点

  1. 一切都是一个文件。(包括硬件,文本,二进制,源代码)

  2. 系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)

  3. 当遇到复杂任务,通过不同功能用途的程序组合起来完成。

  4. 避免令人困惑的用户界面就是没有复杂的图形界面。

  5. 连配置文件都存储在文本中,方便增删改查。

  6. 不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型。

一、Shell

1、Shell定义

Linux系统中运行的一种特殊程序,在用户和内核之间充当“翻译官”

用户登录Linux系统时,自动加载一个Shell程序

2、不同的Shell环境

Bash是Linux系统中默认使用的Shell程序

文件位于/bin/bash

[root@localhost ~]# echo $SHELL            //显示当前shell
/bin/bash
[root@localhost ~]# cat /etc/shells       //显示当前系统所有使用的shell
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
[root@localhost mnt]# sh                       切换shell环境
sh-4.2# 
[root@localhost mnt]# pstree                    查看使用过的shell环境
├─sshd───sshd───bash───csh───bash───tcsh───bash───pstree
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        ├─tuned───4*[{tuned}]
        ├─upowerd───2*[{upowerd}]
        ├─vmtoolsd───{vmtoolsd}
        ├─wpa_supplicant
        └─xdg-permission-───2*[{xdg-permission-}]

二、Linux命令的分类

1、Shell与内部命令、外部命令

内部命令 外部命令
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 Linux系统中能够完成特定功能的脚本文件或二进制程序
属于Shell的一部分 属于Shell解释器程序之外的命令
没有单独对应的系统文件 每个外部命令对应了系统中的一个文件
自动载入内存,可以直接使用 必须知道其对应的文件位置,由Shell加载后才能执行

2、help命令可以查看内部命令

[root@localhost opt]# help 
GNU bash, 版本 4.2.46(2)-release (x86_64-redhat-linux-gnu)
这些 shell 命令是内部定义的。请输入 `help' 以获取一个列表.
输入 `help 名称' 以得到有关函数`名称'的更多信息.
使用 `info bash' 来获得关于 shell 的更多一般性信息
使用 `man -k' 或 `info' 来获取不在列表中的命令的更多信息.

名称旁边的星号 (*) 意味着该命令被禁用.

 job_spec [&]                    history [-c] [-d 偏移量] >
 (( 表达式 ))                 if 命令; then 命令; [ el>
 . 文件名 [参数]            jobs [-lnprs] [任务声明 >
 :                               kill [-s 信号声明 | -n 
 [ 参数... ]                   let 参数 [参数 ...]
 [[ 表达式 ]]                 local [option] 名称[=值] >
 alias [-p] [名称[=值] ... >  logout [n]
 bg [任务声明 ...]           mapfile [-n 计数] [-O 起
 bind [-lpvsPVS] [-m 键映射>  popd [-n] [+N | -N]
 break [n]                       printf [-v var] 格式 [参
 builtin [shell 内嵌 [参数>  pushd [-n] [+N | -N | 目录>
 caller [表达式]              pwd [-LP]
 case 词 in [模式 [| 模式>  read [-ers] [-a 数组] [-d >
 cd [-L|[-P [-e]]] [dir]         readarray [-n 计数] [-O 賾
 command [-pVv] 命令 [参数>  readonly [-aAf] [name[=value>
 compgen [-abcdefgjksuv] [-o 缠 return [n]
 complete [-abcdefgjksuv] [-pr>  select NAME [in 词语 ... ;>
 compopt [-o|+o 选项] [-DE] >  set [-abefhkmnptuvxBCHP] [-o>
 continue [n]                    shift [n]
 coproc [名称] 命令 [重嬾  shopt [-pqsu] [-o] [选项厾
 declare [-aAfFgilrtux] [-p] [>  source 文件名 [参数]
 dirs [-clpv] [+N] [-N]          suspend [-f]
 disown [-h] [-ar] [任务声传 test [表达式]
 echo [-neE] [参数 ...]        time [-p] 管道
 enable [-a] [-dnps] [-f 文乾  times
 eval [参数 ...]               trap [-lp] [[参数] 信号
 exec [-cl] [-a 名称] [命乾  真
 exit [n]                        type [-afptP] 名称 [名称>
 export [-fn] [名称[=值] ..>  typeset [-aAfFgilrtux] [-p] >
 伪                             ulimit [-SHacdefilmnpqrstuvx>
 fc [-e 编辑器名] [-lnr] [>  umask [-p] [-S] [模式]
 fg [任务声明]               unalias [-a] 名称 [名称 >
 for 名称 [in 词语 ... ] ;>  unset [-f] [-v] [名称 ...]>
 for (( 表达式1; 表达式2>  until 命令; do 命令; don>
 function 名称 { 命令 ; } >  variables - 一些 shell 变>
 getopts 选项字符串 名祾  wait [编号]
 hash [-lr] [-p 路径名] [-d>  while 命令; do 命令; don>
 help [-dms] [模式 ...]        { 命令 ; }

3、使用type命令来区分内外部命令

[root@localhost /]# type cd         
cd 是 shell 内嵌                       //内嵌代表内部命令
[root@test1 /]# type -a ls
ls 是 `ls --color=auto' 的别名        //别名代表外部命令        
ls 是 /usr/bin/ls                    //外部命令会有程序路径
      
[root@localhost /]# whereis ls       //whereis 可以查找命令具体的位置所在
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

[root@localhost ~]# type -a echo 
echo 是 shell 内嵌
echo 是 /usr/bin/echo

外部命令存放于 echo $PATH  一个一个找,找到为止,找不到就报无命令
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
外部命令使用过后会被记录在内存(缓存,但是会占用内存,临时性的)加快读取速度
[root@localhost ~]# type useradd
useradd 是 /usr/sbin/useradd
[root@localhost ~]# useradd wu
[root@localhost ~]# type useradd 
useradd 已被哈希 (/usr/sbin/useradd)
[root@localhost ~]# hash                  //或者使用hash
使用过一次  外部命令  将会把该外部命令  缓存在hash
命中	命令
   1	/usr/bin/dd                       //前面数字代表用过几次
   2	/usr/sbin/useradd
   1	/usr/bin/whoami
   3	/usr/bin/ls
[root@localhost ~]# hash -d dd              //清楚dd命令缓存 -r全清
[root@localhost ~]#hash -r
[root@localhost ~]#hash
hash: 哈希表为空
#清除所有缓存
[root@localhost ~]# hash
命中	命令
   2	/usr/sbin/useradd
   1	/usr/bin/whoami
   3	/usr/bin/ls

[root@localhost ~]# which ping      //外部命令的磁盘路径 -a 所有
/usr/bin/[root@localhost ~]# which help    //内部命令找不到
/usr/bin/which: no help in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值