一、基础入门
1、Linux系统简介
什么是Liunx?
Linux在设计之初,是一个基于POSIX的多用户、多任务并且支持多线程和多CPU的操作系统,它是由世界各地成千上万的程序员设计和开发实现;
在当今社会,Linux 系统主要被应用于服务器端;
Linux 不仅是免费的,更是开源的,所以今天有非常强大的Linux生态
Linux与Unix 系统兼容,具备 Unix 几乎所有的优秀特性
Linux 让开展各种实际有用且具有创造性的事情成为可能
Linux 提供了复杂的软件包管理系统,可以放心地安装和维护每一个在线资源库中的软件应用。
2、Linux系统主要特性
基本思想、完全免费、兼容POSIX1.0标准、多用户 多任务、良好的界面、支持多种平台
3、Linux系统版本
发行版本
Redhat-最著名的Linux版本,企业级
CentoS-要求高稳定性服务器使用
Ubuntu-以桌面应用为主,多媒体
SUSE-连接数据库最稳定
4、Liunx特点
-
由目的单一的小程序组成;组合小程序完成复杂任务
-
一切皆文件
-
尽量避免捕获用户接口
-
配置文件保存为纯文本格式
Linux的shell,是人机接口。Linux 的shell 包括 GUI(图形界面)和CLI(命令行界面)两种类型
5、Liunx基础命令及注意事项
(1)liunx命令的写法:命令名【选项】【参数】
(2)基础命令
pwd 查看当前所在位置(绝对路径)
绝对路径:以 / 开始
相对路径:相对当前的路径来说
ls 列出当前位置的所以内容
ls 路径 列出列出某个路径下的所有内容
选项
-l 长格式显示
-a 显示所有文件,包括隐藏文件
cd 切换路径(回到家目录)
cd / 切换到根目录
cd .. 回到上一个目录
id 显示用户的详细信息
uid = 0(root) 用户编号 用户身份证
gid = 0(root) 组编号
groups = 0 (root),1 (bin),2 (daemon),3 (sys),4 (adm), 6 (disk) ,10 (wheel)
who 显示当前系统的所有终端
whoami 用户名
who ami 显示当前终端的信息
hostname 主机名
date 显示当前的系统时间
选项
+ %a 星期简写
+ %A 星期全称
+ %b 月份的简写
+ %B 月份的全称
+ %c 日期和时间
+ %d 日(01-31)
+ %D 日期 格式:mm/dd/yy
+ %F 显示年月日 格式:yyyy-mm-dd
cal 查看日历
echo 打印、显示
echo 常亮 打印常亮
echo $变量 打印变量
echo '命令名' 打印命令
ping IP地址 检测多台主机是否连通
history 查看历史命令
(3)遇到一个不认识的命令怎么办?
百度:通过网络途径
命令名 --help
info 命令名
whatis 命令
man 命令名
清屏:Ctrl +L
自动补全:Tab
(4)注意事项
-
命令名、选项、参数之间必须有空格
-
区分大小写
-
选项,一般是'-字母' 或者 '--单词'
-
参数,可以多个(空格隔开),可以一个,可以没有
-
多个选项可以连用,并且可以合在一起 ls -a -l、ls -al、ls -la
6、文件及权限操作
(1)Linux目录结构
/ 是Linux所有路径的开始,是所有目录的根
系统启动必须:
/boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。
/etc: 存放所有的系统需要的配置文件和子目录列表,更改目录下的文件可能会导致系统不能启动。
/lib: 存放基本代码库 (比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。/sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。
指令集合:
/usr/bin:系统用户使用的应用程序与指令。
/usr/sbin:s 就是 Super User 的意思,是Superuser Binaries(超级用户的二进制文件)的缩写,这里存放的是系统管理员使用的系统管理程序。
外部文件管理:
/dev:Device(设备)的缩写,存放的是Linux的外部设备。注意:在Linux中访问设备和访问文件的方式是相同的。
/media:类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。
/mnt:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上然后进入该目录就可以查看光驱里的内容了。
临时文件:
/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录应该让它指向 run。
/lost+found:一般情况下为空的,系统非法关机后,这里就存放一些文件。
/tmp: 这个目录是用来存放一些临时文件的。
运行过程中要用
/var:存放经常修改的数据,比如程序运行的日志文件 (/var/log 目录下)。
/proc:管理内存空间!虚拟的目录,是系统内存的映射,我们可以直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件来做修改。
proc目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器: echo1> /proc/sys/net/ipv4/icmp echo ignore all
账户
/root:系统管理员的用户主目录。
/home: 用户的主目录,以用户的账号命名的。
/usr:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
/usr/src: 内核源代码默认的放置目录。
(2)文件的操作(创建、编辑(移动、复制)、删除)
创建空文件 touch [路径/] 文件名 (可以跟多个,用空格隔开)
创建空目录 mkdir [路径/] 目录名
选项
-p 层级创建
-v 显示过程
附:tree 目录名字 按照树形结构的形式显示目录里面的内容
移动或者剪切 mv [旧路径]/旧文件名 [新路径]/新文件名
注意:
移动的时候不给文件名,就只是剪切文件
移动的时候给了文件名,剪切的同时重命名
复制文件 cp [旧路径]/旧文件名 [新路径]/新文件名 (只能复制文件不能复制目录)
cp -r 目录名 复制目录
删除空文件 rmdir 目录名字
删除文件 rm 文件名
选项
-r 删除目录
-f 强制删除
-rf 强制删除所有文件和目录
(3)查看文件内容
cat 文件名 查看文件内容
-n 显示行号
more 文件名 (分页查看,查看完之后文件内容会显示出来)
回车 显示一行
空格 显示一页
less 文件名 (分页查看,查看完之后文件内容不会显示出来)
回车 显示一行
空格 显示一页
less可以用做查找
/ 向前查找
? 向后查找
n 下一个
N 上一个
head [-数字] 文件名 (查看文件的头几行,不写数字,默认为10行)
tail [-数字] 文件名 (查看文件末尾几行,不写数字,默认为10行)
tail -f 文件名 动态查看文件
tac 文件名 反着看文件
cut 截取
选项
-c 以字符单位进行截取
-d 指定分割符
-f 截取第几部分(和-d配套用)
sort 排序(默认按照首字母升序排序)
选项
-t 指定分隔符
-k 排序列
-n 按照数字排序
-u 去重(按照排序列去重)
-r 反向排序
(4)命令连接符
| 命令1 | 命令2 |.. 把前面命令的结果给到后面作为输入项
&& 前面命令执行成功,执行后面的命令
; 前后命令的结果互不影响
|| 前面命令执行失败,执行后面的命令
(5)重定向
> 覆盖重定向,前面命令执行成功的结果覆盖写入到文件
>> 追加重定向,前面命令执行成功的结果追加写入到文件
2> 覆盖重定向,前面的命令执行失败的结果覆盖写入到文件