设为首页 加入收藏

TOP

shell 常用命令3(二)
2023-07-23 13:29:48 】 浏览:42
Tags:shell 常用命
使用原来的目录名,如果原来的文件名被占用了会报错 [root@poc-2 smy]# mv -i aa/ ./shellTest mv:是否覆盖"./shellTest/aa"? y mv: 无法将"aa/" 移动至"./shellTest/aa": 文件已存在 # 解决方法,指定一个新的不存在的目录,让他自己创建 mv -i aa/ ./shellTest/bb # 成功执行 mv 动作

options:

  • -b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
  • -i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
  • -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
  • -n: 不要覆盖任何已存在的文件或目录。
  • -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

5 cp

复制本地文件或者目录,从a路径复制到b路径,存在两个文件

cp [OPTION] SOURCE DIRECTORY
cp [OPTION] SOURCE... DIRECTORY

cp aaa.txt ./aa # 复制文件, 复制当前路径下的aaa.txt文件 到./aa目录中
cp -r aa ../  # 递归的复制目录

cp -r aa ./shellTest # cp的目标目录中存在重名的目录,默认会提示

OPTION:

  • -r:递归的复制目录
  • -p:保持文件或目录属性
  • -a:相当于同时使用参数-d,-p,-r
  • -i:提示是否覆盖的确认
  • -d:如果复制的源文件为链接文件,仅复制符号链接本身,且保留符号链接所指向的目标文件或目录

6 多个if使用case优化

case $service in
init)
	echo "init" 
	;;
check)
	echo "check"
	;;	
install)
	echo "install"
	;;
start)
	echo "start"
	;;
stop)
	echo "stop"
	;;
status)
	echo "status"
	;;
*)
    usage  # 输出使用方法,相当于 --help
    exit 0
    ;;
esac

case工作方式如上所示。取值后面必须为关键字,每一模式必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;。

;; 与其他语言中的 break 类似,意思是跳到整个 case 语句的最后。

取值将检测匹配的每一个模式。一旦模式匹配,则执行完匹配模式相应命令后不再继续其他模式。如果无一匹配模式,使用星号 * 捕获该值,再执行后面的命令。

7 软连接

为某一个文件在另外一个位置建立一个同步的链接。

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间

语法:
ln [参数][源文件或目录][目标文件或目录]

软链接

  • 1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
  • 2.软链接可以 跨文件系统 ,硬链接不可以
  • 3.软链接可以对一个不存在的文件名进行链接
  • 4.软链接可以对目录进行链接

硬链接

  • 1.硬链接,以文件副本的形式存在。但不占用实际空间。
  • 2.不允许给目录创建硬链接
  • 3.硬链接只有在同一个文件系统中才能创建

命令参数:

  • -f 强制执行
  • -i 交互模式,文件存在则提示用户是否覆盖
  • -n 把符号链接视为一般目录
  • -s 软链接(符号链接)
  • -v 显示详细的处理过程
# 在当前目录下新建一个软链接 link2013 ,链接到 log2013.log这个文件
[root@localhost test]# ln -s log2013.log link2013

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Linux工作原理3设备 下一篇Linux工作原理1简介

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目