- 一、基础入门
- 1. Linux 系统简介
- 2. Linux的系统版本
- 3. Linux 特点
- 二、Linux命令行基础
- 1. 默认界面
- 2. 常用命令
- 3. Linux命令语法
- 三、 文件系统与目录
- 1. 目录结构
- 2. 文件类型
- 四、Linux文件权限管理
- 1. 文件权限(查看、修改chmod)
- 2. 文件所有者(查看、修改chown)
- 3. 查看文件内容
操作系统(Operating System, OS)是软件的一部分,是硬件基础上的第一层软件,是硬件和其他软件沟通的接口(中介)
OS会控制其他程序运行,管理系统资源、提供最基本的计算功能,(如:管理及配置内存、决定系统资源供需的优先次序等),同时还提供一些基本的服务程序,(如:文件系统、设备驱动、用户界面、系统服务等)
Fig 1 图例
OS的好处:
- 使得应用程序无法直接与硬件打交道,而是必须经由操作系统的内核,协调多个程序允许避免恶意程序破坏其他进程独占资源,保证多任务平稳的运行
- 向外提供系统调用,然后系统掉调用被封装成库向外提供库调用,程序员只需要根据库的 API 接口进行编程,不用关心底层硬件的不同,便于程序的移植
Linux:在设计之初,是一个基于POSIX的多用户、多任务并且支持多线程的多CPU的OS。
开发Linux的目的就是建立不受任何商业化软件版权制约的、全世界都能自由使用的类Unix OS兼容产品。
应用: Linux系统主要被应用于服务器端
2. Linux的系统版本Redhat- 企业级
CentOS - 要求高稳定性服务器使用
Ubuntu - 以桌面应用为主,多媒体;
SUSE - 连接数据库最稳定
- 由目的单一的小程序组成;组合小程序完成复杂任务
- 一切皆文件
- 多用户多任务(各个用户对于自己的文件有自己的权力;多个程序同时并独立运行)
- 尽量避免捕获用户接口
- 配置文件保存为纯文本格式
- Linux的shell(包括GUI、CLI两种类型),是人机接口。
- GUI指图形界面,与windows类似。常见的有gnome、KDE、xface等
- CLI 是命令行界面。常见的有 bash、csh、zsh、ksh、tcsh等
Fig 2 图例
大纲:
- Linux登录与登出
- 使用SSH工具登录Linux
- Linux命令行的基本使用
输入账号密码
Ctrl + Alt + F2 : 切换到命令行
Ctrl + Alt + F1 : 切换到图形界面
登录Linux:注意输入密码是没有回显的
Linux命令提示符有两种:
- #:表示使用超级用户root登录
- $:表示使用普通用户登录
Fig 3 图例
命令行快捷键
- Ctrl + C:终止当前的输入
- TAB键:按一下补全当前代码;按两下提示可补齐的选项
- Ctrl + A:使光标移到最前
- Ctrl + E:使光标移到最后
- Ctrl + D:退出当前终端
- Ctrl + L:清楚当前屏幕
- Ctrl + Z:暂停当前进程,(可恢复)
通过网络登录Linux
网路登录的首要条件时知道Linux的ip地址
- ifconfig:查看当前接口状态,默认自动获取IP
第二个条件时Linux允许登录
Centos7已经默认允许SSH登录,我们可以通过 - ss -lnt:查看当前开放的tcp端口,其中已经包含了22号端口,即允许SSH登录
最后,使用Xshell登录Linux
其他
- history 查看历史记录
- !+编号 执行第编号条历史命令
- --help查看命令帮助,例如下图
命令 + (空格) + 选项1 (空格) 选项2 + 空格 + 参数
命令:指明功能
选项:指明 How去执行
参数:指明 Who 对象
选项一般由单个字母构成,并在字母前加一个连接符 -
- 有时候因为选项太多,我们可以使用更简单的写法,例如:ls -a -l -t == ls -alt
- 选项也可以是长选项,使用两个连接符+一个完整单词,例如:ls --help
在Linux system中,任何东西都可以简化为文件。
例如:分区对应到 /dev/sda1、硬件部件对应到 /dev/cdrom、/ 是Linux所有路径的开始,是所有目录的根。
Linux 整个目录是树状结构,如图
-
系统启动必须
- /boot :存放的启动 Linux 时使用的内核文件,包括连接文件以及镜像文件
- /etc:存放所有系统需要的配置文件和子目录列表,更改目录下的文件可能会导致系统不能启动。
- /lib:存放基本代码库(比如 c++ 库),起作用类似于Windows中的DLL文件。几乎所有的应用程序都需要用到这些共享库。
- /sys:该目录下安装了2.6内核中新出现的一个文件系统sysfs。
-
指令集合
- /usr/bin:系统用户使用的应用程序与指令
- /usr/sbin:s就是 Super User的意思,这里存放的是系统管理员使用的系统管理程序
-
外部文件管理:
- /dev :Device设备的缩写,存放的是Linux的外部设备。【注意,在Linux中访问设备与访问文件的方式是相同的
- /media:类windows的其他设备,例如U盘、光驱等
- /mnt:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱的内容了
-
临时文件:
- /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删除或清楚。如果你的系统上有 /var/run 目录,应该让它指向 run。
- /lost+found:一般情况下为空,系统非法关机后,这里就存放一些文件。
- /tmp:这个目录是用来存放一些临时文件的
-
账户
- /root:系统管理员的用户主目录
- /home: 用户的主目录,以用户的账号命名,例如/home/aurora
- /usr:用户的很多应用程序和文件都存放在该目录,类似于windows下的program files目录
- /usr/src:内核源代码默认的放置目录
-
运行过程中需要用到
- /var:存放经常修改的数据,比如程序运行的日志文件(/var/log目录下)
- /proc:管理内存空间!虚拟的目录,是系统内存的映射,我们可以直接访问这个目录来获取系统信息。
- /proc目录的内容不在硬盘上,而是在内存里,我们可以直接修改里面的某些文件,
例如echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 表明将该文件echo(设置)为1,屏蔽主机的ping命令,是别人无法ping你的机器
-
创建删除目录
-目录切换
-
列出目录
- ls:现实当前目录下的文件,常用选项有
如果ls -lrt使用非常频繁,我们可以给其设置别名,在.bashrc中设置命令别名:alias lsl = 'ls -lrt'
- ls:现实当前目录下的文件,常用选项有
- 查看文件类型 ls -l
- ln 命令:创建链接文件
- ln -s 文件A 文件B
- ln -s 文件A 文件B
应用场景:使用普通用户查看其他用户的目录,会提示Permission denied
在Linux中,针对每个文件的权限分配用9个bit来表示,定义了文件所有者、文件所属组和其他用户对文件的权限,包含了读、写、执行三个维度
- 前三位代表文件所有者权限,如图中红色
- 中间三位代表文件所属组的权限,如图中黄色
- 后三位代表其他人权限,如图中蓝色
修改权限 - 在更改的过程中,每种权限都被分配了一个数字,如r=4 (100), w=2(010), x=1(001)
- rwx对应二进制 1 1 1,十进制4 2 1,即rwx=7
- 更改文件权限为rwxrwxrwx使用以下命令, chmod 777 file
- 更改文件权限为rwxrw-rw-使用以下命令, chmod 766 file
- 使用以下命令,可以递归更改整个目录的权限,包含子目录和子文件:chmod -R 777 /test/myapp,即把myapp里面的权限都改了
- 除了使用数字,还可以用字母来表示权限,可以分别使用+和-来打开或关闭权限
- 在使用字母时,u代表用户(9位权限中的前三位),g代表组(中间三位),o代表其他人(后三位)
- 在使用字母时,a 代表rwx全部权限(即777),r、w、x则分别代表自己的含义
- 举例:
将权限改为r-xr-xr-x可以写成chmod a-w file:所有权限减去w
默认权限
umask 反掩码 工作原理
新建目录权限 = 777 - umask
新建文件权限 = 666 - umask
临时更改umask的值,直接执行umask 003即可 (重启计算机,登录登出后即失效)
永久更改umask的值,编辑$HOME/.bash.rc,在文件最后加入umask 003即可
作为一名普通用户,无法更改文件或者目录的所有权
只有root用户可以更改所有权
如下图:红色框表示文件所有者,黄色框表示文件所属的组
- 更改文件所有者,必须要用root用户来执行
- 将文件123的所有者改为root
- chown root 123
- 将文件123的所有者和所属组都改为root
- chown root:root 123
- 将文件夹Pictures和其子文件夹和子文件的 所有者、所属组改为root
- chown -R root:root Pictures
- chown -R root:root Pictures
-
cat:显示文件完整内容,常用选项
- -n:显示行号
- -A:包含特殊字符,如回车
-
tac:显示文件内容,但是和cat相反,先显示最后一行,再显示倒数第二行
-
more:查看文件内容,但是分屏显示。用于显示文件内容过多,一页显示不完的情况。可以按空格向后翻页;Ctrl+D向上翻,Ctrl+F向下翻;q键退出。
-
less:作用和more类似,但功能多一点,可以使用方向键上下翻动
- 可以输入/root回车进行查找,查找时可以通过N和n进行向前、向后查找
-
tail 显示文件后10行,也可以接-n选项,显示后n行
-
tail -f选项,动态显示文件后10行,即可以实时观察文件,常用于实时查看日志



