文件管理类命令和bash特性之(命令状态返回值和命令行展开)

文件管理类命令

ls

用途:list 列出指定目录下的内容;

语法:ls [OPTION]… [FILE]…

选项:
-a : 显示所有文件,包括隐藏文件;
-A :显示除 . 和 .. 之外的所有文件;
-l :长格式列表,显示文件的详细属性信息;
-h :可以对文件大小进行单位换算是非精确值;
-d:查看目录自身而非其内部文件列表(如果文件符合也会显示出来);
-r:逆序显示;
-R:递归显示(将目录下的文件也会显示出来);

2

 

pwd

用途:printing working directory 显示工作目录,路径显示;

1

cd

用途:change directory 切换目录;

语法:cd [/PATH/TO/SOMEDIR]

  • 切回家目录
    cd
    cd ~
  • 切到指定用户的家目录
    cd ~USERNAME
  • 在上一次所在目录与当前目录之间进行切换
    cd -
  • 返回当前目录的上级目录
    cd ..

3

mkdir

用途:创建新目录

语法:mkdir [OPTION]… DIRECTORY…

选项:
-p: 自动按需创建父目录;
-v: 显示详细过程;
-m MODE: 创建目录时直接给定权限,否则为默认权限;

4

rmdir

用途:删除空目录;

语法:rmdir [OPTION]… DIRECTORY…

选项:
-p: 删除某目录后,如果其父目录为空,则一并删除;

注意:此命令仅用于删除空目录;

tree

用途:显示目录层级;

语法:tree [options] [directory]

选项:-L 指定显示目录的层级;

5

cp

用途:文件复制命令;

语法:

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

6

选项:
-i:交互式复制,即覆盖之前提醒用户确认;
-f:强制覆盖目标文件;
-r,-R:递归复制目录;
-d:复制符号链接文件本身,而非其指向的源文件;

mv

用途:移动、重命名文件;

语法:mv [OPTION]… SOURCE… DIRECTORY

选项:
-i:交互式;
-f:强制覆盖;

注意:

  • 在同一个目录下是重命名;
  • 在不同目录下是移动;

rm

用途:删除文件;

语法:rm [OPTION]… FILE…

选项:
-i:交互式,给y表示同意删除;
-r:递归删除,交互式;
-f:强制删除,非交互提示;
-rf:组合使用;

建议:自建回收站目录,把不用的东西 move 到回收站目录,等确定不用了再使用 rm -rf 命令选项删除;


bash特性之—命令状态返回值

命令执行完成之后,其状态返回值会保存在 bash的特殊变量 $? 中,bash通过状态返回值来输出此结果:
成功:0
失败:1-255

9

注意:只针对上一条命令运行结果状态显示;

bash特性之—命令行展开

  • ~: 自动展开为用户的家目录,或指定的用户的家目录;

14

  • {}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;

例:tmp{a,b} 相当于 /tmp/a /tmp/b;

7

15

练习

用命令行展开功能来完成以下练习:
(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
[root@localhost test]# mkdir -pv /tmp/{a_,b_}{c,d}

10

11

(2)、创建/tmp/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

└── run

[root@localhost tmp]# mkdir -pv /tmp/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}}

[root@localhost tmp]# tree /tmp/mylinux

12

13

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/98832

发表评论

登录后才能评论

评论列表(1条)

  • 马哥教育
    马哥教育 2018-05-22 14:40

    最后一个题,看看/usr目录的对吗

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班