linux怎样改所有文件
‘壹’ linux命令怎么把一个文档下的所有文件都改名
请自行安装SSH远程工具
SSH登录你的linux电脑
创建文件
创建成功
在linux我们只能用mv命令来移动文件
所以先看看mv的帮助信息
那么
我们可以用mv test test1111
也就是把test 移动到当前目录下名称叫test1111
完成之后的样子
我们修改完成之后可以用ls-i来看看
其实test和test111的内存地址一样的;
步骤阅读
9
mv命令的本质是吧一个文件移动到另外一个目录
当然在移动的过程中可以对目标文件取名;所以我们才可以拿来用来修改文件夹名称用
‘贰’ linux快速修改文件夹及文件下所有文件与文件夹权限
Linux 权限继承 ,使用setfacl划分权限
Linux 文件权限分为 owner group other
如:
drwxrwx--- 5 wdj wdj 4096 09-26 11:51 test
如果用户soft 想对test目录有读写权限,一种是将soft用户加入wdj组中。另一种是将other权限改为rw
如果想让此目录下的文件或目录继承父目录权限,则每次要chmod -R ....一下
现在可以使用setfacl解决以上问题
setfacl -R -m u:soft:rwx test
[soft@node2 data]#ll
drwxrwx---+ 5 wdj wdj 4096 08-20 14:51 test
这样soft用户就可以操作test目录
setfacl -d --set u:soft:rwx test
-d是让子目录继承父目录权限
使用getfacl命令查看acl权限
[soft@node2 data]# getfacl test
# file: test
# owner: wdj
# group: wdj
user::rwx
user:soft:rwx
group::rwx
mask::rwx
other::---
default:user::rwx
default:user:soft:rwx
default:group::rwx
default:mask::rwx
default:other::---
setfacl -x u:soft test
去掉单个用户的权限
setfacl -b test
删除test目录的所以acl权限
‘叁’ linux如何批量修改文件里内容啊。
1.先将你上面的文本保存为文件 ts.txt
2.保存如下脚本为ts.sh并修改可执行权限。
#!/bin/bash
cat ts.txt |gawk '/IOPATH/ {if (gsub(/\(|\)/,"")) {
t1=$1;t2=$2;t3=$3;
split($4,value1,":");v1=value1[1];v2=value1[2];v3=value1[3];
split($5,value2,":");v11=value2[1];v22=value2[2];v33=value2[3];
print "\t("t1" " t2" " t3 " ("v1*10":"v2*10":"v3*10") ("v11*10":"v22*10":"v33*10"))"};
next} {print}'
3. # ./ts.sh >ts1.txt
4. # more ts1.txt 输出如下,按照你的要求每个数*10
(CELL
(CELLTYPE "OR2X1")
(INSTANCE U2604)
(DELAY
(ABSOLUTE
(IOPATH A Y (6.5:6.5:6.5) (4.57:4.57:4.57))
(IOPATH B Y (6.08:6.08:6.08) (6.82:6.82:6.82))
)
)
)
(CELL
(CELLTYPE "OAI21XL")
(INSTANCE U2603)
(DELAY
(ABSOLUTE
(IOPATH A0 Y (1.11:1.11:1.11) (0.49:0.49:0.49))
(IOPATH A1 Y (3.11:3.11:3.11) (-0.37:-0.37:-0.37))
(IOPATH B0 Y (1.86:1.88:1.88) (0.62:0.62:0.62))
)
)
)
5. # diff ts.txt ts1.txt 比较结果输出如下
6,7c6,7
< (IOPATH A Y (0.650:0.650:0.650) (0.457:0.457:0.457))
< (IOPATH B Y (0.608:0.608:0.608) (0.682:0.682:0.682))
---
> (IOPATH A Y (6.5:6.5:6.5) (4.57:4.57:4.57))
> (IOPATH B Y (6.08:6.08:6.08) (6.82:6.82:6.82))
16,18c16,18
< (IOPATH A0 Y (0.111:0.111:0.111) (0.049:0.049:0.049))
< (IOPATH A1 Y (0.311:0.311:0.311) (-0.037:-0.037:-0.037))
< (IOPATH B0 Y (0.186:0.188:0.188) (0.062:0.062:0.062))
---
> (IOPATH A0 Y (1.11:1.11:1.11) (0.49:0.49:0.49))
> (IOPATH A1 Y (3.11:3.11:3.11) (-0.37:-0.37:-0.37))
> (IOPATH B0 Y (1.86:1.88:1.88) (0.62:0.62:0.62))
从以上比较的结果可以看出每个符合要求的值都乘以了10.
希望能帮你解决
‘肆’ linux怎么修改文件的所有权
用chmod命令。。下面是粘贴的
文件/目录权限设置命令:chmod
这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限。该命令有两种用法:
用包含字母和操作符表达式的文字设定法
其语法格式为:chmod [who] [opt] [mode] 文件/目录名
其中who表示对象,是以下字母中的一个或组合:
u:表示文件所有者
g:表示同组用户
o:表示其它用户
a:表示所有用户
opt则是代表操作,可以为:
+:添加某个权限
-:取消某个权限
=:赋予给定的权限,并取消原有的权限
而mode则代表权限:
r:可读
w:可写
x:可执行
例如:为同组用户增加对文件a.txt的读写权限:
chmod g+rw a.txt
用数字设定法
而数字设定法则更为简单:chmod [mode] 文件名
关键是mode的取值,一开始许多初学者会被搞糊涂,其实很简单,我们将rwx看成二进制数,如果有则有1表示,没有则有0表示,那么rwx r-x r- -则可以表示成为:
111 101 100
再将其每三位转换成为一个十进制数,就是754。
例如,我们想让a.txt这个文件的权限为:
自己 同组用户 其他用户
可读 是 是 是
可写 是 是 可执行
那么,我们先根据上表得到权限串为:rw-rw-r--,那么转换成二进制数就是110 110 100,再每三位转换成为一个十进制数,就得到664,因此我 们执行命令:
chmod 664 a.txt
‘伍’ linux 下怎样修改一个目录及其子目录下的所有文件的 修改时间
1、linux一般修改文件时间使用touch命令,要修改一个目录及所有子目录下的文件,可以使用find命令,结合*通配符进行批量查找,同时执行touch命令即可。
2、具体的命令如下:
find.-name'*'-exectouch{};
3、效果如下图所示,统一为一个时间了。
‘陆’ 如何在linux下编辑和修改文件
如何在linux下编辑和修改文件
vi filename :打开或新建文件,并将光标置于第一行首
vi n filename :打开文件,并将光标置于第n行首
vi filename :打开文件,并将光标置于一行首
vi /pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次进行编辑
移动光标类命令
h :光标左移一个字符
l :光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl p:光标上移一行
j或Ctrl n :光标下移一行
Enter :光标下移一行
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n :光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾
‘柒’ linux怎么批量修改文件名称
可以用脚本实现批量文件名称修改,以perl脚本为例:
注释:
1. # touch rename.perl //创建一个文件:rename.perl , 内容如下。
2. # chmod +x rename.perl
3. # cp rename.perl /bin/
4. # rename.perl 's/gongxu/leibie/g' * //将目录中所有文件名中的 gongxu 替换为 leibie。
#!/usr/bin/perl -w
# rename - Larry's filename fixer
#用法: Perl表达式 [要处理的文件名]
$op = shift or die "Usage: rename expr [files]\n";
#如果没有给出要处理的文件名则从标准输入读入
chomp(@ARGV = <STDIN>) unless @ARGV;
for (@ARGV) {
$was = $_;
eval $op; #对待处理的文件名($_)执行用户输入的Perl表达式$op
die $@ if $@; #退出 , 如果eval出错
rename($was,$_) unless $was eq $_;
}
rename脚本的经典实例示范:
% rename.perl 's/\.orig$//' *.orig #移除文件末尾的.orig
% rename.perl "tr/A-Z/a-z/ unless /^Make/" * #所有非Make打头的文件名大写转为小写
% rename.perl '$_ .= ".bad"' *.f #每个*.f文件后面追加一个.bad
% rename.perl 'print "$_: "; s/foo/bar/ if =~ /^y/i' * #回显每个待处理的文件名, 等待输入, 如果用户输入以y或Y打头, 把文件名中的foo替换成bar
% find /tmp -name "*~" -print | rename.perl 's/^(.+)~$/.#$1/' #把 /tmp目录里面每个文件名末尾有~的文件名改成以.#开头
‘捌’ linux修改目录下所有文件777
直接用更改权限命令chmod
chmod -R 777 /home/linux
测试步骤:
useradd linux
ll /home
chmod -R 777 /home/linux
ll