命令解释器-Shell

目录

1. 概述

1.1. 概念

1.2. 分类:

1.3. type 命令

1.4.命令执行原理

2. Linux 中的特殊符号 

3. 命令别名

3.1. 查看设置的别名

3.2. 常用的别名

3.3. 删除别名

3.6. 注意(alias永久化):

4.  history 命令历史

例:


1. 概述

1.1. 概念

        shell:壳,命令解释器,负责解析用户输入的命令

硬件与内核直接还因有:驱动程序

        驱动程序:  是内核操控硬件的桥梁

内核主要做五件事:cup进程管理,内存存储空间管理,网络管理,硬盘的存储空间管理,外设管理

1.2. 分类:

        内置命令 (shell内置):shell为了完成自我管理和基本的管理,不同的shell内置不同的命令,但是大部分都 差不多

        外置命令:在文件系统的某个目录下,有个与命令名称相同的文件

1.3. type 命令

作用:

        查看命令类型:是内置命令、外置命名、alias命令

格式:     

            type   -参数     命令名

参数:

        type -a 列出当前命令可以如何执行

        type -t 仅列出命令按照哪种方式执行

 例:

1.4.命令执行原理

        系统为了让用户在命令行快速方便地执行命令,将可执行文件的路径存储在环境变量PATH中,使得shell知 道命令的可执行文件位置 PATH环境变量:当用户每次执行外部命令的时候都会去该变量所记录的路径下搜索和命令同名的二进制文 件,如果有则执行该二进制文件,如果没有则提示命令找不到。

        [root@server ~]# echo $PATH         /root/.local/bin:/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin

2. Linux 中的特殊符号 

3. 命令别名

作用

        别名:是命令的快捷方式,对于需要经常执行,并需要很长时间输入的长命令创建快捷方式很有用。         

格式

        alias         别名='原命令 - 参数'

3.1. 查看设置的别名

        [root@server /]# alias 

3.2. 常用的别名

untar='tar -zxvf '

         由于 tar 命令的参数太多不好记忆,所以将解压缩设为如下:

        alias untar='tar -zxvf '

wget='wget -c '(wget是下载文件的命令)

        下载大文件时的断点续连,防止网络异常中断:

        alias wget='wget -c '

getpass="openssl rand -base64 20"

        生成 20 个字符的随机数密码,使用 openssl 命令,但命令又很长不方便,可以设置别名:       

         alias getpass="openssl rand -base64 20"

ping='ping -c 5'

         ping url时会无限次输出,但其实没多大意义,可以使用 -c 命令将其限制为 5 次输出:

        alias ping='ping -c 5'

speed(测试网速命令

                 测试网速命令speedtest-cli ,为了方便使用可以设置别名:

下载pip: 安装: speedtest-cli是基于python编写的需要使用pip工具下载

                [root@server ~]# pip install speedtest-cli    (cli是客户端版)

此时代表pip安装成功

查看手册:

        利用help查看speedtest-cli命令所能使用的参数。

过滤中国地区的ISP列表

                [root@server ~]# speedtest-cli --list

--share分享,可以在网站查看生成的图片

        [root@server ~]#  speedtest-cli  --server   5530 --share

复制http://www.speedtest.net/result/15341342242.png在浏览器中打开,就会获得你此时的网速情况。

简要查看网速情况:

        [root@server ~]# speedtest-cli --server 5530 --simple

设置别名:需要更换id

[root@server ~]# alias speed="speedtest-cli --server 5530 --simple"

测试:

ipe:公网 IP别名设置

        查看电脑主机的公网IP:[root@server ~]# curl ipinfo.io/ip

[root@server ~]# alias ipe="curl ipinfo.io/ip"

 c 清屏

        一般使用 ctrl + l 快捷键,也可以将 clear 命令定义得更短,这样使用起来更直接,更粗暴。

        [root@server ~]# alias c="clear"

3.3. 删除别名

       格式:unalias    别名

例:

        [root@server ~]# unalias ping

3.6. 注意(alias永久化):

        在命令行中使用alias命令设置的别名仅在该次登入有效,如果重新开启一个 Shell,或者重新登录系统,则 这些alias将无法使用。

        在linux中提供alias永久化的方法:

        将别名命令写入到~/.bashrc/etc/bashrc文件中

        执行 source ~/.bashrc 和 source ~/etc/bashrc 生效

将别名命令写入到~/.bashrc

     [root@server ~]#  vim /root/.bashrc

进如后输入在文本模式下输入: alias hello="'hello,evertone' > /file2"保存并退出

此时该别名还未生效,因此执行以下命令将其生效:

        [root@server ~]# source   /root/.bashrc 

此时在root用户下该别名完成永久化!

若想要在全局使该别名完成永久化,则需要执行一下操作

将别名命令写入到/etc/bashrc

        root@server ~]# vim /etc/bashrc 

此时该别名还未生效,因此执行以下命令将其生效:

[root@server ~]# source   /etc/bashrc 

此时该别名完成全局永久化!

4.  history 命令历史

4.1. 作用

        history命令可以查阅命令历史记录

4.2. 格式

        history      -参数

4.3. 参数

        number:显示最近number条命令历史

        -c:清空当前历史命令

4.4. 设置history记录命令条数

        [root@server ~]# vim /etc/profile

                # 定位:HISTSIZE=1000

                 #退出后重启:reboot

例:

[root@server ~]# history 5   # 查看最近使用的5条命令。

        13 vim ~/.bashrc

        14 ping www.baidu.com

        15 source ~/.bashrc

        16 ping www.baidu.com

        17 history 5

[root@server ~]# !16                    # 将第16命令在执行一遍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/125989.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【状态估计】将变压器和LSTM与卡尔曼滤波器结合到EM算法中进行状态估计(Python代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

直线导轨坏了可以维修吗?

直线导轨是工业自动化设备中常用的零部件,其性能和使用寿命对设备的稳定运行和产能有着直接的影响,在生产中,由于各种原因,直线导轨会出现各种问题,那么,直线导轨的维修方法究竟是怎样的呢?我们…

计算机专业毕业设计项目推荐11-博客项目(Go+Vue+Mysql)

博客项目(GoVueMysql) **介绍****系统总体开发情况-功能模块****各部分模块实现** 介绍 本系列(后期可能博主会统一为专栏)博文献给即将毕业的计算机专业同学们,因为博主自身本科和硕士也是科班出生,所以也比较了解计算机专业的毕业设计流程以及模式&am…

竞赛选题 深度学习 opencv python 实现中国交通标志识别_1

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 🔥 优质…

【安鸾靶场】实战渗透

文章目录 前言一、租房网 (150分)二、企业网站 (300分)三、SQL注入进阶 (550分) 前言 最近看到安鸾的靶场有些比较有意思就打了一下午,有一定难度。 一、租房网 (150分) http://106.15.50.112:8031/ 刚打开burp就报了thinkphp的代码执行 直接getshell flag&a…

基于SpringBoot的学生选课系统

基于SpringBoot的学生选课系统的设计与实现,前后端分离 开发语言:Java数据库:MySQL技术:SpringBootMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 前台主页 登录界面 管理员界面 教师界面 学生界面 摘要 学生选课系统…

Javascript文件上传

什么是文件上传 文件上传包含两部分, 一部分是选择文件,包含所有相关的界面交互。一部分是网络传输,通过一个网络请求,将文件的数据携带过去,传递到服务器中,剩下的,在服务器中如何存储&#xf…

排序篇(三)----交换排序

排序篇(三)----交换排序 1.冒泡排序 基本思想: ​ 通过不断地比较相邻的元素,将较大的元素往后移动,从而实现排序的目的。 具体的步骤如下: 从待排序的数组中选择相邻的两个元素进行比较,如果前一个元素大于后一个元素&#…

面试官:听说你很懂SpringMVC,那讲讲其内部对于请求的处理吧!

前言 在当下这个时代,我们每天都会借助浏览器浏览很多内容。但你是否有考虑过当你在浏览器中访问某一个网址时候,这背后都发生了那些事情呢? 事实上,当在浏览器中键入url后,其背后的处理逻辑可大致如下图所示&#x…

跟着播客学英语-Why I use vim ? part one.

why-use-vim-01.png 最近这段时间在学英语,在网上看到有网友推荐可以听英文播客提高听力水平。 正好我自己也有听播客的习惯,只不过几乎都是中文,但现在我已经尝试听了一段时间的英文播客,觉得效果还不错。 大部分都是和 IT 相关的…