1、文件管理类命令
常规命令:copy、mv、rm
(1).copy 文件复制
用法:
注意:复制文件只是复制文件的数据而不是元数据,但是可以保留元数据的信息。
单源复制:目录是否存在都可以
多源复制:目录必须是存在的
-i:提醒用户操作确认(交互式)
-f:强行覆盖
-r:递归复制目录
-p:保留源数据
-a:用于实现归档,做备份
-d:不跟踪符号链接所指向的源文件–no-dereference –preserve=links
-v:显示过程
–preserv=
mode:权限
ownership:属主和属组
timestamps:时间戳
context:安全标签
xattr:扩展属性
links:符号链接
all:上述所有属性
例子1:复制单个文件
[root@localhost ~]# cp /etc/issue /root/test1
[root@localhost ~]# cd test1
[root@localhost test1]# ll
total 4
-rw-r–r– 1 root root 74 Dec 11 09:37 issue
例子2:复制多个文件
[root@localhost ~]# cp a.sh b.sh c.sh /root/test1
[root@localhost ~]# cd test1
[root@localhost test1]# ll
total 16
-rwxr-xr-x 1 root root 199 Dec 11 09:39 a.sh
-rw-r–r– 1 root root 64 Dec 11 09:39 b.sh
-rwxr-xr-x 1 root root 91 Dec 11 09:39 c.sh
-rw-r–r– 1 root root 74 Dec 11 09:37 issue
例子3:复制目录
[root@localhost ~]# cp -r /etc/gconf /root/test1
[root@localhost ~]# cd test1
[root@localhost test1]# ll
total 20
-rwxr-xr-x 1 root root 199 Dec 11 09:39 a.sh
-rw-r–r– 1 root root 64 Dec 11 09:39 b.sh
-rwxr-xr-x 1 root root 91 Dec 11 09:39 c.sh
drwxr-xr-x 6 root root 4096 Dec 11 09:42 gconf
-rw-r–r– 1 root root 74 Dec 11 09:37 issue
(2).mv 移动或者重命名
第一:如果SRC是单个文件
1、如果DEST不存在:剪贴功能
(内容覆盖,文件名替换为DEST)
2、如果DEST存在:内容覆盖
第二:如果SRC是多个文件
1、如果DEST不存在:剪贴功能
2、如果DEST存在
第三:如果SRC是个目录
1、如果DEST不存在
2、如果DEST存在
常用选项:
-i交互式
-f强制
例子:
[root@localhost test1]# ll
-rw-r–r– 1 root root 74 Dec 11 09:37 issue
[root@localhost test1]# mv issue issue.20161211
[root@localhost test1]# ll
-rw-r–r– 1 root root 74 Dec 11 09:37 issue.20161211
(3).rm:删除
rm 【option】…FILE…
常用选项:
-i:交互式
-r:递归删除目标目录下的文件
-f:强制删
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
命令执行状态只有两种结果
-
正确
-
错误
执行成功返回0,错误返回1-255数字(详细信息自己搜)
#查看命令[root@CentOS7: ~]$ blsbash: bls: 未找到命令... [root@CentOS7: ~]$ echo $?127[root@CentOS7: ~]$ ls adduser.sh anaconda-ks.cfg disk.sh testshell.sh [root@CentOS7: ~]$ echo $?0
命令行展开所涉及内容(笔记截图)
3、请使用命令行展开功能来完成以下练习…….
(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
[root@CentOS7: /tmp]$ mkdir -pv {a,b}_{c,d}mkdir: 已创建目录 "a_c"mkdir: 已创建目录 "a_d"mkdir: 已创建目录 "b_c"mkdir: 已创建目录 "b_d"
(2)
[root@CentOS7: /tmp]$ mkdir -pv mylinux/{\ > bin,\ > boot/grub\ > dev,\ > etc{rc,d/init.d,sysconfig/network-scripts},\ > lib/modules,\ > lib64,\ > proc,\ > sbin,\ > sys,\ > tmp,\ > usr/local/{bin,sbin},\ > var/{lock,log,run}\ > }mkdir: 已创建目录 "mylinux"mkdir: 已创建目录 "mylinux/bin"mkdir: 已创建目录 "mylinux/boot"mkdir: 已创建目录 "mylinux/boot/grubdev"mkdir: 已创建目录 "mylinux/etcrc"mkdir: 已创建目录 "mylinux/etcd"mkdir: 已创建目录 "mylinux/etcd/init.d"mkdir: 已创建目录 "mylinux/etcsysconfig"mkdir: 已创建目录 "mylinux/etcsysconfig/network-scripts"mkdir: 已创建目录 "mylinux/lib"mkdir: 已创建目录 "mylinux/lib/modules"mkdir: 已创建目录 "mylinux/lib64"mkdir: 已创建目录 "mylinux/proc"mkdir: 已创建目录 "mylinux/sbin"mkdir: 已创建目录 "mylinux/sys"mkdir: 已创建目录 "mylinux/tmp"mkdir: 已创建目录 "mylinux/usr"mkdir: 已创建目录 "mylinux/usr/local"mkdir: 已创建目录 "mylinux/usr/local/bin"mkdir: 已创建目录 "mylinux/usr/local/sbin"mkdir: 已创建目录 "mylinux/var"mkdir: 已创建目录 "mylinux/var/lock"mkdir: 已创建目录 "mylinux/var/log"mkdir: 已创建目录 "mylinux/var/run"[root@localhost: /tmp]# tree mylinux/mylinux/ ├── bin ├── boot │ └── grub ├── dev ├── etc │ ├── rc.d │ │ └── init.d │ └── sysconfig │ └── network-scripts ├── lib │ └── modules ├── lib64 ├── proc ├── sbin ├── sys ├── tmp ├── usr │ └── local │ ├── bin │ └── sbin └── var ├── lock ├── log └── run24 directories, 0 files
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
修改文件时间戳信息命令:touch
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
命令:aliax
小僧在用户目录下.bashrc里面进行的设定,仅对当前的root用户有效
善意的提醒: 该文件内的设定之后需要通过 source 命令使设置生效。
另外: 在命令行直接使用命令设置的话只对当前进程有效
补充:/etc/bashrc 内设置的话将是全局有效(所有用户)
引用另一个命令的执行结果,可以通过管道符"|" 。示例:
[root@localhost: ~]# cat .bashrc | grep alias# User specific aliases and functionsalias rm='rm -i'alias cp='cp -i'alias mv='mv -i'alias ssh5='ssh 10.90.50.217'alias mysqll='mysql -uroot -p'
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
[root@CentOS7: ~]$ ls -d /var/l*[0-9]*[[:lower:]]
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
[root@CentOS7: ~]$ ls -d /etc/[0-9]*[^0-9]
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
[root@CentOS7: ~]$ ls /etc/[^[:alpha:]][[:alpha:]]*
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
[root@CentOS7: ~]$ touch tfile-`date +%F-%H-%M-%S`
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
[root@CentOS7: ~]$ cp /etc/p*[^0-9] /tmp/mytest1
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
[root@CentOS7: ~]$ cp /etc/*.d /tmp/mytest2/
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
[root@CentOS7: ~]$ cp /etc/[lmn]*.conf /tmp/mytest3/
原创文章,作者:kakaqi,如若转载,请注明出处:http://www.178linux.com/63192
评论列表(1条)
总结的还是比较详细的,有点小瑕疵就是mv那块~建议补充上对应的操作~加油~