目录
一、命令是怎么运行的
- 输入命令回车;
- Shell程序找到键输入所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来;
- 表现为一个或多个进程;
- 在shell程序中,命令可以分为两种:
- 内建命令:由Shell自带的,而且通过命令形式提供
- 外部命令:在当前系统的某文件系统路径下由对应的可执行层序文件
- Shell程序可执行程序文件的路径定义在PATH环境变量中
- [root@bogon ~]# echo $PATH #从左到右依次查找
- /application/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
- Shell程序可执行程序文件的路径定义在PATH环境变量中
- 区别内部命令外部命令:type command
- 内部命令:[root@bogon ~]# type cd
- cd is a shell builtin
- 外部命令:[root@bogon ~]# type which
- which is aliased to `alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
- 运行命令:
- 格式:COMMAND [OPTIONS...] [ARGUMENTS...]
- 选项:[OPTIONS...]:用于启用或关闭命令的某个或某些功能;
- 短选项:ls -d, 例如:-l, -h
- 长选项:--word,例如:--long, --human-readable
- 参数:[ARGUMENTS...] :命令的作用对象
- 向命令提供数据
- 注意
- 多选项,以及多参数和命令之间都应该使用空白字符分隔
- 取消命令执行:Ctrl+c
二、Linux命令帮助的获取
- 内部命令获取帮助:help COMMAND
- 【hash命令】[root@localhost~]# hash #shell搜寻到的外部命令的路径结果会缓存至kv(key-value)存储中;
hits command
1 /usr/bin/tty
1 /usr/bin/whereis
1 /usr/bin/man
1 /usr/bin/info
2 /usr/bin/ls
6 /usr/bin/clear - 【history命令】[root@localhost ~]# history #管理命令历史;
- 登录shell时,会读取命令历史文件中记录下的命令:~/.bash_history
- 登录进shell后新执行的命令只会记录在缓存中;这些命令会用户退出时“追加”至命令历史文件中;
- 【history】命令
- -a:追加本次会话新执行的命令历史表到例时文件中
- -d:删除历史中指定的命令
- -c:清空命令历史
- 快捷操作:
- !#: 调用历史中第#条命令;
- !!: 上一条命令;
- !string:调用历史中最近一个以string开头的命令;
- 【history】命令
- 【hash命令】[root@localhost~]# hash #shell搜寻到的外部命令的路径结果会缓存至kv(key-value)存储中;
- 外部命令:
- 加参数 --help
- COMMAND --help
- COMMAND -h
- 使用手册(manual)
- man COMMAND
- 手册页:/usr/share/man
- man1......man8
- man1:用户命令
- man2:系统调用
- man3:C库调用
- man4:设备文件及特殊文件
- man5:配置文件格式
- man6:游戏
- man7:杂项
- man8:管理类的命令
- man1......man8
- 注意:有些关键在不止一个章节中存在的帮助手册;要查看指定章节中的手册:man #COMMAND
- man命令的配置文件:/etc/man.config
- MANPATH /PATH/TO/SOMEWHERE :指明新的手册文件文件搜索位置
- man -M /PATH/TO/SOMEWHERE COMMAND:到指定位置下搜索COMMAND命令的手册页并显示之;
- 帮助手册中的段落说明:
- NAME 【名称】
- SYNOPSIS 【简介】
- []:可选内容
- <>: 必选内容
- a|b:二选一
- ...: 同一内容可出现多次
- DESCRIPTION 【描述】
- OPTIONS 【选项】
- EXAMPLES 【例子】
- AUTHOR 【作者】
- REPORTING BUGS 【报告】
- SEE ALSO 【见参阅】
- man命令的操作方法:
- 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:翻至文件尾部
- 文本搜索
- /KEYWORD: 以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索;不区分字符大小写;
- n: 下一个
- N:上一个
- ?KEYWORD:以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索;不区分字符大小写;
- n: 跟搜索命令同方向,下一个
- N:跟搜索命令反方向,上一个
- /KEYWORD: 以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索;不区分字符大小写;
- 手册页:/usr/share/man
- man COMMAND
- 信息页
- info COMMAND
- 程序自身的帮助文档
- README
- INSTALL
- ChangeLog
- 程序官方文档
- 官方站点:Documentation
- 加参数 --help
三、基础命令
- 显示系统时间命令:date
- 格式:date [OPTION]... [+FORMAT]:显示
- date:显示当前时间
- date +%A(%a):显示当前是周几全称;显示当前周几缩写
- date +%D(%d):显示当前日期日/月/年;显示当前时间几号
- date +%F:显示当前时间年-月-日
- date +%T:显示当前系统时间 时:分:秒
- date +%H:显示当前小时
- date +%M:显示当前分钟
- date +%S:显示当前秒
- date +%H-%M-%S:自定义显示时间
- 设置系统时间:date
- 格式: date [MMDDhhmm[[CC]YY][.ss]]
- MM: 月
- DD:几号
- hh: 小时
- mm: 分钟
- YY: 两位年份
- CCYY: 四位年份
- .ss: 秒钟
- Linux的两种时钟:
- 系统时钟:由Linux内核通过CPU的工作频率进行的计时;
- 硬件时钟:主板记录的时间
- 系统时间和硬件可能是不一样的
- 显示硬件时间:hwclock【clock】
- hwclock -s:把系统时间设置为硬件时间
- hwclock -w:把硬件时间设置为系统时间
- 显示日历:cal
- cal :显示当年月份日历
- cal 2020:显示2020年日历