资讯专栏INFORMATION COLUMN

Linux基础知识

summerpxy / 558人阅读

摘要:诞生于年,由芬兰学生发起。出于安全考虑,普通用户并不具备这一权限。终端最初用作文件浏览器,即使现在,遇上图形环境失效时,它仍被用作文件浏览器。您可以将终端作为一个文件浏览器,用来浏览自己的文件和撤销曾做过的改动。

什么是Linux?

Linux 内核,其发音为 "lee-nucks",是 Ubuntu 操作系统的核心。内核是操作系统的重要组成部分,它是硬件和软件之间进行通讯的桥梁。 Linux 诞生于1991年,由芬兰学生 Linus Torvalds 发起。那时,它只能运行在 i386 系统上,实质上是个独立编写的 UNIX 内核之克隆,旨在充分利用当时全新的 i386 架构。 现如今 Linux 几乎能运行在所有现代架构之上,这要归功于来自世界各地的人们所作的大量开发工作。 Linux 内核不仅在技术上占有一席之地,还在意识形态上占有重要位置。有一整个社区的人相信自由软件的理念,并花费大量时间帮助开源技术,使之臻于完美。 正是这个社区里的人们促使了 Ubuntu 的出现、促成了规范 Internet 发展的众多标准委员会、促成了一些组织如Mozilla基金会 (负责创建了Mozilla Firefox) 的出现、还促成了无数其它使您受益匪浅的软件项目。 开源精神,这通常归因于 Linux,正在深刻影响着各地的软件开发者和用户,他们驱使着各个社区朝着共同的目标前进。

Linux 基础

Linux 的灵感源自 1969 年就出现的 Unix 操作系统,时至今日该系统仍被广泛使用,并在不断发展中。 Unix 背后的许多设计惯例也同样存在于 Linux 中,对系统基本原理的理解至关重要。 Unix 最初主要使用命令行界面,这在 Linux 中也得到了保留。也就是说,图形用户界面及其窗口、图标、菜单等都构建在基本的命令行界面之上。更进一步,这也意味着在命令行里可以十分便捷的管理和访问 Linux 的文件系统。

目录和文件系统

Linux 和 Unix 文件系统被组织成一个有层次的树形结构。文件系统的最上层是 /,或称为 根目录。在 Unix 和 Linux 的设计理念中,一切皆为文件——包括硬盘、分区和可插拔介质。这就意味着所有其它文件和目录(包括其它硬盘和分区)都位于根目录中。 例如:/home/jebediah/cheeses.odt 给出了正确的完整路径,它指向 cheeses.odt 文件,而该文件位于 jebediah 目录下,该目录又位于 home 目录,最后,home 目录又位于根(/) 目录下。 在根 (/) 目录下,有一组重要的系统目录,在大部分 Linux 发行版里都通用。直接位于根 (/) 目录下的常见目录列表如下:
/bin - 重要的二进制 (binary) 应用程序
/boot - 启动 (boot) 配置文件
/dev - 设备 (device) 文件
/etc - 配置文件、启动脚本等 (etc)
/home - 本地用户主 (home) 目录
/lib - 系统库 (libraries) 文件
/lost+found - 在根 (/) 目录下提供一个遗失+查找(lost+found) 系统
/media - 挂载可移动介质 (media),诸如 CD、数码相机等
/mnt - 挂载 (mounted) 文件系统
/opt - 提供一个供可选的 (optional) 应用程序安装目录
/proc - 特殊的动态目录,用以维护系统信息和状态,包括当前运行中进程 (processes) 信息。
/root - root (root) 用户主文件夹,读作“slash-root”
/sbin - 重要的系统二进制 (system binaries) 文件
/sys - 系统 (system) 文件
/tmp - 临时(temporary)文件
/usr - 包含绝大部分所有用户(users)都能访问的应用程序和文件
/var - 经常变化的(variable)文件,诸如日志或数据库等

权限

Linux 系统上的所有文件都有权限,以允许或者阻止其它用户查阅、修改或者执行。超级用户“root”则可以访问系统上的任意文件。每个文件都有访问限制、用户限制以及隶属于某个用户/组(owner/group)。 所有文件皆有如下三组权限加以保护,按重要性依次排列:
用户(user)
适用于该文件的所有者
组(group)
适用于该文件所属的组
其他(other)
适用于所有其他用户
上述三组权限信息的每一组都包含了实际权限。这些权限信息,连同它们对文件和目录具有的不同含义,概述如下:
读(read)
允许显示/打开该文件 可以显示目录内容
写(write)
可以编辑或删除该文件 可以更改目录内容
可执行(execute)
可执行文件可以作为程序运行 可以进入该目录
要查看和编辑文件或目录的权限,请打开 位置 → 主文件夹 并在文件或者目录上单击右键。然后选择 属性。授权信息就在 权限 标签页中,如果您是该文件的所有者,您可以编辑所有的授权等级。

root 用户和 sudo 命令

GNU/Linux 系统的 root 用户具有系统的管理权限。出于安全考虑,普通用户并不具备这一权限。不过,Ubuntu 上并不包含 root 用户,而是将管理员权限授予特定用户,他们可以使用 "sudo" 应用程序来执行管理任务。默认情况下,在您的系统安装过程中创建的第一个用户帐号具有使用 sudo 的权限。您可以通过用户和组 (参见 第1.3.6节 ― 用户和组) 来限制和赋予用户运行 sudo 的权限。 当您运行一个要求 root 权限的应用程序时,sudo 会要求您输入自己的普通用户密码;这样可以确保恶意程序无法损害您的系统,还可以提醒您应该小心谨慎的对待自己将要执行的管理动作。 在命令行里使用 sudo,只需直接在您想执行的命令前加上"sudo"即可。随后 sudo 会提示您输入自己的密码。 在短时间内 sudo 会记得您输入过的密码。设计这一特性的目的,是为了避免用户在执行多个管理任务时重复输入密码。 执行管理任务时请务必小心,以免损坏系统! 其它一些 sudo 使用技巧:
欲使用 "root" 终端,请在命令行里输入“sudo -i”。
Ubuntu 里所有图形界面配置工具(启动时)默认已使用sudo,因此如有必要它们会提示您输入自己的密码。
关于 sudo 程序及 Ubuntu 里为何默认没有 root 用户的更多信息,请阅读 Ubuntu wiki 上的 sudo页面。

终端

使用命令行并不像您想象的那么困难。使用命令行不需要专门知识,和其它软件一样,它也仅仅是一个程序。Linux 中绝大部分工作都可以用命令行完成,尽管大部分程序都有相应的图形工具,但有时这些图形工具会捉襟见肘,不够用。此时便是命令行大显身手的时候。 终端常常被称为命令行或者 shell。过去,这就是人机交互的方式。即便现在,Linux 用户还是觉得 shell 比图形方式更快并且仍有一些优势。接下来,您将学习如何使用终端。 终端最初用作文件浏览器,即使现在,遇上图形环境失效时,它仍被用作文件浏览器。您可以将终端作为一个文件浏览器,用来浏览自己的文件和撤销曾做过的改动。

启动终端

要启动一个终端,可以选择 应用程序 → 附件 → 终端。
快捷方式:Ctrl + Alt + T
ALT+F2 Run a command: gnome-terminal

常用命令

查看目录: ls
ls (List) 用不同颜色、经过排列的文本列出目录下的文件。
创建目录: mkdir (目录名)
mkdir (MaKeDIRectory) 命令可以创建目录。
切换目录: cd (directory/location)
cd (ChangeDirectory) 命令可以从您的当前目录切换到您指定的任意目录。
复制文件/目录: cp (源文件或目录名) (目标目录或文件名)
cp (CoPy) 命令会拷贝您指定的任意文件。cp -r 命令则可以拷贝您指定的任意目录(注:包括该目录里的文件和子目录)。
删除文件/目录: rm (文件或目录名)
rm (ReMove) 可以删除您指定的任意文件。rm -rf 命令则可以删除您指定的任意目录(注:包括该目录里的文件和子目录)。
重命名文件/目录: mv (文件或目录名)
mv (MoVe) 命令可以重命名/移动您指定的任意文件或目录。
查找文件/目录: locate (文件或目录名)

切换到 root 用户 ,输入 “sudo -i ”或“sudo su -”, 退出 “exit”

pwd 显示当前目录, pwd = print working directory

ls 列出目录下当前文件

cp 复制文件/目录 cp (源文件或目录) (目标文件或目录)
cp -r 复制文件夹 包括子目录和文件

rm 删除文件/目录 可以删除文件
rm -rf 删除目录包含子目录和文件
rmdir 删除空文件夹

mv 移动或重命名 文件

cd 进入目录
cd / 进入根目录
cd 或 cd ~ 进入用户的 home 目录
cd - 进入上次访问的目录 (相当于 back)

cd .. 进入上级目录

man 显示某个命令的 manual

df 显示文件系统空间信息
df -h 用 M 和 G 做单位显示文件系统空间信息 -h 意思是 human-readable

du 显示目录的空间使用信息
du -sh /media/floppy
-s 意思 summary -h 意思 human-readable

ifconfig 显示系统的网络

locate 命令会在您的计算机里搜索您指定的任意文件。它使用您系统中的文件索引以便进行快速查找:运行命令 updatedb 可以更新该索引。每天您一开机,该命令便会(在合适的时机)自动运行。运行该命令需要具备管理员权限 (参见 第1.3.3节 ― root 用户和 sudo 命令)。
您还可以使用通配符来匹配一个或多个文件,如 "*" (匹配所有文件) 或 "?" (匹配一个字符)。 欲知关于 Linux 命令行的详尽介绍,请参阅 Ubuntu wiki 上的命令行介绍。

切换到控制台模式

在 Ubuntu 里使用命令行的常见方法是启动一个终端 (参见前面的 第1.3.4.1节 ― 启动终端),但有些时候还是需要切换到真正的控制台下。
使用 Ctrl+Alt+F1 快捷键可以切换到第一个控制台。
要切回桌面模式,可以使用 Ctrl+Alt+F7 快捷键。
一共可以使用 6 个控制台,分别用快捷键 Ctrl+Alt+F1 到 Ctrl+Alt+F6 进行切换。

文本编辑

Linux 中的所有配置和设定都保存在文本文件里。尽管您可以通过图形界面来编辑大部分配置,但有时您还是得手工编辑它们。Gedit 是 Ubuntu 的默认文本编辑器,您可以通过点击桌面菜单系统中的应用程序 → 附件 → 文本编辑器来启动它。 本指南中,有时为了修改配置文件,会从命令行里使用 gksudo 来运行 Gedit,这样就能以管理权限来运行 Gedit。
如果需要在命令行中使用文本编辑器,那么您可以使用 nano 这个用法简单的文本编辑器。如果要在命令行中运行 nano,请务必使用如下命令:nano -w,它可确保编辑器不会插入断行符。
欲知 nano 使用的更多信息,请参考 Wiki 上的指南。 Ubuntu 提供了大量其它基于终端的编辑器,包括流行的 VIM 和 Emacs (它们各自的赞成者和反对者在 Linux 社区里引发了许多不乏善意的争论)。和 nano 相比,通常上述编辑器的用法更为复杂,当然功能也更强大。

用户和组

要在您的系统中添加用户或组,可以使用 系统 → 系统管理 → 用户和组 中的 用户和组 程序。
要添加一个新用户,点击 添加用户,然后填写各项数据,点击 确定 加以确认。要编辑每个用户的属性,点击位于主 用户 /guilabel> 要添加一个新组,选择 组 标签页并点击 添加组。为新组选择一个名字,如有必要,还可以改变 组 ID 的默认值。如果您试图分配一个正在使用的 组 ID,系统会向您发出警告。 通过从左边菜单选择用户并点击添加按钮,您可以将该用户添加到新建组中。删除用户与添加一样简单:从右边菜单中选择用户并点击移除。做好上述准备之后,点击确定,便可创建一个包含有用户的新组。 要编辑组的属性,在组主窗口中,选择一个组名并点击属性按钮。 要从系统中删除一个用户或组,请先选中您要删除的用户或组,然后点击 删除。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/10013.html

相关文章

  • Linux课程适合0基础学吗?要学习哪些内容?

    摘要:课程从基础入门开始教学,学习难度循序渐进,由浅入深,即使是零基础的学习者也可以完全能够听懂。   想要从事IT行业,但是有不想要学习编程该选择哪门技术合适呢?当然是Linux运维了。Linux是市场上非常受欢迎的技术,应用范围广泛,就业前景好,受到了很多人的喜欢。那么问题来了,Linux运维零基础可以学习吗?  在服务器市...

    高胜山 评论0 收藏0
  • Linux 挖坑不埋指南

    摘要:在的世界里,中文并不是必须的,英文是必须的,但是只要你愿意,还是有办法让支持中文的显示与输入的,而且搞定这个问题,意味着你对的认识程度已经超过了很多其他发行版的用户。 跳进 Linux 的唯一理由 既然知道 Linux 在这个世界已经存在了,而你又是个挺喜欢摆弄计算机的人,那么对 Linux 是怎样的一种存在难道不感到好奇么? 也许在你开始尝试使用 Linux 时,已经看到了很多对 L...

    李涛 评论0 收藏0
  • Linux 挖坑不埋指南

    摘要:在的世界里,中文并不是必须的,英文是必须的,但是只要你愿意,还是有办法让支持中文的显示与输入的,而且搞定这个问题,意味着你对的认识程度已经超过了很多其他发行版的用户。 跳进 Linux 的唯一理由 既然知道 Linux 在这个世界已经存在了,而你又是个挺喜欢摆弄计算机的人,那么对 Linux 是怎样的一种存在难道不感到好奇么? 也许在你开始尝试使用 Linux 时,已经看到了很多对 L...

    luzhuqun 评论0 收藏0
  • 后端程序员必备的Linux基础知识

    摘要:这里存放的是系统管理员使用的系统级别的管理命令和程序。而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般。 本文同步更新在我的Github上:网页链接 我自己总结的Java学习的系统知识点以及面试问题,目前已经开源,会一直完善下去,欢迎建议和指导欢迎Star: https://github.com/Snailclimb/Java-Guide 学习Linux之前,我们先来...

    import. 评论0 收藏0
  • 《跟阿铭学Linux》作者李世明:谈不上告白,就是帮女友转型而已

    摘要:年,阿铭开始为女友撰写电子版入门教程,到目前为止已经累计帮助数十万人。年创建阿铭培训,目前已经培训多期学员。创办阿铭培训班和猿课的初衷是什么最早仅仅是为了满足群里朋友的需求,通过录制一套视频,再结合我写的电子版教程,帮助群友学习。 本文仅用于学习和交流目的,不得用于商业目的。非商业转载请注明作译者、出处,并保留本文的原始链接:http://www.ituring.com.cn/art....

    Render 评论0 收藏0
  • Linux

    摘要:今天的标题也挺探索之旅第三部分第一课数据处理,慢条斯理作者谢恩铭转载请注明出处内容简介第三部分第一课数据处理,慢条斯理第三部分第二课预告流管道重定向,三管齐下数据处理,慢条斯理哈哈,终于到了第三部分了。 Linux 探索之旅 | 第二部分测试题 -- 作者 谢恩铭 转载请注明出处 内容简介 第二部分测试题 第三部分第一课预告:数据处理,慢条斯理 上一课 Linux 探索之旅 | 第二部...

    wwq0327 评论0 收藏0

发表评论

0条评论

summerpxy

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<