Questions tagged «files»

操纵文件:复制,重命名,搜索,分析,归档等。有关对文件中的文本进行操作的信息,请参见/ text-processing。有关“文件”文件管理器(以前为Nautilus)的问题,请参阅/ nautilus。


2
在图像上使用猫之后会产生什么?
假设有人创建了一个像这样的文件: touch myFile 您可以使用vim或其他内容在其中输入一些文本,然后将cat myFile其吐出到终端中。 现在,当我在任何图像上使用猫时会发生什么?说, cat myPNG.png 我只是一堆垃圾。它只是让我考虑该cat命令正在尝试执行的操作,以及所有这些“垃圾”来自何处。只是好奇。
9 files  binary  cat 

6
检查是否存在多个目录
我要检查多个目录的存在,说dir1,dir2并且dir3,在工作目录。 我有以下 if [ -d "$PWD/dir1" ] && [ -d "$PWD/dir2" ] && [ -d "$PWD/dir3" ]; then echo True else echo False fi 但是我怀疑这样做有更优雅的方法。不要假定目录名称中存在模式。 目的是检查一些目录是否存在以及其他目录是否不存在。 我正在使用Bash,但首选可移植代码。

4
在一行中用2个条件/替换重命名多个文件?
我正在尝试重命名一些图像: IMG_1.JPG IMG_2.JPG IMG_3.JPG 我想,以取代IMG与img和.JPG与.jpg-我知道该怎么做第二部分: $ rename 's/\.JPG$/\.jpg/' *.JPG 我的问题是,我似乎无法这样mv IMG_.JPG做img_.jpg-我知道您可以将多个模式传递给rename,但是我似乎无法使用带有修改后的小写字母值的现有文件名。 我该怎么办?
8 files  rename  replace 

1
在Linux下复制文件时,如何保留Windows文件属性?
我正在使用在Linux机器上运行的自定义Bash脚本来大量复制FAT32格式的USB驱动器。 我需要保留Windows文件属性,例如“隐藏”。 我使用rsync(或dd与更新版本一起使用find,mkdir以强制I / O同步以获得更好的稳定性和最佳带宽使用)。 我盲目尝试-X并-A切换为rsync,据说保留了一些文件属性,但它们似乎不适用于Windows文件属性。 在Linux环境中,有什么方法可以读写Windows文件属性? 如果没有更简单的方法,我可以在复制后应用它们。 我不想dd使用整个源文件系统,因为这将无法优化,特别是当您需要编写数百个驱动器时。有时,驱动器的容量为16GB,并且其中只有几个GB的文件,而一个哑巴dd会复制所有16GB的存储空间,这使得它在生产中无法正常工作。 我已经在网上搜索过,但是看起来Linux扩展属性与Windows文件属性无关,并且我还没有找到任何读写信息(或仅将其与文件一起复制)的方法。
8 files  windows 

1
在bash中创建我自己的cp函数
对于一项作业,我被要求巧妙地编写一个bash函数,该函数具有与该函数cp(副本)相同的基本功能。它仅需将一个文件复制到另一个文件,因此无需将多个文件复制到新目录。 由于我是bash语言的新手,所以我不明白为什么我的程序无法正常工作。原始功能要求覆盖文件(如果已存在),因此我尝试实现该功能。它失败。 该文件似乎在多行上失败了,但最重要的是,在这种情况下,它检查了要复制到的文件是否已经存在([-e "$2"])。即使这样,它仍然显示如果满足该条件则应该触发的消息(文件名...)。 谁能帮助我修复此文件,从而可能对我的基本语言理解有所帮助?代码如下。 #!/bin/sh echo "file variable: $2" if [-e file]&> /dev/null then echo "The file name already exists, want to overwrite? (yes/no)" read | tr "[A-Z]" "[a-z]" if [$REPLY -eq "yes"] ; then rm "$2" echo $2 > "$2" exit 0 else exit 1 fi else cat …

4
如何判断文件是否是内存映射的?
我对内存映射文件感到困惑,所以我有两个问题,如果您能帮助我,我将非常高兴。 假设我浏览到文件系统中的目录,并且该目录中有一个文件。该文件是否可能指向主内存中的区域,而不是指向磁盘中的区域? 如果可能的话,这就是我们所谓的“内存映射文件”吗? 在文件系统中移动此类文件(即,将mv此类文件从目录移动到另一个目录)的含义是什么?我的理解是,由于文件是内存映射的,因此与文件交互的进程始终写入主内存的预定义区域,并且当我们打开该文件(例如使用vim)时,我们将读取主内存的该区域。内存(因此,不涉及磁盘)。因此,无论我们将文件移到何处,它都将始终正确运行,对吗?如果是,在文件系统中移动文件是否有意义? 是否有一条命令可以判断文件是否已映射内存? 最后,如果我使用打开一个内存映射文件vim,请对其进行一些更改,然后保存并关闭vim,将会发生什么?我所做的更改是否只会写入主存储器?如果是这种情况,使用此文件的其他进程会看到我刚刚所做的更改吗?以我的经验,当我使用进行文件更改时,其他进程没有看到我对该文件所做的更改vim。这是什么原因呢?
8 files  memory 


7
查找早于X天的文件并按文件大小输出
我正在尝试使文件早于几天,并根据其大小及其所有信息(大小,完整路径等-由提供的类似信息)以降序排列ls。 虽然我可以通过以下方式查找较旧的文件: find . -mtime +10 我无法列出所需的信息。
8 files 

5
如何删除以“>”或其他不寻常字符开头的文件
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Unix&Linux Stack Exchange 的主题。 4年前关闭。 我不小心创建了一个名为 > option[value='2016'] 如何删除? My attempts: $ rm "> option[value='2016']" rm: cannot remove ‘> option[value='2016']’: No such file or directory $ rm \> o* rm: cannot remove ‘>’: No such file or directory rm: cannot remove ‘o*’: No such file or directory $ …
8 files  rm 

2
粘贴没有分隔符的文件
如何在没有任何分隔符的情况下垂直连接两个文件?我试图使用paste -d"" a b,但这只是给我a。 样本文件: 000 0 0 0 0001000200030004 10 20 30 40 2000 4000 .123 12.1 1234234534564567

4
如何打印文件夹中丢失文件的名称?
我的文件夹中有2000多个文件,但该文件夹中缺少几个文件。 文件名就像 GLDAS_NOAH025SUBP_3H.A2003 001.0000 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003 001.0600 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003 001.1200 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003 001.1800 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003 002.0000 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003 002.0600 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003 002.1200 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003 002.1800 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003 003.0000 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003003.0600 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003 003.1200 .001.2015210044609.pss.grb GLDAS_NOAH025SUBP_3H.A2003 003.1800 .001.2015210044609.pss.grb 001表示日期,而0000表示小时。 如何找出文件夹中缺少哪个文件?我在Google那里得到的答案很少,但不知道如何实施这些答案。

2
对括号中带整数且无空格的文件进行排序
我正在尝试对这样的文件进行排序(这是子例程名称的列表) cfn=(1370) __lib_file_MOD_file_open fn=(1368) __universe_MOD_general_boot fn=(916) __universe_MOD_general_main fn=(6142) __grid_var_MOD_get_overlap ... 根据括号内的整数。我首先尝试排序命令为 sort -t '=' -k 2 routine_list.txt 但随后fn =(916)出现在输出的末尾。 fn=(1368) __universe_MOD_general_boot cfn=(1370) __lib_file_MOD_file_open fn=(6142) __grid_var_MOD_get_overlap ... fn=(916) __universe_MOD_general_main 但我希望数字按升序排序(916-> 1368-> 1370-> ...)是否可以使用几个命令或选项相对简单地完成此操作?
8 files  sort 

1
权限被拒绝写入mysql日志
我只是在Vagrant上测试新的Ubuntu(Vivid 15.04)安装,并遇到mysql问题并登录到自定义位置。 在/var/log/syslog我得到 /usr/bin/mysqld_safe: cannot create /var/log/mysqld.log: Permission denied 如果ls -l /var我得到 drwxrwxr-x 10 root syslog 4096 Jun 8 19:52 log 如果我在/ var / log中查找文件不存在 我以为我暂时禁用了apparmor,只是为了确定是那个原因还是其他原因导致了问题,但是不确定它是否仍然造成了问题(编辑:认为它可能仍然处于启用状态,所以不确定这是问题还是简单的原因权限)。 如果我尝试以mysql方式手动创建文件,我也会被拒绝(我暂时允许它bash访问测试,之后将其删除)。 touch /var/log/mysql.log touch: cannot touch ‘/var/log/mysql.log’: Permission denied 如果我查看另一个正在运行的服务器(centos),它具有上述权限(并以mysql用户身份写入),那么我想知道mysql通常如何获得访问/ var / log目录的权限,以及如何将其获取到通过正常运行访问该文件夹? 这是我的mysql的apparmor配置文件 /usr/sbin/mysqld { #include #include #include #include #include capability dac_override, capability …

4
如何获得stdin的大小?
我要压缩一个大目录,并且我想知道结果文件的大小。 我试过使用du: $ tar -cv dir | du -h - du: cannot access '-': No such file or directory 然后,我尝试使用文件版本“-”: $ tar -cv dir | du -h /dev/stdin 1.0K 我确定这个数字不正确。如何获得stdin的大小?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.