CSE 251 Step 1
UNIX系统文件管理
不论是UNIX系统还是如Linux,freeBSD之类的类UNIX系统,硬盘存储的数据都可看作文件,文件系统可以看作一棵树,所有文件都挂载在根目录或者是其父目录上。下面是一些特殊的表示目录的符号或者对目录之间的操作。
目录(directory)
目录的概念
- .. 父目录
- . 当前目录
- ~ 根目录
操作目录
- cd 跳转目录
- mkdir 创建一个目录(已存在的目录不可再次被创建)
- rmdir 移除一个目录
- pwd 显示当前目录
- ls 列出当前目录的子目录
| 参数 | 含义 |
| :------------ | :------------ |
| -a | 列出.下所有目录包括一些隐藏起来的目录 |
| -l | 列出.下目录的详细信息包括权限,拥有者,大小,创建时间,文件名 |
| -F | 列出.下所有目录(含路径) |
文件(file)
操作文件
- rm 移除一个文件
- cp [当前文件] [目标路径] 将当前文件复制到目标路径
- mv [当前文件] [新文件名]/[目标路径] 重命名文件或者将文件移动到目标路径(目标路径如果不存在就会把当前文件名命名为目录名)
- cat [文件名] 获取文件内容】
- less [文件名] 获取并提供实时编辑窗口(q退出,h帮助)
路径
绝对路径
绝对路径就是从~开始一直访问到你期望的目录/文件
~/cse251/stuff/hello.cpp
相对路径
相对路径就是从当前目录/文件出发,用..来访问..下的文件,或者用.来访问.下的文件
例如键入pwd
/cse251
再键入ls -a
. .. stuff step1
这时我们在cse251目录下
键入./step1就跳转到step1目录下
键入touch hello.c就创建了一个hello.c文件
接着用vim指令打开hello.c
#include<stdio.h>
int main()
{
printf("Hello Linux.\n");
return 0;
}
依次键入ESC,:wq保存并退出vim编辑器
帮助指令、进程
如果对于某个命令行的指令感到陌生键入man [命令]来获取命令的使用手册
也可以通过[命令] --help的方式获取帮助
使用gcc编译一段程序hello.c
在~/cse251/step1目录下存在hello.c文件
键入gcc -o hello hello.c将该C文件编译并且将目标文件命名为hello
接着键入./hello来执行编译后的文件
[!note] 编译后的文件
C文件这样被编译后成为了什么呢?为什么能够执行呢?
按照课程设计,我们在编写一个evil.c文件用于测试进程
#include<stdio.h>
int main()
{
while(1);
return 0;
}
该段程序是一个死循环,一直消耗系统内存,并且将当前终端卡死,
打开一个新的terminal键入top,会显示出当前CPU使用情况
每个程序运行的进程都有一个PID来表示,键入ps u来列出所有的进程pid

kill [pid]可以杀死该进程
如果对于Linux的终端界面和命令行不太熟悉,我强烈建议你在学的过程中顺便学习一下命令行的艺术,这将会让你感受到命令行所带来的高效和纯粹!
另外我的centos7没有配备需要配置vim,还有就是gcc和g++版本较低需要安装高版本gcc和g++。
VMware17装的古早centos7也没有yelp和gedit,键入下面的指令
sudo yum install yelp //安装yelp
sudo yum install gedit //安装gedit

浙公网安备 33010602011771号