根目录下几个文件夹
cd /
这个可以让我们进入当前系统的根目录
ls
当我们进入到根目录之后可以用这条命令来显示当前所在路径下的可见文件或文件夹。
这是进入根目录后按ls所显示的可见文件或文件夹。
那这些文件夹具体是放什么的呢,接下来我就简单说一说。
- bin:这是一个存放二进制文件的目录,比如我们用的cd命令,ls命令以及以后用的各种命令,他们存放的位置都在bin目录下,所以没事的话就不要动这个目录。
- boot:系统开机时运行,没事尽量不要动。
- dev:这是一个与机器上各种设备相关驱动的地方,比如我们的键盘,鼠标,磁盘,相当于与外设有关的驱动啥的放这里,后面的磁盘管理会进来看一看。
- etc:配置文件所在地,以后是工作中进的最多的文件夹。
- home:家的意思,当登录权限不是root时,登录系统后默认当前路径就是在/home/用户名下,可以用来装不同用户的自己的文件,相当于私密空间。
- lib,lib64:这两个目录下放库文件,具体是什么现在还不清楚,熟悉之后回来更新。
- root:只有root权限能进。
- run:运行文件放这里。
- sbin:root所用命令。
- tmp:临时文件,服务器空间不足了可以过来清理一下。
- usr:应用程序所在文件目录。
- var:日志邮件啥的都在这个目录下面。
目前需要了解的就是这几个目录,因为是初学者,我可能有些地方存在错误,希望有大佬发现了可以指正。
文件管理中几个常用的命令
在这里先附上一个linux命令查询网站:Linux命令搜索
命令语法: 命令-选项-参数。
-
cd命令:进入指定路径下面。
-
pwd命令:显示当前所在路径。
我当前的路径是在根目录下的root目录下。 -
ls命令:显示指定路径下的文件和文件夹
# ls [选项] [文件名...]
#这里的意思是显示根目录下的可见的文件和文件夹
ls /
#以下这些消息都是显示当前路径下的文件和文件夹信息。
#l是显示详细信息,lh是利于理解的详细信息,a是显示隐藏文件,隐藏文件到后面说。
ls -l /
ls -lh /
ls -a /
像使用-a参数后多出来许多前面带.的文件就是隐藏文件。
那么,现在问题来了,如果我们想查看/目录下的所有文件和文件夹的具体信息(包括隐藏文件)该怎么做呢?
答案就是采用组合,是的,选项是可以组合使用的。利用ls -lha /就可以查看了。
- touch:创建文件。
# /mnt/下创建test文件
touch /mnt/test
#那么问题来了,我如果想同时创建test1,test2两个文件呢,难道要敲两次touch吗?
#我们可以这样,这里的{}表示一个范围,接下来不懂的话就看最后的练习吧,练习一下就知道了。
touch /mnt/{test1,test2}
- mkdir:创建文件夹。
#在mnt下创建a文件夹,b文件夹,c文件夹
mkdir /mnt/{a,b,c}
#在/mnt/a/目录下创建ab文件夹,并在ab文件夹下创建abc文件夹该怎么做呢,因为目前还不存在ab目录,因此直接mkdir会出错。
这个时候就要使用到-p选项。
mkdir -p /mnt/a/ab/abc
- mv:移动,如果位置不存在就相当于并移动重命名
# mv source destination
# 先创建一个/mnt下初建一个名为testfile的文件,然后将他移入到/mnt/a/ab/abc下
touch /mnt/testfile
mv /mnt/testfile /mnt/a/ab/abc/
- cp:复制。
#cp -r source destination。
#这里为什么加个r选项呢,因为你有可能复制的是文件夹,这个r选项可以将文件夹中的包含的都复制过去。也可以不加,不过只能复制单独的文件。
将刚刚的testfile文件复制一份到、mnt/b下面
cp -r /mnt/a/ab/abc/testfile /mnt/b
- rm:删除。
删除 /mnt下的所有文件,-r是递归处理,将指定目录下的所有文件与子目录一并处理,-f强制删除,*是通配符;
rm -rf /mnt/*
这几条命令是查看当前文件的内容的命令:
cat 直接显示所有内容
more 可以按空格键分页查看。
head 后面接数字显头数字几行,。
tail 后面接数字显示尾的数字几行。
grep 管道命令,后面会使用到。
练习
1.在/mnt/下面创建day1文件夹,并在day1下创建exe1文件夹,并在exe1下面创建a,b两个文件夹
mkdir -p /mnt/day1/exe1/{a,b}
2.在刚刚创建的a下面创建1.txt,2.txt,3.txt一直到50.txt文件和a.cpp到z.cpp文件
touch /mnt/day1/exe1/a/{1..50}.txt /mnt/day1/exe1/a/{a..z}.cpp
3.将/mnt/day1/exe1/a文件夹复制到/mnt/day1/exe1/b下
cp -r /mnt/day1/exe1/a /mnt/day1/exe1/b
4.将/mnt/day1/exe1/b下的a文件夹重命名为tempa
mv /mnt/day1/exe1/b/a /mnt/day1/exe1/b/atemp
5.将/mnt/day1/exe1/b/atemp下的所有cpp文件都删除
rm -rf /mnt/day1/exe1/b/atemp/*.cpp