linux 基础.docx
- 文档编号:9819409
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:26
- 大小:27.33KB
linux 基础.docx
《linux 基础.docx》由会员分享,可在线阅读,更多相关《linux 基础.docx(26页珍藏版)》请在冰点文库上搜索。
linux基础
linux简介
linux是什么?
linux是一套操作系统OS(OpenrationSystem),是一类发行版的简称.
同时又是内核.由linusTorvalds于1991年在芬兰的赫尔辛基大学发布.
linux是一个与unix类似的操作系统,什么是UNIX?
UNIX是操作系统的始祖,于1969年贝尔实验室的一个项目要建立一套多用户、多任务、多层次的操作系统,后来这个项目进度太慢就搁浅了.
后由KenThompson与DennisRirthchie将一个程序"星际旅行"移植到PDP-7上,因其只支持单用户单任务的运行方式,于是用汇编和B语言写出了简单的UNIX这套系统,后来硬件升级到PDP-11,在系统移植过程中十分复杂.于是就有了重写这套操作系统的想法,为了重写这套操作系统DennisRirthchie开发了C语言,1973年UNIX被重写移植到PDP-11上,版本号为V3,可以说C语言的诞生就是为了重写UNIX系统.
之后UNIX在BeLLan延续出了V4-V10的各个版本,在1975年左右六版时,UNIX开始走出贝尔实验室.被应用到厂商和大学学习.被分成了两大流派:
1.BSD家族由伯克利大学发起后产生有名的产品FreeBSD等.
比爾·喬伊,在BSD基础上开发了SunOS,并最终创办了太阳计算机系统公司
2.SystemV&SVR由各个厂商从AT&T购得源代码后自己发布的版本,有名产品AIX,HP-UX等.
他们都从UNIX发展而来,有的与UNIX完全相容,有的部分相容,所以我们称他们为类UNIX系统.
那么我们要学习的linux到底处在哪里呢?
linus的祖父在赫尔辛基大学做教授,借用这个条件,linus10岁时就接触了电脑并能自由操作,当linus来到赫尔辛基读计算机时就已经自学成一名程序员了.当时大学中使用minix这套教学系统来学习.在学习之后linus就决定开发超出Minix标准的一个运行在I386上的操作系统。
后来被人们称为Linux,Linus'Minix的缩写.
linux是一个套免费开放源代码的操作系统,这是linus发布时就定下的.也正因为这一规则,才使linux在今天得以如此的壮大.
linux除了开放源代码外,还是一个自由的操作系统.什么是自由软件,自由软件有什么特色呢?
自由软件freesoftware
凡事可以自由使用而不受任何限制的软件.称为自由软件.free是自由,而不是免费
这些自由软件的特点都是由基金会所提倡的.它的创办人是RichardStallman,
自由软件基金会创办后,首先成立了GNU计划,目标是希望能开发一套完全自由,且与UNIX相容的操纵系统.
但不要像商业版的UNIX那样昂贵.GNU又是GNUisNotUnix的缩写
GNUGPL通用公共授权
自由的获得
自由的使用
自由的修订
自由的发布但必须把您享有的权利完全授予和要求下一个使用者使用和遵守.
传统的商业软件一般都是保护厂商的权利,称为Copyright;
而GPL是确保使用者可以自由的使用软件的权利,因此,GNU通用公共授权又被称为Copyleft;
LINUX的用途
internet网络服务器WEBFTPMAIL等
企业服务器数据库服务器文件服务器等
分散式运算系统
嵌入式系统
手机PDA
桌面系统
发布版本:
严格意义上来说linus所开发的是一个操作核心(kernel),只是操作系统中的一部分,好比汽车的引擎;而若让让这个核心完成各种我们所需要的功能还需要添加各种软件.
为此,很多厂商收集并整合linux核心
以及其上的应用软件经过编译优化后发布自己的版本.
其中最著名的就是REDHAT了旗下产品
RHEL
REDHAT==>FC
如何使用linux
linux系统给我们提供两种用户使用接口(UserInterface);
分别是图形用户接口GUI(Graphics)和文字用户接口TUI(text);
文字界面又叫命令行CLI;
顾名思义就是用户通过命令来控制linux执行工作,为了能解释我们输入的命令
linux提供了一个叫做SHELL的解析器来负责解析命令;
优点:
效率高缺点:
学习曲线高.
图形界面
和windows类似,linux的图形标准是Xwindow
优点:
简单易用缺点:
效率低下
控制台:
无论是图形还是命令行,我们都必须通过终端或主控制台才能与linux沟通;
那么什么是控制台呢?
其实无非是键盘和显示器而已;
虚拟控制台
linux提供12个虚拟控制台,每一个控制台都有一个名字叫tty1,tty2...tty12,其中1-6是文字,78图形
在不同的控制台切换使用ctrl+alt+FN
演示:
切换控制台并解释系统版本和内核版本
登录系统介绍PS(promptstring)远程登录SSH
登出系统exitlogoutctrl+D
简单的文件管理命令
命令语法格式:
命令参数目标对象
切换目录
在图形界面我们用鼠标双击来进入一个目录,那么在命令行里该如何切换呢?
既然要切换,就要知道切换到什么地方,先来了解一下linux的目录结构
Linux和UNIX的文件系统是一个以“/“为根的阶层式的树状文件结构,/因此被称为根目录。
所有的文件和目录都置于根目录/之下。
根目录/下面有/bin,/home,/usr等子目录。
在早期的UNIX系统中,各个厂家各自定义了自己的UNIX系统的文件系统构成,比较混乱。
为了避免在Linux也产生同样的问题,在Linux面世不久,就开始了对Linux文件系统进行标准化的活动,于1994年推出了名为FSSTND(FilesystemStandard)的Linux文件系统层次结构标准。
之后,FSSTND标准吸引了UNIX社团的开发人员,他们把FSSTND扩大到UNIX系统,FSSTND就变为FHS(FilesystemHierarchyStandard)。
cd
cd回到家目录
cd/目的目录
cd-上次工作目录
cd.当前目录
cd..上级目录
相对路径和绝对路径
我在哪?
pwd
tree以树状结构显示
ls介绍颜色的用处
为什么会有颜色因为有参数
长参数短参数
如何查看文件的详细属性
文件类型
-普通文件d目录b块c字符l连接p管道s套接字
如何查看隐藏文件ls-a
没有颜色时我们该怎么办?
ls-F
常用组合ls-lthr
系统为我们定义的常用组合lll.
自定义aliaslt='ls-lthr'
学会查看文件的属性后,我们来学习怎么查看文件内容
cat-n打印行号
cat-b同上,但排除空行
分屏查看
more只能向下
less上下均可
more和less的搜索功能
/向下搜
?
向上搜
n下一个
N上一个
head查看文件头
-nX指定行数
默认10行
tail查看文件尾
-nX指定行数
-f时时监控文件变化
rev左右颠倒
tac上下颠倒
文件拓展名:
在linux中没有拓展名的概念需要用file命令来识别
#fileinstall.log
install.log:
UTF-8Unicodetext
建立自己的目录和文件
mkdir建立目录
mkdir-p建立多级目录
touch建立文件
touch-d20080808修改文件日期
touch-d1215修改文件时间
指定时间的修改方法
linux里没有记录文件的创建时间
#statbig_file
Access:
2009-05-0212:
13:
00.000000000+0800访问时间cat
Modify:
2009-05-0212:
13:
00.000000000+0800内容修改时间echo>>
Change:
2009-05-0217:
41:
55.000000000+0800属性修改时间chmod
touch-m-t200809101112.13bigfile
修改文件内容
echo"abcd">>file_name
vim编辑器的增删改存
gedit
复制文件cpsrcdest
-r包含子目录和文件
-a保持文件权限包含子目录和文件保持文件连接
-f强制覆盖不提示
删除文件rm-r递归删除
-f强制删除不提示
移动改名mvoldnew
-i提示
-f强制覆盖不提示
那么我们学习了这么多命令又有那么多参数该如何记忆呢?
怎么查看命令帮助
ls--help
manls
man的类型章节重点1用户命令5配置文件8管理员命令
帮助的阅读方法...代表可重复[]代表可选择{}<>代表必选项|代表其中之一
info
类似浏览网页有连接比man更全面
TAB寻找*连接
?
帮助
man和info也有搜索功能
rpm包自带的帮助文档
/usr/share/doc/
网络
vim编辑器
模式切换:
编辑模式命令模式命令行模式
字符操作
i当前插入
I行首插入
a当前字符之后插入
A行尾插入
o下一行插入
O上一行插入
x向后删除一个字符
X向前删除一个字符
u撤销一步
U撤销所有更改
c剪切
行操作
^行首$行尾
dd删除一行Ndd
yy复制一行Nyy
p将复制行粘贴P上粘
词操作
dw删除一个词
yw复制一个词
块操作
d$删至行尾d^删至行首
y$复制至尾y^复制至首
v模式
进入v模式移动光标选择区域
VIM命令行操作
:
%s/old/new/g
:
setnu/nonu
:
e!
重新读入
/正查
?
反查
:
!
ls调用系统命令
vim的练习作业
vimtutor
如果乱码用gedit打开另存为UTF-8
用户管理(增删改切)
用户都存储哪些信息?
用户名密码用户识别码UID组识别码GID家目录HOMEshell备注
linux系统是支持多用户的系统
用户分为三种以UID来区分
超级用户UID=0在系统中拥有至高无上的权限.
系统用户UID1-499bin,ftp,mail等,不具备登录系统的权利,却是系统运行不可缺少的.
普通用户UID500-60000管理员建立的用户.密码和权限都由管理员制定.
群组都存储哪些信息?
组名组密码组识别码组成员
Linux系统中的组是把一系列具有相同属性的用户加以规划后的集合.
组也是分种类的用GID来标识
超级组GID=0
系统组GID=1-499
普通组GID=500-60000
添加修改删除登录
useradd
-uUID
-d主目录
-gGID
-G附属组
-s登录使用的SHELL
passwd
-d删除口令
-S查看密码状态
-x密码最大时间
-n密码最小时间
-w密码警告时间
-i密码过期锁定时间
--stdin非交互添加密码
echo"123"|passwd--stdinseker
id
查看验证
主要属组与附属组
主要属组:
每一个用户都必须有且只有一个主要属组,因为文件在建立时就会使用到主属组
附属组:
每一个用户可以加入其它组,这些组被称为用户的附属组
需要注意的是一个用户建立时,如果不明确指定,则系统自动建立一个与用户名相同的群组
同时将这个群组也设置为该用户的附属组
他们都是为了linux内的系统权限分派而存在的.
用户创建的流程
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
mkdir/home/username
cp/etc/ske1/.*/home/username
chownusername:
username/home/username
演示手动创建用户
建立用户后如何更改
usermod
-uUID
-d主目录
-gGID
-G附属组
userdel
-r删除主目录及其文件
su切换用户
以root用户切换其他用户则不需要密码
而其他用户做任何切换都需要密码
su-
加-与不加-的区别
[seker@lan2~]$id
uid=502(seker)gid=503(zorro)groups=502(seker),503(zorro)
[seker@lan2~]$suroot
口令:
[root@lan2seker]#ifconfig
bash:
ifconfig:
commandnotfound
[root@lan2seker]#pwd
/home/seker
[root@lan2seker]#echo$PATH
/usr/kerberos/sbin:
/usr/kerberos/bin:
/usr/local/bin:
/bin:
/usr/bin:
/home/seker/bin:
/home/seker/bin
[root@lan2seker]#exit
exit
[seker@lan2~]$id
uid=502(seker)gid=503(zorro)groups=502(seker),503(zorro)
[seker@lan2~]$su-root
口令:
[root@lan2~]#ifconfig
eth0Linkencap:
EthernetHWaddr00:
0C:
29:
F9:
41:
37
[root@lan2~]#pwd
/root
[root@lan2~]#
这是为什么呢?
我们都知道,有些命令是只有管理员才能使用的,一般用户没有权限.就像本例中的ifconfig.用第二种方法切换身份,相当于重新登陆,
此时用户的家目录和PATH等信息会发生改变,和直接用root登陆一致;但第一种情况,切换到root身份后用户的家目录和PATH仍然是原先一般用户的家目录和PATH,
我们知道,PATH里设置的是一些路径,指向一些目录,这些目录包含着一些常用的工具.如果你的PATH没有设置相应的路径,那么直接运行ifconfig系统肯定会找不到
ifconfig工具在哪里.所以会提示:
没有这个命令.
切换组
gpasswdsekergroup
su-zorro
sg-sekergroup
xxxxxx
id
gpasswd-rsekergroup清除密码
登录后检查
whoami查看当前用户身份
who登录本机用户及来源,+表示mesg是否开启接收的标志
w登录用户在做什么
id验证用户和查看用户的群组
users都有哪些登录用户
退出登陆
exit退出登陆shell
logout退出非登录shell
演示
[root@lan2~]#bash
[root@lan2~]#logout
bash:
logout:
notloginshell:
use`exit'
[root@lan2~]#
.文字处理高级命令
输入输出重定向
标准输入设备:
键盘文件标记:
0
标准输出设备:
屏幕终端标记:
1
错误输出设备:
屏幕终端标记:
2
输入输出流程:
/键盘
APP输入<--
\文件
|
APP处理
|
/1标准输出\
APP输出-->--->屏幕
\2错误输出/
2.如果我想把一个程序的输出错误存放到单独的一个文件中,那么我们在这个流程中该如何介入呢?
其实很简单,只是用标记符来控制输入的源和输出的目标.
试验:
ls>out.file将标准输出定向到文件如果文件不存在则创建,如果文件存在则覆盖
ls>>out.file将标准输出定向到文件如果文件不存在则创建,如果文件存在则追加
ls2>err.file将标准输出定向到文件如果文件不存在则创建,如果文件存在则覆盖
ls2>>err.file将标准输出定向到文件如果文件不存在则创建,如果文件存在则追加
ls>out.file2>err.file将标准输出与标准错误分别定向到文件
ls&>all.file将标准错误和标准输出合并定向到文件
ls>/dev/null2>&1讲标准错误和标准输出合并定向到系统黑洞
cat #cat< >123 >abc >EOF 123 abc # 用heredocument避免交互输入 #passwd< >linuxcom >linuxcom >EOF Changingpasswordforuserroot. passwd: allauthenticationtokensupdatedsuccessfully. # [root@stu93~]#passwdseker< >0987 >0987 >EOF /dev/null/dev/zero介绍 /dev/null是系统的黑洞 /dev/zero是系统的零发生器 4.ddif=/dev/zeroof=./big_filebs=10count=1M [root@stu93~]#ddif=/dev/hdaof=./mbrbs=512count=1 1+0recordsin 1+0recordsout 512bytes(512B)copied,0.000147336seconds,3.5MB/s 5.wc计算文件的行数,单词数,字节数 #wc/etc/passwd 40591800/etc/passwd #wc-l/etc/passwd 40/etc/passwd #wc-w/etc/passwd 59/etc/passwd #wc-c/etc/passwd 1800/etc/passwd # 6.cut按列提取文件 -d指明列分隔符-f选择输出的区域-c指定字符位置 #cut-d: -f1,7/etc/passwd|head-n2 root: /bin/bash bin: /sbin/nologin #cut-c1-3,6-9/etc/passwd|head-n2 7.tr字符的删除替换 -d删除 #tr-d: 替换 #tr[a-z][A-Z] 注意: 做替换是一定写上单引号 8.sort排序输出 默认按首字符从头至尾的顺序排序 -r逆序 -n按数字排序 -t指明分隔符与-k连用 -k按指定的域排序 sort-t: -gk3/etc/passwd #sort/etasswdc/p-t: -gk3 sort/etasswdc 9.diff对比两文件的差异 d删除了(delete)-a新增了(append)-c改变了(change) cp/etc/passwd. 删几行改几行加几行 diff/etc/passwdpasswd 做解释 <代表第一个文件的内容 >代表第二个文件的内容 补丁升级 diff-uversion1version2>vi_to_v2.path path-p1version1vi_to_v2.path 10.|管道妙用 将上一个命令的标准输出,传递给下一个命令做标准输入 cat/etc/passwd|head-n3|cut-d: -f1,3,7|sort-rt: -k3|tr[a-z][A-Z]|wc xargs 前面我们学习了管道,管道只是让后面的命令从前一个命令获取输入 那我们要建立一个/etc/passwd第一域(用户名)的目录的话,只利用管道就无法实现了 11.#cut-d: -f1/etc/passwd|head-n5|mkdir -d是分隔符-f是题区域-c是提取字符串的 mkdir: 缺少操作数 请尝试执行“mkdir--help”来获取更多信息。 #cut-d: -f1/etc/passwd|head-n5|xargsmkdir #ls admbindaemonlproot # 12.AWK/SED简单使用 awk-F: '{print}'file sed-n's/old/new/p'file awk'BEGIN{i=0}{i++}END{printi}'etc/passwd sed-n'5,~3p'打印5到3的倍数 sed-n'1~3p'间隔3行 sed-n'1,3p'打印一到三行 sed-n'1,+3p'聪指定行往下数三行 sed-n'$p'打印最后一行 sed-n'$! p出了最后一行打印其余行 sed-n'1,33d'删除1-33行 sed-n'1-10w'admin提取1-10行 sed'1ra.txt'|head插入行 sed'1ca.tct'|head替换 sed-n's/old/new/p'/etc/passwd替换打印行 sed-n's/root/AA&AA/p'/etc/passwd注意&引用了root 13grep家族 grep fgrep搜索文本 pgrep找进程号 egrep 系统变量 FS定义字段分隔符,默认为一个空格 OFS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 基础