查看帮助,命令历史与快捷键
帮助和编码
命令别名与命令细节
在环境中使用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其中#为章节数
用户手册章节:
- 用户命令
- 系统调用
- C库调用
- 设备文件及特殊文件
- 配置文件格式
- 游戏
- 杂项
- 管理类命令
Linux内核API
man命令的操作方法
space:向文件尾部翻页
b:向文件首部翻屏
d:向文件尾部翻半屏
u:向文件首部翻半屏
q:退出
$:跳转至第$行
1G或gg:回到文件首部
G:翻至文件尾部
/STRING:搜索STRING字符串,n向下搜索,N向上搜索
?STRING:向上搜索,n向上搜索,N向下搜索
-a:可以打开参数的所有文档,退出第一个进入第二个,一次向下
-k:可以列出包含参数的所有章节
-w:打印帮助的路径
info查看帮助
可以进入相关文档,进入二级目录使用回车等
图形界面也有帮助文档
内部命令获取帮助可以使用help COMMAND
到相关软件的官方网站获取帮助
例如:
- www.nginx.org/en/docs
- www.httpd.apache.org
- mariadb.com
- dev.mysql.com
- tomcat.appche.org
- 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窗口都列出来