Linux CentOS7中命令及命令行是非常重要的概念。对大多数初学者来说是既熟悉又了解甚少。本文初步讨论这方面的内容,与同行者交流。
命令又称为指令,(英语命令 command,可用简写cmd表示),在终端命令行中执行的一段字符,一个英语单词或一个单词简写。例如
cd 切换目录 change directory 的首字母组合
pwd 打印当前工作路径print working directory 的首字母组合
ls 列表显示当前目录的所有文件 list简写
type 显示文件类型 英语单词
which 显示命令或文件位置 英语单词
可以这样理解:命令是内置在系统里,已编写好的,用英文字母或符号表示的简短代码。
作为具有执行权限的文件名也可以象命令一样,在命令行中执行,与命令具有类似功能,但不称为其为命令。
执行命令的地方,具有一定的标志符,是光标闪动的地方
可以用type cd查看cd是一个内置命令还是一个文件名
学习与应用CentOS7需要重点掌握的几个命令有:
cd pwd ls cat less vim chmod useradd ping systemctl ps top kill w find grep sed awk| > && [ ]等
常用命令比较多,可在网上搜索,有众多介绍,此处不一一介绍。
远程终端连接后,会自动打开命令行
虚拟机中:在桌面空白的任一位置右键→打开终端(Open in Terminal )
显示命令行
远程终端退出即可
桌面图形化终端 Ctrl+d
或者 点命令行窗口的右上角x标志
有多个终端登录时,切换命令行相当于切换终端
桌面:
可在下方的命令行状态显示中,点需要显示到活动窗口的标志,就可以快速切换
如下方没有打开过的命令行,可以切换到桌面,找到“位置”中需要的目录,右键打开命令行
也可以在当前命令行上方的“Places”,找到需要的目录,右键打开命令行
远程:
同一个程序的不同终端标签,可以点需要的终端标签,显示命令行
没有需要的终端标签,可以新建,或点文件—>打开,打开新的终端。
临时不使用时,可点终端窗口的右上角缩小化标志-,缩小化命令行(会显示在桌面系统的下方状态栏中)
远程与桌面操作方法基本相同,与 windows操作也一致。
远程终端登录时,可在终端会话属性中设置
虚拟机桌面系统时,可在用快捷键Ctrl+shift+ "+" 放大字体
Ctrl+ "-" 缩小字体
配置文件有误;未保存
配置文件未拷贝到家目录
(为了演示命令行不正常显示是什么状态,我们把chenwu家目录的所有隐藏文件都删除了)
a.常见符号含义
. 代表当前目录
.. 代表上一层目录,当前目录的父目录
- 代表前一个目录,切换回刚才哪个目录
~ 代表当前用户的宿主目录
/ 代表根目录
$ 普通用户的命令行提示符
# root用户的命令行提示符
b.“[guo@guo ~]$”的含义
用户名(guo)@计算机名(guo):当前位置(~) 当前的权限($)
“~”这个符号代表当前用户的宿主目录,相当于/home/guo/。
与Windows不同,Linux系统是不硬盘分区的,它有一个顶级文件(根目录),用符号“/”表示,文件以树的方式存储。Linux系统中认为一切皆文件(包括路径、设备),例:位于/dev(里面为设备文件)目录下,stdout(standard out),标准输出,与屏幕绑定;stdin(standard in),标准输入,与键盘绑定。
“$”这个符号表示普通管理员权限。系统将用户身份分为4种。
(1)超级管理员:只有一个,是系统默认创建的,名为root,拥有最高权限(用“#”表示)
(2)普通管理员:用户自己,拥有部分权限,可使用sudo命令向root借权限(用“$”表示)
(3)普通用户:基本没有权限,不可以使用sudo命令
(4)来客用户:没有任何权限
c.命令行特殊符号
* 万能匹配符
?匹配一个字符
# 注释字符
^C 终止命令符号,Ctrl+c后所显示,所有含^符号时,是指按了Ctrl控制键
\ 一行写不下命令时,写上此符号,按回车,继续录入命令
; 两个命令写在一行时,中间需要写上;
命令与选项中间必须有空格,不用加' '或" "
` 反引号,成对出现,表示命令替换,与$()功能相同
|管道符 ,前一个命令的结果,作为后一个命令的输入
> 重定向,应输出在屏幕上的内容,重定向到一个文件
{1..5} 表示从第1个数开始,到第2个数的连续几个整数,此例为1 2 3 4 5
d.命令行常用操作
在命令行中录入命令,需要用到各项操作,如把其他地方录入的内容复制粘贴到命令行中,从命令行中复制一部分内容保存到另外地方等。
(1)移动
单个字符
ctrl + b/f
单个单词
alt + b/f
行首行尾
ctrl + a/e
(2)编辑
删除单个字符
ctrl + h/d
删除单个单词
alt + backspace / alt + d
删除到行首行尾
ctrl + u/k
粘贴之前删除的内容
ctrl + y
(3)其他
暂停命令行
ctrl + s
使终端暂停
ctrl + q
退出暂停状态
重复上一行命令
按向上光标(重复前面几次的命令时,可多次按向上光标翻看,查找到再按确认键)
引用上一条命令的最后路径
Esc+. 或alt+.
在录入较长的命令或路径时,可随时按Tab键,进行命令补齐,按两次,会显示所有符合条件的内容
复制命令行内容
用光标选中需要的内容,按ctrl+insert,选中内容存入系统剪切板中
切换到其他地方,就可以粘贴!
粘贴到命令行
如果在其他地方复制了内容,在命令行粘贴,按shift+insert
如果一行命令录入错误,一般不需要删除,按ctrl+c终止即可。
可以在多个地方设置命令行提示符格式,如/etc/profile中,
在合适的地方,编写如下代码:
export PS1="\[\e[1;35m\]\$? \[\e[1;46;33m\][\u@\h \W]\\$ \[\e[m\]"
编写完毕,保存退出。要执行命令 source /etc/profile
退出当前终端,再次登录就可以看到不同的命令行提示符。
在前面的命令行提示符设置中,\$? 表示显示上次命令执行结果:
0 为前一命令执行正常
其他非负整数,为不正常情况。(后面会列出几个不同整数所表示的错误含义)
\t 可在命令行中显示执行命令的时间
\# 可在命令行中显示执行命令的第几个(命令的个数,从本次登录成功计算)
\w 可在命令行中显示全部工作路径(绝对路径)
\W可在命令行中显示工作路径的最后一个目录
通过环境变量PS1 可设置命令行颜色、显示内容,PS2 PS3 PS4可设置不同的命令行功能,
其中可设置二级符号>变为>>>或其他。
光标在命令行的任意地方,都可以按确认键,执行命令(不需要把光标移动到最后)
可以说,光标在命令行中间按回车不分行,只会执行命令。如果想把命令分行写,需要添加 \按确认键后,在后面的行中继续录入
一般情况下,选项与选项可以连在一起,-a等选项,中间不能有空格,前后可以加空格;选项可以放在命令的最后方!(一般是执行命令后,发现命令执行效果没有达到预期,按向上光标键后,再在后面加上一个选项,快捷,方便,有效!)
一般情况下,执行命令后没有任何显示,是正常的。出现许多文字,是有问题的(出现的文字是说明问题出在何处了)。
建议在命令行提示符中设置\$?,显示上次命令的执行结果,可快速判断上次命令执行情况。
下面列出部分错误代码与说明:
255 命令参数不够
2 有语法错误
1 无效选项
0 正确执行,无问题
130 中终命令执行
127 未找到需要执行的命令