欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

3-1 查看帮助,命令历史与快捷键

程序员文章站 2022-05-29 10:34:25
查看帮助,命令历史与快捷键 帮助和编码 命令别名与命令细节 在环境中使用alias NAME="COMMAND [ARG]"是保存不住的,需要写入bash的配置文件,个人的配置文件为.bashrc,更改完配置文件后,需要重新读取配置文件 命令的不同风格: 命令使用的小技巧: 取消和结束命令执行:Ct ......

查看帮助,命令历史与快捷键

帮助和编码

命令别名与命令细节

在环境中使用alias name="command [arg]"是保存不住的,需要写入bash的配置文件,个人的配置文件为.bashrc,更改完配置文件后,需要重新读取配置文件

source /path/to/config_file
. /path/to/config_file
#取消别名
unalias name
#别名与命令同名时使用原命令
\command
"command"
'command'
command command
/path/command

命令的不同风格:

ls -l -a            #短选项:unix风格选项,两个短选项可以一块写,长短选项不能混写
cat --help          #长选项:gnu风格选项
ip a                #bsd风格选项:一个字母

命令使用的小技巧:
取消和结束命令执行:ctrl+c(强制停止),ctrl+d(结束程序)

echo "welcome";ls       #多个命令可以使用;号隔开 
echo "https://kernal\
>.org"                  #一个命令可以使用\分成多行  
type -a                 #查看这个命令的所有内外部命令

不同引号之间的区别

echo 'echo $path'            #输出echo $path
echo "echo $path"            #输出echo 环境变量的值
echo `echo $path`            #仅输出环境变量的值与$()用法一致
echo {1..100}                #自动展开1-100的数
echo {1..100..2}             #1-100步进为2
echo {a-z}                   #将字符按照ascii的顺序展开所以中间会夹杂几个符号
echo {a-z}                   #会将字符按照ascii反向显示
echo {000..100}              #定义格式,可以将数字输出都为3位数
echo {a,b}{1,2,3}            #完成笛卡尔乘积

单引号为强引用,直接输出,不转换任何值
双引号转换变量
反响单引号会识别命令并执行,也会转换变量的值
同时$(command)的使用方式与``相同

tab键可以命令补全和路径补全,当有两个选择时按两下会将可选项都列出来,centos7可以将字命令补全,现在有一个大命令带子命令的发展趋势

bash快捷键

ctrl+s:锁定屏幕,键盘可以输入,只是不现实了
ctrl+q:解锁屏幕
ctrl+l:清屏,相当于clear命令
ctrl+c:终止命令
ctrl+z:挂起命令
ctrl+a:光标移动到行首,相当于home
ctrl+e:光标移动到行尾,相当于end
ctrl+xx:命令在行首和光标之间移动
ctrl+u:从光标处删除至命令行首
ctrl+k:从光标处删除至命令行尾
alt+r:删除当前整行
alt+b:光标向左删除一个单词
alt+f:光标向右删除一个单词
alt+#,$:#为数字,$为字母,可以将$重复#次打印在屏幕上
...

获取帮助

whatis command可以查询简单的命令时什么,也可以显示命令在帮助手册第几章。当刚刚装好系统的时候whatis时不能用的,需要手动建立数据库,centos6使用makewhatis命令,centos7与ubuntu使用mandb命令。

whatis          #查看命令基本作用
mandb           #创建whatis数据库centos7和ubuntu命令
makewhatis      #创建whatis数据库centos6

当同名的命令或文件都有man帮助时(例如passwd命令和passwd文件说明)有限打开章节数最小的帮助页面

要想查看对应章节数的内容,需要man # command其中#为章节数
用户手册章节:

  1. 用户命令
  2. 系统调用
  3. c库调用
  4. 设备文件及特殊文件
  5. 配置文件格式
  6. 游戏
  7. 杂项
  8. 管理类命令
  9. linux内核api

    man命令的操作方法

    space:向文件尾部翻页
    b:向文件首部翻屏
    d:向文件尾部翻半屏
    u:向文件首部翻半屏
    q:退出
    $:跳转至第$行
    1g或gg:回到文件首部
    g:翻至文件尾部
    /string:搜索string字符串,n向下搜索,n向上搜索
    ?string:向上搜索,n向上搜索,n向下搜索

-a:可以打开参数的所有文档,退出第一个进入第二个,一次向下
-k:可以列出包含参数的所有章节
-w:打印帮助的路径

info查看帮助

可以进入相关文档,进入二级目录使用回车等

图形界面也有帮助文档

内部命令获取帮助可以使用help command

到相关软件的官方网站获取帮助

例如:

  1. www.nginx.org/en/docs
  2. www.httpd.apache.org
  3. mariadb.com
  4. dev.mysql.com
  5. tomcat.appche.org
  6. www.python.org

ehco命令用法与编码

echo命令

echo:回显,从标准输出显示,并自动在结束时加换行符
-n:不加换行符
-e:转义其他字符,在含有转义字符时应该加上引号  #更改颜色echo -e "\033[31mxxxxx\033[0m"
\n:换行 \c:压缩换行 \t:制表符 \0:八进制 \x:十六进制 
man ascii           #查看ascii表

字符集和编码

unicode与utf-8

unicode只是字符集,储存时为了节省空间使用utf-8编码,utf-8是可变长度储存,从一个字节到4个字节,utf-32是全部使用4个字节存储,utf-16是2个或4个字节,比较浪费空间。
同时utf-8与unicode也有相互转化的对应方式。

命令历史

退出bash时会将内存中的命令历史存入.bash_history,history可以查看命令历史。

history
!string               #执行以string开头的历史命令
!?string              #重复前一个包含string的命令
!string:p             #仅打印民联历史,而不执行
!!                    #执行钱一条命令
!n                    #执行hsitory历史输出对应序号n命令
!-#                   #执行前#条命令
!:0                   #执行上一条命令去除参数
!:#                   #取上一条命令的第几个参数(0为命令)
!*                    #上条命令的所有参数
!$                    #上调命令的最后一个参数
^string               #删除上调命令中的第一个string
^sting1^string2       #将上条命令中的所有string1替换为string2
!:gs/string1/string2  #将上调命令中的所有string1替换为string2

-c:删除所有命令历史 
-n:显示最近的n条历史
-a:追加本次绘画新执行的命令历史列表至历史文件
...

$histsize:命令历史记录的条数
$histfile:指定历史文件,默认为~/.bash_history
$histfilesize:命令历史文件记录历史的条数
$histtimeformat="%f %t ":显示时间
$histignore="str1:str2"忽略str1命令,str2开头的历史
控制命令历史的记录方式:
$histcontrol:
ignoredups:默认,忽略重复的命令,连续且相同为“重复”
ignorespace:忽略所有以空白开头的命令
ignoreboth:相当于ignoredups,ignorespace的组合
erasedups:删除重复命令
export 变量名=“值”
#存放在/etc/profile 或 ~/..bash_profile中前者时全局作用,后者只有对应用户变量

显示与修改时间

date:显示系统时间
+%f:显示年月日
+%t:显示时分秒
+%:有各种格式可以查看帮助查询
-d:'-1 day'等方式显示指定时间并输出
-u:显示0时区时间

clock:或hwclock:硬件时间
-s:将系统时间设置为硬件时间
-w:将硬件时间设置为系统时间

ntpdate ip:同步为指定服务器的时间

ctl:显示日历(1752年9月)

定时关机

shutdown -r now                                 #现在重启计算机
shutdwon -h +n                                  #过n分钟后关闭计算机
shutdown -c                                     #取消关机计划
shutdown -h +15 "shutdown after 15minutes"      #15分钟后关闭计算机并提示“15分钟后关机”!注意:超过15分钟的提示将不再显示

设置时区

timedatectl                     #设置时区的命令
timedatectl list-timezones      #列出所有时区
timedatectl set-timezone        #设置时区

/etc/issue文件

这个文件是登陆终端前显示的相关信息,通过一定语法,将一定信息显示在登陆之前。
\n:hostname信息
\m:等价于uname -m显示主机架构
\r:等价于unmae -r显示内核版本
\t:显示时间
\s:等价于uname -s显示系统名称
\l:显示终端

screen命令

screen可以打开一个独立的屏幕,终端中断连接后也不会终止命令,当编译内核时或者需要长时间运行不间断命令时需要。

screen
screen -s name              #打开一个共享屏幕
screen -x name              #需要连接到同一机器,且用户相同,即可同步,也可以看到对方的操作
ctrl+a,d                    #临时剥离当前绘画,可以使用-r回复
screen -r                   #恢复某screen绘画
screen -ls                  #将现有的screen窗口都列出来