c开发linux基本命令 linux系统c语言开发( 二 )


~$ mkdir folderName
5. cp
拷贝-粘贴copy-and-paste是我们组织文件需要用到的重要命令 。使用 cp命令可以帮助你在终端当中完成拷贝-粘贴操作 。首先确定你想要拷贝的文件,然后键入打算粘贴此文件的目标位置 。
$ cp src des
注意:如果目标目录对新建文件需要 root 权限时,你可以使用 sudo命令来完成文件拷贝操作 。
6. rm
rm 命令可以帮助你移除文件甚至目录 。如果不希望每删除一个文件都提示确认一次 , 可以用-f参数来强制执行 。也可以使用-r参数来递归的移除文件夹 。
$ rm myfile.txt
7. apt-get
这个命令会依据发行版的不同而有所区别 。在基于 Debian 的发行版中,我们拥有 Advanced Packaging Tool(APT)包管理工具来安装、移除和升级包 。apt-get 命令会帮助你安装需要在 Linux 系统中运行的软件 。它是一个功能强大的命令行,可以用来帮助你对软件执行安装、升级和移除操作 。
在其他发行版中,例如 Fedora、Centos , 都各自不同的包管理工具 。Fedora 之前使用的是 yum,不过现在 dnf 成了它默认的包管理工具 。
$ sudo apt-get update
$ sudo dnf update
8. grep
当你需要查找一个文件,但是又忘记了它具体的位置和路径时,grep命令会帮助你解决这个难题 。你可以提供文件的关键字,使用grep命令来查找到它 。
$ grep user /etc/passwd
9. cat
作为一个用户,你应该会经常需要浏览脚本内的文本或者代码 。cat命令是 Linux 系统的基本命令之一 , 它的用途就是将文件的内容展示给你 。
$ cat CMakeLists.txt
10. poweroff
最后一个命令是 poweroff 。有时你需要直接在终端中执行关机操作 。此命令可以完成这个任务 。由于关机操作需要 root 权限,所以别忘了在此命令之前添加sudo 。
$ sudo poweroff
总结
如我在文章开始所言,这 10 条命令并不会让你立即成为一个 Linux 大拿,但它们会让你在初期快速上手 Linux 。以这些命令为基?。约荷柚靡桓瞿勘辏刻煅耙坏饺趺? ,这就是此文的目的所在 。
怎么用C语言实现linux的命令命令是查询当前登录c开发linux基本命令的每个用户,它c开发linux基本命令的输出包括用户名、终端类型、登录日期及远程主机 , 在Linux系统中输入who命令输出如下c开发linux基本命令:
我们先man一下who,在帮助文档里可以看到 , who命令是读取/var/run/utmp文件来得到以上信息的 。
我们再man一下utmp,知道utmp这个文件,是二进制文件,里面保存的是结构体数组,这些数组是struct utmp结构体的 。
struct utmp {
shortut_type;
pid_tut_pid;
charut_line[UT_LINESIZE];
charut_id[4];
charut_user[UT_NAMESIZE];
charut_host[UT_HOSTSIZE];
struct {
int32_t tv_sec;
int32_t tv_usec;
} ut_tv;
/***等等***/
};
要实现who只需要把utmp文件的所有结构体扫描过一遍,把需要的信息显示出来就可以了,我们需要的信息有ut_user、ut_line、ut_tv、ut_host 。
老师给的初始代码c开发linux基本命令:who1.c运行结果如下:
需要注意的是utmp中所保存的时间是以秒和微妙来计算的,所以我们需要把这个时间转换为我们能看懂的时间,利用命令man -k time | grep 3搜索C语言中和时间相关的函数:
经过搜索发现了一个ctime()函数 , 似乎可以满足我们的需求,于是对代码中关于时间的printf进行修改:
printf("%s",ctime(utbufp-ut_time));
编译运行发现出来的结果虽然已经转换成了我们能看懂的时间格式,但是很明显这个时间是错的:

推荐阅读