zoukankan      html  css  js  c++  java
  • 2-1 bash基本特性

    bash基本特性

    bash基本介绍

    bash是shell的一种,shell是计算机与用户交互的主要接口,狭义上的shell指的是CLI(command line interface命令行接口),用户输入命令,bash判断并执行。

    bash的登陆提示

    bash登陆时会有相应的提示,提示内容可以在相关文件中自定义,比如自定义一个欢迎页面,centos的自定界面在/etc/motd文件,这个文件默认是空的,Ubuntu的自定界面在~/.profile文件中,但是本身这个文件是有很多内容的,要追加不能覆盖。通过一些字符画工具制作登陆欢迎界面是个不错的选择。

    #CentOS
    sudo echo "welcome to here" >>/etc/motd
    
    #Ubuntu
    echo "welcome to here" >>~/.profile
    #双引号中的内容可以替换为任意你想在登陆界面显示的内容,Ubuntu下只针对当前登陆用户
    
    /etc/issue
    #issue文件中也可以增加登陆时显示的信息,同时可以使用
    ,l,t等选项分别显示不同的内容
    

    bash命令提示符

    bash的命令提示符默认由用户名+主机名+当前目录+命令标识符组成

    [root@centos ~]#
    #此即为命令提示符的默认形式,命令标识符为#为root用户为$则为普通用户
    

    命令提示符的样式可由PS1这个变量定义

    echo $PS1
    #输出PS1这个变量的值
    
    PS1="[e[1;5;41;33m][u@h W]\$[e[0m]"
    #将命令提示符的颜色更改为红色背景,黄色字体并且闪动,这个时变量的临时改变登出即丢失,如果想要永久改变需要写入文件
    
    #写入文件
    echo 'PS1="[e[1;5;41;33m][u@h W]\$[e[0m]"' >>/etc/profile.d/1.sh
    #这里的1.sh可以跟换成任意名称的.sh双引号总的内容可以更换为任意你想在登陆界面显示的内容
    

    主机名与系统内核版本

    主机名是安装时定义的名称以.分割,命令提示符只显示第一个.之前的内容。主机名需要有一定含义,主机名不能包含下划线,应用短横线代替。

    #显示主机名
    hostname 
    
    #显示Linux内核版本
    uname -r
    
    #显示操作系统版本
    lsb_release -a
    
    #CentOS7上没有预装这个命令
    cat /etc/redhat-release
    

    PATH环境变量

    echo $PATH
    #打印环境变量
    

    环境变量即为输入命令时bash会去查找的地方,如果在变量中的位置有这条命令就会执行,否则会提示command not found错误

    关闭和重启计算机

    init 0      #关闭计算机
    init 1      #切换为单用户模式
    init 2
    init 3      #切换为命令行模式
    init 4
    init 5      #切换为图形界面模式
    init 6      #重启计算机
    poweroff    #关闭电源即为关闭计算机
    halt        #关闭计算机
    reboot      #重新启动计算机
    shutdown    #-r重新启动;-h关闭计算机;后面跟时间即可指定时间关机
    

    内部命令、外部命令、命令别名与hash缓存机制

    内部命令:bash自带的命令,并且开机就加载在内存中
    外部命令:外部命令使用时,从硬盘里加载,如果命令不是内部命令,就从环境变量中找外部命令

    type COMMAND        #判断命令属于内部还是外部命令,内部命令会提示buttin外部命令则会提示路径
    
    enable              #查看内部命令,-n禁用内部命令
    
    alias               #显示含有别名的命令,NAME=”COMMAND“
    
    unalias             #取消命令别名
    
    hash                #查看已经缓存的外部命令,并且显示击中次数,-r清空缓存,-d删除某条缓存
    
    echo                #输出相应内容,既是内部命令又是外部命令
    

    内部命令、外部命令和命令别名的命令执行顺序:首先执行命令别名,其次执行内部命令,在hash中的外部命令,最后才是在环境变量寻找外部命令

    基本命令汇总

    lscpu                                           #查看cpu信息
    runlevel                                        #运行级别查看分别是上一次运行级别,这次运行级别
    tty                                             #查看当前终端
    free                                            #查看内存信息,还有另一种方法cat /proc/meminfo
    lsblk                                           #查看硬盘关盘等设备信息
    ip a                                            #查看IP地址等信息
    who                                             #查看当前谁在登陆
    whoami                                          #查看执行此命令的用户
    who am i                                        #查看执行命令用户的详细信息
    w                                               #查看当前此电脑有谁登陆,在执行什么命令
    echo '- - -' > /sys/class/scsi_host/host2/scan  #触发内核重新扫描硬盘  
    

    Xshell

    Xshell是一款好用的windows的ssh软件,可以连接Linux系统:

    1. 更改编码以防止乱码
    2. 完全版本可以将图形程序在windows打开窗口
    3. 可以传输文件
  • 相关阅读:
    Android的LinearLayout中orientation默认值为什么是HORIZONTAL
    Android中HttpURLConnection对象是怎么生成的
    记一个擦除硬盘数据,防止已删除文件被恢复的程序
    添加一个Android框架层的系统服务与实现服务的回调
    在 Activity 中实现 getContentView 操作
    (01)明明配置了log4j.properties为什么还是不打印日志
    (05)pom.xml文件报错web.xml is missing and <failOnMissingWebXml> is set to true
    (04)maven中的几个常用插件
    (03)开发环境eclipse、myEclipse本地tomcat调试发布maven项目遇到的糟心事
    (04)Storm与Kafka结合使用简单案例
  • 原文地址:https://www.cnblogs.com/kjalbert/p/11560063.html
Copyright © 2011-2022 走看看