linux\mac 日常入门命令行使用——文件以及文件夹操作
linux\mac 日常入门命令行使用——文件以及文件夹操作
对于没有接触过命令行的人,对于命令行还是非常恐惧的。我能够理解,但是我个人认为,大可不必。如果不是要深入研究 shell
,否则,日常使用其实一点都不困难。
本文主要是讲
linux
系统的命令操作。我会尽量保持命令与mac
兼容。因为两者的使用本来就差不多。
linux 日常使用状态
首先,你会打开浏览器,看看网页,顺便打开网页版的微信或者钉钉。嗯,你不用打开客户端了。
然后,你可能需要打开一些办公软件,比如 office
之类的。deepin
集成了社区办的 wps
办公软件,还是比较符合中国人的使用习惯的。如果你使用的其他发行版的系统,我们也有 LibreOffice
可以使用。可能你会说这个功能没有微软的强大。我只想说,你真的用得到?
当然,你还可能会用到一些编辑器,比如 sublime
或者其他编辑器。
又或者,你还需要一些音乐或者电影或者其他的各种图形界面的软件。不关心了。
最后,你肯定会使用到一个叫做终端的东西。
你可能用了十年的 windows
系统,一次都没打开过 cmd
工具。但是在 linux
下面,使用命令行的比例,远远高于 windows
系统。
你可以认为这是装逼。但更多的是,必须。其次是高效,简单。
不管你怎么看,既然决定入坑,那就接着往下看吧。
日常文件夹以及文件操作
首先,我们需要知道一个概念,就是家目录。虽然 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 ~/Downloads/love.txt ~/Documents/
就是表示,把下载目录下的 love.txt
文件,移动到文档目录中
cp 复制文件和文件夹
复制文件也是一个很常见的操作。最简单的,把 a
文件复制为 b
文件,执行下面的命令
cp a b
cp 是英文 copy 的缩写
很简单吧?
当然,和 mv
命令一样,也是可以跨目录复制的。
cp ~/Downloads/love.txt ~/Documents/
如果你需要保留文件所有的权限属性之类的,可以加上参数 -a
。
例如
cp -a a b
如果你复制的不是文件,而是文件夹,则要加上一个递归的参数 -r
cp -r a b
当然,复制文件夹,并且要保留所有的权限属性,加上参数 -ra
cp -ra a b
另外,如果你复制的文件夹里面有很多内容,你想看到实时进度的话,可以用 -v
参数
cp -rav a b
如上命令,你就可以把 a
目录的所有内容原封不动的复制到 b
目录去,并且可以看到实时的复制过程。
rm 删除文件或文件夹
请注意,
rm
命令进行的删除操作,是不会放到系统的回收站里面去的。而是直接删除,如果你希望通过软件把文件找回来的话,也是很困难的。所以,在输入rm
命令的时候一定要头脑清晰哦!
我们想要删除某个文件,可以输入:
rm a
rm 是英文 remove 的缩写
命令进入删除。但是删除的时候,一般 linux
会给你提示,你需要输入 yes
同意,才能删除。但是 mac
不会给提示,直接就删除掉了。
当然,如果你不想看到这个提示,而是希望直接就删除掉,可以加上一个参数 -f
rm -f a
这样,就会直接删除掉,不会再要求你输入 yes
了。
如果删除的是某个目录,直接用上面的命令是不行的。删除目录必须进行递归操作,所以需要加上参数 -r
,另外,你可能也不想确认,所以,命令就是:
rm -rf a
这样了。
最后,删除操作一定要谨慎。
touch 新建文件
我们可以新建一个任意的文件。命令是 touch
至于为什么是这个命令,我不太清楚,我联系不上 触摸 和 新建 之间的关系。
但是这个单词是一个非常简单的单词,我们可以轻松的记住。
创建一个文件
touch a
创建多个文件
touch a b c d
就可以创建 a b c d 这四个文件了。
我们可以创建任意文件。只需要加上不同的后缀就可以了。
touch a.txt b.jpg c.doc d.pdf
不过创建出来的,都是空的文件。里面需要录入内容的话,需要你自己用对应的软件打开进行编辑处理。
mkdir 新建文件夹
新建文件夹的命令是 mkdir
应该能够看出来,这个命令是英文 make directory
的缩写。
新建一个文件夹
mkdir a
新建多个文件夹
mkdir a b c d
新建多个层级的目录,这就需要加上参数 -p
了。
mkdir -p res/style/scss
就可以创建一个多层级的目录。
less 查看文本文件
如果我们需要简单的查看一个文件的内容,可以使用 less
命令。这个单词是少的意思。同样,多的英文 more
也可以用来查看文件。
不过一般情况下,我们使用 less
命令。如下:
less index.html
就可以查看这个文件了。
如果文件比较长,可以使用 ctrl + f
往下翻页,也可以使用 ctrl+b
向上翻页。
pwd 看看自己在哪个目录下
如果你的目录层级比较多,你导出溜达着,忘记你在哪里了,怎么办?或者,你需要把你当前的目录路径给复制出来,怎么办?
没关系,我们可以使用 pwd
命令,迅速输出你的当前目录路径。
pwd
需要说明的是,这里会返回完整的路径,而不是 ~/xxx
这样的缩写路径。
例如,你在家目录里执行这个命令,那么输出的将会是:
/home/fungleo
这样的。
man 查看某个命令的详情
如果你看到一个命令,不清楚这是干啥的,就可以用 man
命令来看看这个命令的详细介绍:
man cp
就可以看 cp
命令的详情。
不过,这个命令输出的内容是英文的。如果你英文不行,可以到一个中文网站来看。网址是:http://man.linuxde.net/
需要注意的是,中文内容不一定是准确的,或者是最新的。
小结
好,掌握以上日常使用的命令,基本上你就可以愉快的使用命令行了。需要更多的内容,基本上可以使用搜索引擎来解决,你只需要提出正确的问题,基本上都能得到解答的。
本文由 FungLeo 原创,允许转载,但转载必须保留首发链接。
更多推荐
所有评论(0)