编写一个script, 创建目录/tmp/scripts, 切换工作目录到此目录中,复制你home下的某个目录到当前目录,并重命名为test,将test里的文件及其下的目录的其他用户权限改为没有任何权限。
#!/bin/bash
#创建目录/tmp/scripts, 切换工作目录到此目录中
echo "make new dir"
mkdir /tmp/scripts
echo "change work directory"
cd /tmp/scripts
pwd
echo "copy from home"
cp -r /home/xx/test000 newtest
echo "the work directory"
pwd
echo "ls -al"
cd /tmp/newmkdir/newtest
pwd
ls -al
echo "change rights"
sudo chmod -R 700 /tmp/newmkdir/newtest
ls -al
涉及的知识点:
1.文件权限
chmod 777 /home/user 注:仅把/home/user目录的权限设置为rwxrwxrwx
chmod -R 777 /home/user 注:表示将整个/home/user目录与其中的文件和子目录的权限都设置为rwxrwxrwx
chmod 用3个数字来表达对 用户(文件或目录的所有者),用户组(同组用户),其他用户 的权限:
如:chmod 777 /test
数字7是表达同时具有读,写,执行权限:读取--用数字4表示;
写入--用数字2表示;
执行--用数字1表示;
按照规则,如你想设置/test目录的权限为:
对用户可读可写:4(读取)+ 2(写入)= 6 ;
对用户组可读可执行:4(读取)+ 1(执行)= 5 ;
对其他用户仅可读:4(读取);
这样就可以用命令:
chmod 654 /test
几种常用权限实例:
-rw------- (600) 只有所有者才有读和写的权限
-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限
感谢这篇博客:https://www.cnblogs.com/puloieswind/p/5845638.html
2.复制与重命名
假设复制源目录 为 dir1 ,目标目录为dir2。怎样才能将dir1下所有文件复制到dir2下?
如果dir2目录不存在,则可以直接使用
cp -r dir1 dir2
linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹.
例子:将目录A重命名为B
mv A B
例子:将/a目录移动到/b下,并重命名为c
mv /a /b/c