常用Shell(Bash)命令(二)

常用Shell(Bash)命令(二)

学习Shell脚本编程之前,先把常用的Shell命令熟悉一遍



二、操作文件和目录

touch命令:创建文件

touch格式

  touch [OPTION]... FILE...

-c:指定的文件路径不存在时不予创建
-a:修改access time(只改访问时间)
-m:修改modify time(只改修改时间)
-r:使用指定文件的时间替代当前时间
-t STAMP
[[CC]YY]MMDDhhmm[.ss]

[root@guan tmp]# touch file1 file2
[root@guan tmp]# ll
total 4
-rw-r--r-- 1 root root    0 Apr 23 16:17 file1
-rw-r--r-- 1 root root    0 Apr 23 16:17 file2
drwx------ 2 root root 4096 Nov 19  2014 keyring-Hj9Oe7
srwxr-xr-x 1 root root    0 May 15  2015 mapping-root

mkdir命令:创建目录

mkdir格式

  mkdir [OPTION] DIRECTORY...

-p:自动创建还不存在的父目录,也可以过滤掉文件夹已存在的错误提示
-m:设置要创建的目录的权限
示例:mkdir -m 777 testdir

[root@guan tmp]# mkdir test
[root@guan tmp]# ll
total 8
-rw-r--r-- 1 root root    0 Apr 23 16:17 file1
-rw-r--r-- 1 root root    0 Apr 23 16:17 file2
drwx------ 2 root root 4096 Nov 19  2014 keyring-Hj9Oe7
srwxr-xr-x 1 root root    0 May 15  2015 mapping-root
drwxr-xr-x 2 root root 4096 Apr 23 16:29 test

cp命令:复制文件或目录

  cp [OPTION]... [-T] SOURCE DEST
  cp [OPTION]... SOURCE... DIRECTORY
  cp [OPTION]... -t DIRECTORY SOURCE...

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

两种复制情况

单源复制:cp [OPTION]... [-T] SOURCE DEST
	如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;
	如果DEST存在:
		是非目录文件:则覆盖目标文件;
		是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;
多源复制:cp [OPTION]... SOURCE... DIRECTORY
		 cp [OPTION]... -t DIRECTORY SOURCE...
	如果DEST不存在,会报错
	如果DEST存在:
		DEST是非目录文件,报错
		DEST是目录文件,分别复制每个文件至目标目录中,并保持原名;

ln命令:链接文件或目录

默认创建硬链接,Linux不允许给目录创建硬链接

 ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
 ln [OPTION]... TARGET                  (2nd form)
 ln [OPTION]... TARGET... DIRECTORY     (3rd form)
 ln [OPTION]... -t DIRECTORY TARGET...  (4th form)

-s:创建软链接

mv命令:重命名或移动

  mv [OPTION]... [-T] SOURCE DEST
  mv [OPTION]... SOURCE... DIRECTORY
  mv [OPTION]... -t DIRECTORY SOURCE...

常用选项:
-i:interactive交互式
-f:force
-r:recursive
-u:移动目标目录不存在的文件

rm命令:删除

  rm [OPTION]... FILE...

常用选项:
-i:interactive交互式
-f:force
-r:recursive递归


版权声明:本文为elein24原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。