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
image

kill [pid]可以杀死该进程


如果对于Linux的终端界面和命令行不太熟悉,我强烈建议你在学的过程中顺便学习一下命令行的艺术,这将会让你感受到命令行所带来的高效和纯粹!

另外我的centos7没有配备需要配置vim,还有就是gcc和g++版本较低需要安装高版本gcc和g++

VMware17装的古早centos7也没有yelp和gedit,键入下面的指令

sudo yum install yelp		//安装yelp
sudo yum install gedit		//安装gedit
posted @ 2024-05-16 15:32  coreSoul  阅读(24)  评论(0)    收藏  举报