兄弟连Linux学习笔记

兄弟连新版Linux全套资料百度云(包含全套视频及相关参考书籍、配套VMware 8.0虚拟机软件及用到的软件工具等配套CentOS-6.3-i386-bin-DVD1系统压缩包镜像)请往我的资源(https://download.csdn.net/download/qq_32809093/11347701)查看。

第一讲:Linux系统简介

UNIX  发展历史:1965年,美国麻省理工学院(MIT)、通用电气公司(GE)及AT&T的贝尔实验室联合开发Multics工程计划,其目标是开发一种交互式的具有多道程序处理能力的分时操作系统,但因Multics追求的目标过于庞大复杂,项目进度远远落后于计划,最后贝尔实验室宣布退出。1969年,美国贝尔实验室的肯 • 汤普森在DEC PDP-7机器上开发出了UNIX系统。1971年,肯 • 汤普森的同事丹尼斯 • 里奇发明了C语言;1973年,UNIX系统的绝大部分源代码用C语言重写,这为提高UNIX系统的可移植性打下基础。

Linux  系统简介:Linux系统出现于1991年,由芬兰大学生李纳斯(Linus Torvalds)和后来陆续加入的众多爱好者共同开发完成。Linux是一个自由软件,是源代码开放的UNIX。

开源软件并不意味着都是免费的,绝大多数开源软件是免费的。

支持互联网的开源技术:LAMP(Linux操作系统、Apache Web服务器、MySQL数据库、PHP编程语言)

Linux  优良特性
1 ) 分时的多用户、多任务的操作系统
2 ) 多数网络协议支持,方便的远程管理
3 ) 强大的内存管理和文件管理系统
4 ) 大量的可用软件和免费软件
5 ) 优良的稳定性和安全性
6 ) 良好的可移植性和灵活性
7 ) 可供选择的厂商多

第二讲:Linux系统安装

一、VMware虚拟机安装与使用

VMware是一个虚拟PC的软件,可以在现有的操作系统上虚拟出一个新的硬件环境,相当于模拟出一台新的PC ,以此来实现在一台机器上真正同时运行两个独立的操作系统。

VMware主要特点:
1、不需要分区或重新开机就能在同一台PC上使用两种以上的操作系统
2、本机系统可以与虚拟机系统网络通信
3、可以设定并且随时修改虚拟机操作系统的硬件环境

二、系统分区

1、磁盘分区是使用分区编辑器(partition editor)在磁盘上划分几个逻辑部分。碟片一旦划分成数个分区(Partition),不同类的
目录与文件可以存储进不同的分区。

2、格式化(高级格式化)又称逻辑格式化,它是指根据用户选定的文件系统(如FAT16、FAT32、NTFS、EXT2、EXT3、EXT4
等),在磁盘的特定区域写入特定数据,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间。

3、硬件设备文件名
兄弟连Linux学习笔记_第1张图片

总结
分区:把大硬盘分为小的逻辑分区
格式化:写入文件系统,同时把硬盘中数据全部删除
分区设备文件名:给每个分区定义设备文件名
挂载:给每个分区分配挂载点

四、远程登录管理工具SecureCTR

Host-Only:表示虚拟机(或理解为服务器)通过VMnet1与真实机进行通信

ifconfig   查看IP地址(即当前网卡信息)

ifconfig eth0 192.168.92.2   为虚拟机网卡0分配(设置)一个IP地址192.168.92.2(临时更改IP地址,电脑重启后失效),注意要与VMnet1中的网关(本电脑是92)相同

兄弟连Linux学习笔记_第2张图片

将真实机cmd命令窗口调出,输入ping 192.168.92.2

兄弟连Linux学习笔记_第3张图片

可见真实机和虚拟机通信正常

通过SecureCTR仿真软件(远程工具)进行网络连接,IP地址即为以上设置的虚拟机IP地址  192.168.92.2

可见连接成功

df命令

注:VMnet1与VMnet8是虚拟网卡

如果虚拟机中选择的是桥接,则其会使用电脑中的真实网卡(本地连接或无线网络连接)与当前真实计算机进行通信,且可以与其它有连接网络的电脑或服务器通信,但会占用网络真实 IP 地址(如果真实机可以访问互联网,则虚拟机也可以)

如果虚拟机中选择的是net,则其会使用虚拟出来的VMnet8网卡与当前真实计算机进行通信,但不能与局域网其它电脑通信,只能与真实机通信

如果虚拟机中选择的是host-only,则其会使用虚拟出来的VMnet1网卡与当前真实计算机进行通信,但不能与局域网其它电脑通信,只能与真实机通信

第三讲:给初学者的建议

注意事项:

Linux严格区分大小写
Linux中所有内容以文件形式保存(命令行的更改只是临时生效,所有的更改必须通过文件形式更改才有效),包括
硬件
 硬盘文件是/dev/sd[a-p]
光盘文件是/dev/sr0等

Linux不靠扩展名区分文件类型(即没有扩展名概念),扩展名只是为了使管理员更加方便使用
压缩包:“*.gz”、“*.bz2” *.tar.bz2”、
“*.tgz”等
 二进制软件包:“.rpm”
网页文件:“*.html”、“*.php”
 脚本文件:“*.sh”
 配置文件:“*.conf”

打开bin文件

兄弟连Linux学习笔记_第4张图片

Linux所有的存储设备都必须挂载(设备文件名和盘符连接起来的过程称挂载)之后用户才能使用,包括硬盘、U盘和光盘
Windows下的程序不能直接在Linux中安装和运行

服务器的管理和维护建议:

兄弟连Linux学习笔记_第5张图片

兄弟连Linux学习笔记_第6张图片

兄弟连Linux学习笔记_第7张图片

查看设备文件信息:

兄弟连Linux学习笔记_第8张图片

打开 / 下目录

2、服务器注意事项

远程服务器不允许关机,只能重启
重启时应该关闭服务

不要在服务器访问高峰运行高负载命令
远程配置防火墙(过滤器,判断是否符合规则要求)时不要把自己踢出服务器

指定合理的密码规范并定期更新
合理分配权限
定期备份重要数据和日志

第四讲:Linux常用命令

4.1 文件处理命令

4.1.1 命令格式与目录处理命令ls

命令格式
命令格式 :命令 [-选项] [参数]
例 : ls -la /etc
说明:

1)个别命令使用不遵循此格式
2)当有多个选项时,可以写在一起
3)简化选项与完整选项
-a 等于 --all

 

目录处理命令 : ls(list菜单、目录)
命令名称:ls
命令英文原意:list
命令所在路径:/bin/ls
执行权限:所有用户
功能描述:显示目录文件
语法:ls 选项[-ald] [文件或目录]
-a(-all) 显示所有文件,包括隐藏文件
-l (-long)详细信息显示
-d 查看目录属性

使用 ls 查看目录文件,ls -a查看所有目录文件

可见一共有八个文件,其中有五个隐藏文件(其前面带点的文件)

使用 ls -l 或 ls -lh 进行详细(长)目录显示

  例如图中1为文件计数、root表示文件所有者,后面root为所属组,1208表示此文件为1208字节,后面为此文件最后修改时间,最后为文件名

显示 / 目录下文件

使用 ls -ld /etc 查看etc当前目录文件信息(不包括etc目录下文件)

使用 ls -l /etc 查看etc目录下所有文件信息

兄弟连Linux学习笔记_第9张图片

使用 ls -i 查看文件i结点

 -rw-r--r--分别对应u-g-o,表示所有者可读写,所属组可读,其它人可读
- 文件类型(- 文件      d 目录        l 软链接文件)
rw-(可读可写)           r--(可读)              r--(可读)
u                             g                           o
u所有者                   g所属组                 o其他人

r读    w写    x执行(execute)

 

4.1.2 目录处理命令

目录处理命令 : mkdir
命令名称:mkdir
命令英文原意:make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
语法:mkdir -p [目录名]
功能描述:创建新目录
-p 递归创建
范例: mkdir -p /tmp/Japan/boduo
mkdir /tmp/Japan/longze /tmp/Japan/cangjing

在tmp文件下创建文件wode

使用 -p 递归创建Japan与boduo文件,并使用ls命令查看Japan下的boduo文件

同时创建longze与cangjing两个文件,并查看此时Japan文件目录下的文件有哪些

 

目录处理命令 : cd
命令名称:cd
命令英文原意:change directory
命令所在路径:shell内置命令
执行权限:所有用户
语法:cd [目录]
功能描述:切换目录
范例: $ cd /tmp/Japan/boduo 切换到指定目录
$ cd .. 回到上一级目录

使用cd /tmp/Japan/boduo切换到boduo这个目录

使用 cd .. 回到上一级目录,pwd为显示当前目录

 

目录处理命令 : pwd
命令名称:pwd
命令英文原意:print working directory
命令所在路径:/bin/pwd
执行权限:所有用户
语法:pwd
功能描述:显示当前目录
范例:$ pwd
/tmp/Japan

使用pwd显示当前目录的详细信息


 

文件处理命令 :rm dir
命令名称:rmdir
命令英文原意:remove empty directories
命令所在路径:/bin/rmdir
执行权限:所有用户
语法:rmdir [目录名]
功能描述: 删除空目录
范例: $ rmdir /tmp/Japan/boduo

使用 rmdir /tmp/Japan/boduo 删除空目录boduo,并使用 ls /tmp/Japan 或者 ls -l /tmp/Japan查看Japan目录下有哪些目录文件

 

目录处理命令 : cp
命令名称:cp
命令英文原意:copy
命令所在路径:/bin/cp
执行权限:所有用户
语法:cp -rp [原文件或目录] [目标目录]
-r 复制目录
-p 保留文件属性(复制的文件修改时间与原文件相同)
功能描述:复制文件或目录

范例:
$ cp -rp /tmp/Japan/longze /root将/tmp/Japan目录下的longze目录复制到/root下,保持目录属性

$ cp -r /tmp/Japan/cangjing /root 将目录/tmp/Japan/cangjing复制到目录/root下

$ cp -r /tmp/Japan/longze /root/yiwofeiye 将/tmp/Japan目录下的longze目录复制到/root下,并将其名字改为yiwofeiye

clear命令可以清屏(或者按住ctrl + l)

目录处理命令 : mv
命令名称:mv
命令英文原意:move
命令所在路径:/bin/mv
执行权限:所有用户
语法:mv [原文件或目录] [目标目录]
功能描述:剪切文件、改名

使用 mv /root/yiwofeiye /tmp/Japan 将root下的yiwofeiye文件剪切到Japan文件下

使用mv cangjing canglaoshi实现同文件目录下将cangjin改名为canglaoshi

图中cd命令先到root目录下,再使用ls则可以查看当前目录信息

 

目录处理命令 : rm
命令名称:rm
命令英文原意:remove
命令所在路径:/bin/rm
执行权限:所有用户
语法:rm -rf [文件或目录]
-r 删除目录
-f 强制执行
功能描述:删除文件

范例:
$ rm /tmp/yum.log
删除文件/tmp/yum.log
$ rm -rf /tmp/Japan/longze
删除目录/tmp/Japan/longze

使用 rm grub.conf 删除root下的grub.conf文件

使用 rm -rf /tmp/Japan 删除Japan目录及其以下的所有子目录

 

4.1.3 文件处理命令

文件处理命令 : touch
命令名称:touch
命令所在路径:/bin/touch
执行权限:所有用户
语法:touch [文件名]
功能描述:创建空文件
范例:

使用$ touch Japanlovestory.list 在root目录下创建一个Japanlovestory.list文件

创建文件program files

 

文件处理命令 : cat
命令名称:cat
命令所在路径:/bin/cat
执行权限:所有用户
语法:cat [文件名]
功能描述:显示文件内容
-n 显示行号
范例: $ cat /etc/issue


$ cat -n /etc/issue(显示行号)

 

文件处理命令 :tac
命令名称:tac
命令所在路径:/usr/bin/tac
执行权限:所有用户
语法:tac [文件名]
功能描述:显示文件内容(反向列示)
范例: $ tac /etc/issue

兄弟连Linux学习笔记_第10张图片

 

文件处理命令 : more
命令名称:more
命令所在路径:/bin/more
执行权限:所有用户
语法:more [文件名]
(空格) 或f 翻页
(Enter) 换行
q或Q 退出
功能描述:分页显示文件内容(对应文件内容过多时)
范例: $ more /etc/services

兄弟连Linux学习笔记_第11张图片进入more后,空格或者f翻页,回车一行行往下翻,q结束(注:上图中打开文件中 # 表示注释)

 

文件处理命令 :less
命令名称:less
命令所在路径:/usr/bin/less
执行权限:所有用户
语法:less [文件名]
功能描述:分页显示文件内容(可向上翻页)
范例: $ less /etc/services

进入less后,空格或者f翻页,回车一行行往下翻,pgup往上翻,pgdn往下翻,上下箭头一行行往上或下翻,q结束

在less里输入 /service 实现对信息中关键词service进行查找

按下n实现继续向下查找

 

文件处理命令 :head
命令名称:head
命令所在路径:/usr/bin/head
执行权限:所有用户
语法:head [文件名]
功能描述:显示文件前面几行
-n 指定行数
范例: $ head -n 3 /etc/services查看前3行

 

文件处理命令 :tail
命令名称:tail
命令所在路径:/usr/bin/tail
执行权限:所有用户
语法:tail [文件名]
功能描述:显示文件后面几行
-n 指定行数
-f 动态显示文件末尾内容
范例: $ tail -n 2 /etc/services查看后两行

注:在虚拟机(服务器)中,ctrl + shift + C实现复制,ctrl + shift + V或者鼠标右键 实现粘贴

 

4.1.4 链接命令

文件处理命令 : ln
命令名称:ln
命令英文原意:link
命令所在路径:/bin/ln
执行权限:所有用户
语法:ln -s [原文件] [目标文件]
-s 创建软链接(相当于windows中创建的快捷方式)
功能描述:生成链接文件

范例:
$ ln -s /etc/issue /tmp/issue.soft创建文件/etc/issue的软链接/tmp/issue.soft

软链接特征:类似Windows快捷方式
1、lrwxrwxrwx l 软链接
软链接文件权限都为rwxrwxrwx
2、文件大小-只是符号链接
3、/tmp/issue.soft -> /etc/issue箭头指向原文件


$ ln /etc/issue /tmp/issue.hard创建文件/etc/issue的硬链接/tmp/issue.hard

硬链接可实现两个文件的同步更新,使用echo "this is a test" >> /etc/motd修改issue原文件,cat显示文件内容,ls -l 实现目录文件详细信息显示

兄弟连Linux学习笔记_第12张图片

如果原文件被删除,则软链接失效,硬链接依旧可以正常使用,硬链接不可以跨分区,软链接可以跨分区

硬链接(相当于拷贝)特征:
1、拷贝cp -p + 同步更新
echo "this is a test" >> /etc/motd
2、可通过i节点识别
3、不能跨分区
4、不能针对目录使用

4.2 权限管理命令

4.2.1 权限管理命令chmod

权限管理命令 : chmod
命令名称:chmod
命令英文原意:change the permissions mode of a file
命令所在路径:/bin/chmod
执行权限:所有用户
语法:chmod [{ugoa}{+-=}{rwx}] [文件或目录]
[mode=421 ] [文件或目录]
-R 递归修改
功能描述:改变文件或目录权限

$ chmod u+x Japanlovestory.list 来给所有者u添加x权限

兄弟连Linux学习笔记_第13张图片

$ chmod u-x,g+w,o+w Japanlovestory.list来给所有者u减少x权限,所有组g与其它人o都增加w写权限

$ chmod o=x Japanlovestory.list 直接给其它人o赋予x权限

兄弟连Linux学习笔记_第14张图片

权限的数字表示
r ---- 4
w ---- 2
x ---- 1
rwxrw-r--
7 6 4

范例:

$ chmod  777 Japanlovestory.list 给此文件的所有用户全部权限


$  chmod -R 666 /tmp/wode
修改目录wode及其目录下文件的所有用户具有相同的rw权限

兄弟连Linux学习笔记_第15张图片

文件目录权限总结

兄弟连Linux学习笔记_第16张图片注:只有管理员root和所有者才能更改目录或文件权限

4.2.2 其他权限管理命令

权限管理命令 : chown
命令名称:chown
命令英文原意:change file ownership
命令所在路径:/bin/chown
执行权限:所有用户
语法:chown [用户] [文件或目录]
功能描述:改变文件或目录的所有者
范例:$ chown shenchao fengjie改变文件fengjie的所有者为shenchao

兄弟连Linux学习笔记_第17张图片

cd为切换到指定目录,touch新建文件,ls -l查看文件或目录详细信息,useradd xuyaotong表示增加所有者xuyaotong

 

权限管理命令 : chgrp
命令名称:chgrp
命令英文原意:change file group ownership
命令所在路径:/bin/chgrp
执行权限:所有用户
语法:chgrp [用户组] [文件或目录]
功能描述:改变文件或目录的所属组
范例:$ chgrp liujing fengjie改变文件fengjie的所属组为liujing

其中,groupadd liujing为增加所属组liujing

为所属组增加w写权限

注:谁创建了文件,谁就是文件的所有者。

 

权限管理命令 : umask
命令名称:umask
命令英文原意:the user file-creation mask
命令所在路径:Shell内置命令
执行权限:所有用户
语法:umask [-S]
-S 以rwx形式显示新建文件缺省权限
功能描述:显示、设置文件的缺省权限
范例: $ 使用umask -S 缺省设置文件权限(缺省创建的文件是没有可执行权限x的)

兄弟连Linux学习笔记_第18张图片

更改创建的文件或目录权限为rwxr-xr--(754),则umask应该给值=777-754=023

兄弟连Linux学习笔记_第19张图片

 

4.3.1 文件搜索命令find

文件搜索命令 : find
命令名称:find
命令所在路径:/bin/find
执行权限:所有用户
语法:find [搜索范围] [匹配条件]
功能描述:文件搜索

$ find /etc -name init 在目录/etc中查找文件名为init的文件

$ find /etc -name *init* 则可以搜索/etc目录下含有init的文件(星号可以匹配任意字符,问号匹配一个字符)


-iname 不区分大小写


$ find / -size +204800(此处为100MB,单位为数据块0.5KB) 在根目录下查找大于100MB的文件     +n 大于     -n 小于    n 等于

兄弟连Linux学习笔记_第20张图片
$ find /home -user xuyaotong 在根目录下查找所有者为xuyaotong的文件(-group 则为根据所属组查找)

兄弟连Linux学习笔记_第21张图片

$ find /etc -cmin -30 在/etc下查找30分钟内被修改过属性的文件和目录


-amin 访问时间 access
-cmin 文件属性(所有者、所属组等) change
-mmin 文件内容 modify

$ find /etc -size +10240 -a -size -204800 在/etc下查找大于5MB小于100MB的文件
-a 两个条件同时满足
-o 两个条件满足任意一个即可


$ find /etc -name inittab -exec ls -l {} \; 在/etc下查找inittab文件并显示其详细信息


-exec/-ok 命令 {} \; 对home目录下所有者为xuyaotong的文件的搜索结果执行相应(此下图为删除)操作

-type 根据文件类型查找
f 文件     d 目录      l 软链接文件

$ find /etc -name init* -a -type d 实现etc目录下以init开头的目录查找

$ ls -i  /tmp 显示tmp目录下文件、目录及其前面对应的i结点

$ find . -inum 917817 -exec rm {} \; 利用-inum 根据i节点查找到917817对应的fengjie文件进行删除

兄弟连Linux学习笔记_第22张图片

4.3.2 其他搜索命令

文件搜索命令 : locate
命令名称:locate
命令所在路径:/usr/bin/locate
执行权限:所有用户
语法:locate 文件名
功能描述:在文件资料库中查找文件(查找速度快)
范例:$ locate inittab 搜索inittab文件

查找前记得使用updatedb对文件资料库进行更新

兄弟连Linux学习笔记_第23张图片

注:locate不对tmp临时目录中的文件与目录进行查找

$ locate -i teacher.cang 不区分大小写搜索文件(因为加了-i )

 

文件搜索命令 : which
命令名称:which
命令所在路径:/usr/bin/which
执行权限:所有用户
语法:which 命令
功能描述:搜索命令所在目录及别名信息
范例:$ which rm 查找rm命令所在的位置及别名(此处rm别名为 rm -i )

兄弟连Linux学习笔记_第24张图片

 

文件搜索命令 : whereis
命令名称:whereis
命令所在路径:/usr/bin/whereis
执行权限:所有用户
语法:whereis [命令名称]
功能描述:搜索命令所在目录及帮助文档路径
范例:$ whereis ls 搜索ls命令所在目录及帮助文档路径

 

文件搜索命令 : grep
命令名称:grep
命令所在路径:/bin/grep
执行权限:所有用户
语法:grep -iv [指定字串] [文件]
功能描述:在文件中搜寻字串匹配的行并输出
-i 不区分大小写
-v 排除指定字串
范例:$ grep mysql /root/install.log 在install.log文件中查找与mysql相关的行并输出

$ grep -v ^# /etc/inittab 在inittab文件中排除指定字串#对应的行输出

4.4 帮助命令

帮助命令 : man
命令名称:man
命令英文原意:manual
命令所在路径:/usr/bin/man
执行权限:所有用户
语法:man [命令或配置文件]
功能描述:获得帮助信息
范例: $ man ls (直接写命令或配置文件名,不是绝对路径)查看ls命令的帮助信息

兄弟连Linux学习笔记_第25张图片
$ man services 查看配置文件services的帮助信息

由name可见该配置文件为互联网网络列表文件

配置文件格式(网络服务名称   端口/服务  服务别名)

注:在帮助文件中,****.1 表示命令的帮助    ****.5表示配置文件的帮助

$ whatis ls 查看ls命令的简短信息   $ whatis cp 查看cp命令的简短信息  

兄弟连Linux学习笔记_第26张图片

 $ apropos inittab查看配置文件inittab简短信息  

$ date 查看当前时间

$ man date 查看date命令详细信息

兄弟连Linux学习笔记_第27张图片

$ date 063015582019.15更改当前时间

 

帮助命令 : help
命令名称:help
命令所在路径:Shell内置命令
执行权限:所有用户
语法:help 命令
功能描述:获得Shell内置命令的帮助信息(umask、cd等都为Shell内置命令)
范例: $ help umask 查看umask命令的帮助信息

注:找不到命令路径的命令都是Shell内置命令

4.5 用户管理命令

用户管理命令 :useradd
命令名称:useradd
命令所在路径:/usr/sbin/useradd
执行权限:root
语法:useradd 用户名
功能描述:添加新用户
范例: $ useradd yangmi

 

用户管理命令 :passwd
命令名称:passwd
命令所在路径:/usr/bin/passwd
执行权限:所有用户
语法:passwd 用户名
功能描述:设置用户密码(123456)
范例: $ passwd yangmi

 

用户管理命令 :who
命令名称:who
命令所在路径:/usr/bin/who
执行权限:所有用户
语法:who
功能描述:查看登录用户信息
范例: $ who 查看登录用户信息

图中格式为:(登录用户名    登录终端    登录时间    登录的主机的 IP 地址(未写则表示本机登录,即虚拟机登录))

tty表示本地终端(虚拟机登录或本机登录,虚拟机 IP 为192.168.92.2),此处远程登录工具CRT是通过192.168.92.1这台主机(即我的电脑)远程登录192.168.92.2这台主机(即虚拟机)

pts表示远程终端

第一行root信息表示虚拟机登录,虚拟机 IP 为192.168.92.2

第二行root表示远程登录工具CRT通过我的电脑( IP 为192.168.92.1)登录root用户

第三行yangmi表示远程登录工具CRT通过我的电脑( IP 为192.168.92.1)登录yangmi用户

 

用户管理命令 :w
命令名称:w
命令所在路径:/usr/bin/w
执行权限:所有用户
语法:w
功能描述:查看登录用户详细信息
范例: $ w 查看登录用户详细信息

4.6 压缩解压命令

压缩解压命令 :gzip
命令名称:gzip
命令英文原意:GNU zip
命令所在路径:/bin/gzip
执行权限:所有用户
语法:gzip [文件]
功能描述:压缩文件
压缩后文件格式:.gz

$ gzip boduo 以gzip格式压缩boduo空文件(不保留原文件,但保留原目录),其中$ rm -rf  * 为删除当前所处tmp目录中所有文件及目录

兄弟连Linux学习笔记_第28张图片

 

压缩解压命令 :gunzip
命令名称:gunzip
命令英文原意:GNU unzip
命令所在路径:/bin/gunzip
执行权限:所有用户
语法:gunzip [压缩文件]
功能描述:解压缩.gz的压缩文件
范例: $ gunzip boduo.gz 对boduo.gz进行解压

文件进行压缩与解压缩,可见压缩比例达到5倍多。

兄弟连Linux学习笔记_第29张图片

 

压缩解压命令 :tar
命令名称:tar
命令所在路径:/bin/tar
执行权限:所有用户
语法:tar 选项[-zcf] [压缩后文件名] [目录]
-c 打包
-v 显示详细信息
-f 指定文件名
-z 打包同时压缩
功能描述:打包目录
压缩后文件格式:.tar.gz

范例:
$ tar -cvf Japan.tar.gz Japan将目录Japan中文件打包为.Japan.tar文件

兄弟连Linux学习笔记_第30张图片

$ tar -zcf Japan.tar.gz Japan将目录Japan中文件打包并压缩为.Japan.tar.gz文件

tar命令解压缩语法:
-x 解包
-v 显示详细信息
-f 指定解压文件
-z 解压缩
范例:$ tar -zxvf Japan.tar.gz

删除Japan目录(蓝色的为目录,白色的为文件

兄弟连Linux学习笔记_第31张图片

范例:$ tar -zxvf Japan.tar.gz 对Japan.tar.gz 进行解压缩并显示详细信息

兄弟连Linux学习笔记_第32张图片

 

压缩解压命令 :zip
命令名称:zip
命令所在路径:/usr/bin/zip
执行权限:所有用户
语法:
zip 选项[-r] [压缩后文件名] [文件或目录]
-r 压缩目录
功能描述:压缩文件或目录
压缩后文件格式:.zip

范例:$ zip buduo.zip boduo压缩文件(原文件保留,同时生成压缩文件),图中可见压缩比为80%

兄弟连Linux学习笔记_第33张图片
$ zip -r Japan.zip Japan 压缩Japan目录

兄弟连Linux学习笔记_第34张图片
 

压缩解压命令 :unzip
命令名称:unzip
命令所在路径:/usr/bin/unzip
执行权限:所有用户
语法:unzip [压缩文件]
功能描述:解压.zip的压缩文件
范例:$ unzip boduo.zip解压boduo.zip压缩文件(解压后产生解压文件boduo,同时原文件boduo.zip保留

兄弟连Linux学习笔记_第35张图片

 

压缩解压命令 :bzip2
命令名称:bzip2
命令所在路径:/usr/bin/bzip2
执行权限:所有用户
语法: bzip2 选项 [-k] [文件]
-k 产生压缩文件后保留原文件
功能描述:压缩文件
压缩后文件格式:.bz2

$ tar -cjf Japan.tar.bz2 Japan 对Japan目录进行压缩
范例:$ bzip2 -k wode 以bz2格式压缩wode文件,产生压缩文件后保留原文件

 

压缩解压命令 :bunzip2
命令名称:bunzip2
命令所在路径:/usr/bin/bunzip2
执行权限:所有用户
语法: bunzip2 选项 [-k] [压缩文件]
-k 解压缩后保留原文件
功能描述:解压缩

$ tar -xjf Japan.tar.bz2 对Japan.tar.bz2目录压缩文件进行解压
范例:$ bunzip2 -k wode.bz2 以bz2格式解压wode文件, 解压缩后保留原文件

4.7 网络命令

网络命令:write
指令名称:write
指令所在路径:/usr/bin/write
执行权限:所有用户
语法:write <用户名>
功能描述:给用户发信息,以Ctrl+D保存结束
范例: # write yangmi 输入后按下回车开始给yangmi写信,如果有输入错误,按下ctrl+backspace键进行删除,最后以Ctrl+D保存结束

$ w 可查看yagnmi是否在线

 

网络命令:wall
指令名称:wall
命令英文原意:write all
指令所在路径:/usr/bin/wall
执行权限:所有用户
语法:wall [message]
功能描述:发广播信息
范例: # wall yangmi have a boyfriend already! 发送广播信息,按下ctrl + 回车键进行广播发送(在线服务器都能收到)

 

网络命令 :ping
命令名称:ping
命令所在路径:/bin/ping
执行权限:所有用户
语法:ping 选项 IP地址
-c 指定发送次数
功能描述:测试网络连通性
范例: # ping 192.168.92.2 进行虚拟机自己的网络测试,按下ctrl + c 结束

# ping -c 3 192.168.92.2 只进行ping三次

 

网络命令 :ifconfig
命令名称:ifconfig
命令英文原意:interface configure
命令所在路径:/sbin/ifconfig
执行权限:root
语法:ifconfig 网卡名称 IP地址
功能描述:查看和设置网卡信息
范例:# ifconfig eth0 192.168.92.2 临时配置虚拟机IP地址为192.168.92.2

 

网络命令 :mail
命令名称:mail
命令所在路径:/bin/mail
执行权限:所有用户
语法:mail [用户名]
功能描述:查看发送电子邮件(对方服务器不在线也可以发送)
范例:# mail yangmi 通过root给yangmi发送一封邮件,如果有输入错误,按下ctrl+backspace键进行删除,最后以Ctrl+D保存结束

# mail 在yangmi用户中进行接收,之后输入 1 进行邮件具体内容查看,d 1 进行邮件删除,q 退出

兄弟连Linux学习笔记_第36张图片

 

网络命令 :last
命令名称:last
命令所在路径:/usr/bin/last
执行权限:所有用户
语法:last
功能描述:列出目前与过去登入系统的用户信息
范例:# last 列出目前与过去登入系统的用户信息

 

网络命令 :lastlog
命令名称:lastlog
命令所在路径:/usr/bin/lastlog
执行权限:所有用户
语法:lastlog
功能描述:检查某特定用户上次登录的时间
范例:# lastlog 检查某特定用户上次登录的时间

# lastlog -u 501 查看用户最后一次访问信息,# id yangmi 可查看yangmi用户的 ID 信息

 

网络命令 :traceroute
命令名称:traceroute
命令所在路径:/bin/traceroute
执行权限:所有用户
语法:traceroute
功能描述:显示数据包到主机间的路径(跟踪路径)
范例:# traceroute www.sina.com

兄弟连Linux学习笔记_第37张图片

由上图可知本机IPv4的DNS服务器地址为192.168.0.1(因为DNS服务器是进行域名和与之相对应的IP地址之间转换的服务器,即将www.sina.com解析为61.158.251.244的服务器,所以得首先访问),下图中VMware8中DNS也可设置192.168.0.1(不设其实也可以上网)

兄弟连Linux学习笔记_第38张图片

####################################################################################################

本电脑由于有线网线短缺,所以使用无线网WIFI进行的网络连接,然后通过无线网络共享给虚拟网络VMware8,虚拟机通过VMware虚拟网络实现网络连接,具体设置要点见下图。

1、确保无线网络已连接(即本电脑有网),且将其共享打开(本电脑网络共享给虚拟网络VMware8)

兄弟连Linux学习笔记_第39张图片

2、查看VMware8的IP地址,本电脑的WMware8的网关为233

兄弟连Linux学习笔记_第40张图片

3、虚拟机的网络设置为自定义VMware8(NET)

兄弟连Linux学习笔记_第41张图片

4、确定虚拟网络VMnet8已启用,网关233

兄弟连Linux学习笔记_第42张图片

5、查看虚拟机的IP地址(如果网关不是233则设置为233)

6、在本电脑中ping 192.168.233.128(即虚拟机的网络IP地址)

兄弟连Linux学习笔记_第43张图片

成功后本电脑和虚拟机便都可以上网啦!!!

####################################################################################################

4.8 关机重启命令

1、shutdown命令(推荐使用)
[root@localhost ~]# shutdown [选项] 时间
选项:
-c: 取消前一个关机命令
-h: 关机($ shutdown -h now 现在关机)
-r: 重启

2、其他关机命令
[root@localhost ~]# halt
[root@localhost ~]# poweroff
[root@localhost ~]# init 0

3、其他重启命令
[root@localhost ~]# reboot
[root@localhost ~]# init 6(6级别表示重启)

4、系统运行级别
0 关机
1 单用户(安全模式)
2 不完全多用户,不含NFS服务
3 完全多用户(字符界面)
4 未分配
5 图形界面(X11)
6 重启

[root@localhost ~]# cat /etc/inittab   修改系统默认运行级别
id:3:initdefault:
[root@localhost ~]# runlevel   查询系统运行级别

5、退出登录命令
[root@localhost ~]# logout 退出登录

第五讲 文本编辑器Vim

5.1 Vim常用操作

Vim 简介
Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。Vim 没有菜单,只有命令。

兄弟连Linux学习笔记_第44张图片

创建一个叫yiwofeiye.msg的编辑文件

输入 i 进入插入模式(同windows中记事本下的编辑模式)

按下 ESC键 进入命令模式,$ :set number 加行号(命令模式下输入冒号进入命令的编辑模式,命令以回车结束运行

$ :wq! 保存并退出文件后,显示下图表示保存成功

 

插入命令

兄弟连Linux学习笔记_第45张图片

 

定位命令

兄弟连Linux学习笔记_第46张图片

 

删除命令

兄弟连Linux学习笔记_第47张图片

 

复制和剪切命令

兄弟连Linux学习笔记_第48张图片

 

替换和取消命令

兄弟连Linux学习笔记_第49张图片

 

搜索和搜索替换命令

兄弟连Linux学习笔记_第50张图片

 

保存和退出命令

兄弟连Linux学习笔记_第51张图片

5.2 Vim使用技巧

导入命令执行结果 :r !命令

编辑issue文件

$ :r /etc/issue 将issue文件中的内容导入到当前文件光标所在位置

兄弟连Linux学习笔记_第52张图片

$ :r !date  将当前日期内容导入到当前文件光标所在位置


定义快捷键 :map 快捷键 触发命令
范例: : map ^P I# 使用该命令后,在命令模式时按下ctrl + p 则可以跳到行首并插入#注释号(即 I 的作用)

注:图中^P要同时按下ctrl + v + p

按下ctrl + p 便可注释当前行


$ : map ^B 0x 命令后,在命令模式下输入ctrl + b 则可取消光标当前行注释
$ :n1,n2s/^/#/g  注释连续行注释
:n1,n2s/^#//g
:n1,n2s/^/\/\//g
 替换 :ab mymail [email protected]

$ :map ^H i [email protected] 命令后,在命令模式下输入ctrl + h 则可在光标处插入此qq邮箱

将自己定义的快捷键命令写入到配置文件中,则电脑重启后仍然有效

打开yiwofeiye.msg文件,输入mymail,按下回车后将自动变成我的qq邮箱,^P与^H快捷键功能见上文。

第六讲  Linux 软件安装

6.1 软件包管理简介

1、软件包分类
源码包(脚本安装包,例如C源码包)
二进制包(RPM包、系统默认包)(即源码经过编译后生成的二进制包)

2、源码包
源码包的优点是:
开源,如果有足够的能力,可以修改源代码
可以自由选择所需的功能
软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高
卸载方便
源码包的缺点
安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误
编译过程时间较长,安装比二进制安装时间长
因为是编译安装,安装过程中一旦报错新手很难解决
3、RPM包
二进制包的优点
包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载
安装速度比源码包安装快的多
二进制包缺点:
经过编译,不再可以看到源代码
功能选择不如源码包灵活
依赖性(安装过程由于依赖性,手动安装很繁琐)

6.2 RPM包管理-rpm命令管理

6.2.1 包命名与依赖性

1、RPM包命名原则
httpd-2.2.15-15.el6.centos.1.i686.rpm(包全名)
httpd 软件包名
2.2.15  软件版本
15  软件发布的次数
el6.centos 适合的Linux平台
i686 适合的硬件平台
rpm rpm包扩展名

2、RPM包依赖性
树形依赖: a→b→c(安装时则需要按c、b、a的顺序安装,卸载时按a、b、c顺序卸载)
环形依赖: a→b→c→a
模块依赖: 模块依赖查询网站:
www.rpmfind.net

创建挂载点、把光盘放进去(挂载光盘)、进入光盘目录下、打开文件或目录

兄弟连Linux学习笔记_第53张图片

打开Packages目录

兄弟连Linux学习笔记_第54张图片

6.2.2 安装升级与卸载

1、包全名与包名
 包全名:操作的包是没有安装的软件包时,
使用包全名。而且要注意路径
 包名:操作已经安装的软件包时,使用包名。
是搜索/var/lib/rpm/中的数据库

2、RPM安装
rpm –ivh 包全名

$ mount 检测是否挂载光盘(由下图可知已挂载,如若未挂载,请看上节笔记)

进入到Packages目录下

注:按下tab键,将自动将所有以已输入开头的安装包都列出来

选项:
-i(install) 安装
-v(verbose)  显示详细信息 
-h(hash) 显示进度
--nodeps  不检测依赖性

如下图,apr安装成功

如下图,apr-util 包安装成功

如下图,apr-util- ldap 包安装成功

如下图,httpd-tools 包安装成功

将apr重装一次,检测依赖性是否已经解决了(由下图可知,apr已安装成功)

3、RPM包升级
rpm -Uvh 包全名
选项:
-U(upgrade) 升级

3、卸载
rpm -e 包名
选项:
-e(erase)  卸载
--nodeps 不检查依赖性

$ rpm -e httpd 卸载apr(阿帕奇)

6.2.3 命令管理与查询

1、查询是否安装
[root@localhost ~]# rpm -q 包名                     # 查询 httpd(阿帕奇) 包是否安装


选项:
-q  查询(query)

-a  所有(all)
[root@localhost ~]# rpm –qa                         # 查询所有已经安装的 RPM 包

[root@localhost ~]# rpm –qa | grep httpd                     # 查询所有已经安装的 与httpd有关的RPM 包

 

2、查询软件包详细信息
[root@localhost ~]# rpm –qi 包名    
选项:
-i  查询软件信息(information)
-p  查询未安装包信息(package)

# rpm –qi httpd          #查询软件包httpd详细信息

查询未安装包的详细信息

 

3、查询包中文件安装位置
[root@localhost ~]# rpm –ql 包名
选项:
-l  列表(list)
-p  查询未安装包信息(package)

# rpm –ql httpd          #查询软件包httpd的文件安装位置

兄弟连Linux学习笔记_第55张图片

 

4、查询系统文件属于哪个RPM包
[root@localhost ~]# rpm –qf 系统文件名
选项:
-f 查询系统文件属于哪个软件包(file)

# rpm –qf  /var/www/icons/up.gif          #查询系统文件 up.gif 属于哪个RPM包

 

5、查询软件包的依赖性
[root@localhost ~]# rpm –qR 包名
选项:
-R 查询软件包的依赖性(requires)
-p 查询未安装包信息(package)

# rpm –qR httpd          #查询软件包httpd(阿帕奇)属于哪个RPM包

兄弟连Linux学习笔记_第56张图片

6.2.4 校验和文件提取

1、RPM包校验
[root@localhost ~]# rpm –V 已安装的包名
选项:
-V 校验指定RPM包中的文件(verify)

无提示,可见未修改过

修改 /etc/httpd/conf/httpd.conf 目录下的httpd.conf文件

保存后,再校验得

可见S、5、T改变了

验证内容中的8个信息的具体内容如下:
S  文件大小是否改变
M 文件的类型或文件的权限(rwx)是否被改变
5  文件MD5校验和是否改变(可以看成文件内容是否
改变)
D  设备的中,从代码是否改变
L  文件路径是否改变
U  文件的属主(所有者)是否改变
G  文件的属组是否改变
T  文件的修改时间是否改变

文件类型
c  配置文件(config file)
d  普通文档(documentation)
g  “鬼”文件(ghost file),很少见,就是该文件不
应该被这个RPM包包含
l  授权文件(license file)
r  描述文件(read me)

 

2、RPM包中文件提取
[root@localhost ~]# rpm2cpio 包全名 | \
cpio -idv .文件绝对路径
rpm2cpio 
# 将 rpm 包转换为 cpio 格式的命令
cpio
# 是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件

[root@localhost ~]# cpio 选项 < [文件|设备]
选项:
-i:copy-in模式,还原
-d:还原时自动新建目录
-v:显示还原过程

[root@localhost ~]# rpm -qf /bin/ls
# 查询 ls 命令属于哪个软件包


[root@localhost ~]# mv /bin/ls /tmp/
# 将ls命令所在的文件移动到tmp中,造成 ls 命令误删除假象,则ls命令失效


[root@localhost ~]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls
# 提取 RPM 包中 ls 命令复制到当前目录的 /bin/ls 下

兄弟连Linux学习笔记_第57张图片
[root@localhost ~]# cp /root/bin/ls /bin/


# 把 ls 命令复制会 /bin/ 目录,修复文件丢失

6.3 RPM包管理-yum在线管理(自动在线安装)

6.3.1 IP地址配置和网络yum源

1、IP地址配置
[root@localhost ~]# setup               #使用setup工具

兄弟连Linux学习笔记_第58张图片

兄弟连Linux学习笔记_第59张图片
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
把ONBOOT=“no” 改为
ONBOOT=“yes“
#启动网卡

兄弟连Linux学习笔记_第60张图片
[root@localhost ~]# service network restart           #重启网络服务

兄弟连Linux学习笔记_第61张图片

注:在局域网(即不是直接拨号上网,如学校、公司等连的wifi)中,有IP、子网掩码就可以了。

如果要直接访问互联网(拨号上网,即直接插网线),IP、子网掩码、网关、DNS,缺一不可。

$ ping www.sina.com.cn 确保虚拟机能够访问互联网,按下ctrl + c 结束访问

2、网络yum源(即网络地址池)
[root@localhost yum.repos.d]# vi /etc/yum.repos.d/CentOS-Base.repo 打开CentOS-Base.repo文件


 [base] 容器名称,一定要放在[]中
 name 容器说明,可以自己随便写
 mirrorlist  镜像站点,这个可以注释掉
 baseurl  我们的yum源服务器的地址。默认是CentOS官方的yum源服务
器,是可以使用的,如果你觉得慢可以改成你喜欢的yum源地

 enabled  此容器是否生效,如果不写或写成enable=1都是生效,写成
enable=0就是不生效
 gpgcheck  如果是1是指RPM的数字证书生效,如果是0则不生效
 gpgkey  数字证书的公钥文件保存位置。不用修改

6.3.2 yum命令

1、常用yum命令
1)查询
[root@localhost yum.repos.d]# yum list                            # 查询所有可用软件包列表

截图的几个软件包属于base容器
[root@localhost yum.repos.d]# yum search 关键字                     # 搜索服务器上所有和关键字相关的包

$ yum search httpd 搜索服务器上和httpd相关的包

2)安装
[root@localhost yum.repos.d]# yum –y install 包名
选项:
install  安装
-y 自动回答yes

$  yum -y install gcc便可以自动完成gcc编译器的安装,不需要考虑依赖性,相当于会自动安装(所有的源码包必须通过gcc编译器才能翻译成计算机可以识别的机器语言

[root@localhost ~]# rpm -q 包名                     # 查询 gcc 包是否安装

可见gcc包安装成功

3)升级
[root@localhost yum.repos.d]# yum -y update 包名
选项:
update  升级
-y 自动回答yes

 

4)卸载(不是很安全)
[root@localhost yum.repos.d]# yum -y remove 包名
选项:
remove  卸载
-y     自动回答yes

 

2、YUM软件组管理命令
[root@localhost ~]# yum grouplist                  #列出所有可用的软件组列表

兄弟连Linux学习笔记_第62张图片
[root@localhost ~]# yum groupinstall 软件组名               #安装指定软件组,组名可以由grouplist查询出来
[root@localhost ~]# yum groupremove 软件组名            #卸载指定软件组

6.4 源码包管理

6.4.1 源码包和RPM包的区别

1、区别
安装之前的区别:概念上的区别
安装之后的区别:安装位置不同

2、RPM包安装位置
是安装在默认位置中

兄弟连Linux学习笔记_第63张图片

3、源码包安装位置
 安装在指定位置当中,一般是
/usr/local/软件名/

$ rpm -ql httpd 查看阿帕奇安装包的安装位置

兄弟连Linux学习笔记_第64张图片

4、安装位置不同带来的影响
RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的apache的启动方法是:
 /etc/rc.d/init.d/httpd start(启动方法一)


 service httpd start(启动方法二)

而源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中。所以只能用绝对路径进行服务的管理,如:
 /usr/local/apache2/bin/apachectl start

 

 

 

你可能感兴趣的:(运维,CentOS)