RHCE_1-2_[从命令行管理文件]

RHCE_1-2_[从命令行管理文件]

1.文件管理命令:

活动 单一来源 多来源
复制文件 cp file1 file2 cp file1 file2 file3 dir (4)
移动文件 mv file1 file2 mv file1 file2 file3 dir (4)
删除文件 rm file1 rm -f file1 file2 file3 (5)
创建目录 mkdir dir mkdir -p par1/par2/dir (6)
复制目录 cp -r dir1 dir2 cp -r dir1 dir2 dir3 dir4 (4)
移动目录 mv dir1 dir2 mv dir1 dir2 dir3 dir4 (4)
删除目录 rm -r dir1 rm -rf dir1 dir2 dir3 (5)

注:
(1)结果为重命名;
(2)需要使用第归选项处理来源目录;
(3)如果dir2目录存在,则结果为移动,否则结果为重命名;
(4)最后一个参数必须是目录;
(5)谨慎使用”force”选项,系统不会提示确认操作;
(6)使用”创建父级“选项时应小心,无法捕获键入错误。

2.文件通配:(部分)

(1)大括号扩展:(可以相互嵌套)

例:

[root@desktop ~]# echo {Sunday,Monday,Tuesday}.log
Sunday.log Monday.log Tuesday.log
[root@desktop ~]# echo file{1..3}.txt
file1.txt file2.txt file3.txt
[root@desktop ~]# echo file{a..c}.txt
filea.txt fileb.txt filec.txt
[root@desktop ~]# echo file{a,b}{1,2}.txt
filea1.txt filea2.txt fileb1.txt fileb2.txt
[root@desktop ~]# echo file{a{1,2},b,c}.txt
filea1.txt filea2.txt fileb.txt filec.txt

(2)替换命令

命令替换允许命令的输出替换命令本身。当命令包含前导美元符号 (command)command:1)2) (command)形式可以相互嵌套多个命令扩展。
例:

[root@desktop ~]# echo Today is `date +%A`
Today is 星期二
[root@desktop ~]# echo The time is $(date +%M) minutes past $(date +%l%p)
The time is 24 minutes past 4下午

防止参数被扩展:
在Bash shell中,许多字符有特殊含义。为了忽略元字符的特殊含义,使用引用和转义来防止它们被shell扩展。反斜杠()是Bash中的一个转义字符,防止其后的一个字符被特殊解释。如果要保护较长的字符串,则使用单引号(‘)或双引号(“)来括起字符串。
使用双引号可以阻止通配和shell扩展,但依然允许命令和变量替换。变量替换在概念上与命令替换一样,但可能使用可选的大括号语法。
例:

[root@desktop ~]# host=$(hostname -s); echo $host
desktop
[root@desktop ~]# echo "******hostname is ${host}******"
******hostname is desktop******
[root@desktop ~]# echo "******hostname is $host******"
******hostname is desktop******
[root@desktop ~]# echo Your username variable is \$USER
Your username variable is $USER
[root@desktop ~]# echo Your username variable is $USER
Your username variable is root

使用单引号则可以按字面解译所有的文本。除了阻止通配和shell扩展外,引号也指示shell额外阻止命令替换和变量替换。问号也是一个需要防止扩展的元字符。
例:

[root@desktop ~]# echo "Will variable $host evaluate to $(hostname -s)?"
Will variable desktop evaluate to desktop?
[root@desktop ~]# echo 'Will variable $host evaluate to $(hostname -s)?'
Will variable $host evaluate to $(hostname -s)?

猜你喜欢

转载自blog.csdn.net/yangxjsun/article/details/54799691