【(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 + cCtrl + Insert
  • 复制:Ctrl + Shift + vShift + 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+uCtrl+kCtrl+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

可结合很多命令使用,如catpwdlswc等等命令。

[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 匹配部分

Linux命令大全

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐