创建和删除

创建目录

通常情况下,我们使用 mkdir 创建目录。

注:linux 目录也可以用双斜线

$ mkdir --help Usage: mkdir [OPTION]... DIRECTORY... Create the DIRECTORY(ies), if they do not already exist.

Mandatory arguments to long options are mandatory for short options too. -m, --mode=MODE set file mode (as in chmod), not a=rwx - umask -p, --parents no error if existing, make parent directories as needed -v, --verbose print a message for each created directory ...等等不常用的其他选项

  1. mkdir 在指定的目录名不存在的情况下创建目录(一次创建多个,空格分隔即可)。 如果目录(比如:test1)存在,那么会报错提示你:mkdir: cannot create directory ‘test1’: File exists

  2. -p option

    1. 如果指定创建目录已存在,也不会报错
    2. 创建副目录,如果需要的话。==较常用== 意思就是你可以指定在不存在的目录下创建目录,这样它会帮你把不存在的父目录也创建出来。
  3. -m option 设置你要创建的这个文件夹的权限(注意:这有之后你在该文件夹创建的权限无关) 设置方式和 chmod 设置方式一致,如: mkdir -m 754 dir_name, mkdir -m a+x test3

  4. -v option 显示创建文件消息

    1
    2
    3
    4
    $ mkdir -vp  test4/yest/sd
    mkdir: created directory 'test4'
    mkdir: created directory 'test4/yest'
    mkdir: created directory 'test4/yest/sd

清空与删除

清空

  1. : > filename(推荐) : 在 shell 中是空命令,什么也不做。这里就是将重定向到文件。

  2. > test.txt 重定向命令行输入到文件,你直接 Ctrl+d 结束命令行输入,然后就相当于清空文件了。

  3. 利用 /dev/null echo /dev/null > filenamecat /dev/null > filenamecp /dev/null filename

  4. 重定向空格 echo "" > test.txt 此命令会导致文件中包含换行。

删除

rm 命令删除文件或者文件夹

1
2
3
4
5
6
7
8
9
10
-r, -R, --recursive
remove directories and their contents recursively
-f, --force
ignore nonexistent files and arguments, never prompt

-i prompt before every removal

-I prompt once before removing more than three files, or
when removing recursively; less intrusive than -i, while
still giving protection against most mistakes

查看

cat vim head tail more less

见博文 vim 入门简单使用 见博文 head 和 tail 命令

查找

见博文:find 命令

重命名

rename 命令

不同发行版上,预装的 rename 不一致。 rename 有两种版本: c 语言版和 perl 版,后者更强大.,可以使用 perl 正则,但是前者预装的比较多。 debian 及 ubuntu 上应该是预装的 perl 版的

具体可以看 The 'rename' command has multiple different versions #3125 的调查。

本人用的 Manajro(Arch based)预装的 c 语言版本的,小需求可以满足,比如:

  1. 批量统一后缀数字长度(1-->001 等)
  2. 批量替换(删除固定子串),常用来批量删除一些课程的联系微信等 rename "字符串" "要替换为的字符串" ./*

Aur 里面也有 perl-rename, 即: perl 版的 rename,暂时用不到,没装。