目录
rm指令接续
-i功能
功能展示
创建一个文件tmp.txt
创建一个目录dir
rm -rf *
rm -rf * 功能展示
rm -rf * 删不了隐藏文件
对功能-r的补充介绍
man指令
man功能举例介绍
1,man man (退出键为q)
nano指令
cp指令
mv指令
剪切文件
剪切目录
作为重命名指令
alias指令
cat指令
cat -n file
cat -s file
cat -b file
tac
echo指令
新建文件
追加重定向
less指令
head指令和tail指令
rm指令接续
-i功能
-i功能的作用是在文件或者目录删除的时候对用户进行提问,询问用户是否需要删除这个文件或者目录,一般用于普通用户底下的文件目录操作。
功能展示
创建一个文件tmp.txt
创建一个目录dir
有个小细节,在root用户下,你每次删文件, 系统都会问你一下,毕竟这是root的账号。但在普通用户底下,删文件系统基本上不会鸟你,因为这一般是你自己的东西,系统也不会过多去问
rm -rf *
功能介绍:删掉当前目录下的所有文件包括目录下的目录,只是指目录,因为-r是针对目录的。
rm -rf * 功能展示
目录也照删
rm -rf * 删不了隐藏文件
但是删不了隐藏文件,因为rm默认不会删除隐藏文件,要删隐藏文件的话,就要rm 明确说明后面的文件名或者文件目录名
对功能-r的补充介绍
-r是对文件的目录递归展示,赋予rm指令就是,递归删除,跟二叉树一样,或者说本来就是树结构的目录,会先找到叶子节点,即空目录或者文件,进行返回删除。
man指令
手册编号 查找内容
man相当于说明书,对后面的内容打开一个使用手册
一些云服务器可能没有手册编号查找之类的,所以需要自己安装
指令:
yum install -y man-pages
man功能举例介绍
1,man man (退出键为q)
介绍自己
man有9种选项,每一选项对应的是不同的介绍方式,比如第三种,它是在库函数里面介绍。
它的寻找方式是从第一个功能开始找,哪个选项先找到你想要的某个函数或者指令的说明,就进入哪个选项,当然也有可能找不到。
以fopen函数为例
man fopen
man 1 fopen
man 3 fopen
出现的情况会跟指令man fopen一模一样。
这就是man+(选项)+指令/函数。
一些服务器也可能没有手册编号查找之类的,所以需要自己安装
指令 yum install -y man-pages
nano指令
nano相当于Windows里的记事本,使用nano指令可进文本文档或者其它可编写文件中进行编辑
执行指令:nano file.txt
进入界面,进行编写
退出:CTRL+X——Y(保存)——enter
如果没有nano指令,一样进行安装即可
yum install -y nano
cp指令
指令介绍:复制,跟Windows里的复制粘贴指令一个道理
指令格式:cp 拷贝的文件(可加路径指示) 目的路径(可加路径指示)
如果目的是文件的话,意味着改名
但不能把一模一样的文件拷贝到相同目录下
eg1:
cp file.txt file.txt.bak
将file.txt文件拷贝到相同路径里,并对其进行更名操作
eg2:
cp file.txt ..
将file.txt文件拷贝到上级目录里
拷贝文件有了,那拷贝目录呢
拷贝目录不允许只用cp 原src dst
拷贝目录要用递归拷贝(-r),即,将所有拷贝过去
cp -rf dir ..
将dir目录拷贝在上级目录里
这是拷贝到同级目录的做法,拷贝到上级目录也差不多,跟拷贝文件没有什么太大的区别,个人认为只有rf这个区别
拷贝的时候不会拷贝隐藏文件,因为原本目录就有,'.' 和'..' ,两个目标指令,如果在导入进去的话,会造成指令冲突,所以一般不会轻易的将隐藏文件导入原来的文件里去的。如果有需要,要把它指明出来。
cp 既然类似于Windows中的复制粘贴,那剪贴呢?
mv指令
mv指令就是类似于Windows里剪贴
格式 : mv+原位置的文件/目录+目的位置
剪切文件
剪切目录
作为重命名指令
一般我们在windows系统中,我们会很容易的将一个文件或者目录进行重名,而在Linux操作下,重命名会显得有点麻烦,但我们换个角度看Windows的重命名,我们也便会轻易理解
Windows的重命名过程中,可以认为,将原来的文件剪切到当前目录下中的你要新命名的文件夹里去,目录也一样
所以在下面如果目的地址不存在的,系统会帮你创建一个文件/目录,并且有重命名的功能。只不过是变相地完成重命名操作
alias指令
对指令进行重命名
可以对指令作出修改,使用其他方式来代替,这种做法是有局限的,只要关掉Xshell就能让别名变废,如果想要长久保留下来,就要修改配置文件。
最为常见的就是ls -l 和 ll 这两个指令
我们查看一下
它两所呈现出来的结果几乎是一模一样的
cat指令
作用是显示文件内容,打印文件内容
cat -n file
对输出文件的所有行进行编号
cat -s file
不输出多行空行
cat -b file
对非空行进行编号
tac
打印逆转
echo指令
echo后面跟字符串,执行指令,echo后跟的是什么就打印什么
echo的字符串后面还可以跟输出重定向——'>'
本质意思就是:向显示器打印,就是将内容写入到显示器中
显示器读的方法一般是空的,就是我们会认为,显示器不会将内容读取下来。可能会有伙伴疑问,那我们现在在显示器看到的内容最后不都是可以输入到某个文件里去吗,不就是从显示器中读到,然后打印在某个文件内吗?
其实不是,将内容写进文件的,其实还是键盘,只不过键盘写入了两次,一次给显示器,另一次给文件,主打一个方便而已,并不是说让显示器读取东西
echo默认会向显示器打印(或者说向显示器文件写入),使用输出重定向>,就会改变它的打印方向,输出重定向>后面可以跟存在的文件,或者不存在的文件
新建文件
根据516.txt的创建模式,我们便可以重新设想,能不能直接"> new file" ,以此来创建文件,然后可以替代touch指令?
答案是可以的
我可以什么都不写,但我还是要执行创建这个文件!
追加重定向
但,echo>不能做到连续编写,输出重定向每次都会先清空原始文件里的内容,然后再进行打印
所以当我们想要进行不断写入的时候,就要用到 ">>" 了
所以>> 就叫做追加重定向 。
less指令
可以上下翻文件内容,还可以用搜索
直接在输入命令行那里输入 / 要查找的内容
它就会自动跳转到你想要的内容里
所以短文件一般用cat,长文件一般使用less
head指令和tail指令
去头部和尾部,一般默认十行,如果想自定义行数,则在中间加上 -n
如果我们要找刚才创建的大文件中的,50000到50050之间的数据,我们可以结合管道指令来完成
head -500051 516.1.txt | tail -51
管道的作用便是让上一个的结果用到下一处地方,例如上题,我们要寻找50000到50050之间的数据,我们可以先head找到50050个数据,再用查找到的结果接上tail找到末尾的50个数据。
即可找到。