Linux课程其实早就学习完了,但是学习笔记才写了一篇博客,真是惭愧!说来也是人懒,晚上都去追剧去了,无心学习。该罚!
言归正传!这一篇博客讲的是有关Linux系统中的目录处理命令。
一般而言,Linux系统中的命令基本上都遵循下面的格式:
|
|
注意:
- 个别命令不遵循此格式
- 当有多个选项时,可以写在一起
- 简化选项与完整选项,
-a
一般等同于--all
1. 查询目录中的内容:ls
基本格式如下:
|
|
选项:
-a
显示所有的文件,包括隐藏文件(隐藏文件以.
开头,例如.bash_history
)-l
查看详细信息-d
显示目录属性-h
人性化显示文件大小(默认显示文件的字节数)-i
显示文件的inode节点
例子:
|
|
查看但当前目录下的文件
|
|
这里ls -l
命令的别名为ll
,即ll
也能够得到和上面一样的结果。关于别名的用法,以后的博客中会专门谈到。这里了解一下结果中的详细信息。
下面以bash_prog.sh
为例:
|
|
-rwxr-xr-x
前面的-
表示普通文件,后面的rxw
分别表示“可读”、“可写”、“可执行”。其中从左往右前三个表示文件所属用户的权限,这里是所属用户可读、可写、可执行;中间三位表示文件所属用户组的权限,这里是所属用户组可读、不可写、可执行;后三位表示其他用户组的权限,这里是其他用户可读、不可写、可执行。
刚刚提到了-
表示普通文件,其实Linux系统存在7种文件类型,但作为入门和日常使用,只需要了解常见的三种——-dl
。d
顾名思义,表示目录,l
则表示软链接文件(相当于windows系统中的快捷方式)。
查看某一特定文件夹下的文件
|
|
最前面的数字表示文件的inode节点,第三列的数字表示引用计数,与链接命令有关。接下来的10K
表示my_pack.tar文件的大小为10K。11月 25 17:10表示文件最后修改的时间。
2. 创建目录:mkdir
基本格式如下:
|
|
选项:
-p
递归创建目录
例子:
|
|
|
|
注:
- 如果是在当前目录下创建一个普通目录,直接在
mkdir
后跟上想要创建的目录名即可 - 如果是在当前目录下递归地创建目录,类似于
mkdir current_dir/dir_a/dir_b
,需要在mkdir
后面加上-p
选项
3. 切换目录:cd
基本格式如下:
|
|
例子:
|
|
附:几个关于cd
命令的简化操作
|
|
|
|
根目录是整个Linux系统的最顶层目录,用/
表示。
家目录是每个用户登陆系统后所在的目录,一般位于/home/
目录下(root用户的家目录位于/root/
目录),以用户名作为目录,用~
表示。
|
|
关于路径,还存在绝对路径和相对路径之分:
- 相对路径:以当前目录作为基础进行目录的切换和文件的查找
|
|
- 绝对路径:从根目录开始,一级一级地递归查找,无论当前处于哪一个目录下面。
|
|
值得指出的一点是,Linux系统非常人性化,可以很方便地进行文件名补全、目录名补全。当一个文件名/目录名过长的时候,直接摁住Tab
键会打印出该文件/目录的名称,有的时候需要嗯两次,因为有文件的的前面几个字符都相同。
4. 删除空目录:rmdir
基本格式如下:
|
|
注:
rmdir
只能删除空文件夹,所以很少用
例子:
|
|
5. 删除文件或者目录:rm
基本格式如下:
|
|
选项:
-r
删除目录-f
强制
|
|
可以看到,abc.zip
被强制删除,并没有出现让我们选择是否删除的选项。
下面给出一条非常著名的命令,请勿尝试!!!后果很严重!!!
|
|
6. 复制命令:cp
这个命令是不是经常听到😂😅
基本格式如下:
|
|
选项:
-r
复制目录-f
同时复制文件属性-d
若源文件为链接文件,则复制链接属性-a
相当于-pdr
改名复制
|
|
可以看到,将hello.sh
复制到my_dir
文件夹下,并改名hello_1.sh
,其最后更新的时间会发生变化。如果不想要这个时间发生变化,可以加上-p
选项,如下:
|
|
复制目录
|
|
7. 简介/改名命令:cp
基本格式如下:
|
|
例子:
|
|
注:
mv
命令在剪切目录时不需要加-r
选项cp
和rm
命令在操作目录对象时候需要加选项-r
修改文件名
|
|
源文件与目标文件不在一个目录下,就是剪切。如果在一个目录下,就是改名。