第二讲


命令

echo

          回显

date

          时间显示和修改

clock

hwclock

screen

who

which

which指令会在环境变量$PATH设置的目录里查找符合条件的文件。

~]# which [文件...]

【whereis】

在特定的目录下查找符合条件的文件,原始代码,二进制文件,帮助文档

~]# whereis [COMMAND]

【whatis】

是用于查询一个命令执行什么功能,并将查询结果打印到终端上

~]# whatis [要查找的参数]

[root@localhost ~]# whatis ls
ls (1)               - list directory contents
ls (1p)              - list directory contents
~]# whatis log
[root@localhost ~]# whatis log
log (3)              - natural logarithmic function
log (3p)             - natural logarithm function

【touch】

创建一个空文件

touch [路径]

 

例:  
[root@localhost ~]# touch 1 2 3 4;ls
1  3  Desktop    Downloads             Music     Public     Videos
2  4  Documents  initial-setup-ks.cfg  Pictures  Templates
[root@localhost ~]#

【type】

查看命令是外部命令还是内部命令

~]# type [COMMAND]
[root@localhost ~]# type lsblk;type ls
lsblk is /usr/bin/lsblk
ls is aliased to `ls --color=auto'
[root@localhost ~]#

【free】

【enable】

【reboot】

重启

【halt】

关机,不断电

【poweroff】

关机,并断电

【shutdown】

关机

【df】

【reset】

修复屏幕乱码

【rpm】

【lsblk】

【lscpu】

【nano】

【geit】

``==$():调用第二个命令的结果,一般用在写脚本上

"":弱引用

'':强引用

所讲内容

一、命令

【whatis】

查看命令简单描述的

whatis COMMAND

【man -f ls == whatis ls】

【help】

内部命令查看帮助

help [COMMAND]

date

二、Tab建

1、命令补全

内部命令:

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

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

即为要执行的命令

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

否则,再次Tab会给出列表

2、路径补全

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

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

如果惟一:则直接补全

否则:再次Tab给出列表

三、命令行历史

保存你输入的命令历史。

登录shell时,会读取命令历史文件中记录下的命令~/.bash_history     登录进shell后新执行的命令只会记录在缓存中;这些命令会用户退出时“追加”至命令历史文件中

1、重复前一个命令,有4种方法:

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

Ⅰ、!! 

Ⅱ、!-1 

Ⅲ、Ctrl+p 

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

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

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

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

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

①、命令历史的一些使用方法:

Ctrl+r:在命令历史中搜索命令

调用前一个命令中最后一个参数

!$ 

例:
[root@localhost ~]# ls /etc/issue
[root@localhost ~]# cat !$
cat /etc/issue
\S
Kernel \r on an \m
The hostname \n
login termi
Welcome to beijing
[root@localhost ~]#

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

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


2、命令历史

history -s arg [arg...]

-c: 清空命令历史

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

#: 显示最近的#条历史

~]# history -d 1

1:line,行。删除指定行命令历史

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

~]# history -a

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

~]# history

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

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

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

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

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

3、调用历史参数

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

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

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

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

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

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

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

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

!string:^  从命令历史中搜索以 string 开头的命令,并获取它的第一个参数

!string:$ 搜索以 string 开头的命令,并获取它的最后一个参数

!string:n 搜索以 string 开头的命令,并获取它的第n个参数

!string:*  搜索以 string 开头的命令,并获取它的所有参数

#我个人认为这部分比较重要,在以后的工作中都能够用到。在以后的生产环境中我们以后很多敲的命令都是重复的所以以后能够用的上#

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


四、man 帮助使用

1、man章节

1: 用户命令

2: 系统调用

3: C库调用

4: 设备文件及特殊文件

5: 配置文件格式

6: 游戏

7: 杂项

8: 管理类的命令

9: Linux 内核API

~]# apropos COMMAND

查看与之命令相关的帮助文档

man:

man -f COMMAND == whatis COMMAND

-a:列出所有的相关命令的man章节帮助信息

五、Bash的快捷键

1、Ctrl+l  清屏

  2、Ctrl+c  取消命令的执行

     3、Ctrl+a  移动到命令的最前面

4、Ctrl+e  移动到命令的最后面

   5、Ctrl+u  删除到行首

      6、Ctrl+k  删除到行尾

 7、Ctrl+b  向左移动一个字符

    8、Ctrl+f  向右移动一个字符

       9、Esc-b   左移一个单词

          10、Esc-f  右移一个单词



命令执行的优先级:alias>内部>hash>外部