Linux基础 -【终端(Terminal)常用快捷键&命令】技巧
【(CentOS 7为例)】
举一个栗子:Linux是多用户操作系统,在终端,如何快速地【退回原来的用户】(返回上一个用户)?快捷键是【Ctrl+d】,其实是执行的exit命令。简单、快捷!!!我不会拒绝的。
预热1:
在【终端光标之前】的$、#、~、/
字符含义、其他内容含义:
$
:普通用户#
:超级用户(root)~
:当前用户的主目录/
:根目录((系统)最顶级的目录)- 以
[root@slave2 /]#
为栗:格式是[用户名@主机名(计算机名) 当前位置]当前权限
预热2:
Linux系统是不分区的(Windows是分区的),它有一个顶级文件(根目录 /
),文件以树的方式存储,且Linux认为一切皆文件(包括路径、设备等)。
路径有两种:
- 绝对路径:从根目录开始
- 相对路径:相对于当前位置的路径
路径中./
表示当前目录;../
表示上一级目录。
预热3:
管道符 |
{command1} | {command2} | ..
command 1
的正确输入 作为 command 2
的操作对象。
[root@master Cshell]# cat 1.txt | grep 1 #在文件1.txt中查找数字1
1 1.txt
预热4:
一个非常长的命令可以通过在末尾加反斜杠 \
使其分行显示。多行命令的默认提示符是>
[root@master Cshell]# cat 1.txt \
> | grep 1
1 1.txt
当然,这些快捷键、命令,或许是常用的、少用的、不需要的,因场景因人而异了!
一、快捷键
打开终端的快捷键可自定义。
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
:将光标移到所在行首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]# cat 1.txt
/usr/local/src/Cshell
[root@master Cshell]# wc -w 1.txt
1 1.txt
[root@master Cshell]# wc -w 1.txt >> 1.txt
[root@master Cshell]# wc -l 1.txt
2 1.txt
cat 1.txt 2> error.txt #错误重定向
cat 1.txt 2>> error.txt #错误追加重定向
cat 1.txt 1> right.txt 2> error.txt #正确重定向到right.txt;错误重定向到error.txt。追加同理 >>
# 结合正确、错误,重定向到一个文件中
cat 1.txt &> 1.log
cat 1.txt &>> 1.log
通配符
其实是 正则ls *.txt 匹配多个字符
ls ?.txt 匹配单个字符
ls [1-3].txt 匹配范围
ls [0-9a-zA-Z].txt 匹配非特殊字符
ls {1,3,4}.txt 匹配部分
更多推荐
所有评论(0)