文件管理 · 2022年7月25日

shell删除文件命令|shell脚本 怎么删除文件夹中的文件

❶ 求一段linux shell 的删除文件命令

#!/bin/bashif [ $# -ge 2 ]; then directory=$1 filenames=$2filist=`ls $directory`function demo(){ file=$1 content=`cat $filenames` for line in $content do if [ "$line" == "$file" ]; then return fi done rm $file}for filename in $listdo cd $directory if [ -f $filename ]; then demo $filename fidone

❷ Linux shell删除文件

试试这个命令cd到你要删除目录的目录下find . -type d -print -exec rm -rf {} \;

❸ 如何用shell命令删除文件的前几行

1、删除首行sed -i '1d' a.txt2、删除1-5行sed -i '1,5d' a.txt3、删除尾行sed -i '$d' a.txt

❹ 用shell脚本写删除文件的命令

rpm-ql|xargsrm

❺ linux删除30天前文件命令

1.删除文件命令:

find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} ;

实例命令:

find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} ;

说明:

将/opt/soft/log/目录下所有30天前带".log"的文件删除。具体参数说明如下:

find:linux的查找命令,用户查找指定条件的文件;

/opt/soft/log/:想要进行清理的任意目录;

-mtime:标准语句写法;

+30:查找30天前的文件,这里用数字代表天数;

"*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三;

-exec:固定写法;

rm -rf:强制删除文件,包括目录;

{} ; :固定写法,一对大括号+空格++;

2.计划任务:

若嫌每次手动执行语句太麻烦,可以将这小语句写到一个可执行shell脚本文件中,再设置cron调度执行,那就可以让系统自动去清理相关文件。

2.1创建shell:

touch /opt/soft/bin/auto-del-30-days-ago-log.sh

chmod +x auto-del-30-days-ago-log.sh

新建一个可执行文件auto-del-30-days-ago-log.sh,并分配可运行权限

2.2编辑shell脚本:

vi auto-del-30-days-ago-log.sh

编辑auto-del-30-days-ago-log.sh文件如下:

#!/bin/sh

find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} ;

ok,保存退出(:wq)。

2.3计划任务:

#crontab -e

将auto-del-30-days-ago-log.sh执行脚本加入到系统计划任务,到点自动执行

输入:

10 0 * * * /opt/soft/log/auto-del-7-days-ago-log.sh >/dev/null 2>&1

这里的设置是每天凌晨0点10分执行auto-del-7-days-ago-log.sh文件进行数据清理任务了。

❻ linux shell如何删除指定目录下的文件夹,而不删除文件

思路:

你要遍历目录下的所有文件 文件夹

判断是否文件 是文件就不操作 是文件夹就执行删除操作

大致思路就是这样

❼ shell中怎么删除文件中指定行的

1、删除包含指定关键字的行:

sed -i '/hello/d' test_temp

[[email protected]]$ cat test_temp

world

123

4566

889

2、删除指定行号的行

sed -i '2d' test_temp

[[email protected]]$ cat test_temp

world

4566

889

3、sed -i '1d' a.txt删首行

4、sed -i '$d' b.txt删尾行

5、sed -i 's/[ ]*//g' c.txt删空格

6、sed -i '/^$/d' d.txt删空行

7、sed -i ‘/love/d’ a.txt删包含string的行。

(7)shell删除文件命令扩展阅读:

shell 命令

常用命令:

cat 文件名 输出文件内容到基本输出(屏幕 or 加>fileName 到另一个文件)

cb 格式化源代码

chmod //change mode,改变文件的权限

cp

date 当前的时间和日期

echo $abc 在变量赋值之后,只需在变量前面加一个$去引用.

lint语法检查程序

ls dir

man help

more type

查看磁盘空间状况

ps 查看当前进程状况

who 你的用户名和终端类型

定义变量 name=abc? (bash/pdksh) || set name = abc (tcsh)

mkdir 创建目录

rmdir 删除目录

cd 进入目录

rm 删除文件

more 显示文件

echo 显示指定文本

mv 改文件名 /移动文件

pwd 显示目录路径命令

❽ Shell环境下删除命令如何排除指定文件

下面列出root目录下的文件结构+- root+- fileA.txt+- subdir1+- a.txt+- b.txt+- c.txt+- subdir2+- d.txt+- e.txt+- f.txt+- subdir3+- subdir4+- subdir5+- subdir6+- subdir7+- subdir8+- subdir9目的是除了目录subdir2和文件fileA.txt其它的都要删除,如果一个一个删就效率太低了,Shell命令可以轻松的解决执行的效果如下+- root+- fileA.txt+- subdir2+- d.txt+- e.txt+- f.txt来源:blogjava作者:kuuyee

❾ shell脚本 怎么删除文件夹中的文件

vim rm.sh#!/bin/bashfind . -type f -exec rm {} \;会将当前文件夹中的文件全部删除。请谨慎操作!

❿ linux shell 删除文件夹命令

没太看复清楚楼主描述,如果需要制保存20140110文件夹,可以先将20140110修改名字,比如mv 20140110/ 20140326/,然后执行命令rm -r 201401*,应该就可以把一月全部删除,然后再用mv 20140326/ 20140110/ 即可。凭记忆,未在shell下试过,你可以试试