您的位置:新葡亰496net > 电脑系统 > 新葡亰496net入门操作,功底知识

新葡亰496net入门操作,功底知识

发布时间:2019-11-10 07:17编辑:电脑系统浏览(196)

    基础知识

    1、LINUX 的文件系统

    centos6中默认为ext4文件系统,centos7中为xfs文件系统

    一、用户登录

    1、安装centos6.9和centos7.3时的分区情况

    /dev/sda1 mount /boot 1G - 主分区
    /dev/sda2 mount / 50G -主分区
    /dev/sda3 mount /app 40G -主分区
    /dev/sda4 1k 扩展分区
    /dev/sda5 swap 2G -逻辑分区(swap分区的大小一般为物理内存的2倍,虚拟机一般设置物理内存为1G,如果物理内存比较大swap根据情况设置)
    /etc和/dev不能当挂载点,不能和根分离。

    前言

    桥接和仅主机模式的区别

    2、常用系统查看命令

    查看cpu:cat /proc/cpuinfo、lscpu
    查看分区:cat /proc/partitions、fdisk -l、lsblk、df -h
    查看内存:cat /proc/meminfo、free -h
    查看版本号:cat /etc/centos-release、cat /etc/redhat-release、lsb_release -a

    root 用户一个特殊的管理帐户也被称为超级用户。

    Centos7中root的id是0

    [root@centos7 ~]#echo $UID
    0
    [root@centos7 ~]#id -u
    0
    

    2、LINUX 的文件系统

    centos6中默认为ext4文件系统,centos7中为xfs文件系统
    安装系统前要检查windows的磁盘是否为NTFS文件系统,如果不是可以以管理员身份进入cmd,输入命令:convert c:/fs:ntfs,可以将c盘转换为NTFS文件系统。

    直接已经教大家如何创建虚拟机和安装CentOS 操作系统了,那么今天就来开始入门吧。linux对于新手来说并不难,linux的构造  这篇博客里我已经讲解了,有兴趣最好看一下llinux下每个目录的作用。还有Linux的哲学思想。

    桥接模式

    在桥接模式下,相当于VM虚拟出了一个交换机,然后交换机也连接在物理的连接上,这时,虚拟主机都可以获取到和物理主机在同一个网段上的地址。所以可以通过桥接模式,来连接同一个局域网内的虚拟主机。比如你可以连接你的小伙伴的虚拟的主机,如果他也是桥接在当前的局域网中。

    3、终端

    • 虚拟终端:tty,Ctrl Alt F[1-6],可以切换终端。
    • 伪终端:图像界面打开的终端或者远程连接的终端,输入tty显示为/dev/pts/#
    • 物理终端:在VMware上输入init 1 ,也就是单用户登录,此时按Ctrl Alt F[1-6],没有反应,说明是单用户登录模式,此时输入tty,显示的是/dev/console。
      tty- 查看终端
      runlevel=who -r- 查看运行模式
      init 0- 关机
      init 1- 单用户
      init 3- 完全多用户
      init 5- 图形界面
      init 6- 重启

    普通(非特权 )用户

    Centos7普通用户的id是1000

    3、安装系统时用到的一些查看命令

    cat /proc/cpuinfo =lscpu(安装完系统后才能用)查看cpu
    cat /proc/partitions 查看分区
    cat /proc/meminfo 查看内存
    cat /etc/centos-release 查看版本号

    这里我就开始介绍了。

    仅主机模式

    在仅主机的模式下,也相当于虚拟出了一个虚拟交换机,各个虚拟机都连接在虚拟的交换机上,同时你的物理主机也会连接在这台交换机上,地址是由你的VMWare的DHCP服务来分配的,所以自己的虚拟主机之间是可以互通的,但是即使你和你的小伙伴的地址是同一个网段内的都是不可以互通的。

    4、命令提示符

    • 查看命令提示符格式:echo $PS1
    • 修改命令提示符格式
      PS1="[e[31m][u@h W] $[e[0m]"
      u 当前用户
      h 短主机名(默认)
      H 完整主机名
      w 当前工作目录(完整路径)
      W 当前工作目录基名(短路径,默认)
      t 24小时时间格式
      T 12小时时间格式
      $ 提示符(普通用户显示为字符$,root用户显示为字符#)
      # 开机后的命令历史数
    • 如何修改命令提示符颜色
      ①vim打开/etc/profile.d/env.sh输入如下图命令:

      新葡亰496net 1

      image.png

    保存退出后,输入:`. env.sh`或者`source env.sh`让文件生效即可。  
    ②如果只想对本地有效,可以vim打开`.bashrc`,输入如下图命令:  
    
    ![](https://upload-images.jianshu.io/upload_images/8938649-5e91adca9cc14a12.png)
    
    image.png
    
    
    保存退出后,输入:`. .bashrc`或者`source .bashrc`让文件生效即可。  
    **显示用户登录的提示信息,可以修改/etc/motd文件。**
    

    二、终端terminal

    4、如何设置开机自动登录

    • vim进入/etc/gdm/custom.conf,在[daemon]下面插入如下图的命令,重启后不用输入用户名和密码就可以自动登录。

    新葡亰496net 2

    QQ截图20170714223325.png

    一、用户登陆

    设备的文件名

    如linux的哲学思想所说一切皆文件,在linux中设备也可以看做成是文件,
    设备文件放在/dev目录下面,磁盘通过不同的接口接在设备上,其设备名也是不一样的。

    • IDE硬盘:/dev/hd[a-z]
    • SCSI硬盘:/dev/sd[a-z]
    • SATA硬盘:/dev/sd[a-z]
    • SAS硬盘:/dev/sd[a-z]
    • U盘:/dev/sd[a-z]
    • CDROM:/dev/sr0
      磁盘只有在分区之后才能使用,分区之后的命名为,这里就拿sda来说,比如第一个分区就叫做sda1,第二个分区就叫做sda2,以此类推!

    5、如何将windows中的中文转化为Linux格式

    在windows中用记事本写一段中文,上传至Linux中是无法识别的,要想识别,可以有两种方式:

    • 保存时将记事本的编码改为UTF-8,如下图所示
    ![](https://upload-images.jianshu.io/upload_images/8938649-22c5823d682bf289.png)
    
    image.png
    
    • 不修改编码,上传之后输入命令:iconv -f gb2312 win.txt -o linux.txt

    从windows上传至linux可以在xshell中使用rz命令上传。
    安装方法:yum install -y lrzsz

    设备终端

    键盘鼠标显示器

    新葡亰496net 3

    5、终端

    • 虚拟终端:tty,Ctrl Alt F[1-6],可以切换终端。
    • 伪终端:图像界面打开的终端或者远程连接的终端,输入tty显示为/dev/pts/#
    • 物理终端:在VMware上输入init 1 ,也就是单用户登录,此时按Ctrl Alt F[1-6],没有反应,说明是单用户登录模式,此时输入tty,显示的是/dev/console。
      tty- 查看终端
      runlevel=who -r- 查看运行模式
      init 3- 关图形
      init 5- 开图形
      init 6- 重启
      init 0- 关机

        在linux中,用户分为两种,

    终端terminal

    • 设备终端:比如我们使用的键盘,鼠标和显示器
    • 物理终端(/dev/console):控制台console口
    • 虚拟终端(/dev/tty,tty[2-6]):tty可以有N个,使用Ctrl Alt F[2-6]可以切换虚拟终端
    • 图形化终端(/dev/tty1):在Centos6中是Ctrl Alt F1,但是在Centos7中,在哪一个终端启动即位于哪一个终端上
    • 串行终端(/dev/ttyS#):串行终端由ttyS 数字,可以有很多个
    • 伪终端(/dev/pts/#):当使用xshell,CRT或者putty等客户端SSH连接到linux主机上的时候,就会有/dev/pts/0,后面的数字根据连接数递增
    • 命令提示符:[root@centos6 ~]# 是命令提示符,root代表当前用户,@后面的是档期那的主机名,相当于hostname,空格后面的用户是当前所在的目录,#代表是管理员账户,普通用户是$。

    6、内部命令和外部命令

    在shell中可执行的命令有两类

    • 内部命令:由shell自带的,而且通过某命令形式提供
      help 内部命令列表
      enable cmd 启用内部命令
      enable –n cmd 禁用内部命令
      enable –n 查看所有禁用的内部命令
    • 新葡亰496net入门操作,功底知识。外部命令:在文件系统路径下有对应的可执行程序文件
      查看路径:which|which -a |which--skip-alias |whereis
    • 区别指定的命令是内部或外部命令
      type COMMAND
      命令的执行顺序:别名-内部命令-hash-外部命令

    物理终端(/dev/console )

    控制台console
    在Linux 系统中,计算机显示器通常被称为控制台终端 (Console)。它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2 等。当你在控制台上登录时,使用的是tty1。使用Alt [F1—F6]组合键时,我们就可以切换到tty2、tty3等上面去。tty1–tty6等 称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名,系统所产生的信息会发送到该终端上(这时也叫控制台终端)

    新葡亰496net 4

    6、命令提示符

    • 查看命令提示符格式:echo $PS1
    • 修改命令提示符格式
      PS1="[e[31m][u@h W]$[e[0m]"
      e 33u 当前用户
      h 主机名简称H 主机名
      w 当前工作目录W 当前工作目录基名
      t 24小时时间格式T 12小时时间格式
      ! 命令历史数# 开机后命令历史数
    • 如何修改命令提示符颜色
      ①vim打开/etc/profile.d/env.sh输入如下图命令:

      新葡亰496net 5

      QQ截图20170715085517.png

    保存退出后,输入:**.** env.sh或者source env.sh让文件生效即可。  
    ②如果只想对本地有效,可以vim打开`.bashrc`,输入如下图命令:
    

    新葡亰496net 6

    QQ截图20170715091357.png

    保存退出后,输入:. .bashrc或者source .bashrc让文件生效即可。

            1.1 普通用户

    cat

    查看文件的内容,比如我们可以查看一下当前系统所安装的shell有哪些:

    [root@centos6 ~]# cat /etc/shells 
    /bin/sh
    /bin/bash
    /sbin/nologin
    /bin/dash
    /bin/tcsh
    /bin/csh
    

    还可以查看一下当前的shell:

    [root@centos6 ~]# echo $SHELL
    /bin/bash
    

    7、hash缓存表

    当一个Shell会话中第一次使用某个外部命令时,Shell会首先按照$PATH中的路径依次搜索,并将搜索到的路径缓存至hash表中。当此次会话再使用本命令时,直接使用内存中的hash表缓存,加快程序运行速度。

    • hash 显示hash缓存
    • hash –l 显示hash缓存的路径和名字
    • hash –d name 清除name缓存
    • hash –r 清除全部缓存

    虚拟终端(tty: teletypewriters, /dev/tty# #为[1-6])

    tty 可有n个, Ctrl Alt F[1-6]

    新葡亰496net 7

    显示用户登录的提示信息,可以修改/etc/motd文件。

                权限有限
                造成损害的能力比较有限

    type

    用来查看命令的类型,内置命令和外置命令会有不同的显示结果
    内置命令:

    [root@centos6 ~]# type cd
    cd is a shell builtin
    

    外置命令:会显示出外置命令的路径

    [root@centos6 ~]# type cat
    cat is hashed (/bin/cat)
    

    8、命令别名

    • 显示当前shell进程所有可用的命令别名:alias
    • 定义别名NAME:alias NAME='VALUE'
    • 如果想永久有效,要定义在配置文件中
      仅对当前用户:~/.bashrc
      对所有用户有效:/etc/bashrc
      编辑后的配置文件不会立即生效,需要bash重新读取配置文件
      . ~/.bashrc 或者source ~/.bashrc 均可
    • 撤消别名:unalias
    • 如果别名同原命令同名,如果要执行原命令,可使用

    图形终端(/dev/tty7 ) startx, xwindows

    CentOS 6: Ctrl Alt F7
    CentOS 7: 在哪个终端启动,即位于哪个虚拟终端

    新葡亰496net 8

    7、如何将windows中的中文转化为Linux格式

    在windows中用记事本写一段中文,用rz上传至Linux中是无法识别的,要想识别,可以有两种方式:

    • 保存时将记事本的编码改为UTF-8,如下图所示

    新葡亰496net 9

    QQ截图20170715092415.png

    • 不修改编码,上传之后输入命令:iconv -f gb2312 win.txt -o linux.txt

                这个用户相当于一个房子的租客,只能在自己租的区域里做事情。但不能对拆房子,或者买房子。

    which

    查看外部命令的路径

    [root@centos6 ~]# which cat
    /bin/cat
    

    9、注意

    多个选项以及多参数和命令之间使用空白字符分隔
    取消和结束命令执行:Ctrl c,Ctrl d
    多个命令可以用;符号分开
    一个命令可以用分成多行

    串行终端(/dev/ttyS# )

    ttyS
    串 行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。有段时间这些串行端口设备通常被称为终端设备,因为 那时它的最大用途就是用来连接终端。例如, 在命令行提示符下键入:echo test > /dev/ttyS1会把单词”test”发送到连接在ttyS1(COM2)端口的设备上。可接串口来实验。

    新葡亰496net 10

    8、内部命令和外部命令

    在shell中可执行的命令有两类

    • 内部命令:由shell自带的,而且通过某命令形式提供
      help内部命令列表
      enable cmd启用内部命令
      enable –n cmd禁用内部命令
      enable –n 查看所有禁用的内部命令
    • 外部命令:在文件系统路径下有对应的可执行程序文件
      查看路径:which|which -a |which--skip-alias |whereis
    • 区别指定的命令是内部或外部命令
      type COMMAND
      命令的执行顺序:别名-内部命令-hash-外部命令

            1.2 超级用户root :

    enable

    查看已经启用的内部命令

    • -n command:禁用指定的内部命令
    • -n:查看已经禁用的内部命令
    • -a:启用指定的内部命令
    [root@centos6 ~]# enable -n cd
    [root@centos6 ~]# enable -n
    enable -n cd
    [root@centos6 ~]# enable cd
    [root@centos6 ~]# enable -a |wc -l
    61
    

    伪终端(pty: pseudo-tty , /dev/pts/# )

    pty, SSH远程连接
    伪终端(Pseudo Terminal)是成对的逻辑终端设备(即master和slave设备, 对master的操作会反映到slave上)。
    例 如/dev/ptyp3和/dev/ttyp3(或者在设备文件系统中分别是/dev/pty/m3和 /dev/pty/s3)。它们与实际物理设备并不直接相关。如果一个程序把ptyp3(master设备)看作是一个串行端口设备,则它对该端口的读/ 写操作会反映在该逻辑终端设备对应的另一个ttyp3(slave设备)上面。而ttyp3则是另一个程序用于读写操作的逻辑设备。

    新葡亰496net 11

    查看当前的终端设备: #tty

    9、hash的用法

    hash 显示hash缓存
    hash –l 显示hash缓存的路径和名字
    hash –d name 清除name缓存
    hash –r 清除全部缓存

                一个特殊的管理帐户
                也被称为超级用户
                root已接近完整的系统控制
                对系统损害几乎有无限的能力
                除非必要,不要登录为root
                这个用户对简单的来说就是一个房子的房东,他想对房子做什么就做什么因为房子是他的。他想干什么就干什么。(无敌的存在— —.)

    hash

    外部命令在第一次执行的时候,会在系统下的路径去找,当执行过以后就会缓存下来,可以通过hash查看缓存的命令

    • -d command:删除指定的hash
    • -r:清除所有的hash
    [root@centos6 ~]# hash
    hits    command
       2    /usr/bin/tty
       1    /bin/cat
       9    /bin/date
       1    /usr/bin/man
    [root@centos6 ~]# type cat
    cat is hashed (/bin/cat)
    

    交互式接口

    10、命令别名

    • 显示当前shell进程所有可用的命令别名:alias
    • 定义别名NAME:alias NAME='VALUE'
    • 如果想永久有效,要定义在配置文件中
      仅对当前用户:~/.bashrc
      对所有用户有效:/etc/bashrc
    • 撤消别名:unalias
    • 如果别名同原命令同名,如果要执行原命令,可使用

    二、终端(terminal)

    alias

    查看别名或定义别名

    [root@centos6 ~]# alias
    alias copy='cp'
    alias cp='cp -i'
    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    alias ls='ls --color=auto'
    alias mv='mv -i'
    alias rm='rm -i'
    alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
    

    定义新的别名

    [root@centos6 ~]# alias copy=cp
    

    取消别名

    [root@centos6 ~]# unalias copy
    

    取消所有别名

    [root@centos6 ~]# unalias -a
    

    当前定义的别名只在本次会话中有效,重启终端以后不会生效,如果想对当前用户生效,可以将别名写入~/.bashrc,如果想对本机所有用户生效,可以将别名写入/etc/.bashrc

    [root@centos7 ~]# cat .bashrc
    # .bashrc
    
    # User specific aliases and functions
    
    alias rm='rm -i'
    alias cp='cp -i'
    alias mv='mv -i'
    
    # Source global definitions
    if [ -f /etc/bashrc ]; then
        . /etc/bashrc
    fi
    

    交互式接口:启动终端后,在终端设备附加一个交互式应用程序

    11、注意

    多个选项以及多参数和命令之间使用空白字符分隔
    取消和结束命令执行:Ctrl cCtrl d
    多个命令可以用;符号分开
    一个命令可以用分成多行

        这个是用来对linux进行操作的,与windows不同,linux因为不同于windows的哲学思想,所以在linux想要最直观的的结果,那就是在字符界面下进行操作了,在字符界面下操作就离不开一种工具那就是终端,当然终端用很多种,比如在windows下去链接linux的终端软件可以使用Xshell和secureCRT进行对系统的管理。

    命令执行的优先顺序

    GUI: Graphic User Interface

    X protocol, window manager, desktop
    Desktop:
    GNOME (C, 图形库gtk),
    KDE (C ,图形库qt)
    XFCE (轻量级桌面)
    带桌面的有图像的操作方式属于图形接口

    新葡亰496net 12

        当然在Linux下也有不同的终端

    alias>内部命令>外部命令(hash>PATH)

    执行一条命令的时候,会现在alias中查找,如果找不到就在内部命令中去查找,如果还找不到的话就在外部命令中去查找,如果依然找不到的话就会在hash缓存中去查找,最后找不到的话就会去PATH下去找。

    那怎么使用命令不受别名的影响呢?

    • /bin/ls:路径执行
    • ls:反斜线
    • 'ls':单引号
    • "ls":双引号

    CLI: Command Line Interface

    shell程序: sh (bourn 史蒂夫·伯恩) csh tcsh
    ksh (korn) bash (bourn again shell)GPL zsh
    基于命令行界面的

    新葡亰496net 13

        2.1 设备终端
            键盘鼠标显示器
        2.2 物理终端(/dev/console )
            控制台console
        2.3 虚拟终端(tty:teletypewriters,/dev/tty# #为[1-6])
            tty 可有n个,Ctrl Alt F[1-6]
        2.4 图形终端(/dev/tty7 )startx, xwindows
            CentOS 6: Ctrl Alt F7
            CentOS 7: 在哪个终端启动,即位于哪个虚拟终端
        2.5 串行终端(/dev/ttyS# )
            ttyS(基本没人用了)
        2.6 伪终端(pty:pseudo-tty ,/dev/pts/# )
            pty, SSH远程连接
        2.7 当然我们查看终端的命令是:#tty      

    命令的格式

    command options arguments:options是选项,arguments是参数

    三、什么是Shell

       [→_→TianRandai的滑稽脸]  我们得知道我们用的是什么终端吗

    date

    查看日期,此为软时间

    [root@centos6 ~]# date
    Thu May 17 19:19:07 CST 2018
    

    输出指定格式的日期

    [root@centos6 ~]# date " %F %T %u"
    2018-05-17 19:23:53 4
    

    设置软时间

    [root@centos6 ~]# date -s "2018-5-12 12:12:12"
    Sat May 12 12:12:12 CST 2018
    

    Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行

    shell也被称为LINUX的命令解释器( command interpreter)
    shell是一种高级程序设计语言
    操作系统与外部最主要的接口就叫做shell。shell是操作系统最外面的一层。shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。
    Shell提供了你与操作系统之间通讯的方式。这种通讯可以以交互方式(从键盘输入,并且可以立即得到响应),或者以shell script(非交互)方式执行。shell script是放在文件中的一串shell和操作系统命令,它们可以被重复使用。本质上,shell script是命令行命令简单的组合到一个文件里面。
    Shell基本上是一个命令解释器,类似于DOS下的command.com。它接收用户命令(如ls等),然后调用相应的应用程序。较为通用的shell有标准的Bourne shell (sh)和C shell (csh)。

    新葡亰496net 14

    三、shell是什么?

    cal

    显示当前月份的日历

    [root@centos6 ~]# cal
          May 2018      
    Su Mo Tu We Th Fr Sa
           1  2  3  4  5
     6  7  8  9 10 11 12
    13 14 15 16 17 18 19
    20 21 22 23 24 25 26
    27 28 29 30 31
    

    显示指定的年月

    [root@centos6 ~]# cal 8 2018
         August 2018    
    Su Mo Tu We Th Fr Sa
              1  2  3  4
     5  6  7  8  9 10 11
    12 13 14 15 16 17 18
    19 20 21 22 23 24 25
    26 27 28 29 30 31
    

    bash shell

    GNU Bourne-Again Shell(bash)是GNU计划中重要的工
    具软件之一,目前也是 Linux标准的shell,与sh兼容
    CentOS默认使用
    显示当前使用的shell
    echo ${SHELL}
    显示当前系统使用的所有shell
    cat /etc/shells

        3.1 Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。我们都知道kernel是执行二进制命令的,但是我们不可能去输入二进制啊,那太多也太麻烦了想一想一条命令要用多少个1和0啊,所以我们的shell 就是来做翻译的,将我们看的懂的命令翻译成二进制命令,发送到kernel来让kernel执行二进制命令,kernel执行命令后回执的二进制结果,通过shell 在翻译成我们看的懂的语言,额...就是类似翻译机的软件。当然shell也是一种高级程序设计语言。

    clock和hwclock

    显示硬件时间

    • -s:将硬件时间写到软件时间
    • -w:将软件时间写到硬件时间
    [root@centos6 ~]# date
    Wed Aug  8 18:18:20 CST 2018
    [root@centos6 ~]# clock -s
    [root@centos6 ~]# date
    Thu May 17 20:24:33 CST 2018
    

    四、命令提示符

       [→_→TianRandai的滑稽脸] shell 脚本,听说过么?  没有! 以后会听说的。

    关机

    • init 0:关机
    • init 6:重启
    • poweroff
    • shutdown -h minute:多少分钟后关机
    • shutdown -h 0:立即关机
    • shutdown 19:11:指定时间关机
    • shutdown -c:取消关机

    命令提示符: prompt

    [root@centos7 ~]#
    root代表当前登录的用户,在Linux中管理员账户是root
    centos7 当前计算机主机名
    @ 分隔符
    ~ 当前所在家目录
    · #超级用户提示符,普通用户的提示符是$

        新葡亰496net 15

    显示当前用户

    显示提示符格式

    [root@centos7 ~]#echo $PS1

           3.2 当然有了shell 就会有shell 的种类,想CentOS中使用的shel l就是 bash (Bourne-Again Shell),也是目前Linux标准的shell    

    whoami

    显示当前的用户

    [root@centos6 ~]# whoami
    root
    

    修改提示符格式

    PS1="[e[31m][u@h W]$[e[0m]"
    e 33 u 当前用户
    h 主机名简称 H 主机名
    w 当前工作目录 W 当前工作目录基名
    t 24小时时间格式 T 12小时时间格式
    ! 命令历史数 # 开机后命令历史数
    颜色代码
    背景色 字体色
    40: 黑 30: 黑
    41: 红 31: 红
    42: 绿 32: 绿
    43: 黄 33: 黄
    44: 蓝 34: 蓝
    45: 紫 35: 紫
    46: 深绿 36: 深绿
    47: 白色 37: 白色

            [→_→TianRandai的滑稽脸](注释:GNU Bourne-Again Shell(bash)是GNU计划中重要的工具软件之一,与sh兼容)

    who am i

    显示当前用户的详细信息

    [root@centos6 ~]# who am i
    root     pts/0        2018-05-17 14:01 (172.18.118.140)
    

    执行命令

    输入命令后回车
    提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来

           新葡亰496net 16

    who

    显示当前所有用户

    [root@centos6 ~]# who
    root     pts/0        2018-05-17 14:01 (172.18.118.140)
    root     pts/1        2018-05-17 14:55 (172.18.118.140)
    

    在shell中可执行的命令有两类

    linux中的命令大致可分为两类,内部命令和外部命令

            

    w

    显示当前所有用户的详细信息

    [root@centos6 ~]# w
     20:59:59 up  6:07,  2 users,  load average: 0.00, 0.00, 0.00
    USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/0    172.18.118.140   14:01    1.00s  2.42s  0.60s w
    root     pts/1    172.18.118.140   14:55    1:39m  3.68s  0.01s man date
    

    内部命令:由shell自带的,而且通过某命令形式提供,也称shell内嵌命令;

    help 内部命令列表
    enable cmd 启用内部命令
    enable –n cmd 禁用内部命令
    enable –n 查看所有禁用的内部命令

            3.3 命令提示符:prompt  (这不是命令 →_→)

    screen

    外部命令:存放在一个文件中,使用时需要去文件中查找,这些文件被定义在$PATH

    [root@centos7 ~]# echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    type命令可以查看命令类型,以区别是内部命令还是外部命令

    [root@centos7 ~]# type cd
    cd is a shell builtin
    [root@centos7 ~]# type ls
    ls is aliased to `ls --color=auto'
    [root@centos7 ~]# type ifconfig
    ifconfig is /usr/sbin/ifconfig
    

    可以看到,cd为shell内嵌命令,ls命令为ls --color=auto的别名,ifconfig命令为外部命令在文件/usr/sbin/ifconfig中
    执行外部命令

            新葡亰496net 17

    使用场景

    比如复制一个很大的文件时,系统会等待复制完成才可以继续输入命令,而且一旦不小心关闭终端,复制就结束了,这样就要用到screen。

    Hash缓存表

    系统初始hash表为空,当外部命令执行时,默认会从
    PATH路径下寻找该命令,找到后会将这条命令的路径记录到
    hash表中,当再次使用该命令时, shell解释器首先会查看hash
    表,存在将执行之,如果不存在,将会去PATH路径下寻找。利
    用hash缓存表可大大提高命令的调用速率

            新葡亰496net 18

    screen的安装

    [root@centos6 ~]# mount /dev/sr0 /media/
    mount: block device /dev/sr0 is write-protected, mounting read-only
    [root@centos6 ~]# rpm -ivh /media/Packages/screen-4.0.3-19.el6.x86_64.rpm 
    warning: /media/Packages/screen-4.0.3-19.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
    Preparing...                ########################################### [100%]
        package screen-4.0.3-19.el6.x86_64 is already installed
    

    hash常见用法

    hash 显示hash缓存
    hash –l 显示hash缓存,可作为输入使用
    hash –p path name 将命令全路径path起别名为name
    hash –t name 打印缓存中name的路径
    hash –d name 清除name缓存
    hash –r 清除缓存

                3.3.1 显示命令提示符的格式

    echo

    输出,相当于易语言的调试输出或者java的println

    [root@centos6 ~]# echo nihao
    nihao
    [root@centos6 ~]# echo $SHELL
    /bin/bash
    

    发出报警声,e表示扩展

    [root@centos6 ~]# echo -e "a"
    

    命令别名

    显示当前shell进程所有可用的命令别名
    alias
    定义别名NAME,其相当于执行命令VALUE
    alias NAME='VALUE'
    在命令行中定义的别名,仅对当前shell进程有效
    如果想永久有效,要定义在配置文件中
    仅对当前用户: ~/.bashrc
    对所有用户有效: /etc/bashrc

                新葡亰496net 19

    $的用法

    $varname:引用变量的值

    [root@centos6 ~]# echo $PATH
    /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
    [root@centos6 ~]# a=1
    [root@centos6 ~]# echo $a
    1
    

    $()或反引号:引用命令的执行结果
    创建一个当前时间的txt文件

    [root@centos6 ~]# touch $(date " %H时%M分%S秒").txt
    [root@centos6 ~]# ls
    21时16分59秒.txt  Documents    install.log.syslog  Public
    anaconda-ks.cfg   Downloads    Music           Templates
    Desktop       install.log  Pictures        Videos
    

    $[]或$(()):表示算术运算

    [root@centos6 ~]# echo $[19 10]
    29
    [root@centos6 ~]# echo $((19 10))
    29
    

    ${}或$varname
    强调了变量的起始和终止的范围

    [root@centos6 ~]# s=123
    [root@centos6 ~]# echo ${s}456
    123456
    

    编辑配置给出的新配置不会立即生效

    bash进程重新读取配置文件
    source /path/to/config_file
    . /path/to/config_file
    撤消别名: unalias
    unalias [-a] name [name ...]
    -a 取消所有别名
    如果别名同原命令同名,如果要执行原命令,可使用
    “COMMAND”
    ’COMMAND’
    /PATH/COMMAND:外部命令

                3.3.2 修改提示符格式
                PS1="[e[31m][u@h W]\$[e[0m]"
                e 33                            u 当前用户 
                h 主机名简称                   H 主机名
                w 当前工作目录               W 当前工作目录基名
                t 24小时时间格式             T 12小时时间格式
                ! 命令历史数                    # 开机后命令历史数
               [→_→TianRandai的滑稽脸](注释:[32m]这里是颜色,颜色可以使用这条命令查看,数字应对的颜色cat /etc/DIR_COLORS)

    {}的用法

    连续的值:

    [root@centos6 ~]# echo {1..10}
    1 2 3 4 5 6 7 8 9 10
    [root@centos6 ~]# echo {a..z}
    a b c d e f g h i j k l m n o p q r s t u v w x y z
    [root@centos6 ~]# echo {A..z}
    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [  ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z
    

    添加步长

    [root@centos6 ~]# echo {1..10..2}
    1 3 5 7 9
    

    命令的概念

    四、命令的执行

    history

    查看命令历史

    • -c:清空历史
    • -a:追加本次会话新执行的命令历史至历史文件
    • -w /PATH/TO/SOMEFILE:保存历史列表到指定的历史文件
    • -r:读取历史文件中的所有历史到当前终端的历史
    • -n:仅读取未度过的历史到当前终端的历史缓存
    • !n:执行第n条的命令
    • !!:再执行一次上次执行的命令
    • Ctrl r:来在命令历史中搜索命令
    • Ctrl g:从历史搜索模式退出
    [root@centos6 ~]# history 
        1  ifconfig 
        2  ifcon
        3  ifconfig 
        4  ls
        5  ls -l
        6  ls -a
    

    在登录shell的时候,会读取命令历史文件中的记录,在~/.bash_history里面,登录进shell后新执行的命令是保存在缓存中的,这些命令在退出shell的时候才会追加到.bash_history中。

    命令的执行过程

    系统第一次执行外部命令时Hash缓存表为空,系统会先从PTAH路径下寻找命令,找到后会将路径加入到Hasa缓存中,当再次执行此命令时会直接从Hash的路径下执行,如果存在直接执行,如果不存在将继续从PATH下的路径继续查找,Hash表可以提高命令的调用速率。

            4.1我们如何在终端中执行一条命令呢?

    bash常用的快捷键介绍

    • Ctrl l: 清屏,相当于clear
    • Ctrl c: 终止命令
    • Alt number: 按住Alt输入指定数字后,松开Alt,输入字符 重复显示该字符n次
    • Alt .: 重新调用前一个命令中最后一个参数

    命令的优先级

    alias -------------------------------------别名
      builtin------------------------------内部命令
        hash-------------------------缓存表
          $PATH---------------可执行程序或脚本(外部命令)

    命令执行优先级: 别名>内部命令>hash>外部命令

            首先打开一个终端,在终端的命令提示附后输入命令然后回车:

    命令的基本格式

    COMMAND [OPTIONS...] [ARGUMENTS...]
    选项:用于启用或关闭命令的某个或某些功能
    短选项: -c 例如: -l, -h
    长选项: --word 例如: --all, --human-readable
    参数:命令的作用对象,比如文件名,用户名等
    注意:
    多个选项以及多参数和命令之间使用空白字符分隔
    取消和结束命令执行: Ctrl c, Ctrl d
    多个命令可以用;符号分开
    一个命令可以用分成多行

                然后,提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来。

    格式一般是 命令 [选项] [参数]

    []表示可选
    个别命令不遵循此格式,当有多个选项时,可以写在一起
    简化选项:-a
    完整选项:--all
    -a = --all

    查询目录中的内容:ls
    ls [选项] [文件或目录]
    选项:
    -a:显示所有文件,包括隐藏文件
    -l:显示详细信息
    -d:查看某属性
    -h:人性化显示文件大小
    -i:显示inode (i节点,判断文件的所在位置)

    ls 显示目录
    ls -l 长格式显示(long)

            4.2在shell中可执行的命令有两类:
                内部命令:由shell自带的,而且通过某命令形式提供
                help 内部命令列表
                enable cmd可以启用
                enable –n cmd禁用内部命令
                enable –n 查看所有禁用的内部命令
                 [→_→TianRandai的滑稽脸](注释:cmd不是命令,这里只带应该输入命令)

    五、简单命令

            4.3外部命令:在文件系统路径下有对应的可执行程序文件
                查看路径:which -a |--skip-alias; whereis

    date 显示日期和时间

                新葡亰496net 20
            4.4区别指定的命令是内部或外部命令:
                # type COMMAND
                新葡亰496net 21

    Linux的两种时钟

    系统时钟:由Linux内核通过CPU的工作频率进行的
    硬件时钟:主板
    hwclock, clock: 显示硬件时钟
    新葡亰496net,-s, --hctosys 以硬件时钟为准,校正系统时钟
    -w, --systohc 以系统时钟为准, 校正硬件时钟
    时区: /etc/localtime
    cal 显示日历
    cal –y
    nano 文本编辑

    五、执行外部命令

    关机: halt, poweroff

            5.1Hash缓存表:
    系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找。利用hash缓存表可大大提高命令的调用速率
            5.2 Hash常见用法:

    重启: reboot

    -f: 强制,不调用shutdown
    -p: 切断电源
    关机或重启: shutdown
    shutdown [OPTION]... TIME [MESSAGE]
    -r: reboot
    -h: halt
    -c: cancel
    TIME:无指定,默认相当于 1
    now: 立刻,相当于 0
    m: 相对时间表示法,几分钟之后;例如 3
    hh:mm: 绝对时间表示,指明具体时间

                hash 显示hash缓存
                hash –l 显示hash缓存,可作为输入使用
                hash –p path name 将命令全路径path起别名为name
                hash –t name 打印缓存中name的路径
                hash –d name 清除name缓存
                hash –r 清除缓存

    用户登录信息查看命令:

    whoami: 显示当前登录有效用户
    who: 系统当前所有的登录会话
    w: 系统当前所有的登录会话及所做的操作

               [→_→TianRandai的滑稽脸](注释:运行过的命令hash会记录下来,当内存记录下来后,系统便不会找硬盘中的命令(只有外部命令才会存放在hash中))

    screen命令:

    创建新screen会话
    screen –S [SESSION]
    加入screen会话
    screen –x [SESSION]
    退出并关闭screen会话
    exit
    剥离当前screen会话
    Ctrl a,d
    显示所有已经打开的screen会话
    screen -ls
    恢复某screen会话
    screen -r [SESSION]

                新葡亰496net 22

    echo命令

    功能:显示字符
    语法: echo [-neE][字符串]
    说明: echo会将输入的字符串送往标准输出。输出的字
    符串间以空白字符隔开, 并在最后加上换行号
    选项:
    -E (默认)不支持 解释功能
    -n 不自动换行
    -e 启用 字符的解释功能

                 [→_→TianRandai的滑稽脸](注释:1.我在hash缓存表中将/etc/abc文件定义为vi命令,在执行vi命令,这里提示没有abc文件或者目录,这证明系统在运行外部命令时,先从缓存中找,找到则执行,找不到则在去硬盘找。)

    显示变量

    echo "$VAR_NAME“ 变量会替换,弱引用
    echo '$VAR_NAME‘ 变量不会替换,强引用

    六、命令别名

    启用命令选项-e, 若字符串中出现以下字符,则特

    别加以处理,而不会将它当成一般文字输出
    a 发出警告声
    b 退格键
    c 最后不加上换行符号
    n 换行且光标移至行首
    r 回车,即光标移至行首,但不换行
    t 插入tab
    插入字符
    nnn 插入nnn(八进制)所代表的ASCII字符
    echo -e '33[43;31;5mmagedu33[0m'
    xHH插入HH(十六进制)所代表的ASCII字

                6.1定义别名

                #alias 

            定义别名NAME,其相当于执行命令VALUE
                #alias NAME='VALUE'
    新葡亰496net 23

                [→_→TianRandai的滑稽脸](注释:直接输入alias 查询现有的别名)

                新葡亰496net 24

                6.2取消别名

                #unalias 

                    格式:   unalias   别名

                        新葡亰496net 25

                [→_→TianRandai的滑稽脸](注释:以上方法都是临时建立别名的方法,重启失效,若想开机生效则要写入到特定的文件中   ~/.bashrc只对当前用户有效    /etc/bashrc对所有用户都有效)

                [→_→TianRandai的滑稽脸](注释:对于写完文件想要文件立刻生效需要一些其他的命令)

                        source .bashrc   或者  .  .bashrc让进程重新读取配置文件

                       新葡亰496net 26

               [→_→TianRandai的滑稽脸](注释:这里echo命令是输出字符串,>>是重定向 ,不要纠结第一条命令,以后会讲到的,现在同学们只需要知道这条命令是将alias ifeth0="ifconfig ens33写入到.bashrc中就好了。)

                [→_→TianRandai的滑稽脸](注释:系统中原本是没有ifeth0这条命令的,这条命令是我自己定义出来的别名。)

                [→_→TianRandai的滑稽脸](注释:这里解释一下系统执行命令运行的优先级,1.别名    2.内部命令    3.外部命令)

    六、 命令格式

                命令的书写也是要按照特定格式的,朋友们,这东西不能胡乱写。

                                    COMMAND [OPTIONS...] [ARGUMENTS...]

                翻译过来就是     命令   选项   参数

                    选项:用于启用或关闭命令的某个或某些功能;
                        短选项:-c, 例如:-l, -h
                        长选项:--word,例如:--all, --human-readable
                    参数:命令的作用对象,比如文件名,用户名等

                [→_→TianRandai的滑稽脸](注释:有些命令是可以跟参数,选项执行的。有一些则需要跟上参数,选项执行)                         

                [→_→TianRandai的滑稽脸](注释“[]”中括号是可选项,这个...应该都知道吧。)

                注意:
                    1、多选项,以及多参数和命令之间使用空白字符分隔
                    2、取消和结束命令执行:Ctrl c,Ctrl d
                    3、多个命令可以用;符号分开
                    4、一个命令可以用分成多行

    七、显示日期和时间

            #date

            #date  月份日期小时分钟年份.秒钟

            新葡亰496net 27
         Linux的两种时钟
            系统时钟:由Linux内核通过CPU的工作频率进行的
            硬件时钟:主板
                hwclock,clock: 显示硬件时钟

                    -s, --hctosys以硬件时钟为准,校正系统时钟
                    -w, --systohc以系统时钟为准,校正硬件时钟

            新葡亰496net 28
            时区:/etc/localtime
                cal显示日历

                新葡亰496net 29
                cal–y
                nano文本编辑

                新葡亰496net 30

    八、关机重启

            关机:halt, poweroff
            重启:reboot
                -f: 强制,不调用shutdown
                -p: 切断电源
            关机或重启:shutdown
                shutdown [OPTION]... TIME [MESSAGE]
                -r: reboot
                -h: halt
                -c:cancel
                TIME:now: 立刻
                 m: 相对时间表示法,多久之后;例如 3
                hh:mm: 绝对时间表示,指明具体时间

    九、用户登录信息查看命令:
            whoami: 显示当前登录有效用户

            新葡亰496net 31
            who: 系统当前所有的登录会话

            新葡亰496net 32
            w: 系统当前所有的登录会话及所做的操作

            新葡亰496net 33

            who am i 显示的是实际用户的用户名,即用户登陆的时候的用户ID

            新葡亰496net 34

    十、screen命令:
            创建新screen会话:
                screen –S [SESSION]
            加入screen会话:
                screen –x [SESSION]
            退出并关闭screen会话:
                exit
            剥离当前screen会话:
                Ctrl a,d
            显示所有已经打开的screen会话:
                screen -ls
            恢复某screen会话
                screen -r [SESSION]

            [→_→TianRandai的滑稽脸](注释:这是一个类似远程共享终端的命令,它可能需要单独安装。)

                挂载好镜像,下面是Centos7的安装命令

                    [root@centos7 Packages]#cd /run/media/root/CentOS 7 x86_64/Packages/ 
                    [root@centos7 Packages]#rpm -ivh screen-4.1.0-0.23.20120314git3c2946.el7_2.x86_64.rpm

                挂载好镜像,下面是Centos7的安装命令

                    [root@centos6 Packages]#mount /dev/cdrom /mnt

                    [root@centos6 Packages]#cd /mnt/Packages/

                    [root@centos6 Packages]#rpm -ivh screen-4.0.3-19.el6.x86_64.rpm 

            [→_→TianRandai的滑稽脸](注释:这个我有点解释不清楚,其中奥妙自行体会吧。)

    十一、echo命令
            功能:显示字符
                语法:echo [-neE][字符串]
            说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号
                选项:
                    -E (默认)不支持解释功能
                    -n 不自动换行
                    -e 启用字符的解释功能

                    新葡亰496net 35

                    启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出
                        a 发出警告声
                        b 退格键
                        c 最后不加上换行符号
                        n 换行且光标移至行首
                        r 回车,即光标移至行首,但不换行
                        t 插入tab
                        \插入字符
                        nnn 插入nnn(八进制)所代表的ASCII字符
                        echo -e '33[43;31;5mmagedu33[0m'
                        xHH插入HH(十六进制)所代表的ASCII字
        命令行扩展:$( ) 或``
            把一个命令的输出打印给另一个命令的参数
           新葡亰496net 36
            括号扩展:{ }
            打印重复字符串的简化形式
        新葡亰496net 37        
            显示变量
                echo "$VAR_NAME“ 变量会替换,双引号表弱引用
                echo '$VAR_NAME‘ 变量不会替换,强引用

                新葡亰496net 38

                今天就写在这到这里啦。已经写的好长啦,最近出Linux入门下半部,下半部记载着历史命令与神器tab的使用方法.......[→_→TianRandai的滑稽脸](注释:绝世武功,上半部  终)

    本文由新葡亰496net发布于电脑系统,转载请注明出处:新葡亰496net入门操作,功底知识

    关键词: