class-2 Linux 入门

发布时间:2020-06-23 13:29:45 作者:lvasu
来源:网络 阅读:302

目录

  1.1 广播

  echo hello > /dev/pts/1

[root@6 ~]# echo hello > /dev/pts/2
[root@6 ~]# tty
/dev/pts/1
[root@6 ~]# hello
[root@6 ~]# tty
/dev/pts/2


 1.2关机/重启命令

  # halt 关机不断电

  # poweroff 关机断电  

  # init  

        关闭图像界面   init 3

        开启图像界面   init 5  重新启动系统服务的,需要重新输入用户名和密码登陆.

    # startx   开启图像界面   以当前身份当前环境变理切到图型

 1.3配置信息

   版本号

     /etc/redhat-release

     /etc/centos-release

[root@6 ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)
[root@6 ~]# cat /etc/centos-release
CentOS release 6.8 (Final)


  用户提示

     /etc/issue

[root@6 ~]# cat /etc/issue
CentOS release 6.8 (Final)
Kernel \r on an \m


    #lsb_release

[root@6 ~]# lsb_release
LSB Version::base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch


2.终端terminal 以及交互式接口

 2.1终端terminal

物理终端:直接接入本机的显示器和键盘设备     单用户模式

/dev/console

虚拟终端:附加在物理终端之上的以软件方式虚拟实现的

终端,设备文件路径:/dev/tty#,


#Ctrl+Alt+F#: [1,6]                                       终端切换

                  

# chvt  n

[root@6 ~]# chvt 2                                      切换到某用户
[root@6 ~]#

class-2 Linux 入门


图形终端:属于虚拟终端,附加在物理终端之上的以软件方式虚拟实现的终端,但额外会提供桌面环境;

模拟终端:图形界面打开 的 命令行以及基于ssh 协议或telnet 协议等远程打开的界面, 设备文件:/dev/pts/# [0,  ∞ )

查看当前的终端设备:tty

[root@6 ~]# tty
/dev/pts/1
# getent passwd ftp                    察看系统的数据库中的相关记录

[root@6 ~]# getent passwd ftp
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

 2.2交互式接口

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

程序

GUI :Graphic User Interface

Desktop:

GNOME (C,  图形库gtk)

KDE (C++, 图形库qt)

class-2 Linux 入门

CLI :Command Line Interface

class-2 Linux 入门

3.用户登录

 #id -u    UID

    centos 6  普通用户 500(初始值)

    centos 7  普通用户 1000(初始值)

  [root@6 ~]# id -u lvasu
  500
  [root@7 ~]# id -u lvasu
  1000



4.bash shell

GNU Bourne-Again Shell(bash) 是GNU 计划中重要的工

是 具软件之一,目前也是 Linux 标准的shell  ,与sh 兼容。

CentOS 默认使用

显示当前使用的shell: :

 #echo  $SHELL                                     查看用户的shell
 [root@6 ~]# echo $SHELL
 /bin/bash

显示当前系统使用的所有shell: :

#cat  /etc/shells                                    查看系统shell
[root@6 ~]# echo $SHELL
/bin/bash
[root@6 ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh



5.命令提示符

命令提示符:prompt

[root@localhost ~]#

显示提示符格式:

[root@localhost ~] :echo $PS1

prompt: :

管理员:#

普通用户:$

[root@6 ~]# echo $PS1
[\u@\h \W]\$
[root@6 ~]# PS1={\u}
{u}  
Last login: Sat Jul 23 00:37:09 2016
[root@6 ~]#
Last login: Wed Jul 20 17:17:28 2016
[lvasu@6 ~]$


6.命令分类,查找,别名,优先级

 6.1 命令分类

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

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

enable 命令可以启用或禁用 内部命令

外部命令:在当前系统的某文件系统路径下有对应的可执

行程序文件;

 6.2  命令查找

#   which                            外部命令的路径
    [root@6 ~]# which ls
    alias ls='ls --color=auto'
   [root@6 testdir]# which cd
    /usr/bin/which: no cd in (/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
/bin/ls                              内部命令的路径查找不到


                      爱疯                                                                                

                   

#  whereis                       文件的路径以及帮助文档
   [root@6 ~]# whereis ls
   ls: /bin/ls /usr/share/man/man1p/ls.1p.gz/usr/share/man/man1/ls.1.gz


# type COMMAND                      看命令类型 (外/内)
  [root@6 ~]# type cd
   cd is a shell builtin
  [root@6 ~]# type date
  date is /bin/date


禁用,启用内部命令

 # enable -n command                                        禁用内部命令
[root@6 testdir]# enable -n cd
[root@6 testdir]# cd /
-bash: cd: command not found
[root@6 testdir]# enable -n ls
-bash: enable: ls: not a shell builtin           外部命令提示错误
 # enable command                                           启用内部命令
[root@6 testdir]# enable cd
[root@6 testdir]# cd /
[root@6 /]#


hash 命令:           命令缓存

搜寻到的外部命令路径结果缓存至 kv(key-value) 存储中

hash 显示hash存 缓存

[root@6 testdir]# hash
hits	command
  1	/sbin/ifconfig
  1	/bin/rm
  1	/bin/touch
  1	/bin/cp
  3	/bin/ls


hash-d   删除指定命令条

[root@6 testdir]# hash -d rm
[root@6 testdir]# hash
hits	command
  1	/sbin/ifconfig
  1	/bin/touch
  1	/bin/cp
  3	/bin/ls

hash –r   清除缓存

[root@6 testdir]# hash -r
[root@6 testdir]# hash
hash: hash table empty

 6.3 命令别名

  # alias ls='ls --color=auto'                定义命令别名

[root@6 testdir]# alias lv='cat /etc/passwd'
[root@6 testdir]# lv
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin



  # unalias                              取消命令别名

[root@6 testdir]# unalias lv
[root@6 testdir]# lv
-bash: lv: command not found

  执行原始命令

      1.直接路径

      2.\command

      3.'command'

[root@6 testdir]# which ls
alias ls='ls --color=auto'
/bin/ls
[root@6 testdir]# /bin/ls
lost+found  VMware Tools
[root@6 testdir]# \ls
lost+found  VMware Tools
[root@6 testdir]# 'ls'
lost+found  VMware Tools


 6.4 命令优先级

命令优先级

命令别名 > 内部命令 > 缓存命令 > 外部命令

#echo $PATH                                 命令文件夹位置

[root@6 bin]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@7 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@6 ~]# alias ls='cd'                                命令别名>内部命令
[root@6 ~]# ls /
[root@6 /]#


[root@7 ~]# enable -n cd                                 内部命令>外部命令
[root@7 ~]# cd
[root@7 ~]# cd /
[root@7 ~]# type cd
cd 已被哈希 (/usr/bin/cd)
[root@7 ~]# hash
命中	命令 3	/usr/bin/cd


[root@7 sbin]# !61                                         存命令>外部命令
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@7 sbin]# cp -a /bin/yes /usr/local/sbin
[root@7 sbin]# type yes
yes 已被哈希 (/usr/bin/yes)


7.安装VMware Tool

# cp -r /media/VMware\ Tool/ /testdir/

[root@6 ~]#  cp -r /media/VMware\ Tool/ /testdir/


# tar xvf VMwareTools-10.0.1-3160059.tar.gz

[root@6 ~] # tar xvf VMwareTools-10.0.1-3160059.tar.gz


#./vmware-install.pl

[root@6 ~]#./vmware-install.pl


8.命令格式

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

选项:用于启用或关闭命令的某个或某些功能;

短选项:-c,  例如:-l, -h

长选项:--word ,例如:--all, --human-readable

参数:命令的作用对象,比如文件名,用户名等

注意:

   1、多选项,以及多参数和命令之间使用空白字符分隔

[root@7 ~]# ls -h -l . /etc/
.:
总用量 8.0K
-rw-------. 1 root root 1.8K 7月  21 01:43 anaconda-ks.cfg
-rw-------. 1 root root 1.9K 7月  20 17:52 initial-setup-ks.cfg
drwxr-xr-x. 2 root root    6 7月  20 17:54 公共
drwxr-xr-x. 2 root root    6 7月  20 17:54 模板
drwxr-xr-x. 2 root root    6 7月  20 17:54 视频
drwxr-xr-x. 2 root root    6 7月  20 17:54 图片
drwxr-xr-x. 2 root root    6 7月  20 17:54 文档
drwxr-xr-x. 2 root root    6 7月  20 17:54 下载
drwxr-xr-x. 2 root root    6 7月  20 17:54 音乐
drwxr-xr-x. 2 root root   18 7月  22 15:22 桌面
/etc/:
总用量 1.4M
drwxr-xr-x.  3 root root     97 7月  21 01:29 abrt
-rw-r--r--.  1 root root     16 7月  21 01:42 adjtime
-rw-r--r--.  1 root root   1.5K 6月   7 2013 aliases
-rw-r--r--.  1 root root    12K 7月  20 17:51 aliases.db
drwxr-xr-x.  2 root root     49 7月  21 01:29 alsa
drwxr-xr-x.  2 root root   4.0K 7月  21 01:38 alternatives
-rw-------.  1 root root    541 7月  27 2015 anacrontab
-rw-r--r--.  1 root root     55 3月   6 2015 asound.conf
-rw-r--r--.  1 root root      1 11月 20 2015 at.deny



  2 、取消和结束命令执行:Ctrl+c ,Ctrl+d (退出logout)

root@7 ~]# yes
y
y
y
y
^C[root@7 ~]#



  3 、多个命令可以用 ; 符号分开

[root@7 ~]# date;clock;hwclock
2016年 07月 23日 星期六 15:20:42 CST
2016年07月23日 星期六 23时13分43秒  -0.783823 秒
2016年07月23日 星期六 23时13分44秒  -1.001945 秒



  4 、一个命令可以用 \ 分成多行

[root@7 ~]# cat anaconda\  
> -ks\    
> .cfg
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install

   


9.简单命令date,cal,clock,hwclock,nano编辑器

date - 显示日期和时间

-u:

date  mmddHHMMYY.SS    修改系统时间

[root@7 ~]# date
2016年 07月 23日 星期六 15:24:50 CST
[root@7 ~]# date -u
2016年 07月 23日 星期六 07:24:55 UTC
[root@7 ~]# date 0801080008.00
2008年 08月 01日 星期五 08:00:00 CST



Linux 的两种时钟:

系统 时钟:由Linux 内核通过CPU 的工作频率进行 的;

硬件 时钟:主板

hwclock ,clock: 显示硬件时钟

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

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

[root@7 ~]# date 0801080008.00
2008年 08月 01日 星期五 08:00:00 CST
[root@7 ~]# clock -s
[root@7 ~]# date
2016年 07月 23日 星期六 23:18:45 CST
[root@7 ~]# date 0723152716.25
2016年 07月 23日 星期六 15:27:25 CST
[root@7 ~]# clock -w
[root@7 ~]# clock
2016年07月23日 星期六 15时27分45秒  -0.600986 秒



cal - 显示 日历

 #cal  08 2015

 #cal  09 1752

[root@7 ~]# cal
     七月 2016      
日 一 二 三 四 五 六
               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@7 ~]# cal 08 2015
     八月 2015    
日 一 二 三 四 五 六
                  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@7 ~]# cal 09 1752
     九月 1752    
日 一 二 三 四 五 六
      1  2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30


10.简单命令screen ,echo,文件名的颜色

 10.1 安装screen

[root@7 Packages]# cd /run/media/root/CentOS\ 7\ x86_64/Packages/
[root@7 Packages]# rpm -i screen-4.1.0-0.21.20120314git3c2946.el7.x86_64.rpm



 10.2 screen会话命令:   连接至同一个账户同一个会话

打开新的screen:

# screen

打开新的screen:

#screen –S [SESSION]

[root@7 ~]# screen -S 100


加 入会话:

#screen –x [SESSION]

[root@7 ~]# screen -x 100


退出并关闭screen:

# exit

[screen is terminating]


剥离当前screen:

Ctrl+a,d   ctrl+d 关闭终端

[detached from 6907.20]


显示所有已经打开的screen:

# screen -ls

恢复某screen

#screen -r [SESSION]


 10.3 简单命令echo 命令

 功能:显示字符

 语法:echo [-neE][ 字符串]

 说明:echo 会将输入的字符串送往标准输出。

输出的字符串间以空白字符隔开,  并在最后加

上换行号

echo "$VAR_NAME":  变量会替换,双引号表弱引用

echo '$VAR_NAME':  变量不会替换,强引用

$echo –e “Enter the file name: \c”


echo 命令选项:

  -n  不在字符的最后 自动换行

  -e  若字符串中出现以下字符,则特别加以处理,而

不会将它当成一般文字输出:   (弱引用)

      \a  发出警告声;

[root@7 ~]# echo -e "\a"


     \b 退格键

[root@7 ~]# echo -e "abc\bd"
abd

     \c 最后不加上换行符号;而且删除后面的内容  压缩回车换行

[root@7 ~]# echo -e "\cabcd"
[root@7 ~]# echo -e "abcd\c"
abcd[root@7 ~]# echo -e "abc\cd"
abc[root@7 ~]# echo -e "ab\ccd"
ab[root@7 ~]#


    \n 换行且光标移至行首;

a[root@7 ~]# echo -e "ab\ncd"
ab
cd
[root@7 ~]# echo -e "a\nbcd"
a
bcd


     \r 光标移至行首,但不换行;光标移至行首,将后面的替换前面的  

[root@7 ~]# echo -e "a\rbcd"
bcd
[root@7 ~]# echo -e "ab\rcd"
cd


    \t  插入tab;

[root@7 ~]# echo -e "ab\tcd"
ab	cd

    \\  插入\ 字符;

ab[root@7 ~]# echo -e "abcd\\"
abcd\

    \0nnn  插入nnn (八进制)所代表的ASCII 字符

[root@7 ~]# echo -e '\0141'
a

       echo -e "\033[43;31mred color\033[0m"

      \xHH 插入HH (十六进制)所代表的ASCII 字符

[root@7 ~]# echo -e "\xad"


  10.4定义文件名的颜色

cat /etc/DIR_COLORS

cat

11.命令行扩展、被括起来的集合

  11.1 命令替换(命令引用)

    `command`  适用于命令引用

      $(command)

        [root@7 ~]# echo "echo $USER"   弱引用
              echo root
        [root@7 ~]# echo 'echo $USER'    强引用
              echo $USER
        [root@7 ~]# echo `echo $USER`

 命令行扩展:$( ) 或 或 ``

 把一个命令的输出打印给另一个命令的参数

$ echo "This system's name is $(hostname ) "

This system's name is server1.example.com

$echo "i am `whoami ` "

i am root

  11.2括号扩展:{ }

打印重复字符串的简化形式

$ echo file{1,3,5}

file1 file3 file5

$ rm -f file{1,3,5}

12.Tab键

 12.1命令补全

内部命令:

外部命令:bash 根据PATH环境变量定义的路径,自左而

右在每个路径搜寻以给定命令名命名的文件,第一次找到的命令

即为要执行的命令

用户给定的字符串只有一条惟一对应的命令,直接补全

否则,再次Tab 会给出列表

 12.2路径补全

把用户给出的字符串当做路径开头,并在其指定上级目录

下搜索以指定的字符串开头的文件名

如果惟一:则直接补全

否则:再次Tab 给出列表

13.获得帮助

获取帮助的能力决定了技术的能力!

多层次的帮助

whatis

command --help

man and info

/usr/share/doc/

Red Hat documentation

其它网站和搜索

 13.1  # whatis

1.显示命令的简短描述

2.每晚使用一个数据库更新

3.刚安装后不可立即使用

# makewhatis (centos6)

# mandb (centos7) 制作数据库

[root@7 ~]#  mandb
正在删除 /usr/share/man 里的旧数据库条目...
bash: makewhatis: 未找到命令...
[root@6 ~]# makewhatis

whatis cal 或  man –f cal

[root@6 ~]# whatis cal
cal                  (1)  - displays a calendar
cal                  (1p)  - print a calendar

 13.2命令帮助

内部命令 :          #help COMMAND

                  #man bash

外部命令:           (1) # COMMAND --help

                     # COMMAND -h

                  (2) 使用手册(manual)

                      # man COMMAND

                  (3)  信息页

                       # info COMMAND

                  (4) 程序自身的帮助文档

                       README

                       INSTALL

                       ChangeLog

                  (5) 程序官方文档

                       官方站点:Documentation

                  (6) 发行版的官方文档

                  (7) Google

 13.3--help 选项

          显示用法总结和参数列表

          使用的大多数,但并非所有的

         $ date --help

         Usage: date [OPTION]... [+FORMAT] or: date [-

          u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

         1.  []  是可选的

         2.  CAPS 或 <>  是变量

         3.   ...  表示一个列表

         4.   x |y| z “ 的意思是“ x 或 y 或 z “

         5.  -abc的 的  意思是-a -b -c

 13.4 man 命令及章节

   1.提供命令帮助的文件

   2.手册页存放在/usr/share/man

   3.几乎每个命令都有man 的“页面”

   4.man 页面分组为不同的“章节”

   5.统称为Linux 手册

   6.man [ 章节] 命令

   7.man 命令的配置文件:/etc/man.config | man_db.conf

   8.MANPATH /PATH/TO/SOMEWHERE:  指明新手册文件搜索位置

   9.# man - M /PATH/TO/SOMEWHERE COMMAND : 到指定位置下搜

索 COMMAND 命令的手册页并显示

     

   man  章节

    1:  用户命令

    2:  系统调用

    3: C 库调用

    4:  设备文件及特殊文件

    5:  配置文件格式

    6:  游戏

    7:  杂项

    8:  管理类的命令

    9 :Linux  内核API

[root@6 ~]# whatis passwd
passwd               (1)  - update user's authentication tokens
passwd               (5)  - password file
passwd [sslpasswd]   (1ssl)  - compute password hashes
[root@6 ~]# man 5 passwd
PASSWD(5)                  Linux Programmer’s Manual                 PASSWD(5)
NAME
      passwd - password file

 13.5导览man 手册页

    1.查看man 手册页

    2.SYNOPSIS 摘要:[] :可选内容

                                <>:  必选内容

                                a|b :二选一

                                 ...:  同一内容可出现多次

    3.man –a keyword  列出所有帮助

    4.搜索man 手册

             man -k keyword  列出所有匹配的页面

             使用 whatis 数据库

 13.6  man 命令

man 命令的操作方法:使用less 命令实现

         Space, ^V, ^f, ^F:  向文件尾翻屏

          b, ^B:  向文件首部翻屏

          d, ^D:  向文件尾部翻半屏

          u, ^U:  向文件首部翻半屏

          RETURN, ^N, e, ^E or j or ^J:  向文件尾部翻一行

          y or ^Y or ^P or k or ^K :向文件首部翻一行

         q:  退出

          # :跳转至第#行 行

         1G:  回到文件首部

          G :翻至文件尾部

 13.7 man 搜索

/KEYWORD:

     以 以KEYWORD指定的字符串为关键字,从当前位置向文件

尾部搜索;不区分字符大小写;

     n:  下一个

    N :上一个

?KEYWORD:

     以 以KEYWORD指定的字符串为关键字,从当前位置向文件

首部搜索;不区分字符大小写;

    n:  跟搜索命令同方向,下一个

    N :跟搜索命令反方向,上一个

 13.8 info

    1.man考 常用于命令参考 , ,GNU 工具info 适合通用文档参考。

    2. 没有参数, 列出所有的页面

    3.info  页面的结构就像一个网站

    4.每一页分为“节点”

    5.前 链接节点之前 *

    6.info [ 令 命令 ]

 13.9 导航info页

    1.方向键,PgUp ,PgDn  导航

    2.Tab键 键  移动到下一个链接

    3.d 显示主题目录

    4.Home  显示主题首部

    5.Enter入 进入  选定链接

    6.n/p/u/l  进入下/ 前/ 上一层/ 最后一个链接

    7.s 字 文字  文本搜索

    8.q 出 退出 info

 13.10 通过本地文档获取帮助

    1. 点击“系统”-> “文档”:

提供的官方使用指南和发行注记

    2. /usr/share/doc 目录

       多数安装了的软件包的子目录, 包括了这些软件的相关

原理说

       不适合其它地方的文档的位置

       配置文件范例

       HTML/PDF/PS  格式的文档

       授权书详情

 13.11 通过在线文档获取帮助

    1. 第三方程序官方文档

    2. 通过发行版官方的文档光盘或网站可以获得

          安装指南

          部署指南

          虚拟化指南

          红帽知识库和官方在线文档

            http://kbase.redhat.com

            http://www.redhat.com/docs

            http://access.redhat.com

 13.12 红帽全球技术支持服务

    1. rhn.redhat.com 或者本地卫星服务器/ 代理服务器

         基于网络管理的机器

         RHN 代理服务器为RHN 流量提供缓存

         RHN 卫星服务器提供自主的RHN

   2. RHN 账户

        为及其注册和基于网络管理的RHN 用户

        用于系统自动验证的系统ID

   3. sosreport

    收集所有系统上的日志信息的工具,并自动打成压缩包,

方便技术支持人员和红帽全球支持提供分析问题的依据

 13.13 网站和搜索

    1. http://tldp.org

    2. http://www.slideshare.net

    3.http://www.google.com

            Openstack filetype:pdf

            rhca site:redhat.com/docs

14.命令行历史

登录shell 时,会读取命令历史文件中记录下的命令

~/.bash_history

登录进shell 后新执行的命令只会记录在缓存  中;这些命

令会用户退出时“追加”至命令历史文件中

 14.1重复前一个命令

 有4 种方法:

重复前一个命令 使用上方向键,并回车执行。

按 !!  并回车执行。

入 输入 !-1  并回车执行。

按 按 Ctrl+p 并回车执行。

! 字符串: 重复前一个以“字符串”开头的命令

!num: 按照history 命令输出中的序号重复对应命令

!? 字符串: 重复前一个包含abc 的命令

!-n : 重复n 个命令之前的那个命令

 14.2 方向键

 使用up (向上)和down (向下)键来上下浏览从前输入

的命令

 键入ctrl-r 来在命令历史中搜索命令

( (reverse-i-search )`’: :

要重新调用前一个命令中最后一个参数:

!$ 表示

Esc, . (点击Esc击 键后松开,然后点击 .  键)

Alt+ . (按住Alt击 键的同时点击 .  键)

调用历史参数

#cmd !^ :  利用上一个命令的第一个参数做cmd 的参数

#cmd !$ :  利用上一个命令的最后一个参数做cmd 的参数

#cmd !* :  利用上一个命令的全部参数做cmd 的参数

#cmd !:n :  利用上一个命令的第n 个参数做cmd 的参数

!n:^ 调用第n 条命令的第一个 参数

!n:$  调用第n 条命令的最后一个 参数

!m:n  调用第m 条命令的第m条命令的 第n个 个 参数

!n:*  调用第n 条命令的所有参数

调用历史参数

!string:^ 以 从命令历史中搜索以 string  开头的命令,并获取

它的第 一个 参数

!string:$ 以 从命令历史中搜索以 string  开头的命令, 并获取它

的 最后一个 参数

!string:n 以 从命令历史中搜索以 string  开头的命令,并获取

它的第n个 个 参数

!string:* 以 从命令历史中搜索以 string  开头的命令,并获取

它的 所有 参数

调用历史参数

 14.3命令history

history [-c] [-d offset] [n]

history -anrw [filename]

history -ps arg [arg...]

-c:  清空命令历史

-d:  删除历史中指定的命令;

#:  显示最近的# 条历史

-a: 追加本次会话新执行的命令历史列表至历史文件

-n:  读历史文件中未读过的行到历史列表

-r:  读历史文件附加到历史列表

-w:  保存历史列表到指定的历史文件

-p:  展开历史参数成多个行,但不存在历史列表中

-s:  展开历史参数成一行,附加在历史列表后

 14.4命令历史相关环境变量

HISTSIZE :命令历史记录的条数;

HISTFILE :指定历史文件,默认为~/.bash_history; ;

HISTFILESIZE :命令历史文件记录历史的条数;

HISTTIMEFORMAT=“%F %T“ 显示时间

HISTIGNORE=“str1:str2:… “  忽略string1,string2 历史

 控制命令历史的记录方式:

环境变量:HISTCONTROL

ignoredups :忽略重复的命令;连续且相同方为“重复”

ignorespace :忽略所有以空白开头的命令

ignoreboth :ignoredups, ignorespace

erasedups: 删除重复命令

export  变量名=" 值“

 存放在 /etc/profile 或 或 ~/.bash_profile

 14.5 bash 的快捷键

Ctrl+l 清屏,相当于clear 命令

Ctrl+c  取消命令的执行

Ctrl-a  会移动到命令行的最前面

Ctrl-e  会移动到命令行的最后面

Ctrl-u  会删除到行首

Ctrl-k  会删除到行尾

arrow ctrl-b ctrl-f 会向左或向右移动一个字符



推荐阅读:
  1. Linux shell 学习
  2. Linux系统下的SQL Server不支持其他类型数据源的链接服务器

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux 基础 inux

上一篇:Swoole学习笔记(四):WebSocketServer

下一篇:接口规范 4.直播流相关接口

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》