为什么使用Linux
文章来自https://librehunt.org/,在这个网站里,你可以根据它提供的选项,最终选出适合你的Linux版本
- It’s safe and private. No tracking.
No company watching over you, no “big brother is watching you” nonsense. Just your desktop and you, with no big scary corporation stealing all your data.- It’s fast. Lightning Fast.
It’s super fast. So fast, that 100% of super computers use it. All Android phones use it too, and most servers keeping your websites, apps, and cat videos online are as well.- It’s Open Source. Open Source?
Fancy term time! Open Source means anyone is free to do whatever they want with Linux. You can copy and make your own version, change a few things and help out Linux, or really anything! It gives more power to you!- It’s got many flavours! Awesome!
The actual term is “distro”, as in your own distribution of Linux, but it just means that anyone can make their own Linux flavour by say, changing the theme, and putting different apps.
Some distros make it friendly for beginners, or something ultra-powerful, but scary looking, for super computers.
Just like Windows and Mac have a different desktop, or interface, Linux has many different ones too! Some distros have a desktop that’s unique to the distro while others use ones that are common across multiple distributions.
总结一下就是:1)安全、隐私度高(不像Windows、Mac,你的数据可能被他们收集);2)速度超级快;3)开源,可以免费使用,可以按自己的需求进行开发;4)版本丰富,你可以按照自己的需求进行选择。
Linux的不同版本
这里的“不同版本”是指发行版本,像比较常用的CentOS、Ubuntu,它们都基于Linux内核。(图中的包管理器,可以简单为,各个版本为用户提供的命令集)
每个和每个有什么差别呢?
比如说对一些旧硬件的的支持、更新频度、对游戏的支持、界面的样式(有的压根没界面,只能用指令)、对触摸屏的支持、以及对一些特别事物的支持等等,都有自己的特色。详情可以去上面我提到的网站去看看,选择适合自己的版本。
目录结构
启动系统必须:
-
/boot:存放的启动Linux时使用的内核文件,包括连接文件以及镜像文件。
-
/etc:存放所有的系统需要的配置文件和子目录列表,更改目录下的文件可能会导致系统不能启动。
-
/lib:存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
-
/sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中。
指令集合:
-
/bin:存放着最常用的程序和指令。
-
/sbin:只有系统管理员能使用的程序和指令。
外部文件管理:
-
/dev :Device(设备)的缩写, 存放的是Linux的外部设备。注意:在Linux中访问设备和访问文件的方式是相同的。
-
/media:类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。
-
/mnt:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
临时文件:
-
/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
-
/lost+found:一般情况下为空的,系统非法关机后,这里就存放一些文件。
-
/tmp:这个目录是用来存放一些临时文件的。
账户:
-
/root:系统管理员的用户主目录。
-
/home:用户的主目录,以用户的账号命名的。
-
/usr:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
-
/usr/bin:系统用户使用的应用程序与指令。
-
/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
-
/usr/src:内核源代码默认的放置目录。
运行过程中要用:
-
/var:存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)。
-
/proc:管理内存空间!虚拟的目录,是系统内存的映射,我们可以直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件来做修改。
扩展用的:
-
/opt:默认是空的,我们安装额外软件可以放在这个里面。
-
/srv:存放服务启动后需要提取的数据(不用服务器就是空)。
虽然这么多,但是平常我可能会用到的也就是下面几个:
- /bin:比如安装了一个软件,你就可以进他的bin目录里,看看他有什么命令。
- /opt:opt完全是空的,一般我在这里放一些软件的配置文件,如果是docker的话,可能把docker里的配置文件目录映射到这里,方便操作。
- /home:也是空的,有时候opt里的东西也会放到这里
- /var:软件的日志文件在都这里,需要到这里看。
- /usr:安装一些软件可能放这里,但我基本用Docker,所以不太用。
总之一般东西安在哪,都根据参考的教程,减少一些不必要的麻烦。
文件属性
简单介绍一下,对于普通后端人员也用不到。
第一个字段:
- [ d ]代表目录;
- [ - ]代表文件;
- [ l ]代表链接文档(类似快捷键);
- [ b ]代表装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
- [ c ]代表装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。
接下来的字符中,以三个为一组:
接下来是这个文件或文件夹里面文件或其他东西的数量。
接下来是属主和属组:
第一个是表示属于谁(具体到每个人),第二个组,就是只要在这个小组里面的人都可是这个权限(在Linux系统中,用户是按组分类的,一个用户属于一个或多个组)。
接下来是大小、时间、名称。
如何更改权限?
简单写写,对于个人也就chmod 770
能用的到。
1)chgrp:更改文件属组(不常用)。
chgrp [-R] 属组名 文件名
2)chown:更改文件属主,也可以同时更改属组(不常用)。
chown [-R] 属组名 文件名
chown [-R] 属主名:属组名 文件名
3)chmod:更改文件9个属性。
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
chmod [-R] xyz 文件或目录
更改事例。
chmod 770 filename
这里需要知道r=4,w=2,x=1,7就会死三个权限都有(4+2+1),6就是读写权限(4+2)。然后数字代表的“人”和上面呢个图对应,第一个是主、第二个是组、第三个是其他用户。
实战中常用命令
- cd 切换(cd /)
- mkdir 新建文件夹(一般加个后面-p,比如你要创/opt/es/logs,如果不加-p,没有es就会报错;如果你加了,没有es就会帮你创一个)
- pwd 此时路径
- rm -f 文件名
- rm -rf 文件夹名
- touch 文件(创建文件)
- ls(-a显示出隐藏,-l目录的各种信息)
- ./运行文件
- cat 只读取