Bootstrap

linux期末复习

一、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 : 虚拟机的操作系统

  1. 安装向导 typical:典型,固化了一些简单步骤,可以按照缺省步骤安装 custom:定制,选择,提供了高级的选项
    如果typical提供是8.0版本,则要选择custom,选择6.5-7.x,否则安装出错

  2. nstall from 硬件光驱 镜像文件(iso) 稍后安装os,只创建硬件设备

  3. 选择linux 如果安装centos,选择“other linux os…”

  4. 网络连接方式 bridge 桥接(虚拟机和物理主机在同一局域网) NAT 网络地址转换(直接可以上网) host only
    单独主机

  5. 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

  1. ls 对应单词 list
    -a 所有的文件(包含隐藏文件)
    -l 详细信息的形式列举所有文件
    -R 递归显示所有的文件
    -F 文件类型
    -i inode(信息节点)数字
  2. cd 对应单词 change directory cd 路径 cd ~ 回家目录 cd … 返回上一级 cd -
    返回刚才所在的位置
  3. pwd print work directory

补充:

  1. 在关闭虚拟机时,最常用的两种选择 suspend 挂起(恢复到关闭前的状态) power off
    关闭(重新启动)
  2. 终端窗口 ctrl+shift+“+” 扩大窗口和字号 ctrl+“-” 缩小
  3. 命令提示符 [root@localhost ~]# 当前用户 root 超级用户 localhost
    当前主机名称 ~ 当前用户的家目录 #超级用户的命令提示符 $ 普通用户的命令提示符
  4. 在终端中的快捷功能 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/共享目录

;