《LINUX学习:Linux基础之常用命令集锦图文详解》要点:
本文介绍了LINUX学习:Linux基础之常用命令集锦图文详解,希望对您有用。如果有疑问,可以联系我们。
Linux根基之常用命令练习-init,who,date,cal,man,clear,passwd,su,whoami,mkdir,touch,rm,cp,mv,head,tail,more,less,echo
开启Linux操作体系,要求以root用户登录GNOME图形界面,语言支持选择为汉语
使用快捷键切换到虚拟终端2,使用通俗用户身份登录,查看系统提示符
使用敕令退出虚拟终端2上登录的用户
使用快捷键切换到虚拟终端5,使用治理员身份登录,查看系统提示符
使用敕令退出虚拟终端5上登录的用户
切回图形界面,右单击桌面打开终端,输入封闭系统的命令
查看哪些用户在系统上事情
改动当前时间为2018年8月26号11:28
查看2015年10月份日历
使用两种办法查看ls命令的使用说明
肃清屏幕
使用“useradd tom”命令新建tom用户,为tom用户设置暗码“123”
切换当前用户为tom
查看当前登岸Linux系统所使用的用户名
使用“useradd tom”命令新建tom用户,为tom用户设置暗码“123”
切换当前用户为tom
查看当前登岸Linux系统所使用的用户名
开启Linux操作体系,要求以root用户登录GNOME图形界面
右击桌面打开终端,使用“useradd lucy”命令创立lucy用户
使用鼠标点击的办法进入根目录
点击进入root用户的家目次
点击进入lucy用户的家目次
点击进入用来寄存常用的可执行文件的目录
点击进入用来寄存系统的可执行文件的目录
点击进入设备文件目次
点击进入配置文件目次
创立目录wg
使用绝对路径的办法在wg目录下新建文件a.txt
进入wg目次
使用相对路径的办法在当前目录下新建wg01目录和b.txt文件
以长列表格局列出当前目录下的内容
删除空目次wg01
进入上一级工作目次
强制删除非空目次wg
复制/etc/passwd到当前目次,名为file1
PS.更新,复制/etc/passwd到当前目次,名为file2
不绝的以只读的方式查看file1文件的内容
查看file1文件的前3行内容
查看file1文件的后2行内容
以百分比的方式分页查看file1文件的内容
以上下翻页的办法分页查看file1文件的内容
创建如下目录布局
sh-3.2# tree /FtpServer/
/FtpServer/
├── bin
│ ├── register.py
│ └── start.py
├── conf
│ └── settings.py
├── core
│ └── server.py
├── db
│ └── user.db
├── lib
│ └── common.py
└── log
└── access.log
1:切换到路径/tmp下,以追加的方式往start.py内写入内容
2:查看当前地点的路径
3:切换到log目次下,新建目次access,然后把access.log移动到该目次下.
4:切换到core目次下,然后在该路径下新建auth.py文件
5. 开启两个终端,一个终端往access.log文件中追加内容,然后在另外一个终端动态查看access.log新增的内容.
6. 封闭上述的终端,然后以覆盖的方式往access.log中写入内容
7: 删除/FtpServer目次
更多详情见请继续阅读下一页的出色内容:
_baidu_page_break_tag_Linux根基之常用命令练习-useradd(mod,del),groupadd(mod,del),chmod,chown
作业一:
1) 新建用户natasha,uid为1000,gid为555,备注信息为“master”
2) 改动natasha用户的家目录为/Natasha
3) 查看用户信息配置文件的末了一行
4) 为natasha用户设置暗码“123”
5) 查看用户暗码配置文件的最后一行
6) 将natasha用户账户锁定
7) 将natasha用户账户解锁
8) 新建组police,gid为999
9) 查看组配置文件的末了一行
10) 将natasha用户参加police组
11) 改动police组的组名为jingcha
12) 删除natasha用户,连家目次和邮箱一起删除
13) 删除jingcha组
作业二:
1) 在用户的主目录下创立目录test,进入test创立空文件file1
2) 以长格局形式显示文件信息,注意文件的权限和所属用户和组
3) 为文件file1设置权限,使其他用户可以对此文件进行写操作.
4) 查看设置成果,
5) 撤消同组用户对文件file1的读取权限,并查看设置结果.
6) 用数字表现法为文件file设置权限,所有者可读、可写、可执行,所属组用户和其他用户只具有读和执行的权限.设置完成后查看设置结果.
7) 用数字形式变动文件file1的权限,使所有者只能读取此文件.其他任何用户都没有权限.查看设置结果.
8) 回到上层目次,查看test的权限
9) 为其他用户添加对此目次的写权限
作业三:
以操作文件的方式,新建一个用户alex
作业四:
1) 新建目次/test/dir,属主为tom,数组为group1,/test目次的权限为777
2) 新建用户jack,切换到jack用户下,验证jack用户对dir目录的rwx权限(开启另外一个终端,依次改动dir目录的others权限)
3)将jack参加group1组,验证jack用户对dir目录的rwx权限(开启另外一个终端,依次修改dir目录的group权限)
4)切换到tom用户,验证tom用户对dir目录的rwx权限(开启另外一个终端,依次改动dir目录的user权限)
5)在dir目次内新建文件tom.txt,属主为tom,属组为group1,/test目次的权限为777
6)新建用户rose,切换到rose用户下,验证rose用户对tom.txt的rwx权限(开启另外一个终端,依次改动tom.txt的others权限来配合验证过程)
7)将rose参加group1组,在rose用户下,验证rose用户对tom.txt的rwx权限(开启另外一个终端,依次修改tom.txt的group1权限来配合验证过程)
参考材料
_baidu_page_break_tag_
Linux根基之常用命令练习-文件管理:cat,tar,gzip,vim,ln
一. 文件归并
cat命令的用途是连接文件或尺度输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从尺度输入读取内容并显示,它常与重定向符号配合使用.
1.命令格局:
cat [选项] [文件]...
2.命令功效:
cat主要有三年夜功能:
1.一次显示整个文件:cat filename
2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编纂已有文件.
3.将几个文件归并为一个文件:cat file1 file2 > file
3.敕令参数:
-A, --show-all 等价于 -vET
-b, --number-nonblank 对非空输出行编号
-e 等价于 -vE
-E, --show-ends 在每行停止处显示 $
-n, --number 对输出的所有行编号,由1开端对所有输出的行数编号
-s, --squeeze-blank 有持续两行以上的空白行,就代换为一行的空白行
-t 与 -vT 等价
-T, --show-tabs 将跳格字符显示为 ^I
-u (被疏忽)
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
二. 文件打包
tar命令可以为linux的文件和目录创建档案.利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中参加新的文件.tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案.利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的.
首先要弄清两个概念:打包和压缩.打包是指将一大堆文件或目录酿成一个总的文件;压缩则是将一个大的文件通过一些压缩算法酿成一个小文件.
为什么要区分这两个概念呢?这源于Linux中很多压缩法式只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩法式进行压缩(gzip bzip2命令).
linux下最常用的打包程序便是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的.生成tar包后,就可以用其它的程序来进行压缩.
1.命令格局:
tar[需要参数][选择参数][文件]
2.命令功效:
用来压缩和解压文件.tar自己不具有压缩功能.他是调用压缩功能实现的
3.敕令参数:
需要参数有如下:
-A 新增紧缩文件到已存在的紧缩
-B 设置区块年夜小
-c 树立新的压缩文件
-d 记录文件的差异
-r 添加文件到已经紧缩的文件
-u 添加转变了和现有的文件到已经存在的压缩文件
-x 从紧缩的文件中提取文件
-t 显示紧缩文件的内容
-z 支持gzip解压文件
-j 支持bzip2解压文件
-Z 支持compress解压文件
-v 显示操作进程
-l 文件系统界限设置
-k 保存原有文件不覆盖
-m 保存文件不被覆盖
-W 确认紧缩文件的正确性
可选参数如下:
-b 设置区块数量
-C 切换到指定目次
-f 指定紧缩文件
--help 显示赞助信息
--version 显示版本信息
三. 文件紧缩
gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用.gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比拟流行的压缩文件格式.据统计,gzip命令对文本文件有60%~70%的压缩率.
1.命令格局:
gzip[参数][文件或者目次]
2.命令功效:
gzip是个使用广泛的压缩法式,文件经它压缩过后,其名称后面会多出".gz"的扩展名.
3.敕令参数:
-a或--ascii 使用ASCII笔墨模式.
-c或--stdout或--to-stdout 把压缩后的文件输出到尺度输出设备,不去更动原始文件.
-d或--decompress或----uncompress 解开紧缩文件.
-f或--force 强行压缩文件.不睬会文件名称或硬连接是否存在以及该文件是否为符号连接.
-h或--help 在线赞助.
-l或--list 列出紧缩文件的相关信息.
-L或--license 显示版本与版权信息.
-n或--no-name 压缩文件时,不保留原来的文件名称及时间戳记.
-N或--name 压缩文件时,保留原来的文件名称及时间戳记.
-q或--quiet 不显示警告信息.
-r或--recursive 递归处置,将指定目录下的所有文件及子目录一并处置.
-S<压缩字尾字符串>或----suffix<压缩字尾字符串> 变动压缩字尾字符串.
-t或--test 测试紧缩文件是否正确无误.
-v或--verbose 显示指令执行进程.
-V或--version 显示版本信息.
-num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩办法(低压缩比),-9或--best表示最慢压缩办法(高压缩比).系统缺省值为6.
四. Vim是从 vi 发展出来的一个文本编辑器.代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方. vim 则可以说是程序开发者的一项很好用的工具. 连 vim 的官方网站 (http://www.vim.org) 本身也说 vim 是一个程序开发工具而不是文字处理软件.
基本上 vi/vim 共分为三种模式,分别是一般模式、编纂模式与指令列命令模式. 这三种模式的作用分别是:
简单的说,我们可以将这三个模式想成底下的图标来表示:
vim 键盘图:
vim命令合集 不保证精确性,仅供参考,验证.
五. i节点,软/硬链接
1. i节点实际上是一个数据布局,它存放了有关一个普通文件、目录或其他文件系统对象的基本信息;
2. Linux ln命令是一个非常重要命令,它的功能是为某一个文件在另外一个地位建立一个同步的链接.
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必需相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间.
ln [参数][源文件或目录][目标文件或目录]
此中参数的格式为
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
[--help] [--version] [--]
命令功能 :
Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别号,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置.硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统.
岂论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间.
软链接:
硬链接:
需要参数:
选择参数:
给文件创立软链接,为log2013.log文件创立软链接link2013,如果log2013.log丢失,link2013将失效:
ln -s log2013.log link2013
输出:
[root@localhost test]# ll
-rw-r--r-- 1 root bin 61 11-13 06:03 log2013.log
[root@localhost test]# ln -s log2013.log link2013
[root@localhost test]# ll
lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 1 root bin 61 11-13 06:03 log2013.log
给文件创立硬链接,为log2013.log创立硬链接ln2013,log2013.log与ln2013的各项属性相同
ln log2013.log ln2013
输出:
[root@localhost test]# ll
lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 1 root bin 61 11-13 06:03 log2013.log
[root@localhost test]# ln log2013.log ln2013
[root@localhost test]# ll
lrwxrwxrwx 1 root root 11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 2 root bin 61 11-13 06:03 ln2013
-rw-r--r-- 2 root bin 61 11-13 06:03 log2013.log
_baidu_page_break_tag_
Linux根基之常用命令练习-fdisk,mkfs,mlabel,mount,umount,mkswap,swapon,dd,top,free,ps,kill,rpm,yum,make
1. 在Linux系统中,一切皆文件.每个设备都被看成一个文件来对待.
常见的存储装备在Linux系统中的文件名如下表所示:
2. 对硬盘进行分区有以下长处:
a. 更容易管理和控制系统,因为相关的文件和目录都放在一个分区中;
b. 系统效率更高;
c. 可以限制用户使用硬盘的份额(磁盘空间的年夜小);
d. 更容易备份和恢复.
3. Linux体系中硬盘的分区:
a. 硬盘的分区有主分区,扩大分区和逻辑分区三种;
b. 一块硬盘最多可以分4个主分区;
c. Linux操作系统的内核支持每个硬盘上的分区数量还是有必定限制的,视硬盘类型而不同.
4. 使用fdisk和partprobe命令来治理硬盘分区:
a. fdisk
fdisk [需要参数][选择参数]
需要参数:
选择参数:
菜单操作阐明
b. partprobe,重新初始化内存中内核的分区表.
5. 创建文件系统:
a. 所谓的格式化便是将分区中的硬盘空间划分成大小相等的一些数据块(Blocks),以及设定这个分区中有多少个i节点可以使用等;
b. 文件系统是操作系统用于明确磁盘或分区上的文件的办法和数据结构;即在磁盘上组织文件的办法;
c. 常用的文件系统类型:ext2:Linux系统中尺度的文件系统;ext3:一种日志式文件系统;ext4:一种针对ext3系统的扩展日志式文件系统;lvm:逻辑盘卷管理 ;iso9660:目前唯一通用的光盘文件系统;
d. mkfs命令用于在特定的分区上树立 linux 文件系统:
使用方式 : mkfs [-V] [-t fstype] [fs-options] filesys [blocks]
Linux mkfs命令用于在特定的分区上树立 linux 文件系统
参数 :
例子:将sda6分区格式化为ext3格式:a. mfks -t ext3 /dev/sda6;b. mfks.ext3 /dev/sda6
e. mlabel,设定或查看一个设备的label名称.如果磁盘上设定过标签,mlabel 会将他显示给使用者.如果没有指定新标签而且没有指定 c 或 s 选项,mlabel 会提示使用者输入新的标签.如果直接按下 Enter ,就会将原本的标签删除.
mlabel [-vcs] drive:[new_label]
参数阐明:
将 A 盘的标签变动为 newlabel.
mlabel a:newlabel
6. 文件体系的挂载与卸载(mount,umount):
挂载指将一个设备(通常是存储设备)挂接到一个已存在的目次上
mount [-hV]
mount -a [-fFnrsvw] [-t vfstype]
mount [-fnrsvw] [-o options [,...]] device | dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir
参数阐明:
将 /dev/hda1 挂在 /mnt 之下.
#mount /dev/hda1 /mnt
将 /dev/hda1 用唯读模式挂在 /mnt 之下.
#mount -o ro /dev/hda1 /mnt
将 /tmp/image.iso 这个光碟的 image 档使用 loop 模式挂在 /mnt/cdrom之下.用这种办法可以将一般网络上可以找到的 Linux 光 碟 ISO 档在不烧录成光碟的情况下检视其内容.
#mount -o loop /tmp/image.iso /mnt/cdrom
umount [-ahnrvV][-t <文件体系类型>][文件体系]
参数���
下面两条命令分离通过设备名和挂载点卸载文件系统,同时输出详细信息:
# umount -v /dev/sda1 通过装备名卸载
/dev/sda1 umounted
# umount -v /mnt/mymount/ 通过挂载点卸载
/tmp/diskboot.img umounted
如果设备正忙,卸载即告失败.卸载失败的常见原因是,某个打开的shell当前目次为挂载点里的某个目次:
# umount -v /mnt/mymount/
umount: /mnt/mymount: device is busy
umount: /mnt/mymount: device is busy
7. 虚拟内存的观点以及设置与管理:
a. 所谓虚拟内存便是一块硬盘空间被当做内存使用,也被称为交换分区(swap);
b. Linux互换分区的类型为:0x82;
c. mkswap,将磁盘分区或文件设为Linux的互换区
mkswap [-cf][-v0][-v1][设备名称或文件][交换区年夜小]
参数:
d. swapon,激活Linux系统中交换空间,Linux系统的内存管理必需使用交换区来建立虚拟内存
/sbin/swapon -a [-v]
/sbin/swapon [-v] [-p priority] specialfile ...
/sbin/swapon [-s]
参数阐明:
swapon 是开启swap.
相对的,便有一个封闭swap的指令,swapoff.
演习项目:
1. 开启Linux系统前添加一块年夜小为20G的SCSI硬盘
2. 开启系统,右击桌面,打开终端
3. 为新加的硬盘分区,一个主分区年夜小为10G,剩余空间给扩展分区,在扩展分区上划分1个逻辑分区,年夜小为5G
4. 格式化主分区为ext3系统
5. 将逻辑分区设置为交换分区
6. 启用上一步的交换分区
7. 查看交换分区的状态
8. 使用”dd“敕令来测试硬盘读写速度
dd命令用于读取、转换并输出数据.dd可从尺度输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或尺度输出.
参数阐明:
1. top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.
top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
参数阐明:
2. free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等.
free [-bkmotV][-s <间隔秒数>]
参数阐明:
3. 系统中进程的监控与治理—ps,pstree,kill,pkill,pgrep
a. 进程是法式的一次动态执行;
b. 守护过程是在后台运行并提供系统服务的一些过程;
c. 当一个进程创立另一个进程时,第1个进程被称为新进程的父进程,而新进程被称为子进程;
d. ps命令用于显示当前过程 (process) 的状态
ps [options] [--help]
参数:
e. pstree命令将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root),如果有指定使用者 id,则树状图会只显示该使用者所拥有的行程
pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]
或
pstree -V
参数阐明:
f. kill命令用于删除执行中的程序或工作,kill可将指定的信息送至程序.预设的信息为SIGTERM(15),可将指定程序终止.若仍无法终止该程序,可使用SIGKILL(9)信息测验考试强制删除程序.程序或工作的编号可利用ps指令或jobs指令查看
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
参数阐明:
g. pkill,通过名称或其他属性发信号给进程,例如:杀死名为firefox的进程的命令为:pkill firefox;
h. pgrep,通过名称或其他属性查找过程,例如:查找名为firefox的过程的命令为:pgrep firefox.
1. 使用rpm安装及移除软件
a. RPM就是Red Hat Package Manger(红帽软件担保理工具)的缩写;
b. rpm的文件名分为5部分;name(软件包名称)-version(版本编号)-release(发布次数,修正号码)-architectures(适用平台)-rpm(文件格式,有时会暗藏掉)
rpm [-acdhilqRsv][-b<完成阶段><套间档>+][-e<套件挡>][-f<文件>+][-i<套件档>][-p<套件档>+][-U<套件档>][-vv][--addsign<套件档>+][--allfiles][--allmatches][--badreloc][--buildroot<根目录>][--changelog][--checksig<套件档>+][--clean][--dbpath<数据库目录>][--dump][--excludedocs][--excludepath<排除目录>][--force][--ftpproxy<主机名称或IP地址>][--ftpport<通信端口>][--help][--httpproxy<主机名称或IP地址>][--httpport<通信端口>][--ignorearch][--ignoreos][--ignoresize][--includedocs][--initdb][justdb][--nobulid][--nodeps][--nofiles][--nogpg][--nomd5][--nopgp][--noorder][--noscripts][--notriggers][--oldpackage][--percent][--pipe<执行指令>][--prefix<目的目录>][--provides][--queryformat<档头格式>][--querytags][--rcfile<配置档>][--rebulid<套件档>][--rebuliddb][--recompile<套件档>][--relocate<原目录>=<新目录>][--replacefiles][--replacepkgs][--requires][--resign<套件档>+][--rmsource][--rmsource<文件>][--root<根目录>][--scripts][--setperms][--setugids][--short-circuit][--sign][--target=<安装平台>+][--test][--timecheck<检查秒数>][--triggeredby<套件档>][--triggers][--verify][--version][--whatprovides<功能特性>][--whatrequires<功能特性>]
参数阐明:
安装软件
# rpm -hvi dejagnu-1.4.2-10.noarch.rpm
警告:dejagnu-1.4.2-10.noarch.rpm: V3 DSA 署名:NOKEY, key ID db42a60e
准备...
########################################### [100%]
显示软件安装信息
# rpm -qi dejagnu-1.4.2-10.noarch.rpm
演习项目:
1. 挂载光盘文件到/media目录
2. 进去/media目录下的Packages目录
3. 查看系统已安装的所有rpm包
4. 查看系统是否安装dhcp软件包
5. 安装dhcp软件包
6. 查看dhcp软件包的信息
7. 查看dhcp软件包中所包括的所有文件
8. 查看/bin/ls文件是由哪个软件包产生
9. 卸载dhcp软件包
2. yun治理rpm软件包
a. yum是Yellow dog Updater, Modified的缩写,目的就是为了办理RPM的依赖关系的问题,方便使用者进行软件的安装、升级等等工作;
b. yum的配置一般有两种方式,一种是直接配置/etc目次下的yum.conf文件,另外一种是在/etc/yum.repos.d目次下增加.repo文件;
c. 当地仓库配置
[root@localhost ~]# mount /dev/cdrom /mnt #挂载光盘到/mnt目录
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
rhel-source.repo
[root@localhost yum.repos.d]# cp rhel-source.repo rhel.repo #拷贝一份配置文件
[root@localhost yum.repos.d]# vi rhel.repo #编纂配置文件如下[rhel-local] #模块名称,须修改不能与其他.repo文件中的重名name=Red Hat Enterprise Linux 6 local repo #名称随便起baseurl=file:///mnt #指定rpm仓库的位置
enabled=1 #1开启该配置,0为关闭
gpgcheck=1 #1为校对软件
[root@localhost ~]# yum install vsftpd httpd #安装vsftpd及httpd服务
d. yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件担保理器.基於RPM担保理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装.yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记.
yum [options] [command] [package ...]
练习项目:
1. 自界说yum仓库:createrepo
2. 自界说repo文件
3. 使用yum命令安装httpd软件包
4. 卸载httpd软件包:yum –y remove 软件名
5. 使用yum安装组件'KDE 桌面':yum –y groupinstall 组件名
6. 掌握使用yum删除组件‘KDE 桌面’:yum –y groupremove 组件名
7. 掌握清除yum缓存:yum clean all
8. 使用yum查找软件包:yum search 软件包名
3. 源码安装软件包
a. 计算机里面运行的所有东西都是用程序编出来的(包含操作系统,如Windows,还有Word等,网络游戏也一样),而编写程序要用到计算机语言,用计算机语言直接编出来的程序就叫源码,比如用VisualBasic编写的源码文件一般为.bas文件,而用C++编写的一般为.cpp文件,源代码不能直接运行,必须编译后才能运行.源码经过编译处理后就可以直接在操作系统下运行了;
b. 源码软件未经编译,便利人们修改;
c. 本实例为安装“Python3.6”源码软件包,必要Linux安装开发工具;
_baidu_page_break_tag_Linux根基之常用命令练习-nginx,nfs
一. Nginx
Nginx("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗斯拜访量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日.其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗及并发能力强而闻名.
1. nginx的安装(yum安装)
首先需要安装epel软件源,因为它里面包括了许多基本源里没有的软件,方便nginx的安装;yum install epel-release -y
安装完epel后接着就可以安装nginx了;yum install nginx -y
nginx配置文件默认应该在"/etc/nginx/nginx.conf",可以使用vim编纂修改配置
# Info : The conf for nginx
# Author : dingtm
# CTime : 2010.07.01
user www www; #运行NGINX所使用的用户和组
worker_processes 4; #nginx进程数,建议按照cpu数目来指定,一般为它的倍数,每个进程消耗约10M内存
error_log /data/logs/nginx/error.log crit;
pid /elain/apps/nginx/nginx.pid;
worker_rlimit_nofile 65535; #nginx能打开文件的最大句柄数,最好与ulimit -n的值保持一致,使用ulimit -SHn 65535 设置
events {
use epoll; #使用epoll的I/O模型
connections 20000; #每个进程允许的最多连接数
worker_connections 65535; #该值受系统进程最大打开文件数限制,需要使用命令ulimit -n 查看当前设置
maxclients=65535*2
}
http {
include mime.types; #mine.types内定义各文件类型映像
types {
text/html html;
image/gif gif;
image/jpeg jpg;
image/png png;
}
default_type application/octet-stream; #设置默认类型是二进制流,若未设置时,比如未加载PHP时,是不予解析,用浏览器访问则出现下载窗口
server_names_hash_bucket_size 128; #不能带单位!配置个主机时必须设置该值,否则无法运行Nginx或测试时不通过,该设置与server_names_hash_max_size 共同控制保存服务器名的HASH表,hash bucket size总是等于hash表的大小,并且是一路处理器缓存大小的倍数.若hash bucket size等于一路处理器缓存的大小,那么在查找键的时候,最坏的情况下在内存中查找的次数为2.第一次是确定存储单元的地址,第二次是在存储单元中查找键 值.若报出hash max size 或 hash bucket size的提示,则我们需要增加server_names_hash_max_size的值.
client_header_buffer_size 128k; #客户端哀求头部的缓冲区大小,根据系统分页大小设置,分页大小可用命令getconf PAGESIZE取得
large_client_header_buffers 4 128k; #4为个数,128k为大小,默认是4k.申请4个128k.当http 的URI太长或者request header过大时会报414 Request URI too large或400 bad request,这是很有可能是cookie中写入的值太大造成的,因为header中的其他参数的size一般比较固定,只有cookie可能被写入较 大的数据,这时可以调大上述两个值,相应的浏览器中cookie的字节数上限会增大.
client_max_body_size 8m; #HTTP哀求的BODY最大限制值,若超出此值,报413 Request Entity Too Large
open_file_cache max=65535 inactive=20s; #max指定缓存数量,建议和打开文件数一致,inactive是指经过多长时间文件没被哀求后删除缓存.
open_file_cache_valid 30s; #指多长时间检查一次缓存的有效信息
open_file_cache_min_uses 1; #open_file_cache指令中的inactive参数时间内文件的最少使用次数,如果超过这个数字,文件描述符一直是在缓存中打开的,如上例, 如果有一个文件在inactive时间内一次没被使用,它将被移除.
server_tokens off; #关闭错误时Nginx版本显示
#提高文件传输性能
sendfile on; #打开系统函数sendfile()支持
tcp_nopush on; #打开linux下TCP_CORK,sendfile打开时才有效,作减少报文段的数量之用
keepalive_timeout 60; #keepalive超时时间
tcp_nodelay on; #打开TCP_NODELAY在包含了keepalive才有效
fastcgi_connect_timeout 300; #指定连接到后端FastCGI的超时时间
fastcgi_send_timeout 300; #向FastCGI传送哀求的超时时间,这个值是指已经完成两次握手后向FastCGI传送哀求的超时时间.
fastcgi_read_timeout 300; #接收FastCGI应答的超时时间,这个值是指已经完成两次握手后接收FastCGI应答的超时时间.
fastcgi_buffer_size 64k; #这里可以设置为fastcgi_buffers指令指定的缓冲区大小
fastcgi_buffers 16 16k; #指定本地需要用多少和多大的缓冲区来缓冲FastCGI的应答
fastcgi_busy_buffers_size 128k; #建议为fastcgi_buffers的两倍
fastcgi_temp_file_write_size 128k; #在写入fastcgi_temp_path时将用多大的数据块,默认值是fastcgi_buffers的两倍,设置上述数值设置太小时若负载上来时可能报 502 Bad Gateway
fastcgi_cache dingtm #开启FastCGI缓存并且为其制定一个名称,有效降低CPU负载,并且防止502错误
fastcgi_cache_valid 200 302 1h; #指定应答代码缓存时间为1小时
fastcgi_cache_valid 301 1d; #1天
fastcgi_cache_valid any 1m; #其它为1分钟
fastcgi_cache_min_uses 1; #缓存在fastcgi_cache_path指令inactive参数值时间内的最少使用次数 f
gzip on; #打开GZIP压缩,实时压缩输出数据流
gzip_min_length 1k; #从Content-Length中数值获取验证,小于1K会越压越大
gzip_buffers 4 16k; #以16K为单位4倍的申请内存做压缩结果流缓存
gzip_http_version 1.1;
gzip_comp_level 3; #压缩比率1-9,1压缩比最小处理速度最快,9压缩比最大但处理最慢且耗CPU
gzip_types text/plain application/x-javascript text/css application/xml; #压缩类型
include vhosts/*.conf; #虚拟主机
}
#虚拟主机
server {
listen 80;
server_name www.elain.org; #多域名用空格隔开
index index.php index.html index.shtml;
root /elain/data/htdocs/elain;
#limit_conn connlimit 20; #限制一个IP只能最多只能发起20个连接,超过报 503 Service unavailable,可防止恶意连接
access_log /elain/logs/nginx/access_www.elain.org.log access;
error_log /elain/logs/nginx/error_www.elain.org.log;
location / {
ssi on; #WEB文档根目录打开SSI支持
ssi_types text/html;
ssi_silent_errors off; #处理SSI出错时不提示
}
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
access_log off;
expires 30d;
}
location ~ .*.(js|css)?$ {
expires 1h;
add_header Cache_Control private;
}
location ~ /.ht {
deny all;
}
location /NginxStatus { #设定查看Nginx状态的地址
stub_status on;
access_log off;
auth_basic “NginxStatus”; #标识
auth_basic_user_file conf/.htpasswd; #网页加密,提示登录框,输入用户名和密码可查看
}
location ~ .*.(php|php5)?$ { #匹配文件后缀php, php5
#fastcgi_pass unix:/tmp/php-cgi.sock; #SOCKET方式转交fastcgi处理
fastcgi_pass 127.0.0.1:9000; #9000端口方式fastcgi
fastcgi_index index.php;
include fastcgi_params; #包含fastcgi配置
#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
设置完nginx.conf后应该先将linux系统的防火墙关掉,因为其会阻止远程对nginx默认端口80的拜访;命令:systemctl stop firewalld(关掉防火墙),systemctl disable firewalld(开机不启动防火墙)selinux 阻止了html文件下几个html文件的远程被拜访,需要修改selinux配置文件;命令:vim /etc/selinux/config,将第二个SELINUX=disabled,保存退出,重启系统;
此时,就可以启动nginx服务了,敕令:systemctl start nginx(启动nginx),systemctl enable nginx(设为开机启动).
2. nginx的安装(源码安装)-这位年夜神已经写得很详细了.
3. nginx的设置装备摆设使用
4. nginx平衡负载(LB)
负载均衡技术是构建大型网站必不可少的架构策略之一.它的目的是,把用户的哀求分发到多台后端的设备上,用以均衡服务器的负载.
Nginx负载均衡器的特点是:
1). 工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构;
2). Nginx安装和配置比较简单,测试起来比较方便;
3). 也可以承担高的负载压力且稳定,一般能支撑超过上万次的并发;
4). Nginx可以通过端口检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的哀求重新提交到另一个节点,不过其中缺点就是不支持url来检测;
5). Nginx对哀求的异步处理可以帮助节点服务器减轻负载;
6). Nginx能支持http和Email,这样就在适用范围上面小很多;
7). 默认有三种调度算法: 轮询、weight以及ip_hash(可以解决会话保持的问题),还可以支持第三方的fair和url_hash等调度算法;
二. nfs
NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络拜访位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法.
NFS 的基来源根基则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享.
NFS在文件传送或信息传送过程中依赖于RPC协议.RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制.NFS自己是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议.而这些传输协议用到这个RPC功能的.可以说NFS自己就是使用RPC的一个程序.或者说NFS也是一个RPC SERVER.所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT.这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应.可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输.
1. nfs安装,yum install rpcbind nfs-utils -y
2. nfs设置装备摆设,vim /etc/exports
配置文件格式:<输出目录> [客户端1 选项(拜访权限,用户映射,其他)] [客户端2 选项(拜访权限,用户映射,其他)]
a. 输出目次:
输出目录是指NFS系统中必要共享给客户机使用的目录;
b. 客户端:
客户端是指网络中可以拜访这个NFS输出目录的计算机
客户端常用的指定方式
c. 选项:
选项用来设置输出目录的拜访权限、用户映射等.
NFS主要有3类选项:
拜访权限选项
用户映射选项
其它选项
3. nfs启动
1). 假如我们设置了 /share 为共享目录,因为其它用户需要权限进行拜访,所以需要修改该目录及其子目录文件的读写权限;命令:chmod -R o=rw- /share
2). 启动服务
首先必要先启动相关服务rpcbind,命令:systemctl start rpcbind.service(启动),systemctl enable rpcbind.service(设为开机启动)
然后再启动nfs,敕令:systemctl start nfs-server.service(启动),systemctl enable nfs-server.service(设为开机启动)
确认nfs启动胜利,命令:rpcinfo,exportfs(有输出,例如:/share 192.168.31.0/24)
查看服务信息,命令:showmount -e #默认查看本身共享的服务,前提是要DNS能解析本身,不然容易报错;showmount -a #显示已经与客户端连接上的目录信息
3). 客户端设置装备摆设
客户端依照同样的方法安装好nfs服务并启动,无需修改exports配置文件,但需要将主机的共享目录挂载在自己的默认访问的html里
命令:mount 192.168.47.133:/share /usr/nginx/html(绿色字体依本身机器的设置而定)
4). 接下来就可以在浏览器中验证成果了
5). nginx+nfs共享集群设置装备摆设
本文永远更新链接地址:
学习更多LINUX教程,请查看站内专栏,如果有LINUX疑问,可以加QQ交流《LINUX学习:Linux基础之常用命令集锦图文详解》。