Linux新手快速入门指南
我以前经常在网上查类似于“在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的哲学:没有结果就是最好的结果。
我还记得在我初用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
上一篇: 钩针钩花教程图解 |
下一篇: 这十条野外生存小技巧,也许会要了 |
推荐分享

- 1君子兰什么品种最名贵 十大名 4012
- 2世界上最名贵的10种兰花图片 3364
- 3花圈挽联怎么写? 3286
- 4迷信说家里不能放假花 家里摆 1878
- 5香山红叶什么时候红 1493
- 6花的意思,花的解释,花的拼音 1210
- 7教师节送什么花最合适 1167
- 8勿忘我花图片 1103
- 9橄榄枝的象征意义 1093
- 10洛阳的市花 1039