目录
3.2、cp 文件名 指定路径+新文件名:将文件拷贝到指定路径,并为新文件重命名
5.2.1、cat 文件1 > 文件2:将文件1的内容定向输入到文件2中
5.2.3、cat 文件1 文件2、、、 > 文件X:将文件1、、、文件内容按顺序拼接,合并输入到文件X中
1、Tab快捷键
1.1、补全文件信息
当我们在输入文件名时,难免会记不全。此时,使用点击一下Tab键,系统就会根据已输入的文件信息,匹配在默认当前目录或指定路径目录下以已输入的部分文件名开头的文件,补全文件名。
例如,此时在 ~/study1018 目录下,有四个文件。假设我想使用 vi 命令打开a.c文件,但我只输入了 vi a ,记不起文件后缀是什么了。此时点击一下Tab键,系统就会根据我输入的 a 去匹配当前目录中文件名以a开头的文件。然后将我的命令补全:vi a.c 。
读者可自行验证。
1.2、显示以已输入的部分文件名开头的所有文件
此时,~/study1018 目录中,有两个以 main 开头的文件:main.c和main.i 。此时,若还想在输入到 vi m 的时候,使用Tab键对文件信息进行补全的话,系统就无法判断我们想要补全为哪个文件,只会将命令补全为 vi main. 。
如果我们实在记不起来了正确的文件名,就可以点击两次Tab键,系统就会根据我们已输入的 main. ,将当前目录中所有以main. 开头的文件显示在终端。
然后我们再根据文件名判断,我们想操作哪个文件,输入正确的文件名。
2、man:查看命令/函数的用法
Linux命令很多,还有函数也一样,经常会碰到命令或函数不知道怎么使用。此时,我们可以去搜索命令或函数如何使用,也可以像在 vs 上一样,查看帮助手册,看这个命令或函数如何使用。
使用方法:man 数字 命令名/函数名 。
因为有许多命令和函数名是重名的,如printf既是命令,又是函数。还有函数也分系统内核函数和基于内核函数实现的普通函数(库函数),例如C语言中,printf函数是基于fprintf函数实现的(想了解的读者可以查看C语言文件操作与函数),fprintf()函数又是基于内核函数print()实现的。所以Linux使用数字区分以命令/内核函数/普通函数形式查询使用方法:命令:1;内核函数:2;普通函数:3。(在使用man命令查询,未添加数字时,默认以命令身份查询用法。)
例如,此时以缺省数字形式查询printf的用法:man printf,就是查询printf的命令用法,如下图所示:
以 man 3 printf 命令查询printf普通函数的用法,如下图所示:
3、cp:文件拷贝
3.1、cp 文件名 指定路径:将文件拷贝到指定路径
此时,在home/jiax/dir 目录下创建main.c 。使用 cp main.c ~/dir4命令,将main.c文件拷贝到家目录下的dir4目录下。
此时,使用 ls ~/dir4 命令,查看~/dir4目录下的所有非隐藏文件,可以看到main.c存在,并且main.c文件还存在在dir目录下。若main.c文件里有内容,则会发现两文件内容相同。
3.2、cp 文件名 指定路径+新文件名:将文件拷贝到指定路径,并为新文件重命名
再次在~/dir目录下,使用 cp main.c ~/dir4/newmain.c 命令,就可以将main.c文件拷贝到~/dir4目录下,并且新文件命名为newmain.c(源文件名还是main.c)。
4、mv:移动(剪切)文件
mv命令与cp命令的区别就是使用cp命令后会在指定位置出现一个新文件,原文件还在原位置;使用mv命令后,没有新文件出现,而是原文件被移动到了指定位置。
4.1、mv 文件名 指定路径:将文件移动到指定目录
因为我们很明确的知道在dir4目录下,存在newmain.c文件,所以可以使用 mv ~/dir4/newmain.c ~/dir 命令,指定将dir4目录下的 newmain.c 文件移动到当前dir目录。此处的路径为绝对路径,也可以改为相对路径:mv ../dir4/newmain.c . (因为dir4与dir目录在同一目录~下,我们当前处于dir目录中,所以 .. 链接着当前dir目录的上一级目录~,再寻址到dir4目录中的newmain.c文件;而 . 表示当前目录)
4.2、mv 文件名 新文件名:将文件重命名为新文件名
当在指定路径后添加上新文件名时,就可以将文件在移动的同时完成重命名;若添加了新文件名,没有指定路径,也就是将文件移动到原地,看起来只进行了重命名。
5、cat
5.1、cat 文件名:将文件内容显示到终端
此时,现在main.c文件中编写了如上内容,再使用cat main.c 命令进行查看。
因为 cat 命令会将文件中的所有内容显示到终端界面,所以cat不适合用来查看有较多内容的文件。
5.2、重定向
5.2.1、cat 文件1 > 文件2:将文件1的内容定向输入到文件2中
在只有 cat 文件1 的情况下,默认将文件1的内容定向输入到终端上,也就是在终端上展示文件1的内容。此时,在重定向之后,就可以将文件1的内容输入到文件2中。需要注意的是,若文件2不存在,系统会自动创建文件2;若文件2存在,且有原数据,则原数据会被覆盖(就相当于C语言文件操作中打开文件时r、w、a的w模式)。
如上图,此时将main.c文件定向输入到main2.c文件中,main2.c文件被系统自动创建。
5.2.2、cat > 文件2:向文件2中写入数据
此时,在文件1缺省的情况下,数据输入的目的文件是文件2,但数据的来源缺省了,此时就就默认从终端手动输入数据。数据输入完成后,使用 Ctrl + d 结束输入。
在使用 cat > main4.c 命令后,光标在下一行闪烁,等待数据的输入。
5.2.3、cat 文件1 文件2、、、 > 文件X:将文件1、、、文件内容按顺序拼接,合并输入到文件X中
5.2.4、cat >> 文件名:向文件追加写入数据
此时就相当于C语言文件操作中打开文件时的a模式,不会覆盖文件的原内容。同样使用Ctrl + d 结束输入。
6、wc:统计文件内容数据
测试文件:test 。文件内容如下:
6.1、wc -l 文件名:统计文件中数据行数
2就是当前文件中有两行数据,test为文件名。
6.2、wc -w 文件名:统计文件中单词个数
6.3、wc -c 文件名:统计文件中字符个数
除此之外,wc命令还有其他用法,读者可使用 man wc 命令,查看更多。
7、shutdown:关机与重启
shutdown -h 是关机,shutdown -r 是重启,还有更多用法读者可查看帮助手册查询。对于shutdown命令执行的时间可以立即执行,也可以定时。
7.1、立即执行
使用方法:shutdown -h或-r now。在后方加上now就是立刻执行开关机。
7.2、指定时刻执行
使用方法:shutdown -h或-r hh:mm。hh:mm是一个24小时时钟格式的字符串,指定在某个时间执行shutdown命令。例如,shutdown -r 14:50 :在下午2点50分进行重启系统。
7.3、倒计时执行
使用方法:shutdown -h或-r +m。+m表示从现在开始的指定分钟数,+0是now的别名。