linux 强制删除 Linux基本操作入门2
其余的东西暂时先不管。我们新增后,再点击打开,就会出现这样一个窗口,这时我们创建的就会出现
:
后序如果想对它进行修改,右击打开属性就可以修改了。
这种方式和ssh那一种互补,大
其余的东西暂时先不管。我们新增后,再点击打开,就会出现这样一个窗口,这时我们创建的就会出现 : 后序如果想对它进行修改,右击打开属性就可以修改了。 这种方式和ssh那一种互补,大家喜欢哪个就使用哪个咯。 二、rm相关指令 2.1 rmdir rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除指令。 rmdir的功能是删除空目录。 常用选项: rmdir -p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。 这里我们可以看到,rmdir只能删除目录,不能对普通文件删除。 2.2 rm指令 rm指令默认删除普通文件。 rm删不掉有文件的目录和空目录--rm删不掉目录。 2.3 rm -r指令 我们看到,rmdir指令只能删除空目录,rm指令只能删除普通文件。那么怎么删除目录呢? 引入了rm -r选项。 2.4 rm-f指令 如果当我们对使用sudo指令创建的文件进行删除的时候: 对于使用sudo指令创建的文件,当我们删除时会询问我们是否要删除。这个询问是比较好的,可以防止我们误删。但是我们来看这种情况: 当我连续删使用 sudo touch 的文件时,每一个文件被删除都要询问我是否要删除,如果我删除确定丢弃的1000个文件,每个都要询问是不是过于繁琐?? 所以,就有了rm -f指令,这个指令让我们在删除普通文件的时候,不需询问直接删除: 2.5 rm -rf指令 rm - f可以不需询问直接删除sudo touch创建的普通文件,但是不能删除sudo mkdir创建的目录,所以引入了 rm -rf指令可以不需询问直接强制删除sudo mkdir创建的目录。 注意: 这里提醒一下诸位老铁,对于rm -rf这条指令要谨慎使用,它会不提醒直接递归删除,这种操作是十分可怕的,不当可能会导致操作系统直接挂掉,Linux是一个企业后端服务器,它上面可能会部署很多重要的服务,MySQL数据库(大量用户信息),所以如果你不小心rm -rf /,删掉了根目录,就是码农戏称的删库跑路了! 2.6 rm -i指令 之前介绍的rm -f;rm-rf都是强制删除不需询问,而rm -i就是一定会询问我们是否要删除。 对rm指令的总结: 1、rmdir只能删除空目录; 2、rm只能删除普通文件,删不掉目录 3、rm -r 递归删除目录,它既能删除目录,也能删除普通文件; 4、rm -f强制删除sudo touch创建的普通文件 5、rm -rf强制删除sudo mkdir创建的目录,基本删除一切文件而不询问。当然rm -ef也不是万能的,对于正在使用的文件,被特殊保护的,账号权限不够的文件是删不掉的。 6、rm -i 删除时问一下我是否要删除。 三、man指令 man指令是访问Linux手册页的指令,它是一个查看命令、系统调用、C接口的一个手册。 比如我们查询touch指令: 查询到,如果我们想看更详细的信息,翻页就按键盘上的空格键,退出就按'q'. 再比如: 只不过这里的printf是指令,它不是C里面的函数,要是我们要查看C语言里面的printf函数,只需man 3 printf 操作就可以在3号手册查询就可以了。 这里有的老铁可能有点茫然,三号手册是什么?还有为什么我的XShell不能查看这个printf函数。一个一个解决。 ①手册 比如: 后面的数字代表他是在几号手册里面的。那么man有几个手册呢?我们输入man man就可以查看 解释一下,man手册分为8章 1 是普通的命令 2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件) 3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件 5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义 6 是给游戏留的,由各个游戏自己定义 7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明 8 是系统管理用的命令,这些命令只能由root使用,如ifconfig 这里在说明一下手册的查询规则:如果我们只是输入 man指令去查询,他按照1、2、3、4手册依次去查询,查到就显示。比如printf在1号手册是指令,而在3号手册是C函数,如果我们只是默认查询,是找不到在3号手册的函数printf的,因为在1号手册找到就不找了。 所以如果我们想具体查询,就得加上手册编号: man 1/2/3/... 命令/接口 /C 这个手册查询,有的老铁可能觉得全英不好查看,它可以汉化指令部分,但是不建议汉化。 ② 安装man手册 有的老铁说为啥我的不能显示printf函数,是因为没有安装man手册,如果你是普通用户,可能会权限受限不能安装,你可以在root账号上去安装。 安装指令是: root上安装了其他用户也可以使用的。 四 cp指令 语法:cp [选项] 源文件或目录 目标文件或目录 功能: 复制文件或目录 说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。 4.1 cp指令 cp指令就是简单的复制粘贴普通文件。 就是一个拷贝的作用,注意拷贝不是剪切,我们将file.txt拷贝到cp_file里面,file.txt并没有受到影响!! 4.2 cp -r&&cp-rf指令 cp指令只能拷贝普通文件,不能拷贝目录,所以就引入了 cp -r拷贝目录。 cp -r:递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理。 cp -rf是也是可以的,它是强制拷贝。 cp -f:强行复制文件或目录, 不论目的文件或目录是否已经存在。 4.3 cp -i cp-i:覆盖文件之前先询问用户。 cp_file里面已经有file1.txt,但是我们在执行cp指令还在不断往里面拷贝覆盖file1.txt,而没有提醒我们--这是有风险的,如果原来有重要文件,但是因为没有提醒而误被覆盖,就会导致出问题。所以可以cp -i ,使用这个指令拷贝复制就会问你是否要覆盖: 对于这一点,还要说明的是root用户下拷贝复制,存在同名文件时,不用加i他也会询问,用户的话不加i不会询问。 cp 拷贝普通文件;cp -r/cp-rf拷贝目录 ;cp-i 设置询问拷贝。 五、mv指令 我们知道CTRL+C ;CTRL+V不会影响原文件,但是CTRL+X CTRL+V 是以剪切移动到另一文件夹,原文件自动删除。mv指令就有类似于剪切功能。mv命令是move的缩写,可以用来移动文件或者将文件改名,是Linux系统下常用的命令linux 强制删除,经常用来备份文件或者目录。 5.1mv剪切 ①移动普通文件 ②移动目录 ③mv受限 ④询问覆盖 当存在同名文件时就会询问我们是否要覆盖剪切。如果我们不想让他询问,就可以使用mv -f指令。 mv -i :若目标文件已经存在时,就会询问是否覆盖,这个操作在root账号下和普通用户下是不一样的。 5.2mv重命名 mv 原来文件名 不存在的文件名。就可以改变名字。 六、 echo&&printf&&cat 6.1 echo指令 echo指令的功能有: 1、显示信息到屏幕,这一点和printf一样: 2、echo可以初始化创建一个文件,比如我们可以touch一个空文件,也可以echo一些内容到一个普通文件: 这里提到的cat指令后面还会细说。 6.2 >重定向 >也是一个指令叫重定向指令,>文件名直接创建一个大小为0的文件,它的作用和touch差不多。 至此,我们创建文件的方式有了三种: 1、>创建一个大小为0的普通文件; 2、touch创建一个空白文件; 3、echo可以初始化一个普通文件,也可以打印信息到屏幕。 七、显示文本内容指令 7.1 cat&&tac指令 ①cat指令 cat可以把文件的内容显示出来。 下面博主输入一个XShell的脚本指令: 这段指令需要 严格控制空格,否则有很大程度完成不了!! cat-n 指令,显示文本行号: ②tac指令 tac 指令的功能恰好和cat反过来,它可以逆序文本。 但是,对于一行文本,tac无法逆序!! 7.2 nano指令 nano指令也可以查看这一万行文本。 其实我们还可以vim查看文本,但是初学者容易进去后退不出来,所以建议还是nano指令查看。 nano指令还有很多功能,这里只做了简单介绍:比如查找,替换,和跳转到指定行数等功能,它功能比cat多得多,操作比vim简便,非常适合新手。 可能有的老铁XShell上没有nano指令,需要安装: 7.3 more指令 ① more指令比较适合查看大文本: ②more指令还可以对前n行显示 ③查找具体文本 7.4 less指令 ①less+文件名 可以查看文本 ②less查找 less比more更好的地方在于它可以按键盘上下键翻阅,而more只能向下翻阅。按q退出,less也可以查找: 但是,less不支持查看指定行数的文本操作。 ③less加行号 less和more比较: 1、less可以按键盘上下键翻阅,而more只能向下翻阅 2、less和more都可以查找文本,但是less查找到后会给予高亮。 3、但是,less不如more的是不支持查看指定行数的文本操作。 4、less可以像cat -n一样给文本加行号。 7.5 head&&tail指令 more/less指令我还觉得不够方便,比如我就想查看最开始或最后几行文本,more和less都不够方便,于是就有了head和tail指令。 ①head指令 ②tail指令 7.6怎么拿中间文本? 讲了拿到头和尾的指令,那么我想拿到中间的文本内容,怎么操作呢? 比如我想拿到[800,809]这10行的文本怎么办呢? ①临时文件的方案 ②不创建临时文件的方案 7.7了解管道:| | 称为管道,它是一个类似于容器的东西,用于传输资源,这里我们只学习管道的命令行操作,后面到了进程间通信还会介绍管道的实现。 我们来分析刚才是怎么使用的管道: head将前810行文本放到了管道,tail将管道内后十行打印。通过管道,head将文本内容传给了tail去操作。 了解管道之后,我们来进行这样一个操作,将中间十行[600,609]并逆置,并提取逆置后的前三行。 我们看到,管道类似于一个流水线。我们把逆置后的 10行放到管道,head提取前三行,通过管道实现多个信息流进行不同指令的加工处理。 八、时间指令 8.1 date指令 date 指定格式显示时间: date +%Y:%m:%d date 用法:date [OPTION]... [+FORMAT] 1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下 1、%H : 小时 2、%M : 分钟 3、%S : 秒 4、%X : 相当于 %H:%M:%S 5、%d : 日 6、%m : 月份 7、%Y : 完整年份 8、%F : 相当于 %Y-%m-%d 这个看起来不舒服,我们可以改造一下:date +%Y/%m/%d 这里需要说明,除了百分号以外的符号,其他符号除了空格可以自行随便设置。 8.2 date +%s指令 date +%s指令显示时间戳 我们决定这个秒数真别扭,可以把时间戳转成好看的时间。 我们在时间后面加上 -d@秒数 ,就会计算距离1970年1月1日多少秒的时间。 8.3 cal指令 cal指令就是一个查看日历的指令。 cal+年份显示那一年的日历: cal -3显示本月上月和下月的日历 (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |