一、Linux系统的发展
1965 bell MIT 合作开发multics(功能非常强大,多而杂,没有实现)----unix
1969 肯汤姆森 unix
1971 丹尼斯里奇 C语言 图灵奖
1977,unix BSD
1979,AT&T system7版本,明确提出"不可对学生提供源代码"
1984 谭宁邦 minix(教学)
1994 利纳斯托尔得 linux(10000行)
DOS (disk operating system)
linux版本
核心版本:完成操作系统功能的核心版本
linux2.6.30
发行版本:在核心代码的基础上,打包一些应用程序,功能程序构成的版本
红帽系列:redhat,centos,federa
debian系列:ubuntu,debian
linux安装在服务器端比较多,命令界面,效率高
linux图形界面,其实是运行了一个程序
LAMP: linux+apache+mysql+php
二、Linux的安装
安装虚拟机,虚拟机计算机,安装操作系统
物理机:PC 物理操作系统:windows
虚拟机:虚拟机的计算机设备
vm’os : 虚拟机的操作系统
-
安装向导 typical:典型,固化了一些简单步骤,可以按照缺省步骤安装 custom:定制,选择,提供了高级的选项
如果typical提供是8.0版本,则要选择custom,选择6.5-7.x,否则安装出错 -
nstall from 硬件光驱 镜像文件(iso) 稍后安装os,只创建硬件设备
-
选择linux 如果安装centos,选择“other linux os…”
-
网络连接方式 bridge 桥接(虚拟机和物理主机在同一局域网) NAT 网络地址转换(直接可以上网) host only
单独主机 -
io控制类型 硬盘连接 IDE hd+字母+数字
SCSI sd Linux系统中,一切皆文件,设备文件一般存放在/dev目录中 hd 字母从a开始,代表第一块硬盘 hda
数字从1开始,表示分区 hda1安装虚拟机操作系统 跳出虚拟机界面,ctrl+alt
=====================================
linux命令
一、路径
所有分区都挂载在根/下,每个目录都有特定的功能
在linux下更多的使用目录
绝对路径:从根/开始到文件所在位置的描述
相对路径:从当前目录开始到文件所在位置描述
以“.”开头的文件,在linux中是隐藏文件
+权限相关命令中个,+ 赋予 -剥夺
大小写敏感
二、常见目录及功能
/mnt 系统默认提供的挂载目录,U盘,iso镜像
/home 除root之外所有用户的家目录,每创建一个用户,在该目录下创建一个与用户同名的目录
/root 超级用户root的家目录
/boot 启动相关文件
/tmp 启动时产生的临时文件,一般用户操作过程中产生的临时数据 /var/tmp
/var 系统改变的数据
/var/log 日志
/var/run 运行时的信息
/var/spool 邮件、新闻
/lib 启动时用到的库文件,非启动时用到的库文件放在/usr/lib
/bin 所有用户可以使用的命令
/sbin 超级用户可以执行的命令
/etc 所有系统的配置文件
/dev 所有硬件设备对应的目录
/usr 该目录存放内容多而杂
/usr/local 默认安装的目录
/usr/lib 非启动时用到的库文件
/usr/bin 所有用户可以使用的命令
usr/sbin 超级用户可以执行的命令
三、命令的格式
命令 [选项] [参数1 参数2…]
选项通过“-”引导,多个选项可以写在一起
-l
-a 可以写成 -la
- ls 对应单词 list
-a 所有的文件(包含隐藏文件)
-l 详细信息的形式列举所有文件
-R 递归显示所有的文件
-F 文件类型
-i inode(信息节点)数字 - cd 对应单词 change directory cd 路径 cd ~ 回家目录 cd … 返回上一级 cd -
返回刚才所在的位置 - pwd print work directory
补充:
- 在关闭虚拟机时,最常用的两种选择 suspend 挂起(恢复到关闭前的状态) power off
关闭(重新启动) - 终端窗口 ctrl+shift+“+” 扩大窗口和字号 ctrl+“-” 缩小
- 命令提示符 [root@localhost ~]# 当前用户 root 超级用户 localhost
当前主机名称 ~ 当前用户的家目录 #超级用户的命令提示符 $ 普通用户的命令提示符 - 在终端中的快捷功能 ctrl+l 清屏 ctrl+c 终止命令 上下箭头 历史命令记录 ctrl+u
清除命令行当前位置左侧的内容 tab 补全命令或者文件名
Linux命令(1)
. 当前目录
… 上一级目录
通常情况下:
黑色 普通文件
绿色 可执行文件
蓝色 目录
浅蓝色 链接文件
红色 压缩文件
黑底黄色 设备文件
重点:了解文件和目录的权限
ls -l 别名 ll
-rw-------. 1 root root 2376 Nov 20 2012 anaconda-ks.cfg
1)10个字符 对应权限
2)文件的链接数
3)所属者
4)所属组
5)大小
6)创建日期
7)文件名
-rw-------
10个字符:
第1个字符:代表文件的类型
类型:
- 普通文件
d 目录
l 链接
c 字符设备(character)
b 块设备(block)
对文件的操作权限:读r、写w、执行x
2-4个字符:代表文件所属者的权限
5-7个字符:代表文件所属组的权限
8-10个字符:其他用户的权限
文件或者目录修改所属者或所属组,那么对应的用户和组就拥有对应的权限
2、cd ----change directory
改变目录(进入某个目录)
cd - 刚才所在的目录
cd ~ 该用户的家目录
cd / 根目录
cd … 返回上一级目录
3、mkdir —make directory 创建空目录
mkdir 目录名(绝对路径或者相对路径)
-p 创建带有层次关系的目录结构
4、rmdir --删除空目录
-p 删除空的目录结构
5、echo 回显命令
echo “字符串”
6、创建文件
6-1)touch 文件名 —创建一个空文件
6-2)echo“文件内容”>文件名
6-3)cat>文件名
输入文件内容
<ctrl+d> 结束文件内容
7、查看文件内容
7-1)cat 文件名
cat 文件1 文件2 … >文件n
把若干个文件的内容合并到文件n中
-n 由第1行开始编号
-b 和-n作用类似,不对空行加编号
7-2)more 文件名 —分屏查看
f或者空格 下一页
enter 下一行
7-3)less --分屏查看内容,支持pageup,pagedown
q 退出
7-4)head - num 查看前num行
7-5)tail - num 查看后num行
-num num表示数字
8、pwd —print working directory
打印当前所在的目录
9、cp 复制文件或者目录
cp 源文件 目标文件(如果目录,复制到该目录)
注意:如果目标文件已经存在,替换
如果目标文件不存在,另存为
-f 非交互模式的复制操作 (force)
-i 交互模式(询问)
-p 除了复制文件内容外,还将其修改文件和访问权限同时复制
-r 若源文件是一个目录,cp命令将递归的复制该目录下的所有文件和子目录
注意:如果只复制该目录下的所有文件,使用通配符*
10、mv —move 移动文件或者目录
mv 源文件 目标文件
如果目标文件不存在,重命名
-f 强制移动
11、rm —remove 删除
-i 交互询问操作(默认)
-f 强制删除
-r 递归删除
通常删除目录时 使用rm -rf 命令
12、帮助命令
12-1)man 命令 —manual 手册 详细帮助信息
12-2)命令 --help 简短的形式描述命令格式
12-3)info 命令 直接分屏显示,退出q
q —quit退出
==================================
补充:
1、别名
alias
定义别名的格式
alias ll=‘ls -l --color=auto’
2、所属组
一般情况下,创建一个新用户,会同时创建一个与该用户同名的组名,该用户属于该组
3、重定向
.>被内容写入到某个文件中,原内容消失
.>>追加
4、充
通配符 * 代表所有文件
5、管道 |
把前一命令的输出作为后一命令的输入
1、ln —link 创建链接
格式:
ln [-s] 源文件 创建的链接
-s:加上该选项,创建的称为软链接(符号)
注意:
1)硬链接实际相当于对源文件的一个复制(即便删除源文件依然能够查看,而软链接则失效)
2)只有通过软链接可以创建对目录的链接
2、权限管理命令
2-1)chmod 改变文件或者目录的所属者(组),其他用户的权限
方法一: chmod [选项] [who] [+/-/=] [mode] 文件名或者目录名
+赋予 - 剥夺 = 设置为
mode: r w x
who:u 所属者 g 所属组 o 其他用户 a 所有的
注意:对不同用户操作权限,可以使用,分隔
实例:
1)chmod u=rw,g=rx,o=r /tmp/test
2)chmod u=rwx /tmp/test
3)chmod a=rw /tmp/test
方法二:数字设定法
u g o
rw- r-- r-- 变化范围000-777
110100100 三位8进制数 644
格式:chmod 三位8进制数 文件或者目录
例如:chmod 644 /tmp/test ==》 100=r–
2-2)chown 改变文件或者目录的所属者
chown 用户名 文件或者目录
chown 用户名.组名 文件或者目录
2-3)chgrp 改变文件或者目录的所属组
chgrp 组名 文件或者目录
问题:一个小组,分配一个工作目录,三个用户加入该组,
创建一个目录,把目录的所属组修改为该组,通过chmod修改该
目录的权限,使得所属组具备rwx
3、umask 创建目录或者文件的默认属性
022 默认值
创建的目录 777-022=755
创建的文件777-111-022=644
umask 新的值
4、查找命令
4-1)whereis 命令文件位置及其帮助文档
4-2)which 命令文件位置及其别名信息
4-3)locate 快速查找(配合updatedb命令使用)
/var/lib/mlocate/mlocate.db
4-4)find 查找文件,功能最全
格式: find [路径][选项] 文件或者目录
-name 文件名
-user 用户名 —所属者是该用户
-group 组名
-mtime 数字(代表天数) —modify内容修改 - +
-mmin 数字(代表分钟)
-ctime 数字 ----change 权限修改
-perm 三位8进制数
-newer 文件名 ----比指定文件新的文件
-type f/l/d/b/c
-size 数字 ----指定查找文件的大小范围 - +
实例:
find / -size +50M -size -100M
-a 并且
-o 或者
! 非
实例:
1)在根目录下查找内容在5天内修改的文件
find / -mtime -5
2)在根目录下查找比/test/a文件新但是比/test/b文件旧的文件
find / -newer /test/a -a ! -newer /test/b
3)列出所有/etc目录下的链接文件
find /etc -type l
4)查找根目录下所有st开头的文件
find / -name ‘st*’
补充对查找到的内容实施操作:
-exec 命令 {} ; 不询问直接执行
-ok 命令 {} ; 执行前询问
如果对find查找到的内容进行复制, find … -exec cp {} 目标位置 ;
find … | xargs cp {} 目标位置
补充:
1、针对文件和目录的权限
r w x
文件:
r:cat more less head tail
w:> >> vi
x:执行文件
目录:
r:ls
w:rm cp mv touch
x:cd
2、查看ip地址 ifconfig
设置ip地址 ifconfig eth0 192.168.0.xxx
3、远程登录服务器
putty:输入远程服务器地址,用户名和密码登录;(右键单击putty标题栏,选择修改设置,在外观中修改字体大小)
secureCRT:输入远程服务器地址,用户名和密码登录;
4、查看某个目录的详细信息
ls -ld 目录名
5、创建文件默认的权限
========================================
1、grep —在文件中查找指定的内容
格式: grep [选项] 要查找内容 文件名
-v 显示不符合要求的各行
-c 只显示行数(符合要求)
-n 显示符合要求的行和行号
-i 不区分大小写
实例:
1)在/etc/passwd中查找“stu”所有行
grep “stu” /etc/passwd
2)在/etc/下所有文件中查找含有data的行
grep “data” /etc/*
3)对命令的执行结果进行内容查找
ls /etc/|grep “sys”
正则表达式
1)匹配某个范围 [0-9]
查找开头是数字或者字母,后跟24的内容
grep ‘[0-9 a-z]24’ a.txt
2)匹配行首 ^
grep ‘^a’ a.txt
3)不匹配行首
grep ‘[a]’ a.txt
4)以某个字母开头,某个字母结尾
grep ‘x…y’ a.txt
2、uname 显示正在使用的linux系统信息
-a 显示所有信息
-r 显示操作系统的发行号
3、date 当前日期
+%T 时:分:秒 +%F yyyy-mm-dd
+%D mm/dd/yy
4、cal 日历
cal 年 显示该年的所有日历
5、bc 内置的计算器
可以输入表达式计算结果,输入quit退出
6、wc 统计命令
-c 统计字节数
-l 统计行数
-w 统计字数
7、reboot 重启系统
8、shutdown [选项]
-h now 马上关机
-g 修改等待周期为你指定的时间(分钟)
shutdown -g 120
==========================================
1、sort 排序(仅仅显示,不改变原文件)
-o 新文件名 —将排序结果输出到新文件 >新文件名
-r 逆序
-f --大小写等同对待
-I --忽略非打印字符
合并多个文件并排序
cat file1 fil2 …|sort>newfile
+pos1 -pos2 从0开始计数,范围[pos1,pos2)
–key=pos1[,pos2] —从1开始计数
2、uniq 去除文件中连续的重复项
-d 只显示重复行
-u 只显示不重复行
-c 显示每行,在前显示重复的次数
3、comm 对两个排好序的文件进行比较
comm [选项] file1 file2
-1 过滤掉file1中独有的内容
-2 过滤掉file2中独有的内容
-3 多虑掉两个文件相同的内容
-12 只显示相同的行
-23 显示第1个文件中有而第2个文件无的行
4、diff 逐行比较文件,列出两个文件的不同之处
diff [选项] 文件1或目录1 文件2或目录2
1,2d0
< 2001001
< 2001002
5a4,5
— > 2001006 > 2001007
a 增加add d 删除delete c 改change
字符前面的数字对应第1个文件的行数
字符后面的数字对应第2个文件的行数
< 第1个文件中的行 > 第2个文件中的行
产生补丁文件
diff file1 file2 >补丁文件
5、patch [-R] 打补丁命令
通过该命令可以将一个文件利用补丁文件变为另一个文件
patch file1 补丁文件 --把file1修改为file2
patch -R file1 补丁文件 --对file1中打的补丁进行取消
Linux环境变量:
一般大写形式:LOGNAME,PS1,PATHPATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
PS1=’[\u@\h \W]$ ’ 命令提示符的定义
用户 主机名 工作目录
查看环境变量 env 或者 set命令
设置环境变量 环境变量名=值
查看环境变量的值 echo $环境变量名
添加或修改环境变量,只对当前终端生效
如果希望永久添加到系统中
/etc/profile文件,修改文件内容,然后保存
步骤:
1)vi /etc/profile
2)在末尾行添加
export PATH=/test:$PATH
3)使当前修改生效,使用source命令
source /etc/profile
补充:
1、利用虚拟机工具实现windows和linux文件共享
VM–setting–options–shared folders ,选择windows下的目录添加,该目录在linux中如何查看:/mnt/hgfs/共享目录