内容:
熟悉linux的登录,linux窗口,学会使用自动补全输入命令,熟练掌握man 、 ls、passwd、cp、who、uname、whereis等命令的用法。
按照文后的附录,学习常用的26个命令。
运行命令 vimtutor,完成Vimtutor教程一遍
用vi完成一个简单的c语言程序,尽可能多的用vi中的各种命令。用gcc编译,并执行该程序。
学会编写基本的makefile文件,使用makefile 和make工具做一个复杂一点的c语言程序(选做)
Linux的登录界面如下:
Linux的桌面:
man 是 Linux 的帮助手册,即 manual 。因为大多数程序都会自带手册,所以可以通过 man 命令获取帮助。执行以后,在 man page 页面中按 q 退出。
passwd可以用来修改密码
cp即copy,复制文件或者文件夹
复制text.txt到dir1文件夹下:
将dir1文件夹下的所有文件(不包含子目录)复制到dir2文件下
将dir1文件下所有的文件(包括子文件中的文件)全部复制到dir2文件夹中
可以查看命令是在哪个文件夹下,比如下面的查看ls命令在哪个文件夹下
相对路径,进入test文件夹:
绝对路径,进入test文件夹:
当cd后面什么都不写的时候,默认回到用户目录
回到根目录或者用户目录,取决于现在是在用户目录还是在根目录
回到用户目录
.代表当前目录, .. 表示上级目录:
ls即list,列出文件
仅列出当前目录可见文件:
列出当前目录课件文件的详细信息:
列出当前目录可见文件的详细信息,并且以可读大小显示:
除了在文件大小的显示格式的区别,其他没有区别:
列出所有文件,包括隐藏文件,以 . 开头的文件或文件夹均为隐藏文件或隐藏文件夹。
pwd 用于返回当前工作目录的名字,为绝对路径名。
用于新建文件夹
创建多级目录,加上-p的含义是,如果没有父级目录,就会帮你创建父级目录.如果不加上-p,并且也没有对应的父级目录,那么就是无法创建.
创建多级目录,不加上-p,这个上面的区别,就是test2这个文件夹,一开始就是必须存在,而上面的test3文件夹可以不存在.
删除文件或者文件夹,下面看看rm --help中的部分精简内容.
zhuosong@zhuosong:~/test$ rm --help
用法:rm [选项]... [文件]...
删除(unlink)指定<文件>。
-f, --force 强制删除。忽略不存在的文件,不提示确认
-i 每次删除前提示确认
-I 在删除超过三个文件或者递归删除前提示确认;
-r, -R, --recursive 递归删除目录及其内容
-d, --dir 删除空目录
-v, --verbose 详细显示进行的步骤默认时,rm 不会删除目录。使用--recursive(-r 或-R)选项可删除每个给定
的目录,以及其下所有的内容。要删除文件名第一个字符为“-”的文件(例如“-foo”),请使用
以下方法之一:
rm -- -foorm ./-foo
删除text.txt文件,rm后面就是直接跟上文件名,但是如果是文件夹就是不能删除.
删除文件夹test21,但是可能出现无法删除的情况,这个时候,就是加上-r,这个本质上是递归删除test21文件夹及其子文件或文件夹.
删除hello.c文件,但是在删除文件之前会弹出提示,只有确定输入y,才会删除.
删除voidfolder文件夹,其中voidfolder文件夹是个空文件夹.如果使用普通的rm命令,不带上任何修饰符,这个文件夹是无法删除的.前面说过,如果带上-r,可以删除,那么这里使用-d也是可以删除的.
但是如果这个文件夹,是个非空文件夹,也就是里面还有东西,那么使用这个命令就是无法删除,如下:
cp即copy,复制文件.下面是cp --help的部分内容
zhuosong@zhuosong:~/test$ cp --help 用法:cp [选项]... [-T] 源文件 目标文件 或:cp [选项]... 源文件... 目录 或:cp [选项]... -t 目录 源文件... 将指定<源文件>复制至<目标文件>,或将多个<源文件>复制至<目标目录>。 必选参数对长短选项同时适用。 -f, --force 如果有已存在的目标文件且无法打开,则将其删除 并重试(该选项在与 -n 选项同时使用时将被忽略) -n, --no-clobber 不要覆盖已存在的文件(使前面的 -i 选项失效) -R, -r, --recursive 递归复制目录及其子目录内的所有内容 -u, --update 只在源文件比目标文件新,或目标文件不存在时 才进行复制
hello.c是一个普通文件,dir1是个文件夹,命令就是将hello.c复制到dir1文件夹下.
将dir1中的所有文件(不包含子文件夹)复制到dir2文件夹中.
将dir1中的所有文件,包括子文件夹中文件,全部复制到dir2文件夹下,-r的意思,就是递归.
此外,如果dir2是个开始就不存在的文件夹,那么也是可以执行的,他就会先创建一个文件夹.,如下所示:
hello2.c是个已经存在的文件,命令就是相当于复制hello2.c文件,然后重用名为hello21.c
移动hello.c文件,到dir1文件夹.
移动hello.c文件到dir1中,如果dir1中有同名文件,则会提示是否覆盖.
这里的hello.c和hello2.c都是普通文件,不是文件夹,所以这里的作用就是相当于重用名的作用.
可以就文件中的内容,直接打印到终端.
如果就上-n选项,就是会打印行号:
cat命令就是一下子把五百多行的内容直接输出到终端,上面的内容,如果没有鼠标,图形画界面的画,是看不到的.
more也是用来显示文档内容,和cat类似,不同的是,他不想cat命令,一下就显示所有的内容,要看上面的内容,还要往上翻,如果只有键盘,那就没法往上翻了.这个命令会在会后显示个"--更多--(7%)",然后你按下一空格或回车,他就是会加载一行,然后一行一行的显示.
+495的含义是从自定的行开始显示,也就是从495行开始显示.
less命令和前面的more命令,cat命令类似,都是用来显示文件内容,但是更加灵活,像是一个只读的vim编辑器,执行命令之后,会进入内容界面,然后可以上下翻页查看,不想前面的more只能向下翻页.然后可以通过按q退出.
nano 是一个简单实用的文本编辑器,使用简单。
ping 主要用于测试网络连通,通过对目标机器发送数据包来测试两台主机是否连通,及延时情况。
参数解释:
-c 创建归档
-x 解压归档
-v 显示处理过程
-f 目标文件,其后必须紧跟 目标文件
-j 调用 bzip2 进行解压缩
-z 调用 gzip 进行解压缩
-t 列出归档中的文件
查看file1.tar.bz2文件,在解压之前可以先查看下压缩包里的内容.
将当前目录的所有文件归档,但不压缩,注意后面的".",表示当前目录.
加上-v,就是会显示处理过程,
解压file1.tar文件,到当前目录
调用bzip2压缩文件,
tar -xjf file1.tar.bz2
解压文件到当前目录
解压file1.tar.bz2文件到dir1文件夹下面,注意这个-C中的C必须是大写的C.
使用gzip把当前目录中的内容压缩成文件fiel1.tar.gz
把file1.tar.gz文件解压到dir1文件夹当中
硬链接主要是增加一个文件的链接数,只要该文件的链接数不为 0 ,该文件就不会被物理删除,所以删除一个具有多个硬链接数的文件,必须删除所有它的硬链接才可删除。
硬链接有点像C语言中的指针访问数据,而软链接有点像访问副本数据,也就是说删除所有硬链接,那么这个文件就是被彻底删除了,而删除所有软链接,这个文件还仍然存在,硬盘上的数据不受影响.
-s就是表示创建软件链接,s就是soft的意思.这个命令是在dir1中创建一个能够直接访问dir11中的text.txt文件的软链接,相当于windows系统的快捷方式.
change mode,就是改变的文件的权限,主要有 读取 、 写入 、 执行 ,三种权限,其中 所有者(u=user)、 用户组(g=group) 、 其他(o=other) 各占三个,其中 r=read , w=write , x=execute
如下图所示,原来的命令权限是664,更改之后,变成了764
在正常(Normal)模式下,可以按下 x 键来删除光标所在位置的字符。
在正常模式下,可以按下 i (insert)键来插入文本
按 A 键以添加文本
将光标移至准备要删除的单词的起始处,接着输入 dw 删除掉该单词
输入 d$ 从光标处删至当前行尾部
就是将hello.c文件编译成hello,然后通过./hello运行