第五讲:Linux文件管理

admin 提交于 周五, 10/16/2020 - 10:17

1. Nautilus文件管理器

在深入介绍Linux文件之前,先介绍一个比较简单的图形界面文件管理器Nautilus。

Nautilus是鹦鹉螺的意思,很多自由软件都喜欢用生物作为软件的名称。比如读屏软件Orca是杀人鲸,浏览器Firefox是火狐,邮件客户端Thunderbird是雷鸟。

启动文件管理器的方式是:SUPER+a,再输入nautilus(或文件),按回车。

Nautilus文件管理器的窗口由3部分组成:上方各级目录区域,左边快捷方式,右边文件主显示区域。右边文件主显示区域是启动时所处的区域。通过Tab键可在3个区域之间切换。上方的各级目录区域显示了从根目录到当前目录的各级目录,以及前进、后退、搜索按钮,通过左右方向键或TAB可浏览。左边快捷方式是常用的文件夹,通过上下方向键或TAB可浏览,按右方向键可切换到文件显示区域。右边文件显示区域显示目录内的文件或子目录,通过上下左右方向键可浏览。按左删除键可以返回上级目录。(注意:目录和文件夹是同义词)

在Nautilus文件管理器中输入字符串,以输入字符串开头的项(包含目录子树里的项)会被选中,这样可以快速定位到要找的项。不过这个直接输入的字符串仅限于英文字母开头,如果要搜中文开头,应该激活顶部区域里搜索的功能来完成。

下面是一些重要的快捷键:

  • F2: 重命名
  • CTRL + 1: 图标视图
  • CTRL + 2: 列表视图
  • CTRL + t: 新建标签页
  • CTRL + w: 关闭标签页
  • ALT + 数字: 切换到指定标签页
  • CTRL + d: 收藏到当前文件夹到书签
  • SHIFT + F10: 打开鼠标右键菜单
  • ALT + 左方向键: 后退
  • ALT + 右方向键: 前进
  • CTRL + q: 退出

2. Linux文件系统

Linux文件系统采用的是单棵树的树型结构,最上层是根目录。分区在Linux中是目录树的其中一个节点,即一个子目录,并且不一定是根目录的直接子目录。Windows采用的是多棵树的树型结构,树的根是磁盘分区的盘符,一个盘符对应一个分区。

Linux根目录下通常有以下一些目录:

  • /bin binary缩写,二进制可执行命令
  • /dev device缩写,设备文件
  • /etc et cetra等等的缩写,系统管理和配置文件
  • /home 用户主目录的基点,比如用户tom的主目录就是/home/tom,可以用~tom表示
  • /lib library缩写,标准程序设计库,又叫动态链接共享库,作用类似Windows里的.dll文件
  • /sbin super bin缩写,系统管理命令,这里存放的是系统管理员使用的管理程序
  • /tmp temporary缩写,公用的临时文件存储点
  • /root 系统管理员的主目录
  • /mnt mount缩写,系统提供这个目录是让用户临时挂载其他的文件系统
  • /lost+found 这个目录平时是空的,系统非正常关机而留下一些信息损坏的文件会放在这里
  • /proc process缩写,虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
  • /var vary缩写,存放经常变动的文件,比方说各种服务的日志文件
  • /usr user缩写,要用到的应用程序和文件几乎都在这个目录

 

Windows的目录分隔符是\(读反斜杠),Linux目录的分隔符是反过来的/(读斜杠或除号)。

Windows的分区格式有FAT和NTFS,Linux则多一些,有ext2、ext3、ext4、ReiserFS、swap等。在安装Linux阶段,需要告诉系统如何分区。最简单的方式是分配512M-2G大小的swap用作虚拟内存,剩下的用默认的分区格式全部挂在/根目录下。这样的分区策略有点像Windows下只用一个C盘,不需要担心性能之类的问题,如果考虑到将来重装系统资料保存的问题,可以把home独立出来一个分区,重装系统的时候不格式化home分区,直接把旧的home分区挂上去。

3. 命令行下浏览文件(cd、ls、cat、less)

Ubuntu下开启命令行终端的方式是按CTRL+ALT+t。

进入命令行终端后,我们可以用cd和ls命令来浏览目录。和Windows命令行一样,cd是进入一个目录的命令。ls则类似Windows的dir命令,列出目录的内容。`ls -l`则是列出目录内每个文件的详细信息。Linux下参数通常使用-(读横杠或减号)指定,Windows则是用/指定。ls的更多参数可以通过命令`man ls`查看,退出man的快捷键是q(quit的缩写)。

'.'代表当前目录,'..'代表上一级目录。`cd ..`表示返回到上一级目录。cd后面必须带空格,这一点和Windows命令行是不同的。

在Linux命令终端行中,可以通过`cat`命令显示文本文件的内容,对应于Windows命令行的type命令。比如说,我们从源代码安装一个软件之前,可能会看一下它的README文件,那么就用`cat README`命令。如果文件太长,我们可以用有分页显示功能的`less`或`more`命令,对应于Windows命令行的more命令。例如`less README`。less命令有几个快捷键需要记住的:

  • q:quit的缩写,和man命令的q功能一样,它是退出命令的快捷键。
  • f:forward的缩写,表示向后翻一页,如果键盘有PageDown键可以不记这个快捷键。这个快捷键的存在是因为PageDown键不是从计算机键盘诞生的那一天开始就有的,而现在的苹果电脑也是没有PageUp和PageDown键的。
  • b:backward的缩写,表示向前翻一页,也就是PageUp的功能。
  • 上下方向键:向上或向下滚动一行。
  • /:模式匹配搜索,这是Linux命令行的一个强大功能,复杂的使用方法以后再介绍。最简单的功能是输入“/”和要搜索的字符串,然后回车。按小写n搜索下一个,大写N搜索上一个。

 

关于命令行的概念,需要说明一下,Linux下命令行又可以称为终端(Terminal)或shell,当然有严格一点的定义区分,但基本都是指让我们可以运行命令的地方。Linux的又有很多不同的shell,比如最原始的sh,适合在嵌入式设备中使用的ash,有较长历史的csh,现在比较多用的bash。Ubuntu下用的是bash。不同的shell内置的命令格式参数会有些区别,但大部分是一致的。Linux下有几个隐藏的纯命令行的桌面,通过CTRL+ALT+F1至F6可以切换,图形界面通常是通过CTRL+ALT+F7切回去的。Linux下命令和文件名大小写是敏感的,就是说以上的`cat`和`less`命令如果使用了大写是不能运行的。

4. 命令行下管理文件(cp、mv、mkdir)

复制文件的命令是cp,对应于Windows命令行的copy:

cp file1 file2 # 把file1复制到名为file2下
cp -r dir1 dir2 # 参数-r表示复制的是目录
cp f* dir1/ # 把当前目录以f开头的文件复制到dir1目录下

移动文件或改名的命令是mv,对应于Windows命令行的move和rename:

mv oldpath newpath

删除文件或目录的命令是rm,对应于Windows命令行的delete:

rm file1 file2 file3
rm -rf dir1 # 参数-rf表示删除的是目录,删除的时候不做确认提示,直接删除

创建目录的命令是mkdir,对应Windows命令行的mkdir:

mkdir dirname

以上命令更多参数说明可以通过man命令查看(例如`man cp`)。

Linux的每个文件有一个所有者(即创建者)属性,有一个用户组属性,文件权限可以针对所有者、用户组和所有人分别设定。比如说可以设定一个文件对于所有者有读写权限,对于用户组有读权限,对于所有人什么权限都没有。通过`ls -l`命令可以开到文件的这个权限信息,开头的一串rwx就是读写权限。改变文件权限的命令是chmod,改变文件所有者的命令是chown,改变文件用户组的属性是chgrp。shell对于文件创建时有一个默认的属性设置。由于单机用户对这些权限都不太敏感,此处不赘述。

5. 查看磁盘空间

以下命令可以查看磁盘各分区大小、已用空间等信息:

df -h

以下命令可以查看foo目录的大小:

du -sh foo

有时候,硬盘比较满了,我们想找一些目录来清除,可以用下面命令查看当前目录以下搜索文件和子目录大小。找出特别大的,看里面有没有文件可删:

du -sh *

如果我们插入了一个U盘或移动硬盘,可以用df命令查看它挂载的地方,通常在/mnt或/media下。如果想卸载USB存储设备,可以用umount命令:

umount path

以上命令更多参数可查看man或info。相比起man,info功能更强大,并且更适合盲人使用。info的用法和man一样,info后面跟命令名称。进入info界面后,会有一个光标,可以通过键盘方向键移动来读取内容,按ESC+右方向键可以跳到下一个英文单词,按ESC+左方向键可以跳到上一个英文单词。按q退出,按h进入帮助页面,查看更多快捷键。info不是一页纸,而像一本书,里面的内容有链接,可以随时跳到相关的内容页去。

添加新评论

Restricted HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id> <img src>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。
验证码
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
请输入"汉语"