Linux基础命令

Linux基础命令

shell

定义:

是Linux系统中后台运行的一种特殊程序也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。

不同的shell:

在Linux中打开终端或用Xshell链接终端输入 cat /etc/shells 可以查看当前系统所以使用的shell

[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
shell的分类:
内部命令 外部命令
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 Linux系统中能够完成特定功能的脚本文件或二进制程序
属于Shell的一部分 属于Shell解释器程序之外的命令
没有单独对应的系统文件 每个外部命令对应了系统中的一个文件
自动载入内存,可以直接使用 必须知道其对应的文件位置,由Shell加载后才能执行

查看shell命令是否是内部还是外部用type

[root@localhost ~]# type help
help 是 shell 内嵌                 显示内嵌就是内部命令
[root@localhost ~]# 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


whereis用法:
 whereis [选项] 文件

选项:
 -b         只搜索二进制文件
 -B <目录>  定义二进制文件查找路径
 -m         只搜索 man 手册
 -M <目录>  定义 man 手册查找路径
 -s         只搜索源代码
 -S <目录>  定义源代码查找路径
 -f         终止 <目录> 参数列表
 -u         搜索不常见记录
 -l         输出有效查找路径

更多信息请参阅 whereis(1)。


外部命令存放于 echo $PATH  一个一个找,找到为止,找不到就报无命令
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
外部命令使用过后会被记录在内存(缓存,但是会占用内存,临时性的)加快读取速度
可以用hash查看缓存
[root@localhost ~]# 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


可以用help查看所以的内部命令

[root@localhost ~]# 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 偏移量] [n] 或 history ->
 (( 表达式 ))                                  if 命令; then 命令; [ elif 命令; then 
 . 文件名 [参数]                             jobs [-lnprs] [任务声明 ...] 或 jobs -x >
 :                                                kill [-s 信号声明 | -n 信号编号 | -佾
 [ 参数... ]                                    let 参数 [参数 ...]
 [[ 表达式 ]]                                  local [option] 名称[=值] ...
 alias [-p] [名称[=值] ... ]                   logout [n]
 bg [任务声明 ...]                            mapfile [-n 计数] [-O 起始序号] [-s 计>
 bind [-lpvsPVS] [-m 键映射] [-f 文件名] >  popd [-n] [+N | -N]
 break [n]                                        printf [-v var] 格式 [参数]
 builtin [shell 内嵌 [参数 ...]]              pushd [-n] [+N | -N | 目录]
 caller [表达式]                               pwd [-LP]
 case 词 in [模式 [| 模式]...) 命令 ;;].>  read [-ers] [-a 数组] [-d 分隔符] [-i 纾
 cd [-L|[-P [-e]]] [dir]                          readarray [-n 计数] [-O 起始序号] [-s 
 command [-pVv] 命令 [参数 ...]               readonly [-aAf] [name[=value] ...] or readonl>
 compgen [-abcdefgjksuv] [-o 选项]  [-A 动仾  return [n]
 complete [-abcdefgjksuv] [-pr] [-DE] [-o 选韾  select NAME [in 词语 ... ;] do 命令; done>
 compopt [-o|+o 选项] [-DE] [名称 ...]        set [-abefhkmnptuvxBCHP] [-o option-name] [-->
 continue [n]                                     shift [n]
 coproc [名称] 命令 [重定向]               shopt [-pqsu] [-o] [选项名 ...]
 declare [-aAfFgilrtux] [-p] [name[=value] ...]>  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] [名称[=值] ...] 或 export -p    typeset [-aAfFgilrtux] [-p] name[=value] ...
 伪                                              ulimit [-SHacdefilmnpqrstuvx] [限制]
 fc [-e 编辑器名] [-lnr] [起始] [终结] >  umask [-p] [-S] [模式]
 fg [任务声明]                                unalias [-a] 名称 [名称 ...]
 for 名称 [in 词语 ... ] ; do 命令; done    unset [-f] [-v] [名称 ...]
 for (( 表达式1; 表达式2; 表达式3 )); >  until 命令; do 命令; done
 function 名称 { 命令 ; } 或 name () { 命>  variables - 一些 shell 变量的名称和厾
 getopts 选项字符串 名称 [参数]          wait [编号]
 hash [-lr] [-p 路径名] [-dt] [名称 ...]     while 命令; do 命令; done
 help [-dms] [模式 ...]                         { 命令 ; }

编辑Linux命令行的辅助操作
快捷键 功能
Tab 键 自动补齐(两次可以显示所有选项)
反斜杠“\” 强制换行或转义
Ctrl+e 或 end 键 光标移到最后
Ctrl+U 清空至行首不包括当前光标处的 字符
Ctrl+K 清空至行尾包括当前光标处的字符
Ctrl+a 光标移到最前
Ctrl+w 从当前光标删除到开头
ALT+d 从当前光标删除末尾
Ctrl+l 清屏
Ctrl+c 取消本次命令编辑
Ctrl+s/Ctrl+q 锁屏/解锁
向上下箭头 回看执行过的命令
posted @ 2024-03-28 15:11  红荼  阅读(4)  评论(0编辑  收藏  举报