首先,我们需要知道一个概念,就是家目录。虽然 windows
系统是多用户系统,但我们大多数人还是把它当成单用户系统使用。所以文件到处放,软件到处安(也是没有办法,windows软件管理做得不好,也确实没办法做好,太多太乱了)。
但是 linux
系统,是标准的多用户系统。我们每个用户的东西都应该放在属于我们自己的目录中。其实体路径为 /home/fungleo/
其中的 fungleo
是我的用户名,你自己的系统需要替换成你的。
有一个快捷方式表示我们的家目录,就是 ~
。用这个快捷标识,我们就能快速的回到我们自己的家目录。
cd 进入某个目录
例如,我们要进入我们的家目录,可以输入下面的命令:
cd ~

cd 是英文 change directory 的缩写,更改目录的意思。
再例如,我们要进入下载目录,就是这样的命令:
cd ~/Downloads/

要输入这样的命令,是不是感觉有点长呢?其实大可不必,我们可以用 tab
键快速补全。例如,这样:
cd ~/Dow<tab>

上面的 <tab>
表示按 tab
键。
如果需要返回上级目录,则是使用
cd ..

在 linux
系统中 .
代表当前目录,..
代表上级目录。如果是上级的上级目录,就是 ../..
。
ls 查看目录下的文件
当我们进入到某个文件夹之后,我们不知道里面有什么文件,就可以使用这个命令:
ls

ls 是英文 list 的缩写
然后我们就可以看到这个目录的文件了。这里,我们只能看到文件或者文件夹的名字,如果我们想要看到更多的内容,就可以加上 -l
参数。
ls -l

这样,就会以一个列表的形式,把所有的内容全部输出出来。
如果你还想要看看隐藏的文件,可以输入
ls -a

当然,聪明的你肯定想要了,这命令可以组合起来吗?当然可以,如下:
ls -la

linux/mac
系统和windows
系统有一个很大的区别,就是,隐藏文件。在linux
其中中,只要一个文件或者文件夹的名字第一个字符是.
就表示这是一个隐藏文件。而windows
系统是用文件的属性来设置的。所以,使用linux
系统,你如果想要给某个文件夹或者文件隐藏,右击属性什么的,是做不了什么的。只需要重命名文件,加个.
就可以了。
mv 移动,重命名文件
在 linux
系统中,没有 重命名
这个概念。只有一个概念,叫移动文件。把 a
文件重命名为 b
文件这个操作,要理解为——把 a
文件移动到 b
。
举例如下:
mv a b

mv 是英文 move 的缩写
就是把 a
文件重命名为 b
。
当然,这本来就是移动文件,也就是剪切文件。我们可以这样操作
mv ~/Desktop/test/readme.txt ~/Desktop/test/fortest

就是表示,把当前目录下的 readme.txt
文件,移动到当前目录下fortest文件夹中
cp 复制文件和文件夹
复制文件也是一个很常见的操作。最简单的,把 a
文件复制为 b
文件,执行下面的命令
cp a b
- 1
cp 是英文 copy 的缩写
很简单吧?
当然,和 mv
命令一样,也是可以跨目录复制的。
cp ~/Downloads/love.txt ~/Documents/
- 1
如果你需要保留文件所有的权限属性之类的,可以加上参数 -a
。
例如
cp -a a b
- 1
如果你复制的不是文件,而是文件夹,则要加上一个递归的参数 -r
cp -r a b
- 1
当然,复制文件夹,并且要保留所有的权限属性,加上参数 -ra
cp -ra a b
- 1
另外,如果你复制的文件夹里面有很多内容,你想看到实时进度的话,可以用 -v
参数
cp -rav a b
- 1
如上命令,你就可以把 a
目录的所有内容原封不动的复制到 b
目录去,并且可以看到实时的复制过程。
rm 删除文件或文件夹
请注意,
rm
命令进行的删除操作,是不会放到系统的回收站里面去的。而是直接删除,如果你希望通过软件把文件找回来的话,也是很困难的。所以,在输入rm
命令的时候一定要头脑清晰哦!
我们想要删除某个文件,可以输入:
rm a
- 1
rm 是英文 remove 的缩写
命令进入删除。但是删除的时候,一般 linux
会给你提示,你需要输入 yes
同意,才能删除。但是 mac
不会给提示,直接就删除掉了。
当然,如果你不想看到这个提示,而是希望直接就删除掉,可以加上一个参数 -f
rm -f a
- 1
这样,就会直接删除掉,不会再要求你输入 yes
了。
如果删除的是某个目录,直接用上面的命令是不行的。删除目录必须进行递归操作,所以需要加上参数 -r
,另外,你可能也不想确认,所以,命令就是:
rm -rf a
- 1
这样了。
最后,删除操作一定要谨慎。
touch 新建文件
我们可以新建一个任意的文件。命令是 touch
至于为什么是这个命令,我不太清楚,我联系不上 触摸和 新建 之间的关系。
但是这个单词是一个非常简单的单词,我们可以轻松的记住。
创建一个文件
touch a
- 1
创建多个文件
touch a b c d
- 1
就可以创建 a b c d 这四个文件了。
我们可以创建任意文件。只需要加上不同的后缀就可以了。
touch a.txt b.jpg c.doc d.pdf
- 1
不过创建出来的,都是空的文件。里面需要录入内容的话,需要你自己用对应的软件打开进行编辑处理。
mkdir 新建文件夹
新建文件夹的命令是 mkdir
应该能够看出来,这个命令是英文 make directory
的缩写。
新建一个文件夹
mkdir a
- 1
新建多个文件夹
mkdir a b c d
- 1
新建多个层级的目录,这就需要加上参数 -p
了。
mkdir -p res/style/scss
- 1
就可以创建一个多层级的目录。
less 查看文本文件
如果我们需要简单的查看一个文件的内容,可以使用 less
命令。这个单词是少的意思。同样,多的英文 more
也可以用来查看文件。
不过一般情况下,我们使用 less
命令。如下:
less index.html
- 1
就可以查看这个文件了。
如果文件比较长,可以使用 ctrl + f
往下翻页,也可以使用 ctrl+b
向上翻页。
pwd 看看自己在哪个目录下
如果你的目录层级比较多,你导出溜达着,忘记你在哪里了,怎么办?或者,你需要把你当前的目录路径给复制出来,怎么办?
没关系,我们可以使用 pwd
命令,迅速输出你的当前目录路径。
pwd
- 1
需要说明的是,这里会返回完整的路径,而不是 ~/xxx
这样的缩写路径。
例如,你在家目录里执行这个命令,那么输出的将会是:
/home/fungleo
- 1
这样的。
man 查看某个命令的详情
如果你看到一个命令,不清楚这是干啥的,就可以用 man
命令来看看这个命令的详细介绍:
man cp
- 1
就可以看 cp
命令的详情。
不过,这个命令输出的内容是英文的。如果你英文不行,可以到一个中文网站来看。网址是:http://man.linuxde.net/
需要注意的是,中文内容不一定是准确的,或者是最新的。
小结
好,掌握以上日常使用的命令,基本上你就可以愉快的使用命令行了。需要更多的内容,基本上可以使用搜索引擎来解决,你只需要提出正确的问题,基本上都能得到解答的。
本文由 FungLeo 原创,允许转载,但转载必须保留首发链接。
说明:
本文转载自:https://blog.csdn.net/fungleo/article/details/78488656