Loading

1-shell命令简介 快捷键

shell

两层意思shell语言、shell解释器

在os接口的基础上进行了封装得到的命令,命令的本质是软件。

系统/shell命令-》shell解释器-》系统接口-》内核-》硬件

python-》python解释器-》系统接口-》内核-》硬件

应用程序(go/c/c++)-》系统接口-》内核-》硬件

其他语言可以直接与系统接口打交道。

shell是解释器的统称,bash是具体的一种解释器

shell可以实现对linux系统的管理,后期用shell语言写出的程序称为脚本程序,实现对linux的自动化管理,例如定时备份数据文件。

1.文件管理

2.用户、权限管理

3.进程管理

4.磁盘管理

5.网络管理

6.软件管理

命令行模式登录后立刻执行一个shell解释器,进入家目录,一个交互式环境。(图形界面不同)

非交互式

改密码

passwd  root会出提示框让你输入密码,如何一步到位呢?即非交互式,将要做的事一行命令敲完,或者一个脚本文件执行。

echo "123" | passwd root --stdin

|的左边是一个进程,|右边是一个进程,而|就像是一个共享内存空间

echo 默认将右面的内容输入到屏幕上,有了|则丢入管道中,目的是让另一个命令拿。

命令:也是软件,只不过是封装的结果,运行的结果是进程,|左右两个进程内存彼此隔离。|提供共享内存机制。

命令运行完,进程就结束了,占用的内存空间被释放。

systemd这种祖宗进程不会关闭,除非服务器关闭。

shell命令格式

由命令   选项    参数组成。

命令:一个单词或多个单词缩写的组合,对应一个程序完成某功能。

选项:对命令的描述,更精细、精准的控制程序的运行,

参数:命令操作的对象。

分区

hdd的概念,在windows os层面为用户的是一个个文件夹,分区后的文件夹都是顶级文件夹。

在linux os中,没有那么复杂,顶级文件夹只有一个,就是根分区 /

而linux分区时有,/boot   /swap  /  ,/boot  /swap是/的子目录,那么如何存呢?

一个文件/boot/a.txt, /a/b/c.txt应该存到哪个分区呢?

linux os从头找,/a是不是挂载点,是则去那个挂载点的分区,都不是则放入根分区挂载点。

存是这样,找也一样。

bash快捷键

bash是一种shell

ctrl+c:强制终止命令程序的执行,例如top,或者命令不想执行了

ctrl+d:退出bash交互式环境。

ctrl+l:清屏

ctrl+a:行首

ctrl+e:行尾

ctrl+r:搜索历史命令,

   history显示所有历史命令,!2执行历史命令序号2

   history -c 清空内存中的历史命令

     cat ~/.bash_history:历史文件保存在当前用户的私人文件下,退出当前用户时,会把内存里面的历史命令记录到文件中

alt+.:引用上一命令的的最后一个参数  ls -l /a/b/c.txt  /a/1.txt  /b/2.txt,远程连接工具xshell不好用,必须到真正终端上才好用,所以意义不大。

  ls !$:!$表示取上一条命令的最后参数

ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.
 
ctrl+c是强制中断程序的执行,进程已经终止。
 
ctrl+z的是将任务中止(暂停的意思),但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,

用户可以使用fg/bg操作继续前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行.

命令别名

命令本身也是文件,存放在某个目录下

如which ls:查看命令文件的位置。

centos7中, rm -rf / 无法删根了,因为对命令做了处理。

alias rm='rm -i'做了提示

linux根据用户的权限不同,默认提供不同的命令别名。

取消别名:绝对路径运行命令,或者在开头加右斜杠

unalias 取消别名

命令分类

type echo:显示为内嵌,shell启动后自带的

type ls:显示为已被哈希,下次执行从哈希表中拿。

  从环境变量PATH中找到的,能从内存取不从硬盘PATH找,执行过一次后缓存到哈希表中,hash命令后可以看到命令被命中几次。hash  -r 清空hash缓存。

  下载的三方包,如果不在PATH中,只能用绝对路径运行。

type ifconfig:显示为一个路径,是一个三方包nettools的安装路径,也会被哈希。

帮助命令

man cd:manual人工手册

help cd :help是一个命令。

cd --help:属于命令的一部分,看开发者是否有加入--help选项,没有则不好用。

 

命令存在优先级,绝对路径优先级最高,次之别名,所以别乱起别名。

posted @ 2021-06-09 23:19  浅忆尘  阅读(195)  评论(0)    收藏  举报