首页 分享 Linux新手快速入门指南

Linux新手快速入门指南

来源:花匠小妙招 时间:2024-12-19 07:27

我以前经常在网上查类似于“在Ubuntu下如何让某个用户对某个文件夹拥有可读可写的权限?”,“Mac上如何通过命令行启动某个程序?”,“在Linux中如何彻底卸载某个软件?”这类的问题,当然这类问题都可以较容易的在网上找到解决方案,但是每次解决我都是知其然不知其所以然,所以当下次我碰到类似的问题时,我还是要花一定的时间去查,这让我有一种挫败感;开发相关的知识大多变得特别快,但是有些知识特别经典,其实比起某些库或框架也许更值得系统的了解。这也是本文的写作初衷,一方面是自己对近两个月来看的相关资料做一个总结,另一方面也希望可以帮助Linux初学者更好的理解,运用这个系统。

概述

第一次安装Linux

在我大二的时候,学校里有个学长就《神奇的Ubuntu》为题进行了一次演讲(演讲我并没去听,但是仔细看了那个手绘的宣传板,当时觉得很有意思,不过到现在过了七年多了,也实在是不记得宣传板上具体的内容了,依稀记得把Windows批判了一番。。)。

在那个好奇心最重的年龄,我回去就开始查关于Ubuntu相关的消息,发现它是Linux的众多发行版之一,其它发行版还有CentOS,RedHat,Fedora等等,又不知道从哪里看到,Ubuntu还和MacOS 有一定的亲缘关系(都是类Unix系统),瞬间就懂了尝试使用的心,连夜下载了当时最新的Ubuntu发行版(应该是Ubuntu10.04),覆盖安装了本机的Win7系统(当时刚买电脑半年,那时候还不知道还有虚拟机这个东西),当时就觉得利用命令行下载软件特别酷,尝试了酷炫的3D桌面,寻找了windows相关软件的替代品,不过大概还是10天左右还是由于各种原因就又换回了Windows(其实当时也并没有理解这个系统)。

可能也是一直念念不忘这个系统,后来又安装了好几次,有装双系统,有用虚拟机,有用Docker,有用阿里云的远程服务器等等。就我自己的体验来看,我最推荐的安装方式还是使用虚拟机,virtualbox是一个开源的免费的虚拟机软件(支持MacOS和Windows),在Linux发行版官网下载好想使用的Linux系统后(比如Ubuntu16.04桌面版,本文之后的代码也大多基于Ubuntu,有的也使用了Mac),通过虚拟机进行安装即可,虚拟机的使用非常简单,聪明的你肯定一试就会。

从Linux图形界面的说起

在Windows下,我们习惯于使用各种具有完善图形界面的软件,毫无疑问,图形界面大大降低了普通人使用电脑的成本,甚至个人计算机的普及,图形界面都功不可没,在Linux下也有图形界面(俗话说的桌面),通过以下文字,我们可以对其有初步的了解:

相对于现在的 Windows 系统,UNIX/Linux 本身是没有图形界面的,我们通常在 UNIX/Linux 发行版上看到的图形界面实际都只是运行在 Linux 系统之上的一套软件,而 Linux 上的这套软件以前是 XFree86,现在则是 xorg(X.Org),而这套软件又是通过 X 窗口系统(X Window System,也常被称为 X11 或 X)实现的,X 本身只是工具包及架构协议,而 xorg 便是 X 架构规范的一个实现体,也就是说它是实现了 X 协议规范的一个提供图形界面服务的服务器,就像实现了 http 协议提供 web 服务的 Apache 。如果只有服务器也是不能实现一个完整的桌面环境的,当然还需要一个客户端,我们称为 X Client,像如下几个大家熟知也最流行的实现了客户端功能的桌面环境 KDE,GNOME,XFCE,LXDE 。
注:以上文字引自实验楼《Linux基础入门》

当然也许你早就知道Linux的正确打开方式是使用命令行(呃..啥是命令行?),不过看了对Linux图形界面的描述后,是不是更加理解为啥我们要用命令行了。那接下来就说说啥是命令行?

命令行、终端,shell和console

,呃,慢着,不是说好解释啥是命令行么,怎么突然冒出了四个名词。熟悉又模式的四个词,别急,我们一个个来解释。

命令行(CLI)

命令行界面是相对于图形界面而言的,较图形用户界面节约计算机系统的资源。在熟记命令的前提下,使用命令行界面往往要较使用图形用户界面的操作速度要快。命令行中,可以使用脚本语言和宏语言,以其提供更加丰富的控制与自动化的系统管理能力。命令行界面-维基百科

终端(Terminal)

终端特指计算机或通信网络中输入或输出信息的装置,通常由键盘和显示器等组成。但是使用Mac或者安装好了Ubuntu的童鞋会发现有一个程序也叫终端(Terminal),在某种意义上,终端还是我们与系统交互的窗口,严格来讲,我们现在在系统中运行的终端程序只是终端模拟器(常见的终端模拟器有以下几个: gnome-terminal,kconsole,xterm,rxvt,kvt,nxterm 和 eterm),更多关于终端的描述,可以参考这篇文章。

这里还得插一句:终端本质上是对应着 Linux 上的 /dev/tty 设备(设备稍后详述),Linux 的多用户登陆就是通过不同的 /dev/tty 设备完成的.

shell

英语好的同学一下子就可以看出shell是壳的意思,有壳就有核,核指的是 UNIX/Linux 内核,Shell之所以叫Shell 是因为它隐藏了操作系统底层的细节。我们可以换个大家一下就能懂的词来理解Shell:命令解析器

当我们在终端中输入node,按回车,会启用node解释器,输入python按回车会启动Python解释器,之后就可以在里面输入并执行对应语言的代码啦。

在 UNIX/Linux 中比较流行的常见的 Shell 有 bash、zsh(用没用过美美的oh my zsh)、ksh、csh 等等,Ubuntu 终端默认使用的是 bash。本文后面对shell命令的讲解也大多基于bash。

console

从字面上来讲,console是控制台的意思,现在的console一般与终端在外表上没什么区别,不过其在功能上却大不相同,console的出现有其历史原因,简单的说来,就是在以前电脑还是很稀缺的物件的年代,一台电脑是会陪伴多套终端的,这时候就需要专门的系统管理员利用console来管理系统。目前对一般人来说console的作用可能没有那么大了,不过可能其还是会在一些特殊场景下有很大的作用,具体我也不是很清楚,在此就不阐述了。

终端的分类:

终端分字符终端图形终端,字符终端(Character Terminal)也叫文本终端(Text Terminal),是只能接收和输出文本信息的终端。图形终端(Graphics Terminal)不但可以接收和输出文本信息,也可以输出图形图像。

一般说来字符终端的的标准是DEC公司1978制造的型号为VT100的终端。而图形终端的标准是X Window,它是大多数Unix-like系统GUI界面的基础,xterm是Unix世界里最著名的图形终端模拟程序。

以Ubuntu具体说来,它默认提供七个终端,其中第一个到第六个虚拟控制台是全屏的字符终端,第七个虚拟控制台是图形终端,用来运行GUI程序,按快捷键CTRL+ALT+F1,或CTRL+ALT+F2…….CTRL+ALT+F6,CTRL+ALT+F7可完成对应的切换,安装了虚拟机的童鞋可以动手尝试一下哈。

开始使用Shell

shell可能是我们在Linux下使用最多的工具了,本小节我们我们以bash为例,当然zsh下以下命令也是适用的,我们先熟悉一下shell的基本操作。

对输入输出的描述

命令行的操作分为输入和输出两个方面:

输入:打开终端,按键盘输入,按回车结束输入并执行;
输出:输出会返回你想要的结果,比如你看的是文件,就会返回文件的内容。如果是执行的程序,执行失败会告诉你哪里错了,如果施行成功会没有输出,这是linux的哲学:没有结果就是最好的结果。

提高shell的输入效率

我还记得在我初用Mac终端(shell为zsh)时,有人告诉我输入文件目录时,输入几个字母后按tap键,可以自动补全,当时觉得特别神奇,还特意向我不是学计算机的同学炫耀,命令行有多么好用。合理的使用快捷键确实可以明显的提高工作效率,对shell常用快捷键的总结如下:

Tap:点击Tab键可以实现命令补全,目录补全、命令参数补全;

Ctrl+c:强行终止当前程序(常用);

Ctrl+d:键盘输入结束或退出终端(常用);

Ctrl+s:暂停当前程序,暂停后按下任意键恢复运行;

Ctrl+z:将当前程序放到后台运行,恢复到前台为命令fg;

Ctrl+a:将光标移至输入行头,相当于Home键;

Ctrl+e:将光标移至输入行末,相当于End键;

Ctrl+k:删除从光标所在位置到行末,常配合ctrl+a使用;

Alt+Backspace:向前删除一个单词,常配合ctrl+e使用;

Shift+PgUp:将终端显示向上滚动;

Shift+PgDn:将终端显示向下滚动;

上下方向键:浏览历史输入记录;

熟练运用上述的操作技巧将大大提升我们命令行的操作效率,不过真正解决问题需要应用各种bash命令,下面对常用命令进行简单的介绍:

常见的bash命令

文件相关

ls:列出某文件夹下的文件,添加参数可实现更细致的功能,

ls -a 列出所有文件,包括隐藏文件

ls -l 列出文件及其详细信息

cd切换目录,cd到不存在的目录时会报错

pwd打印当前目录

cat:读取某一个文件内的内容

wc:获取某一个文件的行数和字数

$ wc package.json # 79 175 2712 package.json

cp:复制某文件

mkdir:创建目录

rmdir:删除目录

rm-rf:r删除内部所有文件,f参数表示强制,rm -r junk删除junk目录及其下面的所有文件;

mv移动 mv photos.jpg Photos 将photos移动到文件夹Photos下

sort排序

diff:比较两个文件的异同

系统相关:

date:获取当前时间

uname:返回系统名称

hostname:返回系统的主机名称

网络相关:

host xx.xxx.com:显示某域名相关托管服务器/邮件服务器

ping 8.8.8.8检测连接

搜索相关命令:

whereis:

描述:简单快捷

使用$whereis who

说明:这个搜索很快,因为它并没有从硬盘中依次查找,而是直接从数据库中查询。whereis 只能搜索二进制文件(-b),man 帮助文件(-m)和源代码文件(-s)。

locate:

描述:快而全

使用$ locate /etc/sh(查找 /etc 下所有以 sh 开头的文件),$ locate /usr/share/*.jpg(注意要添加 * 号前面的反斜杠转义,否则会无法找到。)

说明:通过/var/lib/mlocate/mlocate.db 数据库查找,不过这个数据库也不是实时更新的,系统会使用定时任务每天自动执行 updatedb 命令更新一次,所以有时候你刚添加的文件,它可能会找不到,需要手动执行一次 updatedb 命令(在我们的环境中必须先执行一次该命令)。它可以用来查找指定目录下的不同文件类型

可带参数:如-i 参数可以忽略大小写进行查找

which:

描述:小而精

使用:$ which man

说明:我们通常使用 which 来确定是否安装了某个指定的软件,因为它只从 PATH 环境变量指定的路径中去搜索命令

find:

描述:精而细

使用:$ sudo find /etc/ -name interfaces/格式find [path] [option] [action];

说明:find 应该是这几个命令中最强大的了,它不但可以通过文件类型、文件名进行查找而且可以根据文件的属性(如文件的时间戳,文件的权限等)进行搜索。find很强大也相对而言很复杂,在此先不赘述;
$ sudo find /etc/ -name *.list

其它:

--version/-V查看某个程序的版本

history显示历史

echo:返回你给的值,可以简单理解为js中的console或python中的print

man使用一个叫做less的程序,查看某个命令的帮助文档

less:linenumer u d keyarray search(大小写敏感),正则表达式

通配符(Globbing):

- 使用命令时可在参数中使用通配符 - `*`:匹配 0 或多个字符,如`ls *.html`将匹配所有以html结尾的文件,`ls b*.png`将匹配所有以b开头,png结尾的文件; - `?`:匹配任意一个字符,如`ls abc?.png` 可匹配abcd.png/abce.png - `[list]`:匹配 list 中的任意单一字符 - `[!list]`:匹配 除list 中的任意单一字符以外的字符 - `[c1-c2]`:匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z] - `{string1,string2,...}`:匹配 string1 或 string2 (或更多)其一字符串,如 `{css,html}`, `ls app.{html.css}`将匹配app.css 和app.html; - `{c1..c2}`:匹配 c1-c2 中全部字符 如{1..10} - 使用`man`查看帮助(man分类如下:) - 注意通配符大小写敏感

上文只对常见命令进行了简单的描述,其中一些命令在下文讲到具体应用场景时还会详细的说明。结合刚刚所说的这些命令,我们来理解Linux是一个怎么样的系统。

更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2017-06/144517p2.htm

相关知识

新手养花,入门操作指南
新手养花,入门指南
最详细,快速入门Web前端开发的正确姿势
月季新手入坑指南!
一时瓣课云读书会VOL.30|《我的小阳台四季有花》:新手养花的入门指南
插花入门,新手怎么学插花?
新手养花不败指南 养花入门的书 从零开始学栽培多肉植物种花养花书籍图书大全 多肉养护种植 mobi epub pdf txt 电子书 下载 2024
新手养花、种菜入门
新手养花入门花种多肉
打造绿色家园,家庭养花入门必备指南

网址: Linux新手快速入门指南 https://www.huajiangbk.com/newsview1178816.html

所属分类:花卉
上一篇: 钩针钩花教程图解
下一篇: 这十条野外生存小技巧,也许会要了

推荐分享