Linux基础

Linux

一些名词:

  • Unix:

  • Minix:

  • GNU:GNU是"GNU's Not Unix"的递归缩写

    GNU几个重要的软件:

    • Emacs
    • GNU C(GCC)
    • GNU C Library (glibc)
    • Bash shell
  • FSF:自由软件基金会(FSF, Free Software Foundation)

  • GPL:通用公共许可证(General Public License, GPL)

  • LGPL:(GNU Lesser General Public License) LGPL是GPL的一个为主要为类库使用设计的开源协议。

  • Open source:

  • POSIX:可携式操作系统接口(Portable Operating System Interface)的缩写,重点在 规范核心与应用程序之间的接口

  • Linux distribution:(Kernel + Softwares + Tools + 可完整安装程序)

  • 问:发展Linux distributions的公司那么多,是否每一个都不相同呢?

    答:这就不需要担心了,因为每个Linux distributions使用的kernel都是http://www.kernel.org所释出的,而他们所选择的软件,几乎都是目前很知名的软件,重复性相当的高, 例如网页服务器的Apache,电子邮件服务器的Postfix/sendmail,文件服务器的Samba等等。

  • distributions的分类:

    RPM软件管理 DPKG 软件管理 其他
    商业公司 RHEL (Red Hat 公司) SuSE (Micro Focus) Ubuntu (CanonicalLtd.)
    社群单位 Fedora CentOS OpenSuSE Debian B2D Gentoo
  • X Window System:X Window即X Window图形用户接口,是一种计算机软件系统和网络协议,提供了一个基础的图形用户界面(GUI)和丰富的输入设备能力联网计算机。

文件权限

查看权限

  • user(用户)
  • group(群组)
  • others(其他)
  • root(万能的神)

root的相关信息记录在/etc/passwd这个文件内。

个人的密码则是记录 在/etc/shadow这个文件内。

Linux所有的群组名称都记录在/etc/group

这三个文件 可以说是Linux系统里面帐号、密码、群组信息的集中地。

使用ls -al可以查看文件的权限信息:

1
2
3
4
5
6
7
8
9
10
11
/*类型与权限(permission) 连结数 文件拥有者 文件所属群组 文件大小 最后修改时间 文件名*/
wuhlan3@wuhlan3-VMware-Virtual-Platform:~/桌面$ sudo ls -al
[sudo] wuhlan3 的密码:
总用量 3768
drwxr-xr-x 3 wuhlan3 wuhlan3 4096 726 15:20 .
drwx------ 22 wuhlan3 wuhlan3 4096 727 11:08 ..
-rw-rw-r-- 1 wuhlan3 wuhlan3 3240860 723 16:28 666.mp4
drwx------ 16 wuhlan3 wuhlan3 4096 726 11:18 ffmpeg-3.3.2
-rw-rw-r-- 1 wuhlan3 wuhlan3 226961 726 10:39 index.html
-rw-rw-r-- 1 wuhlan3 wuhlan3 368871 726 13:58 output.mp4
lrwxrwxrwx 1 wuhlan3 wuhlan3 37 726 15:20 ' qtcreator' -> /opt/Qt/Tools/QtCreator/bin/qtcreator
  1. 第一栏:类型与权限,总共有十个字符,第一个字符表示目录、文件或链接文件等:

    • 当为[ d ]则是目录,例如上表文件名为“.config”的那一行;

    • 当为[ - ]则是文件,例如上表文件名为“initial-setup-ks.cfg”那一行;

    • 若是[ l ]则表示为链接文件(link file);

    • 若是[ b ]则表示为设备文件里面的可供储存的周边设备(可随机存取设备);

    • 若是[ c ]则表示为设备文件里面的序列埠(bu)/串行端口设备,例如键盘、鼠标(一次性读取设 备)。

    接下来的字符均为“rwx” 的三个参数的组合。其中,[ r ]代表可读、[ w ]代表可写、[ x ]代表可执行

    第一组为user,第二组为group,第三组为others

  2. 第二栏:表示有多少文件名链接到此节点(i-node

  3. 第三栏:表示这个文件(或目录)的“拥有者帐号”

  4. 第四栏:表示这个文件的所属群组

  5. 第五栏:为这个文件的容量大小,默认单位为Bytes

  6. 第六栏:为这个文件的创建日期或者是最近的修改日期

  7. 第七栏:为这个文件的文件名

修改权限

1
2
3
chgrp :改变文件所属群组
chown :改变文件拥有者
chmod :改变文件的权限, SUID, SGID, SBIT等等的特性 change file mode bits

由于权限是三个三个一组的,所以我们可以用二进制再转为十进制表示:> r:4 > w:2 > x:1

1
2
3
$ chmod [-R] xyz 文件或目录
#其中-R用来表示对该目录下的所有文件进行递归地修改权限(Recursive)
#xyz 写做777时,全部权限开启

权限对于文件和文件夹的意义:

类型 内容 r w x
文件 详细数据 读取文件内容 修改文件内容 执行文件内容
文件夹(目录) 文件名 读取文件名 修改文件名 进入该目录(cd)

文件类型:

文件类型 细分 备注
正规文件(regular file ) 纯文本文件(ASCII) [ - ]
二进制档(binary) [ - ]
数据格式文件(data) [ - ]
目录(directory) [ d ]
链接文件(link) [ l ]
设备与设备文件(device) 区块(block)设备文件 [ b ]
字符(character)设备文件 [ c ]
数据接口文件(sockets) [ s ]
数据输送档(FIFO, pipe) [ p ]

Linux的文件是没有所谓的“扩展名”的,一个Linux文件能不能被执行,与他的第一栏的十个属性有关,与文件名根本一点关系都没有。具有“可执行的权限”以及“具有可执行的程序码”是两回事!

目录配置

FHS:Filesystem Hierarchy Standard 。FHS的重点在于规范每个特定的目录下应该要 放置什么样的数据而已。主要分为四种交互作用的形态:shareable, unshareable, static, variable

事实上,FHS针对目录树架构仅定义出三层目录下面应该放置什么数据而已,分别是下面这 三个目录的定义:

  • / (root, 根目录):与开机系统有关;

  • /usr (unix software resource):与软件安装/执行有关;

  • /var (variable):与系统运行过程有关。

image-20210728103045651

详情可回顾《鸟哥的linux私房菜 第四版》p282

绝对路径与相对路径

绝对路径:由根目录/开始写起的文件名或目录名称, 例如 /home/dmtsai/.bashrc

相对路径:相对于目前路径的文件名写法。 例如 ./home/dmtsai../../home/dmtsai/等 等。反正开头不是 / 就属于相对路径的写法

目录

特殊的目录

1
2
3
4
5
.             代表此层目录 
.. 代表上一层目录
- 代表前一个工作目录
~ 代表“目前使用者身份”所在的主文件夹
~account 代表 account 这个使用者的主文件夹(account是个帐号名称)

处理目录

1
2
3
4
cd:变换目录
pwd:显示目前的目录
mkdir:创建一个新的目录
rmdir:删除一个空的目录

环境变量PATH

如下,可以显示当前的所有路径。(PATH 前面加的 $ 表示后面接的是变量,所以会显示出目前的 PATH)

1
2
wuhlan3@wuhlan3-VMware-Virtual-Platform:~/桌面$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

环境变量配置:

1
$ PATH="${PATH}:路径名"

参考资料

[1]《鸟哥的linux私房菜 第四版》


Linux基础
https://wuhlan3.github.io/2021/07/27/Linux基础/
Author
Wuhlan3
Posted on
July 27, 2021
Licensed under