UnixShell常用命令
Core/Shell
首先,要理解Core / shell的概念,系统内核一般被称之为core,而unix及类unix(即与unix类似)系统(如linux)都继承了这一概念,都有其内核。
古早时期,都是一台电脑就是一台服务器,为了提高服务器的利用率,大家都在用很多客户端登录系统,系统分时(电脑高效处理任务,看起来像是同时进行,其实还是存在先后顺序的)为许多客户端提供服务,即“一点对多点”式的服务模式,客户端都通过小黑窗进行操作。
如今,独立PC都已经没了服务器这一概念,一台设备就只为一个客户服务(单点对单点),但是这个小黑窗的高效操作的理念却被保留了下来。
因为所有的客户端对主机的使用都没有进入到内核层面,仅仅停留在表面,所以这种小黑窗的操作层被称为shell层,即外壳。
逐渐衍生了终端的概念,即客户端即用户终端,即terminal;现在shell、terminal、command-line(命令行)这几个概念都可以被视为同一个概念。
但shell的流行,逐渐衍生除了很多个人制作的版本,流行的有bash shell、zsh等。
目录操作
cd
1 | cd zplusplus |
即Change directory,改变目录
类unix中没有路径这个概念,只有目录。
~
主目录,个人目录
/
根目录,硬盘目录
TIPS:
- 按
tabs
键可以快速补全相符的目录名称
cd ../
可以返回上一层文件目录
mkdir
1 | mkdir zplusplus |
即make directory,创建目录
mv
1 | mv zplusplus |
即move,移动或删除
-f
force 强制
也可以用来改名,用法如下:
1 | mv main.c test.c |
其他类似的语句如 rm
,可以参考手册
ls
1 | ls |
即List,(展现)列表
这个命令非常好用,学会了就基本忘不了,各别shell能够提供不同的色彩显示,对于文档类型识别来说非常高效。
文件编辑
vim
1 | vim main.c |
注意:如果已经存在了main.c
他就不会新生成一个,否则就会新建。
操作方法:
- 刚进去的时候需要按
i
进行插入(insert)操作 - 编辑完毕之后需要先按
ESC
键,在依次输入:
及其他指令进行退出,具体参考下方,可以看手册。
:
instructor 指令输入
w
wirte
q
quit
!
强制
编辑界面如下:
科普视频:
自行科普:GUI,Graphic User Interface 图形用户界面
代码运行
gcc
1 | gcc main.c |
是GNU下的GCC编译器之一,c的编译器是gcc
,c++的编译器是g++
-o main
参数
编译完成之后使用 ls
可以查看已生成的文件
a.out
(默认命名)。
这个 a.out
文件是CPU能够直接识别和运行的文件,因此直接使用以下代码运行即可。
1 | ./a.out |
运行效果如下:
遇到问题可以再进行调试。
对GNU和开源的概念可以参考下方视频: