N28-第二周

文件管理命令:

cp命令:copy    源文件;目标文件;

单源复制:cp [OPTION]… [-T] SOURCE DEST
多源复制:cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…

单源复制:cp [OPTION]… [-T] SOURCE DEST
如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;
如果DEST存在:
如果DEST是非目录文件:则覆盖目标文件;
如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;

多源复制:cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…

如果DEST不存在:错误;
如果DEST存在:
如果DEST是非目录文件:错误;
如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;

常用选项:
-i:交互式复制,即覆盖之前提醒用户确认;
-f:强制覆盖目标文件;
-r, -R:递归复制目录;
-d:复制符号链接文件本身,而非其指向的源文件;
-a:-dR –preserve=all, archive,用于实现归档;
–preserv=
mode:权限
ownership:属主和属组
timestamps: 时间戳
context:安全标签
xattr:扩展属性
links:符号链接
all:上述所有属性

mv命令:move
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE..

常用选项:
-i:交互式;
-f:force

rm命令:remove
rm [OPTION]… FILE…

常用选项:
-i:interactive
-f:force
-r: recursive

删除目录:rm -rf /PATH/TO/DIR
危险操作:rm -rf /*

bash通过状态返回值来输出此结果:
成功:0
失败:1-255

命令执行完成之后,其状态返回值保存于bash的特殊变量$?中

命令行展开

~:自动展开为用户的家目录,或指定的用户的家目录
{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径

*:任意字符任意长度

.:代表目录时,表示当前的工作目录

创建/tmp目录下的: a_c, a_d, b_c, b_d

mkdir /tmp/{a,b}_{c,d}

在/tmp/mylinux目录下创建一系列的目录

mkdir mylinux/{b{in,oot/grub},dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib{/modules,64},proc,s{bin,ys},tmp,usr/local/{bin,sbin},var/{lock,log,run}} -pv

4 stat:

File: 文件名

Size: 大小                                  Blocks: 占用块数                   IO Block:  块大小 文件类型

Device:文件所在的设备       Inode:文件系统索引号      Links:文件被硬链接的次数

Access:(权限)                    Uid:属主Uid / 属主名称   Gid:属组/属组名称

Access: 访问时间

Modify: 修改时间

Change: 元数据修改时间

Birth: –

 

修改文件的时间戳可以使用touch 命令

Touch:

-a     change        只修改访问时间

-m  change         只修改修改时间

-n  –no-create   不创建任何文件

-d  STRING       分析字符串用字符串代表的时间设置而不是当前时间

-t  STAMP         使用[[CC]YY]MMDDhhmm[.ss]而不是当前时间

创建别名 alias NAME=COMMAND  取消别名 unalias NAME

命令替换 $() or  “

查找/var目录下所有以l开头, 以一个小写字母结尾,且中间至少出现一位数字的文件或目录

find /var -name “l*[[:digit:]]*[[:lower:]]” \( -type f  -o  -type d \)

查找/etc目录下,以任意一个数字揩油,且非数字结尾的文件或目录

find /etc -name “[[:digit:]]*[^[:digit:]]” \( -type f -o -type d \)

查找/etc目录下,以非字母开头,后面给了一个字母以及其他任意长度任意字符的文件或目录

find /e tc -name “[^[:alpha:]][[:alpha:]]*” \( -type f -o -type d \)

创建一个tfile开头,后跟当前日期和时间的文件

touch tfile-`date “+%Y-%m-%d-%H-%M-%S”`

touch tfile-$(date “+%Y-%m-%d-%H-%M-%S)

复制/etc目录下所有以p开头,以非数字结尾的文件或目录到mytest1目录中

find /etc -name “p*[^[:digit:]]” \( -type f -o -type d \) -exec cp -r  {} mytest1 \;

复制/etc目录下所有以,d结尾的文件或目录到mytest2目录中

find /etc -name “*.d” \( -type f -o -type d \) -exec cp -r {} mytest2 \;

复制/etc目录下所有以l或m或n开头,以.conf结尾的文件或目录到mytest3目录中

find /etc -name “[lmn]*.conf” -type f -exec cp {} mytest3 \;

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90315

赞 (0)
yxxzyxxz
上一篇 2017-12-17 23:06
下一篇 2017-12-18 00:38

相关推荐

  • bash 的过程式和循环式的编写

           bash脚本的编写,对于Linux这个多用户,多任务的系统,有很大的帮助,脚本可以帮助我们定时执行任务,过滤文本,检查系统性能等等。下面我们来了解一下过程式和循环式脚本的编写。 使用read 命令来接受输入 使用read 来把输入值分配给一个或多个shell 变量:  &nb…

    Linux干货 2016-08-24
  • 马哥教育网络20期+第4周作业博客

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 答:cp -a /etc/ske1 /home/tuser1 && chown -R go-rwx /home/tuser1 2、编辑/etc/group文件,添加组hadoop。 答:echo "…

    Linux干货 2016-09-05
  • Gitlab代码管理仓库安装部署

    GitLab是利用 Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查…

    2016-07-26
  • Shell脚本编程中作业

    一、作业: 1、1、编写服务脚本/root/bin/testsrv.sh,完成如下要求 (1) 脚本可接受参数:start, stop, restart, status (2) 如果参数非此四者之一,提示使用格式后报错退出 (3) 如是start:则创建/var/lock/subsys/SCRIPT_NAME, 并显示“启动成功” 考虑:如果事先已经启动过一…

    Linux干货 2016-08-24
  • 用户和组

    一、概述   Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。   用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。 &nbsp…

    Linux干货 2016-10-22
  • Mariadb数据库复制系列(一):主从复制

      实验一:MySQL主从复制的实现 1、实验环境 确保各节点之间的时间同步 2、修改主节点的mysql服务配置文件,让其符合主从架构中主节点的要求 3、查看主节点现有数据情况和二进制日志使用情况 4、对主节点的数据利用xtrabackup进行完全备份 由于两个从节点是后期加入,故采取备份主节点的数据,还原到从节点上,然后让从节点从备份时刻的二进制日志的位置…

    2016-11-24