Linux基础-【终端(Terminal)常⽤快捷键命令】技巧
【(CentOS 7为例)】
举⼀个栗⼦:Linux是多⽤户操作系统,在终端,如何快速地【退回原来的⽤户】(返回上⼀个⽤户)?快捷键是【Ctrl+d】,其实是执⾏的exit命令。简单、快捷我不会拒绝的。
预热1:
在【终端光标之前】的$、#、~、/字符含义、其他内容含义:
$:普通⽤户
root)
#:超级⽤户(root
~:当前⽤户的主⽬录
/:根⽬录((系统)最顶级的⽬录)
以[root@slave2 /]#为栗:格式是[⽤户名@主机名(计算机名) 当前位置]当前权限
预热2:
Linux系统是不分区的(Windows是分区的),它有⼀个顶级⽂件(根⽬录 /),⽂件以树的⽅式存储,且Linux认为⼀切皆⽂件(包括路径、设备等)。
路径有两种:
绝对路径:从根⽬录开始
相对路径:相对于当前位置的路径
路径中./表⽰当前⽬录;../表⽰上⼀级⽬录。
预热3:
管道符 |
{command1} | {command2} | ..
command 1的正确输⼊ 作为 command 2的操作对象。
[root@master Cshell]# | grep 1 #在⽂件1.txt中查数字1
预热4:
⼀个⾮常长的命令可以通过在末尾加反斜杠 \ 使其分⾏显⽰。多⾏命令的默认提⽰符是>
[root@master Cshell]# \
> | grep 1
当然,这些快捷键、命令,或许是常⽤的、少⽤的、不需要的,因场景因⼈⽽异了!
⼀、快捷键
打开终端的快捷键可⾃定义。
1 Tab-⾃动补全
场景:不确定&不记得⼀个⽂件名、命令如何拼写。
当输⼊xxx(可能某个【命令】 或【命令+⽂件(夹)名】的前⼀部分)时:
当以xxx开头的命令或⽂件名仅有1个时,按下Tab键 1次,将会⾃动补全该命令或⽂件名;
当以xxx开头的命令或⽂件名不⽌1个时,按1次Tab键是没反应的,再按1次Tab键,下⽅将出现以xxx开头的命令或⽂件名。
2 复制、粘贴
在终端&控制台下:
粘贴:Ctrl + Shift + c 或 Ctrl + Insert
复制:Ctrl + Shift + v 或 Shift + Insert
3 在终端中搜索内容
查终端中输出的内容,会弹出⼀个查窗⼝。
Ctrl + Shift + f
4 命令⾏历史
上键、Ctrl + p:查看上⼀个使⽤过的命令
下键、Ctrl + n:查看下⼀个使⽤过的命令
Ctrl + r:搜索历史命令。输⼊若⼲字符,开始向上搜索包含该字符的命令,继续按Ctrl+r,搜索上⼀条匹配的命令
history | grep {命令},输⼊历史命令中匹配到的命令。关于命令历史history还有更多:
history 命令历史,会打印使⽤过的命令
history -c 清空内存缓存
HISTSIZE=1000 默认命令历史记录1000条
HISTTIMEFORMAT="%Y%m%d %H:%M:%S " 显⽰命令历史的执⾏时间
!! 执⾏、并打印上⼀条命令本⾝(如果命令本⾝有输出也将打印出来)
!12 序号为12的命令历史
!mkdir 最近以mkdir开头的命令
5、中断【运⾏当中】的命令/进程
Ctrl + c:中断命令、或进程,运⾏的程序将⽴刻终⽌运⾏。当输⼊命令后(未按回车键执⾏),按该快捷键将“终⽌该⾏”,新起⼀⾏。
Ctrl + z:将正在运⾏的程序送到后台
6、清屏(清空终端屏幕)
Ctrl + l
7、移动光标
Ctrl + a:将光标移到所在⾏⾸
linux查看当前文件夹内容Ctrl + e:将光标移到所在⾏尾(end)
Ctrl + f 、右⽅向键:光标向前移动⼀个字符
Ctrl + b 、左⽅向键:光标向后移动⼀个字符
Alt + f:光标向前移动⼀个单词
Alt + b:光标向后移动⼀个单词
Esc + b:移动到【当前单词】的开头
Esc + f :移动到【当前单词】的结尾
8、擦除光标前后的某些内容
Ctrl + d: 删除光标【所在处】字符
Ctrl + h :删除光标【所在处前】⼀个字符
Ctrl + u:擦除从【当前光标】位置到【⾏⾸】的全部内容
Ctrl + k:擦除从【当前光标】位置到【⾏尾】的全部内容
Ctrl + w:擦除从【光标】位置到词⾸的全部字母(即擦除光标位置到前⾯最近的⼀个空格之间的内容)Ctrl + y:粘贴【使⽤了 Ctrl+u、Ctrl+k 、 Ctrl+w 快捷键擦除】的⽂本
⼆、命令
预热⼩知识:
1)参数前 有or⽆ 横线 -:
有:System V风格
⽆:BSD风格
2)横-的数量:
⼀横:表⽰参数是字符形式,如ls -a
两横:表⽰参数是单词形式,如cp --help
修改⽤户密码
进⼊超级⽤户,passwd {username},然后reboot(或init6)⽣效。
切换⽤户:
普通⽤户---->超级⽤户:su,省略了root(⽤户名)
超级⽤户/其他⽤户---->某⽤户:su {username}
退回到原来的⽤户:Ctrl+d。(其实是执⾏的exit命令)
在⽂件中查关键字
在某个⽂件中搜索关键字,并标红
cat {⽂件名} | grep {关键字} --color -a10
查有某关键字的⽂件
查某⽬录下包含某关键字内容的⽂件
grep -r "{关键字}"  {路径}
定位⽂件所在位置
locate:更快速的定位⽂件(适合当⽤户完全不记得⾃⼰的⽂件放哪时)
locate {filename}
条件执⾏
可以⽤Bash运⾏两个命令,⼀个接着⼀个。第⼆个命令只有当第⼀个命令成功运⾏完毕后才会运⾏。要想做到这样,把两个命令在同⼀⾏中⽤&&分隔即可。
⽐如,sleep命令会以秒为单位接受⼀个参数,然后倒计时,允许结束。单独来⽤的话,该命令没有任何⽤处,但是你可以把它作为运⾏下⼀个程序之前的延时。下⾯的命令会停5秒然后运⾏gnome的截屏⼯具:
sleep 5 && gnome-screenshot
后台运⾏命令
默认情况下,Bash会在当前终端下运⾏你的命令。加⼀个&符号在命令后⾯会使Bash在后台运⾏
{命令} &
查看⽂件头、尾n⾏内容
可以使⽤head(查看前⼏⾏)、tail(查看末尾⼏⾏)两个命令:
查看/etc/profile⽂件的前10⾏内容:head -n 10 /etc/profile
查看/etc/profile⽂件的最后5⾏内容:tail -n 5 /etc/profile
从第3000⾏开始,显⽰1000⾏。即显⽰3000~3999⾏:cat filename | tail -n +3000 | head -n 1000
显⽰1000⾏到3000⾏:cat filename| head -n 3000 | tail -n +1000
输⼊、输出重定向
< 输⼊重定向
>重定向。当⽬标⽂件有内容时,重定向会覆盖掉其内容。
>>追加重定向。往⽬标⽂件原有内容尾部追加内容。
⽂件描述符⽤途stdio流
0标准输⼊stdin
1标准输出stdout
2标准错误stderr
可结合很多命令使⽤,如cat、pwd、ls、wc等等命令。
[root@master Cshell]# pwd > 1.txt
[root@master Cshell]#
/usr/local/src/Cshell
[root@master Cshell]# wc -
[root@master Cshell]# wc - >> 1.txt
[root@master Cshell]# wc -
2> #错误重定向
2>> #错误追加重定向
1> 2> #正确重定向到;错误重定向到。追加同理 >>
# 结合正确、错误,重定向到⼀个⽂件中
&> 1.log
&>> 1.log
通配符
其实是 正则
ls *.txt 匹配多个字符
ls ?.txt 匹配单个字符
ls [1-3].txt 匹配范围
ls [0-9a-zA-Z].txt 匹配⾮特殊字符
ls {1,3,4}.txt 匹配部分

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。