Linux命令行之使光标快速移动的快捷键
作者:zpjing~.~
这篇文章主要介绍了Linux命令行之使光标快速移动的快捷键,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
Linux命令行 使光标快速移动的快捷键
linux命令行执行命令时,快速移动光标可节省不少时间,如下是快速移动光标的快捷键:
1.光标快速切换到行尾行首
- ctrl+a 行首
- ctrl+e 行尾
2.删除至行尾 | 清除当前光标位置之前的一个单词
- ctrl+k 可以将当前光标位置之后的所有部分快速清除
- Ctrl + w 可以清除当前光标位置之前的一个单词
3.删除命令行的命令
- ctrl + u 可以直接将整行命令直接清除
4.左|右移动一个单词
- Esc b 左移一个单词[back]
- Esc f 右移一个单词[forward]
注意:每次按下快捷键,需抬起后再按下快捷键,方可多次移动单词。
Linux命令行 光标移动技巧等
移动
- Ctrl + a:移动光标到命令行首
- Ctrl + e:移动光标到命令行尾
- Ctrl + b:同键盘左键,向左移动光标
- Ctrl + f:同键盘右键,向右移动光标
在mac中,需要在终端首选项中设置{将Option键用做Meta键}
- Alt + b:向前移动一个词的距离
- Alt + f:向后移动一个词的距离
删除
- Ctrl + h:同Backspace,退格向左删除
- Ctrl + d:同delete,向右删除(光标所在位置的字符)
- Ctrl + w:删除光标前面的单词的字符
- Alt + d :删除光标后面的单词的字符
- Ctrl + u:从当前光标所在位置向左剪切全部命令
- Ctrl + k:从当前光标所在位置向右剪切全部命令
- Ctrl + p:显示上一条命令,同向上箭头
- Ctrl + n:显示下一条命令,同向下箭头
其他
- Ctrl+t: 交换光标位置前的两个字符
- Ctrl+y: 粘贴或者恢复上次的删除
- Ctrl+z : 把当前进程转到后台运行,使用’ fg ‘命令恢复。比如top -d1 然后ctrl+z ,到后台,然后fg,重新恢复
if __name__ == '__main__':
sshkey=get_sshkey_content(sys.argv[1])
print(sshkey)
print '!!! start'
s_minute_hout = '02:00'
times = time_parse(s_minute_hout)
ip = "192.168.43.155"
port = "22"
user = "pi"
logPath = "/home/pi"
print(is_valid_port(port))
try:
retcode = subprocess.check_call("./set_scp_crontab.sh 2 %s %s %s %s %s " % (ip, port, user, logPath, times), shell=True)
print(retcode)
except subprocess.CalledProcessError as e:
print e.returncode
print e.cmd
print e.output
print '!!! end'
#!/bin/bash
# Paramater
# $1: 0|1|2 0: ssh-gen 1: test 2: setup crontab
# $2: log server ip address
# $3: scp port
# $4: user name
# $5 log path on log server
# $6 crontab minute hour
# $7 crontab hour
SSH_KEY_PATH="/home/whz/.ssh/"
#SSH_KEY_PATH="/home/vpnmanager/.ssh/"
SSH_KEY_NAME="thinclsvpn.key"
SSH_KEY="$SSH_KEY_PATH$SSH_KEY_NAME"
VPN_USER="whz"
VPN_LOG_FILE="/var/log/openvpn/*.log"
#if [ `whoami` != "root" ]; then
# echo "Execute this script as root user." >&2
# exit 1
#fi
function ssh_gen () {
# if ssh_key already exist, delete it.
if [ -e $SSH_KEY ]; then
rm -f $SSH_KEY
fi
# create a ssh key
ssh-keygen -q -t rsa -N '' -f $SSH_KEY
exitCode=$?
#echo `cat "$SSH_KEY.pub"`
return $exitCode
}
function test_scp () {
# if ssh_key not exist, exit
if [ ! -e $SSH_KEY ]; then
echo "ssh key not exist!"
exit 1
fi
# scp copy log file to logserver
scp -Cqpi $SSH_KEY -P $PORT -o PasswordAuthentication=no -o StrictHostKeyChecking=no $VPN_LOG_FILE $USER@$IP:$LOG_PATH 2>&1
return $?
}
function setup_crontab () {
# if ssh_key not exist, exit
if [ ! -e $SSH_KEY ]; then
echo "ssh key not exist!"
exit 1
fi
command="scp -Cqpi $SSH_KEY -P $PORT -o PasswordAuthentication=no -o StrictHostKeyChecking=no $VPN_LOG_FILE $USER@$IP:$LOG_PATH"
cronDescription="$minute $hour * * * $command > /dev/null 2>&1"
# delete current setting
crontab -r
# setup crontab
echo "$cronDescription" | crontab
return $?
}
# main function
if [ $1 -eq 0 ]; then
ssh_gen
else
IP=$2
PORT=$3
USER=$4
LOG_PATH=$5
if [ $1 -eq 1 ]; then
test_scp
else
minute=$6
hour=$7
setup_crontab
fi
fi
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
