目录
一、命令格式
$ Command [-Options] Argument1 Argument2...
其中:
$:默认存在的提示符,如果当前用户为超级用户,提示符为“#”,其他用户的提示符均为“$”
Command: 命令名称,Shell命令或程序,严格区分大小写
Options: 命令选项,用于改变命令执行动作的类型,由“-”引导,命令通常有多个选项
Argument: 命令参数,指出命令作用的对象或目标,有的命令允许带多个参数
注意:
- 一条命令,命令名称是必需的,不带选项或参数会使用默认的
- 命令名、选项、参数之间须用空格隔开,多条命令之间要用分号隔开
- 选项和参数顺序可以调换
- 命令名、选项、参数实际上作为是可执行程序的主函数main中的参数
二、常见命令操作
2.1补齐命令与文件名
很多时候容易忘记命令或文件名(也不好记住),可以输入命令或文件名的前几个字符然后按下TAB或ESC键自动补齐剩余没有输入的字符串
但是如果多个命令或文件名有相同前缀,快捷键按下不会响应,多次按下以后shell将列出所有相同前缀的命令或文件
2.2历史命令
这个通过按“↑”或“↓”键,便可快速输入之前输入的命令,也可以使用histroy [number] 来直接显示之前的number条命令
2.3联机帮助
常说man手册,遇到一些不熟悉用法的函数或者命令,可以用命令man来查看具体信息。man手册有9个选项,根据内容分了9节,常用的有下面3种
1 commands(普通的命令)
2 system calls(系统调用)
3 library calls(库函数
三、常用命令
-
sudo 命令:用管理员权限执行命令
-
ls:浏览目录(默认当前目录)的所有文件信息 -l 列出的信息更具体
-
eg. ls /home 列出home下的所有文件信息
-
-
clear:清空shell窗口
-
pwd: 显示当前目录的绝对路径 绝对路径的写法是由根目录 '/' 开始的 ,相对路径则是相对当前目录
-
cd 目录名:访问目录(目录就是文件夹的意思) cd . 访问当前目录 cd .. 访问上一级目录
-
mkdir 目录名:创建目录
-
touch 文件名:创建文件 (touch已存在的文件仅仅是修改时间戳)
-
vi 文件名: 打开/创建文件 +n 定位到第n行
-
rm 文件:删除文件 -r 删除目录 -rf 强制删除
-
cat 文件:显示文件所有内容 -s 空行合并 -b 显示行号(cat -b file == nl file)
-
head/tail -n file:查看头/尾 前/后n行内容 默认是10行
-
cp file1 file2: 复制一份file1 起名为file2 或者直接 -r 复制文件夹
-
cp file1 file2 destination: 把file1 file2复制到目标目录下 (destination后可以紧跟新文件名)
-
mv file1 file2 destination:移动文件到目标目录下 (destination后可以紧跟新文件名 即表示移动的同时重命名)
-
file 文件 :查看文件的类型
-
grep "内容" * -nir 寻找与内容相关的头文件 (显示行号 不区分大小写 递归查找) 后续查看 配合vi -n
-
gcc *.c 利用通配符编译多个.c文件 适用于分文件编程
四、vim/vi文本编辑器
vi是一种方便的文本编辑器,Linux系统一般是自带的,而vim是在vi的基础上发展升级的,平常使用上没太大区别,在嵌入式开发板中只有vi,但我们可以在虚拟机ubuntu上使用vim (需要手动安装 sudo apt-get install vim)
vi有三种模式,分别是命令模式、输入模式、底线命令模式,他们三者的切换是这样的:
4.1命令模式
shell界面创建或打开文件后最先进入的模式,除了特殊按键会切换模式以外,其他按键会被识别为命令,右下角也会记录,常用的命令有:
dd 删除光标所在的那一整行内容
ndd n为要删除的行数
yy 复制光标所在的那一整行内容
nyy 以光标所在的行开始向下共计n行,复制
p 将复制的内容粘贴到光标所在位置的下一行
u 相当于ctrl Z 撤销上一步操作
ctrl r 或 . 重复上一个操作
gg 跳到首行
GG 跳到最后一行
gg = G 自动调整缩进
4.2输出模式
命令模式下按下a/i/o进入到此模式,可以进行文本编辑,按下ESC可以退回到命令模式
4.3底线命令模式
:q 退出编辑文件
:wq 保存并退出编辑文件 wq!为强制保存退出
:set nu 显示行号 set nonu 取消显示行号
:行号 跳转到该行
:%s/ [A] / [B] /g 全文A替换B
: vsp 文件名 分屏显示