引言
Linux
是一个开源的操作系统的总称,由大名鼎鼎的 Linus
编写并发布,如果大家有听说过 Arch
、Ubuntu
、 CentOS
、 RedHat
、 Manjaro
、 SUSE
、 FreeBSD
等名字,那么大家或多或少可能会直接或者间接地接触过 Linux
系统,这些系统都用着同一个 Linux内核
,可以说都是一个家族的兄弟姐妹。
不要看 Linux
系统很陌生,因为你可能经常“访问”她,比如你访问的学校的官网就是跑在 Linux
系统上的 Nginx
代理的页面,还有就是大家经常连接的 Wifi
,现代的路由器上基本都会跑一个超级精简的 Linux
系统。可以说 Linux
系统对现代生活是不可或缺的存在。
好了,前面说了点初步介绍,那么接下来说说 Linux
与其他操作系统相比有什么优缺点:
- 优点
- 小巧不已崩溃
- 占用资源少
- 免费开源
- 拥有庞大的社区
- 可定制性强
- 缺点
- 缺少方便的图形界面
- 没有大型可视化软件(这也是为什么
Windows
系统得以存在的理由,这是Windows
赖以生存的根基) - 入门较难,需要拥有一定的编程思维和能力(可以后期锻炼)
- 需要有一定的英文水平
最后,再来说说为什么要写这篇文章。
目的一是我个人对大家的科普,希望引起大家的一些小兴趣,如果有喜欢的小伙伴可以一起探讨学习 Linux
,一起分享好用的软件,共同进步;
目的二是为今后组里需要做科学模拟计算的同学做一点预备知识,当然可能这些小伙伴或许能力比我强,当然也没必要看这种入门内容啦,所以大家可以按需食用本文。
Linux系统的简单介绍
万物皆文件,这就是 Linux
。
什么是文件?文件就是可以编辑的文本,只要可以编辑,任何东西就可以定制,这也是为什么说 Linux
系统的可定制性强的原因。
好了,接下来进入正题。
本文所使用的系统为 CentOS 8.1
,使用的 SHELL
是 zsh
。
根目录
Linux
的根目录一般都是固定的,而且通常只有管理员用户(root)才可以对其进行编辑,当然你也可以对其增添新的文件,只要的你知道你自己在干什么!
在使用 Linux
的时候,请一定要记住:Think Before You Type!!!
尤其是你在使用root用户的时候,请一定知道你输入的命令会对系统造成何种影响!
如果你没有清醒的认识,请不要使用root用户操作 Linux
系统,以免造成不可逆的后果!!!
终端
是 Linux
最常使用也是效率最高最美的界面,也是之后大家使用 Linux
必须要习惯的东西。
接下来用root用户来到根目录,我们来康康都有什么妖魔鬼怪。
这里主要介绍的是几个较为常用的
Name | Fuction |
---|---|
bin | 可以运行的二进制可以执行文件,一些软件和常用的命令保存的地方 |
boot | 系统启动会读取的文件,不要乱动! |
dev | 计算机的一切硬件信息都在这里,你可以直接去读取ta们 |
etc | 任何系统及软件的配置文件存放地点,十分重要的文件夹,不当的配置文件会使得软件或者系统无法正常使用 |
home | 就是常说的用户目录,新创建的用户默认的用户根目录就在这个目录下 |
lib | 就是程序运行的时候会调用的静态或者动态库,一些含有功能函数的文件,是很多程序的依赖 |
mnt | 用来挂载外部设备的文件夹,推荐放到这里,主要是方便管理 |
proc | 进程目录,这也体现着 Linux 万物皆文件的思想 |
root | 管理员用户的根目录 |
sys | 操作系统的文件,不懂就不要乱动嗷 |
tmp | 临时文件夹,一些缓存文件,系统关闭后会自己清理,类似回收垃圾的 Black Hole ~ |
usr | 装着自己安装的软件的文件夹,一般也不推荐安装在这里,不方便管理 |
var | 这个文件夹的作用同ta的名字,可自动变化大小的目录,说明这是一个动态文件夹 |
常用的命令
这一小节简单给大家介绍一下 Linux
系统下的常规操作命令,也是你使用这个系统必须要掌握的基础命令。
Name | Fuction |
---|---|
ls | 查看目录下的文件 |
cd | 进入到某个目录 |
mv | 移动文件或者重命名文件 |
tar | 压缩文件处理 |
pwd | 查看你所在的当前目录 |
cat | 读取文件信息并打印在屏幕上 |
touch | 新建一个文件 |
mkdir | 创建文件夹 |
man | 全称是manual,理论上你可以通过这个命令查询任何指令的使用方式,就是一个帮助文件,一定要善用这个指令自我学习,学会看手册是学习编程的必备技能 |
rm | 删除文件或文件夹,使用这个命令一定要小心!!!删除并没有后悔药!Think Before You Type! |
以上就是 Linux
系统常用的操作命令,详细的会在之后的章节中详细提及。
Linux的常用命令详谈
这里先给大家说说 Linux
系统的指令的一般输入形式如下:
1 | command [parameter] object(s) |
关于命令的使用,我只能说孰能生巧,这是一种重复性的操作,用多了你会发现你操作文件的效率变高的了,甚至会有丢掉鼠标这种累赘的想法,之后我会开放一个练习用的用户共给感兴趣的大家用于练习。
使用命令行时,建议多按 TAB
键进行补全,这将大大节省你输入命令的时间!
接下来详谈常用命令的使用
ls
ls
命令很简单,但是有一个比较重要的参数
parameter Name | Fuction |
---|---|
-a | 可以看到当前文件夹下所有文件,包括隐藏文件夹 |
注:文件或文件夹前加有 . 代表隐藏文件
cd
cd
命令可以说是除 ls
外用得最多的命令了,没什么花里胡哨的用法最简单的就行。
进入一个目录:
1 | cd Videos |
返回上一级目录:
1 | cd .. |
mkdir | cat | touch
mkdir
是创建文件夹的命令,若要创建多级目录,需要加上 -p
参数,这里一并和 cat
和 touch
命令。
依次输入以下指令可以在创建的文件夹里查看一个文件的信息。
1 | mkdir -p tutorials/eq.1 // 创建一个多级目录 |
mv
移动文件
1 | mv tutorial ../. // 将刚刚新建的tutorial文件移动到上一级目录下 |
重命名文件
1 | mv tutorial newfile |
man
查看手册的命令,这是你不会用命令的时候就去看手册,手册一定会清清楚楚告诉你这条命令怎么做。
比如我现在不知道 tar
命令的用法,那么我就去看手册
1 | man tar |
通过查看手册,了解到创建一个压缩程序包可以参考如下例子
比如我现在要把刚刚的新建的文件夹打包就用如下命令:
1 | tar -cvf tutorials.tar tutorials |
如果我现在要解压刚刚的压缩包就可以用如下命令:
1 | tar -xvf tutorials.tar |
rm
rm
命令是最恐怖的命令,请在敲下这个命令的时候三思。
rm
也有几个比较常用的参数
parameter Name | Fuction |
---|---|
-r | 递归使用,通常你要删除文件夹的时候需要使用这个命令 |
-f | 不讲道理强制删除,使用这个参数的时候请一定记住你在干嘛!一般不推荐使用,这样在你做 rm 指令的时候,系统会提醒你是否确认删除,这时候请一定不要头脑发热! |
比如现在我要删除刚刚创建的压缩文件:
1 | rm tutorials.tar |
如果要删除前面创建的文件夹,就可以使用如下命令:
1 | rm -r tutorials ex_tutorials |
当然做删除的方法有很多,比如你可以在命令行中加如通配符 *
来完成匹配类型的文件或文件夹的删除,比如你要删除某一个文件夹下的所有 txt
后缀的文件,就可以使用如下命令:
1 | rm *.txt |
最后
以上就是简单的 Linux
系统的操作了,这些作为必备的命令是每个使用 Linux
的人必须掌握的基础,就像是工人的工具,没有工具你当然没法干活和操控系统啦。
之后还会有更多好玩的令人舒适的软件,比如 range
(一款快捷的终端命令行资源管理器)、oh-my-zsh
(一款定制化 zsh
的定制化皮肤,可以极大提升终端的使用舒适度,本文所用的终端就是 zsh
, 一般 Linux
配备的 SHELL
是 bash
,我个人认为这个 SHELL
是比较难用的,但这是很基础的 SHELL
)等等
有很多好玩的小软件大家可以可以逛逛Git Hub网站
以上!