文件操作命令

将在此处介绍的命令列表:

ls     #view contents of a directory
touch  #create new file
mkdir  #create new directory
cp     #copy contents of one file to another
mv     #move file from one location to another
rm     #delete a file or directory

这是一个例子

jennifer@my_computer:~/Desktop$ ls
c++ projects    Research Paper.docx     test.cpp

显示当前目录

jennifer@my_computer:~/Desktop$ ls c++\ projects
DNA_analysis.cpp        encryption.cpp  pool_game.cpp

显示目录“c ++ projects”。文件名中的空格字符键入为“\”。

触摸示例

jennifer@my_computer:~/Desktop$ ls
c++ projects    Research Paper.docx     test.cpp
jennifer@my_computer:~/Desktop$ touch ruby_test.rb
jennifer@my_computer:~/Desktop$ ls
c++ projects    Research Paper.docx     ruby_test.rb    test.cpp

mkdir 的例子

jennifer@my_computer:~/Desktop$ mkdir ruby
jennifer@my_computer:~/Desktop$ ls
c++ projects    Research Paper.docx     ruby    ruby_test.rb    test.cpp
jennifer@my_computer:~/Desktop$ cd ruby
jennifer@my_computer:~/Desktop/ruby$ ls
<nothing>
jennifer@my_computer:~/Desktop/ruby

它实际上并没有打印 <nothing>。这就是我如何表示它不输出任何东西

cp 例子

jennifer@my_computer:~/Desktop/ruby$ cd ..
jennifer@my_computer:~/Desktop$ cp test.cpp c++_test.cpp
jennifer@my_computer:~/Desktop$ ls
c++ projects    c++_test.cpp    Research Paper.docx     ruby    ruby_test.rb
test.cpp

这是最后一个 arg 到 cp,在这种情况下“c ++ _ test.cpp”不是现有目录。cp 将创建一个名为“c ++ _ test.cpp”的文件,其内容与“test.cpp”的内容相同。如果 c ++ _ test.cpp 已经存在,那么在复制“test.cpp”的内容之前,cp 会删除以前的内容。

jennifer@my_comptuer:~/Desktop$ ls ruby
<nothing>
jennifer@my_computer:~/Desktop$ cp ruby_test.rb ruby
jennifer@my_computer:~/Desktop$ ls ruby
ruby_test.rb

这是当 cp 的最后一个 arg(在本例中为 ruby)是一个目录时发生的情况。cp 创建一个与“ruby_test.rb”同名的文件,但是在目录 ruby 中。

mv 例子

jennifer@my_computer:~/Desktop$ ls
c++ projects    c++_test.cpp    Research Paper.docx     ruby    ruby_test.rb
test.cpp
jennifer@my_computer:~/Desktop$ mv ruby_test.rb ruby\ test.rb
jennifer@my_computer:~/Desktop$ ls
c++ projects    c++_test.cpp    Research Paper.docx     ruby    ruby test.rb
test.cpp

这是当 mv 的最后一个 arg(在本例中为“ruby test.rb”)不是现有目录时发生的情况。文件“ruby_test.rb”已重命名为“ruby test.rb”。如果“ruby test.rb”已经存在,它将被覆盖注意,再次,空格前面有一个’’。

jennifer@my_computer:~/Desktop$ ls
c++ projects    c++_test.cpp    Research Paper.docx     ruby    ruby test.rb
test.cpp
jennifer@my_computer:~/Desktop$ ls c++\ projects
DNA_analysis.cpp        encryption.cpp  pool_game.cpp
jennifer@my_computer:~/Desktop$ mv test.cpp c++\ projects
jennifer@my_computer:~/Desktop$ ls
c++ projects    c++_test.cpp    Research Paper.docx     ruby    ruby test.rb
jennifer@my_computer:~/Desktop$ ls c++\ projects
DNA_analysis.cpp        encryption.cpp  pool_game.cpp   test.cpp

mv 是已经存在的目录时会发生这种情况。文件“test.cpp”被移动到目录“c ++ projects”。

例子

jennifer@my_computer:~/Desktop$ ls
c++ projects    c++_test.cpp    Research Paper.docx     ruby    ruby test.rb
jennifer@my_computer:~/Desktop$ rm c++_test.cpp
jennifer@my_computer:~/Desktop$ ls
c++ projects    Research Paper.docx     ruby    ruby test.rb

c ++ _ test.cpp 已被删除

jennifer@my_computer:~/Desktop$ rm c++\ projects
rm: cannot remove 'c++ projects': Is a directory
jennifer@my_computer:~/Desktop$ ls
c++ projects    Research Paper.docx     ruby    ruby test.rb

rm 有删除目录的额外要求

jennifer@my_computer:~/Desktop$ rm -rf c++\ projects
jennifer@my_computer:~/Desktop$ ls
Research Paper.docx     ruby    ruby test.rb

必须添加 -rf 才能删除目录。

要了解有关 ls 的更多信息,请键入命令 ls --help。对于 touch,键入 touch --help。与此处提到的所有 6 个命令一样。这将打印出使用的详细说明,而无需创建或删除任何内容。