Linux-ls-cp-tr-命令拓展及通配符
显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录
[11:23:02 root@centos8 ~]#ls -d /etc/[^[:alpha:]][[:alpha:]]*
ls: cannot access '/etc/[^[:alpha:]][[:alpha:]]*': No such file or directory
复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
1 [11:26:56 root@centos8 ~]#ls -d /etc/p*[^0-9] 2 /etc/pam.d /etc/pbm2ppa.conf /etc/plymouth /etc/prelink.conf.d /etc/protocols 3 /etc/papersize /etc/pinforc /etc/pm /etc/printcap /etc/pulse 4 /etc/passwd /etc/pipewire /etc/pnm2ppa.conf /etc/profile 5 /etc/passwd- /etc/pki /etc/popt.d /etc/profile.d 6 [11:27:39 root@centos8 ~]#cp -r /etc/p*[^0-9] /tmp/mytest1/ 7 [11:28:03 root@centos8 ~]#ls /tmp/mytest1/ 8 pam.d passwd- pipewire pm prelink.conf.d profile.d 9 papersize pbm2ppa.conf pki pnm2ppa.conf printcap protocols 10 passwd pinforc plymouth popt.d profile pulse 11 [11:28:13 root@centos8 ~]#
将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
1
2
ls命令:
ls命令可以列出当前目录的内容或指定目录
ls [options] [flies_or_dirs]
常见选项
-a 包含隐藏文件
-l 显示额外的信息 (权限,大小,修改时间等)
-R 目录递归
-ld 目录和符号链接信息
-1 文件分行显示
-S 按从大到小排序
-t 按mitme排序
-u 适配-t选项,显示并按atime从新到旧排序
-U 按目录存放顺序显示
-X 按文件后缀排序
-F 对不同类型文件显示时加不同的符号:*/=>@|
-C 文件多时,以多列的方式显示文件,默认是一列(标注只能输出)
cp命令
利用cp (copy)命令可以实现文件或目录的复制
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
cp SRC DEST
SRC是文件:
如果目标不存在,新建DEST,并将SRC中内容填充至DEST中
如果目录存在:
如果DEST是文件:将SRC中的内容覆盖至DEST中;
此时建议为cp命令使用-i选项: 提醒目标存在 是否 覆盖
如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中;
cp SRC... DEST
SRC... :多个文件
DEST必须存在,且为目录,其他情形均会出错;
cp SRC DEST
SRC是目录:
此时要使用选项:-r
如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中
如果DEST存在:
如果DEST是文件:报错
如果DEST是目录:复制SRC目录中所有文件至DEST中
常用选项:
-i : 交互式 提醒目标存在 是否 覆盖
-r , -R : 递归复制目录及内部的所有内容;
-a: 归档 , 相当于 -dR --preserv=all
-d: --no-dereference --preserv=links
--preserv[=ATTR_LIST]
mode: 权限
ownership:属主属组
timestamp:时间戳
links: 链接属性
xattr :扩展属性
context:安全上下文
all:以上所有
-p:--preserv=mode,ownership,timestamp
-v: --verbose 显示过程
-f:--force
tr 命令
tr 转换和删除字符
tr [OPTION]... SET1 [SET2]
选项:
-d 删除所有属于第一个字符集的字符
-s 把连续重复的字符以单独一个字符表示,即去重
-t 将第一个字符集对应字符转化为第二字符集对应的字符
-c 取字符集的补集
通配符
通配符:*,?,[]
(1) *
任意长度的任意字符
a*b: aab , ab , a123b
(2) ?
任意单个字符
a?b:
aab
ab,a12b,abc
(3) []
匹配指定范围内的任意单个字符
[0-9]
[a-z] : 不区分字符大小写
[A-Z] :
(4) [^] 取反
匹配指定范围外的任意单个字符
[^0-9]
专用字符集合:
[:digit:]任意数字,相当于0-9
[:lower:]任意小写字母
[:upper:]任意大写字母
[:alpha:]任意大小写字母
[:alnum:]任意数字或字母
[:space:]空格
[:punct:]任意标点符号