一些Linux基础命令
1、修改Linux的最大文件数限制:ulimit -n 65535。检查是否生效:ulimit -a,打开终端此命令后可以看到:open file 65535
2、查看文件:vi /etc/xx/limits.conf
3、解压.rpm文件:rpm -ivh jdk-8u151-linux-x64.rpm
4、查看java版本:java -version
5、创建新的文件夹:mkdir /opt/app/mm
6、解压 .gz压缩包:tar -xzvf Apache_xxxxxxxx_zh-CN.tar.gz
7、新建用户mm:useradd mm
8、用wget命令获取安装包:wget https://xxxxxxx/xx-4.5.zip
9、解压.zip: unzip xxx.zip
10、添加权限:chmod 777 xxxx
11、查看tomcat进程:ps -ef|grep tomcat
12、杀死进程:kill -9 2333(进程号)
13、查看可用版本:yum list | grep nginx
yum list nginx --showduplicates
14、安装nginx:yum install nginx,如果版本不对,则指定版本:yum install nginx.{版本号}
15、nginx命令:启动:systemctl start nginx
重启:systemctl restart nginx
停止: systemctl stop nginx
查看状态命令:systemctl status nginx
16、验证nginx状态:查看服务器是否运行:ps aux|grep nginx
查看端口是否正常:ss -ntlp | grep nginx
17、安装mariadb:yum install mariadb mariadb-server -y
18、启动MariaDB:systemctl start marisdb
19、yum安装Redis:yum install redis,启动redis:systemctl start redis.service
20、进入文件编辑的命令:vi /etc/xxxx/limits.conf 即进入名称为limits.conf的文件编辑页面
进入文件的编辑状态点击【i】键进行编辑,退出是Ctrl+C键,使用【Shift】+【:】后,输入【wq】,敲击回车,即可保存退出。
21、重启命令:reboot
22、切换命令:cd /opt/xxxx/bin
23、删除文件夹:rm -rf Image-1.1.1;
24、开启防火墙:firewall-cmd --zone=public --add-port=1111/tcp --permanent
firewall -cmd --reload
25、安装 rz sz 上传下载功能:yum install lrzsz
--------------------------------------------------------------------------------------------
系统相关
1、shutdown -h now 或 init 0:关闭系统
2、shutdown -r now 或 reboot 重启系统
3、logout:注销
4、Ctrl+C :退出命令
5、date:显示系统日期
6、ifconfig:查看ip等信息
CPU 内存与磁盘
7、free -h :系统内存及虚拟机使用情况
8、cat /pro/meminfog :查看系统内存详细信息
9、cat /proc/meminfo |grep MemTotal :查看内存大小
10、cat /pro/cpuinfo :查看CPU详细信息
11、cat /pro/cpuinfo |grep "processor" |wc -l:查看CPU个数
12、df -h :显示文件系统的磁盘空间使用情况
13、fdisk -l |grep Disk :系统磁盘大小
14、top:动态显示进程的CPU、内存使用情况、类型任务管理器
目录操作
15、tail -f 文件名:查看文件最后几行内容,可在 f 前加数字,表示返回最后N行信息
16、sz 文件名:将文件存放到本机指定目录,一般配合xshell使用
17、du -sh :查询当前目录文件夹大小,也可以指定路径
18、du -sh 文件名:查询文件大小
19、file 文件夹名或文件名 :显示文件属性
20、rm 文件名:删除文件
21、rm -r 目录或文件名:删除目录及目录下的文件
22、rm -rf 目录或文件名:强制删除
23、cat 文件名:查看文件内容
24、vim 文件名:打开文件,输入 i 进入编辑模式,Esc 退出到普通模式
25、wq :保存并退出
26、q!:不保存退出
27、tar cvf 文件名.tar 或zip 文件名.zip或gzip 文件名.gz :压缩文件
28、tar xvf 文件名.rar 或unzip 文件名.zip或gzip -d 文件名.gz :解压文件
29、mv 旧文件名 新文件名:将旧文件改名为新文件,也可以用于移动文件目录
进程与服务
30、kill -9 进程ID:强制杀死进程
31、systemctl :查看正在运行的服务
32、service 服务名 status:查询服务状态
33、service 服务名 start :启动服务
34、service 服务名 stop :停止服务
35、service 服务名 restart :重启服务
端口使用
36、lsof -i :端口号: 查看指定端口的使用情况
37、netstat -tunlp:查看所有端口占用你情况
38、netstat -tunlp |grep 端口号:查看指定端口的使用情况,包含进程信息。
2023年的
1.1 与Linux进行交互
三个简单命令小试牛刀
1、 whoami 显示当前登录用户的用户名
whoami --help 显示whoami命令简短帮助文档
whoami --version 显示whoami命令的版本信息
2、 echo “字符串” 在屏幕上回显字符串内容
echo –n “字符串” 在屏幕上回显字符串内容之后不换行
echo –e “字符串\n\n”输出反斜杠开头的转义字符(\n表示换一行,两个\n表示换两行)
3、 nano 是一个文本编译工具,有自己的界面,保存ctrl+o,ctrl+g查看nano帮助文档,ctrl+x退出帮助文档,再按ctrl+x退出当前文档
4、 在终端中,有两个有用的功能:一是历史命令功能,用上下箭头来浏览并选择曾经输入过的命令;还可以使用history命令显示在哪行用过的命令,通过输入!#(#表示命令用的行号)即可自动输入。二是命令补齐功能,输入命令的一部分时,按下tab键会帮输入剩下的字符,补充完整命令名称;如果有多个命令,则连按两下tab键,会显示所有相符的命令。
1.2 关闭和重启
只有根用户root才有权限使用,ctrl+c或者shutdown -c取消关机命令
-h选项是关机,-r选项是重启
任务一:10分钟后关机(shutdown –h 10 系统将在10分钟后关机维护,维护时间大约20分钟,请各位保存好手头工作,以免数据丢失。)
任务二:今天午夜12点关机(shutdown –h 00:00)
任务三:立即关机(shutdown –h now)
其他关机重启指令reboot=shutdown –r now;halt=shutdown –h now;
2管好文件
2.1切换、创建和删除目录
pwd 命令显示当前完整的工作目录
clear 命令可以清除终端命令行
cd 命令切换工作目录,熟悉特殊字符代表特定目录:
.点号—表示当前工作目录
..双点号—表示工作目录上层目录
-连字符—表示前一个工作目录
~波浪号—表示用户的家目录
mkdir 创建目录(mkdir –p选项创建嵌套目录)
任务:在当前目录下创建dirlevel01目录,同时在dirlevel01下创建dirlevel02目录。mkdir –p /tmp/ dirlevel01/ dirlevel02
rmdir 删除目录(只能删除空目录)
2.2列出文件和文件属性
ls 列出文件(-a选项表示列出所有文件,-l选项表示以长格式列出文件详细属性信息,-al可以连用)
chmod 修改文件访问的属性
chown [所有者][:[组]] 文件
2.3拷贝、移动、删除和创建文件
touch 创建文件
cp 拷贝文件
任务一:将/tmp目录下的文件file01文件拷贝到当前家目录中
任务二:将/tmp目录下的文件file01文件拷贝到当前家目录中,并将其重命名为file01-bak
任务三:将/tmp目录下的文件file02、file03、file04拷贝到当前用户家目录中
任务四:将/tmp目录下的目录dir01目录拷贝到当前用户家目录中(-r 选项表示拷贝整个目录)
任务五:拷贝批量同名文件存在
任务六:以root身份将/tmp目录中sample.sh文件拷贝到stu的家目录下,文件拥有者等属性不改变(-p选项使文件属性不变)
mv 移动文件,可以实现文件重命名功能
任务一:将/tmp目录下的文件file05文件移动到当前用户家目录中
任务二:将当前用户家目录下的文件file05移动到当前用户家目录(即本目录下),文件名改为file05-rename
rm 删除文件
任务一:将当前用户家目录下的file01文件删除
任务二:将当前用户家目录下的dir01目录删除(跟上-R选项)
2.4创建文件链接
ln命令 –s选项表示创建符号链接
任务一:为/tmp目录下hello.sh创建一个名为hello-slink的符号链接。
任务二:为/tmp目录下的sample.txt文件创建一个硬链接sample-hl01。
2.5打包和压缩文件
tar打包文件命令,-c选项小时创建打包文件,-f选项跟着指定要创建的打包文件名,-tf查看打包文件中的文件名,--delete 选项删除打包文件中的某个特定文件,-A选项合并两个打包文件,-x表示解包
任务一:将tmp目录下的一批文件打包为samplefile.tar。
任务二:将tmp目录下的sampledir01目录打包为sampledir01.tar
任务三:删除打包文件samplefile.tar中的一个文件删除
任务四:将samplefile.tar合并到sampledir01.tar文件中
任务五:将sampledir01.tar文件解包
gzip压缩命令,-d选项表示解压
任务六:压缩tmp目录下的sampledir01.tar文件
2.6查找文件
locate 命令,需要先用updatedb命令更新数据库。
find 命令
一、根据文件名来查找,条件选项为-name,后面跟上文件名
任务一:查找根目录下,名字为passwd的文件
扩展任务:1、列出当前目录及子目录下所有文件和文件夹(find .)
2、在/home目录下查找以.txt结尾的文件名 (find /home -name "*.txt"),忽略大小写(find /home -iname "*.txt")
二、根据文件类型查找,条件选项为-type,后面跟上代表文件类型的字符查找
d目录文件,f 普通文件,c 字符设备文件,b 块设备文件,l 符号链接文件
任务二:查找bin目录下所有的符号链接文件
三、根据文件属性进行查找,相关选项有六个,分为三组(方法类同)
-mtime –mmin 文件修改时间(天/分钟)
-ctime –cmin 文件属性修改的时间(天/分钟)
-atime –amin 文件被读取/执行时间(天/分钟)
- •访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
- •修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。
- •变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。
以第一组为例,-mtime单位是天
任务三:在/tmp目录下查找3天之内文件内容发生改变的文件
任务四:在/tmp目录下查找7天前文件内容曾发生改变的文件
任务五:在/tmp目录下查找在第4天前的那一天(当天)文件内容曾发生改变的文件
-mmin单位是分钟
任务六:在/tmp目录下查找在10分钟前文件内容曾发生改变的文件
任务七:在/tmp目录下查找在一个小时之内文件内容曾发生改变的文件
四、根据文件大小进行查找,条件选项为-size,使用的大小单位是:
小写c——字节
小写k——1024字节
大写M——1024k
大写G——1024M
任务八:在tmp目录下查找比3k字节小的文件
任务九:在tmp目录下查找大小正好是10M字节的文件
任务十:在tmp目录下查找比100字节大的文件
五、根据文件拥有者和从属用户组的属性查找,选项为
-user -uid
-group –gid
任务十一:在tmp目录下查找拥有者是root用户的文件
任务十二:在tmp目录下查找拥有者用户uid是500的文件
任务十三:在tmp目录下查找从属于stu用户组的文件
任务十四:在tmp目录下查找从属于gid为0的用户组文件
六、根据文件的权限进行查找,条件选项为-perm,后面跟的是一个八进制文件访问权限数值。
任务十五:在tmp目录下查找754权限(文件拥有者可读可写可执行,文件从属组的用户可读可执行,其他用户可读)的文件
七、Find命令连用
使用“与-a”“或-o”“非!”三种运算符链接查找条件,用圆括号把多个查找文件括起来。
任务十六:在tmp目录下查找文件大小大于1k,小于1M,在30分钟内文件内容被修改过的普通文件。
扩展任务:1、找出/home下不是以.txt结尾的文件(find /home ! -name "*.txt")
2、查找所有以 abc 开头并且不含 .php 扩展名的文件。(find ./test -name 'abc*' ! -name '*.php')建议文件名加上引号,否则容易出错。
3、查找所有以 .php 结尾或者以 .txt 结尾的文件。(find -name '*.php' -o -name '*.txt')
4、当前目录及子目录下查找所有以.txt和.pdf结尾的文件 (find . \( -name "*.txt" -o -name "*.pdf" \))
八、Find命令动作选项-exec
任务十七:在tmp目录下查找文件大小大于1k,小于10M的普通文件,并将它们都删除。
任务十八:在当前用户家目录下查找在10分钟内被修改过的目录文件,并将它们打包成与目录同名,后缀为.tar的打包文件。
拓展任务:1、删除 tmp 目录下扩展名为 .txt 的文件(find /tmp -type f -name "*.txt" -exec rm -f {} \;)
2、删除目录,只要把 -type 后面的 f 改为 d ,并且在 rm 命令后面加上 -r 即可。(find /tmp -type d -name "dir*" -exec rm -r -f {} \;)
2.7通配符
一、*代表任意长度字符串
任务一:将tmp目录下的文件后缀为.txt的所有文件都删除。
二、?代表任意单个字符
任务二:列出bin目录下所有名字长度为4个字符,并以sh结尾的文件。
三、[ ]中括号
[c1—c2]表示匹配c1到c2字符序列中的任意单一字符,前提是c1到c2确实是一个有序的字符序列,如:数字或者英文。
任务三:将tmp目录下名字以file字样打头,紧接着0-9之间的一个整数,以.txt结尾的文件拷贝到当前用户家目录下。
[c1,c2,……cn]表示匹配中括号之间字符列表中的任意单一字符。
任务四:将tmp目录下名字以script字样打头,紧接着a,1,x中的任意一个字符,以.sh结尾的文件的访问权限改为700。
四、{ }大括号{string1,string2,……stringN}表示匹配string1,string2直至stringN这N个字符串中的某个字符串。
任务五:删除tmp目录下名字以string或者jiaoben 字样打头,以.sh结尾的文件。
五、!感叹号,通常与[ ]和{ }一起连用,表示对其中内容的取反。
任务六:将tmp目录下名字以file字样打头,紧跟着一个除0到9之间数字之外的任意字符,以.txt结尾的所有文件打包成为一个叫file.tar的文件。
2.8查看文本文件内容
一、cat命令,适用于查看较小的文本文件,将文件的内容都输出在命令行中。
任务一:查看系统下的用户配置文件etc/passwd。
二、less命令,适用于查看较大的文本文件。
进入less后,键盘上下箭头用来上下翻行,pageup和pagedown用来上下翻页,“/关键字”可在文件中查找关键字文本,n跳转到下一个关键字,N跳转到上一个关键字,q退出less返回命令行。
任务二:查看var/log目录下的massages日志文件。
三、一对特殊的文件查看命令head和tail(头和尾巴)
head用于查看文件的头几行
任务三:查看var/log目录下的massages日志文件的头20行
Tail用于查看文件末尾几行。
任务四:查看var/log目录下的massages日志文件的后20行
3用好重定向和管道
3.1输入输出重定向
标准输出流stdout显示来自命令的输出,文件描述符是1
标准错误输出流stderr显示来自命令的错误输出,文件描述符是2
标准输入流stdin向命令提供输入,文件描述符是0
一、输出重定向
使用右箭头>(覆盖文件原有内容)和双右箭头>>(保留文件原有内容,添加到原来内容的后面)来重定向标准输出。
“&>”与号右尖括号将命令的标准输出和错误输出重定向到一个文件中。
任务一:将ls命令标准输出重定向到当前目录stdout.txt文件中去。
应用例子一:用文件输出重定向结合echo命令创建文本文件。
应用例子二:用文件输出重定向来忽略命令错误输出(即执行某个命令但不希望在屏幕上显示命令的错误输出)
二、输入重定向,让命令从指定文件中获取输入,而非stdin键盘中获取输入。
使用左箭头<和双左箭头<<来重定向标准输入。
应用例子一:将结合tr命令(用于从标准输入中替换特定字符,并将结果写入到标准输出)使用输入重定向。
应用例子二:结合sort命令(用于对文本文件内容按照规定字段进行排序)展示了输入重定向的一种特殊形式。
3.2管道
接受标准输入输出流的文本处理命令:grep,cut,head,tail,less,more,wc,tr,sort
任务一:将ls命令的输出作为文件查看less的输入,能逐页逐行的查看ls命令的输出。
一、grep文本搜索工具
任务二:将ls命令的输出作为grep的输入,用于查找ls命令输出中带有”ssh”字样的行。
二、cut文本切割命令,用于切割文本文件或者标准输出中指定列并输出,-c选项按字符列切割文本,后面紧跟的数字表示切割的字符序列号。-d选项后紧跟的符号表示文本中字段隔开用的分隔符,-f选项紧跟的数值表示切割的字段序列号。
任务三:切割输出当前用户家目录下install.log的前两列字符。
任务四:切割输入etc/passwd文件中第一个字段,字段用“:”隔开。
三、wc文本统计命令,统计文本文件或者标准输出中的文本行数,单词数和字节数。-l选项表示仅仅统计文本行数。
任务五:统计当前用户家目录下所有目录文件的数目。
任务六:统计bin和sbin目录下的所有文件数目。
4用好vi
4.1 vi入门
vim命令打开编辑器,i表示进入插入编辑模式,esc键退出编辑回到一般模式,h左j下k上l右,x删除一个字符,dd删除整行,大J删除换行符,u撤销,ctrl+r取消撤销恢复原来状态,退出vim并保存文件内容用:wq(:进入命令模式,w保存,q退出vim),退出vim不保存用:q!(:进入命令模式,q退出vim,!强制退出不保存)
4.2vi初探
我们要完成的任务是这样的:
1.请在/tmp 这个目录下建立一个名为 vimtest的目录,进入 vimtest 这个目录当中,将 /etc/man.config 拷贝到本目录底下,使用 vim打开这个文本文件;
2.在 vim中设定一下行号;
:set nu
3.移动到第58 行行首,再向右移动 30个字符,移动到第8行行尾,再向左移动3列,最后移动到文件末行;
gg , 57j , 30l , 8G , $ , 3h , G
4.移动到第一行行首,并且向下搜寻一下“man”这个字符串;
gg , 普通模式下/man,n和N跳转已查到的关键字
5.将50 到 100 行之间的 man 改为 MAN,并且一个一个挑选是否需要修改
:50,100s/man/MAN/gc
6.复制51 到 60 行这十行的内容,并且贴到最后一行之后;
50G, 10yy, G, p
7.删除11 到 30 行之间的 20 行; 去第29 行首,并且删除 15 个字符;
10G, 20dd ,29G,15x
9.修改完之后,突然反悔了,要全部复原;
u或者:e!
10.将这个文件另存成一个名为man.config.bak的文件;
:w man.config.bak
11.在最后一行后插入当前目录下turtle.txt文件内容,并保存;
G, :r ./sample.txt ,w
12.在不关闭man.config.bak的文件情况下,再次打开man.config;(同时打开)
vim ./ man.config.bak ./ man.config,用:n 和:N切换文件
13.将步骤11中在man.config.bak中插入的turtle.txt文件内容的第1列到第10列拷贝并粘贴到man.config中;
Ctrl+v, y, p
14.储存两个文件后离开vim。
:wq
5管好用户
1、三类用户、主用户组和从属用户组
2、查看用户id 和finger命令(安装finger命令,yum install finger)
3、切换用户su命令-l选项(可简化为su – 用户名)
4、创建用户useradd命令,-c用于指定用户备注,-u用于指定用户UID,-d用于指定用户家目录,-g用于指定主用户组,-G用于指定除主用户组外,用户从属的其他组用户组。
5、修改用户usermod命令, -l用于修改用户的用户名,-u用于修改用户UID,-c用于修改用户备注,-d用于修改用户家目录,-g用于修改主用户组,-G用于修改用户从属用户组。-L选项暂时锁定用户,让其无法登陆系统,-U选项可以解锁用户。
6、删除用户userdel命令,-r选项把用户家目录一同删除。
7、创建用户组groupadd命令(groupadd stus),修改用户组groupmod命令,删除用户组groupdel命令
8、部分让渡根用户权限,用root用户修改/etc/sudoers文件,找到
root ALL=(ALL) ALL(第一字段root表示可以使用sudo命令的用户,第二字段“=”前表示用户登陆的主机名,“=”后表示可让渡权限的命令列表)
输入命令sudo –u root 授权的命令格式(如:sudo –u root passwd stu)
9、用户管理配置文件,第一组用户管理文件, /etc/passwd是系统花名册,系统所有用户都在这个文件中记录;/etc/shadow是存储着用户密码等一些信息文件。第二组是用户组管理文件,/etc/group是系统用户组花名册;/etc/gshadow存储着用户组的一些信息。
6管好硬盘
6.1查看硬盘
如:/dev/hda3表示在第一个IDE硬盘上的第3个主分区或者扩展分区
/dev/sdb6表示在第二个SCSI硬盘上的第2个逻辑分区
命令fdisk用于查看硬盘详细信息,如:fdisk –l /dev/sda或fdisk –l
6.2分区和格式化硬盘
先给虚拟机添加一块硬盘,(安装时的硬盘为sda,后添加的这块硬盘为sdb)
1、对硬盘分区,其中最精简的工具fdisk,输入fdisk /dev/sdb进入分区界面,其中n 表示新建分区(t表示修改分区文件类型,d表示删除分区),e 表示扩展分区extended,p 表示主分区primary partition(1-4),输入分区大小+100G
2、格式化分区
mkfs命令,-t选项为其指定文件类型为ext4或者vfat,如mkfs –t ext4 /dev/sdb1
mkswap命令,为交换分区创建文件系统。
6.3手动挂载分区
在根目录下出创建一个project_mooc目录,并在其下分别创建finished,material,shared,audio,video五个目录,分别挂载sdb1,sdb5,sdb6,sdb7和sdb8五个分区
挂载分区使用的命令是mount(只有根用户root有权限使用),需要跟两个参数,一个指定要挂载的设备名,也就是分区名,一个是指定的挂载点,-t 选项表示指定挂载设备的文件系统类型。-o 选项用于指定分区挂载后的行为属性(读r写w执行x)mount –t 分区类型 –o 挂载后行为 分区名 挂载点
如:mount –t ext4 /dev/sdb1 /project_mooc/finished
mount –t ext4 –o ro /dev/sdb5 /project_mooc/material (ro表示read only只读方式,rw表示可读可写)
mount 不加参数,可用来查看挂载好的分区
卸载分区命令umount,只跟一个参数是卸载的设备名(分区名)或者是卸载的设备挂载点目录。
如:umount /dev/sdb8
注意:1、请尽量将分区挂载到空目录上
2、勿将同一个分区多次挂载到不同的目录上
手动挂载分区,重启系统后失效
6.4自动挂载分区
自动开机挂载功能,通过/etc/fstab配置文件,用标签或者UUID来挂载分区
给分区添加标签命令e2label(e2label /dev/sdb5 materrial-disk)
用blkid命令列出设备中的所有UUID。
7管好网络
一、常用网络命令
1、ifconfig命令查看网络接口。-a选项查看所有主机上的网络接口,不论是否启用和配置好。
2、开启eth1网络接口的命令ifconfig eth1 up
3、ip address查看IP命令
4、临时修改IP和掩码命令(重启失效)ifconfig eth1 192.168.16.125 netmask 255.255.255.0
5、ping测试连通性,-c选项是返回次数,-i选项是时间间隔(ping –c 5 –i 1 172.30.24.207)
6、重启网络service network restart
7、dig 域名(dig www.baidu.com)
二、配置TCP/IP参数,常用配置网络文件:
1) /etc/sysconfig/network 设置主机名称及能否启动Network网关
2) /etc/sysconfig/network-scripts/ifcfg-eth0 设置网卡参数的文件
3) /etc/modprobe.conf 开机时用来设置加载内核模块的文件
4) /etc/resolv.conf 设置DNS IP(解析服务器)的文件
5) /etc/hosts 记录计算机IP对应的主机名称或主机别名
详细配置如下:
1、#vim /etc/sysconfig/network-scripts/ifcfg-eth0 //修改网卡配置
DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0
TYPE=Ethernet
ONBOOT=yes #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备。如果你只有一个网卡而且设置为no就不能上网了。
NM_CONTROLLED=no
BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址.
IPADDR=12.168.1.2 #如果设置网卡获得 ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址
NETMASK=255.255.255.0 #子网掩码
GATEWAT=192.168.1.1#网关地址,与/etc/sysconfig/network中的网关一致
DNS=192.168.1.1 #指定DNS服务器,与/etc/resolv.conf中DNS一致
保存退出:wq
2、#vim /etc/sysconfig/network //修改网关
NETWORKING=yes(表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络,而且很多系统服务 程序将无法启动)
HOSTNAME=centos(设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应)
GATEWAY=192.168.1.1(设置本机连接的网关的IP地址。这里为宿主机VMnet1的IP地址)
保存退出:wq
3、# vim /etc/resolv.conf //修改DNS ,resolv.conf的关键字主要有四个,分别是:
nameserver 192.168.1.1 #定义DNS服务器的IP地址 (这里为宿主机VMnet1的IP地址)
domain #定义本地域名
search #定义域名的搜索列表
sortlist #对返回的域名进行排序
最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。
4、# vim /etc/hosts //修改主机名
在127.0.0.1后面添加修改的主机名“centos”
保存退出:wq
8管好软件包
1、用RPM管理软件包
wget命令下载软件包到当前目录下(wget 下载地址)
rpm命令-q选项表示查询是否安装(rpm –q opera)
rpm命令-i表示安装软件包,-v表示让rmp显示安装详细信息,-h表示让rmp在安装软件时输出#作为进度条,三个选项连用(rpm –ivh 软件包名)
rpm命令-e选项表示卸载软件包(rpm –e opera)
2、用YUM管理软件包
解决软件包的依赖关系,只有根用户root才能用yum安装卸载软件包,普通用户只能用yum列出和查看软件
在使用yum之前,先执行两个步骤:
第一步用clean指令清除yum原有软件包缓存数据,yum clean all
第二步用makecache指令将当前服务器上软件包相关信息存到本地,提高搜索软件的速度,yum makecache
yum install gcc-c++
yum list gcc-c++
list指令后还可以跟两个特殊的参数,一个是installed,将列出主机上所有已安装好的软件包yum list installed
一个是available,将列出当前软件源中所有可安装的软件包yum list available
由于这两个命令输出较多,建议使用管道结合less命令来查看
yum list installed|less
yum info gcc-c++
update更新软件包指令,yum update python
yum remove gcc-c++
3、为yum配置软件源
yum的配置目录是/etc/yum.repos.d,存放着软件源的配置文件
优先级排序软件yum-plugin-priorities(yum install yum-plugin-priorities)
优先级配置,vim打开/etc/yum.repos.d目录下的官方源配置文件(vim /etc/yum.repos.d/CentOS-Base.repo)在三个软件仓库末尾分别加上这么一句“priority=1”表示优先级最高
然后用vim打开/etc/yum.repos.d目录下的repoforge的配置文件(vim /etc/yum.repos.d/rpmforge.repo)在所有软件仓库末尾分别加上这么一句“priority=10”表示优先级次于官方源
9管好进程和服务
9.1查看进程
编写一个名为bad.sh的shell脚本,会根据你的输入产生特定数目的进程并任意占用计算机CPU资源
文件内容为:
#!/bin/bash
#filename killcpu.sh
endless_loop( )
{
echo –ne “i=0”;
while true
do
i=i+100;
i=100
done” | /bin/bash &
}
if [$# !=1 ];then
echo “USAGE: $0 <CPUs>”
exit 1;
fi
for i in ‘seq $1’
do
endless_loop
pid_array[$i]=$! ;
done
#for i in “${pid_array[0]}”; do
#echo ‘kill’ $i ‘;’;
#done
可以用ps 命令加上-A选项来列出系统中所有的进程,-f选项表示列出进程更加完整的信息。-l选项列出完整详细的信息。
ps命令经常用管道与grep连接查找特定的进程。ps –Af|grep vim
ps命令输出很长,经常用管道与less连接起来分页查看
top命令是动态监视系统进程工具,三秒刷新一次。
9.2操纵进程
操控进程命令kill,主要作用是中止进程。
9.3查看和操纵系统服务
先安装有ftp或者http等服务后,在进行这部分内容练习
查看web服务是否存在的命令chkconfig,用--list长选项结合grep命令来进行查询。chkconfig --list|grep httpd
另一个简便的查询命令service,加上一个状态查询动作指令status,加上一个启动动作指令start,停止指令stop,重启指令restart。service httpd status或者service httpd start
10管好远程联机服务器
10.1用SSH协议远程联机
1、链接镜像,挂载镜像
#mount CentOS_6.6_Final /media
2、查看是否安装服务
#rpm –qa|grep ssh
#rpm –q ssh
3、查看可安装软件包
#cd /media/ CentOS_6.6_Final/Packages
#find –iname “*ssh*”
#rpm –ivh 软件包全名
5、 开启服务
#service sshd status
#service sshd start
6、 新建用户
#useradd stu
#passwd stu
7、链接网络
宿主机windows
(1) 查看本地连接TCP/IP
ipconfig/all
IP地址172.30.24.207
网关172.30.24.1
DNS地址202.103.224.68 202.103.225.68
(2) 关闭防火墙
虚拟机Linux
(1) 开启之前,设置桥接模式
(2) 查看网卡开启状态,ifconfig命令查看网络接口。-a选项查看所有主机上的网络接口,不论是否启用和配置好。
(3) 配置网卡文件/etc/sysconfig/network-scripts/ifcfg-eth0
#vim /etc/sysconfig/network-scripts/ifcfg-eth0 //修改网卡配置
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=172.30.24.150
NETMASK=255.255.255.0
GATEWAT=172.30.24.1 与/etc/sysconfig/network中的网关一致
DNS1=202.103.224.68
DNS2=202.103.225.68 与/etc/resolv.conf中DNS一致
保存退出:wq
(4) 配置网关文件/etc/sysconfig/network
#vim /etc/sysconfig/network //修改网关
NETWORKING=yes
HOSTNAME=centos(设置本机的主机名,和/etc/hosts中设置的主机名对应)
GATEWAY=172.30.24.1
保存退出:wq
(5) 配置DNS文件etc/resolv.conf
# vim /etc/resolv.conf //修改DNS
nameserver 202.103.224.68
nameserver 202.103.225.68
(6) 配置主机文件/etc/hosts
# vim /etc/hosts //修改主机名
在127.0.0.1后面添加修改的主机名“centos”
保存退出:wq
(7) 重启网络服务
#service network restart
(8) 测试连通性
#ping –c 5 172.30.24.207
#dig www.baidu.com
#ping www.baidu.com