
Linux简介
Linux系统核心最初是由芬兰赫尔辛基大学学生Linus Torvalds 在1990年设计。经过多年发展,Linux成为了一个功能完善,稳定可靠的操作系统,并演化RedHat、CentOS、Ubuntu、Debian等多个Linux版本。Linux具有以下特点:
设计简洁,仅提供数百个有明确设计目的系统调用;
所有的设备都被当做文件对待,可通过一套相同的系统调用接口对数据和设备进行操作;
内核和相关的系统工具都是用C语言编写的,Linux在各种硬件体系架构面前具备非常好的移植能力;
将所有的进程都当作线程,而创建线程的速度快、开销少;
提供了一套非常简单但又非常稳定的进程间的通信元语,快速简洁的进程创建过程使得Linux程序能高质量地完成任务,而简单稳定的进程间的通信机制可以保证一组单一目的的程序方便地组合在一起,去解决更为复杂的任务。Linux系统的基础是内核、C库、工具集和系统的基本工具。内核是运行程序和管理硬件设备的核心程序。Shell是系统的用户界面,提供了一种用户和内核进行交互操作的接口。同时,Linux系统也支持现代的图形化用户桌面环境,与GNOME。
Linux的安装 以CentOS7为例子。 首先在官网下载CentOS的镜像包:下载地址 可以选择速度快的安装源下载,如阿里云、网易、清华大学等等。 下载完成后可在Vm等虚拟机上安装,由于是学习使用Linux,所以选择默认(即最小安装),最后输入root密码等待就可以完成安装了。 安装过程及其简单,如下图:

Linux基本操作Linux文件结构
ls /
显示如下:

对 [root@localhost ~] 的解析: root代表当前登录的用户名,这里是超级用户。
localhost表示主机名,这里是默认的localhost,这是可以修改的。
~ 代表的是当前的路径地址,~是指当前用户的主目录,也叫家目录。
常用目录存放文件内容: bin bin是Binary的缩写, 这个目录存放着最经常使用的命令。
boot 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
dev dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的
etc 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
home 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。各目录互不冲突。
lib 这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
media linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
opt 系统提供给主机额外安装软件的目录,可以将新的软件安装在这个目录。
proc 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
root 该目录为系统管理员,也称作超级权限者的用户主目录。
tmp 临时缓存文件路径。
usr 非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
var 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
Linux文件的基本属性 对当前目录下文件使用 ll 命令:
ll

以下引用《鸟哥的Linux私房菜》对上述进行解释
第一个字符代表这个文件的类型(如目录、文件或链接文件等等): 当为[ d ]则是目录,例如上表档名为『.gconf』的那一行; 当为[ - ]则是文件,例如上表档名为『install.log』那一行;若是[ l ]则表示为连结档(link file); 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
这里 - 代表文件
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合 < [ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute) 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已>第一组为『文件拥有者的权限』,以『install.log』那个文件为例, 该文件的拥有者可以读写,但不可执行;第二组为『同群组的权限』; 第三组为『其他非本群组的权限』.
这里 rw- 代表文件拥有者可以读写,同组其他用户,其他组用户无法执行任何操作(-)
接下来的root root 第一个 root 记录有多少不同的档名连结到相同的一个i-node(每个文件都会将他的权限与属性记录到文件系统的i-node中,不过,我们使用的目录树却是使用文件名来记录, 因此每个档名就会连结到一个i-node)第二个 root 代表文件(或目录)的拥有者
这里代表的是 root 用户 文件所属的是 root 组
接下来这个数字指的是文件的大小
这里是 1231 bytes
接下来是文件的创建时间或最近的修改时间
这里是 9月19日 20:45
最后一项是文件的路径比较特殊的是:如果文件名之前多一个『 . 』,则代表这个文件为『隐藏文件』,该文件就是隐藏文件. 你可以使用『ls』及『ls -a』显示隐藏文件
这里是 anaconda-ks.cfg 指当前目录下的 anacoda-ks.cfg 文件
Linux文件的修改 更改文件属组
chgrp -R 属组名文件名

参数选项
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
更改文件属主
chown –R 用户名文件名

-R同样是递归修改
使用 chmod 更改文件9个属性
Linux文件属性有两种设置方法,一种是数字,一种是符号。 Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。 先复习一下刚刚上面提到的数据:文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的! 其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下: r:4 w:2 x:1 每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:[-rwxrwx---] 分数则是: owner = rwx = 4+2+1 = 7 group = rwx = 4+2+1 = 7 others= --- = 0+0+0 = 0
chmod -R xyz 文件或目录
-R 递归修改 xyz代表权限编码 如 777

也可以使用 以下命令修改
chmod -R u=rwx,g=rwx,o=rwx 文件或目录
效果是一样的( - 可以省略)

a 代表all 例如要拿掉所有人的执行权限
chmod a-x 文件名

新建文件,并查看默认权限
touch 文件名
ll

Ending…… ---------------------------------------------------------------------------------------------------------------------- 我们尊重原创,也注重分享,文章来源于微信公众号:在下不言,建议关注公众号查看原文。如若侵权请联系qter@qter.org。 ----------------------------------------------------------------------------------------------------------------------
|