1:检查虚拟机的ip命令:ifconfig
2:普通用户切换root用户命令:su
3:root用户切换普通用户命令:su 用户名
4:普通用户执行系统执行前面加命令:sudo
5:查询主机名命令:hostname或uname –n
6:修改主机名命令:vi /etc/hostname(hostname master立即生效,不用重启,---》exit,---》su即可)
centos操作系统修改主机名命令:vi /etc/sysconfig/network
7:修改域名和主机名对应关系命令:vi /etc/hosts(修改主机名的意义就是和域名一致,修改之后可以ping一下修改的主机名)
(补充:vi编辑器三种模式,命令行模式(esc),编辑模式(a,i,o,s),尾行模式(esc :))
8:vi编辑器中在命令模式中复制一行命令:yy
9:vi编辑器中在命令模式中粘贴一行命令:p
10:vi编辑器中在命令模式中剪切一行命令:dd
vi编辑器里面查询内容:/要查找的内容;查找下一个n,查找上一个N。
more somefile 可以翻页查看, 下翻一页(空格) 上翻一页(b) 退出(q)
less somefile 可以翻页查看,下翻一页(空格) 上翻一页(b),上翻一行(↑) 下翻一行(↓) 可以搜索关键字(/keyword)
tail -10 install.log 查看文件尾部的10行
tail -f install.log 小f跟踪文件的唯一inode号,就算文件改名后,还是跟踪原来这个inode表示的文件
tail -F install.log 大F按照文件名来跟踪
head -10 install.log 查看文件头部的10行
后台服务管理
service network status 查看指定服务的状态
service network stop 停止指定服务
service network start 启动指定服务
service network restart 重启指定服务
service --status-all 查看系统中所有的后台服务
设置后台服务的自启配置
chkconfig 查看所有服务器自启配置
chkconfig iptables off 关掉指定服务的自动启动
chkconfig iptables on 开启指定服务的自动启动
11:删除文件或者目录命令:rm -rf 文件名
12:创建一个文件夹命令:mkdir 目录名称(文件夹名)
mkdir -p [目录名称]
-p递归创建
命令英文:make directories
13:创建一个文件命令:touch 文件名
14:测试是否有网络ping命令:例如ping www.baidu.com
15:重启linux命令:reboot
16:清空命令:clear
17:解压缩命令:tar zxvf 文件名
18:查看全路径命令:pwd
19:ubuntu操作系统图形化到命令行:ctrl+alt+f1(减少浪费资源)
20:ubuntu操作系统命令行到图形化:ctrl+alt+f7(方便操作)
21:ubuntu启动时即为命令行:vi /etc/init/rc-sysinit.conf 将env DEFAULT_RUNLEVEL=2改为env DEFAULT_RUNLEVEL=3
22:修改文件权限的命令:
sudo chmod 600 ××× (只有所有者有读和写的权限)
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
sudo chmod 666 ××× (每个人都有读和写的权限)
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)
23:查询目录中的内容的命令:ls命令 :ls [选项] [文件或者目录]
1 选项:-a 显示所有的文件,包括隐藏文件(.开头的是隐藏文件)
2
3 -l 显示详细信息(-list)
4
5 -d查看目录属性
6
7 -h人性化显示文件大小,可显示文件具体大小
8
9 -i显示inode
24:文件权限的解释:
如-rw-r--r--
1 第一个-代表:文件类型(-文件d目录 | 软连接文件)
2
3 第一组:rw- u所有者(user)
4
5 第二组:r-- g所有组(group)
6
7 第三组:r-- o其他人(other)
8
9 解释:r(read)读 w(write)写 x(execute)执行
25:防火墙的命令:
#查看防火墙状态
service iptables status#关闭防火墙
service iptables stop
#查看防火墙开机启动状态
chkconfig iptables --list
#关闭防火墙开机启动
chkconfig iptables off
26:解压缩的命令:
tar -zxvf 将要解压缩的文件名称 -C 指定的目录
27:切换目录的命令:
cd [目录]
命令英文原意:change directory
简化操作:
cd ~进入当前用户的家目录
cd - 进入上次目录
cd .. 进入上一级目录
cd .进入当前目录
28:linux清屏操作的命令:clear/ctrl+L
29:linux的相对路径和绝对路径问题:
--->相对路径:参照当前所在目录,进行查找,如cd ../usr/local/src/
--->绝对路径:从根目录开始指定,一级一级递归查找,在任何目录下, 都能进入指定位置,如cd /etc/
30:显示当前的工作目录的命令:pwd(print working directory执行pwd指令可立刻得知目前所在的工作目录的绝对路径名称。)
31:自动补全的tab键:神奇的tab键,按一下tab键没反应,再按一下tab键,就会列出该目录下的所有目录,供你选择。
32:删除空目录rmdir [目录名称]
----》命令英文原意:remove empty directories
33:删除文件或者目录:rm命令
rm -rf [文件或者目录],命令英文原意:remove
参数:
-r 删除目录
-f 强制删除
34:复制命令cp
cp [参数] [原文件或者目录] [目标目录]
命令英文原意:copy
参数:
-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则复制链接属性
-a 相当于 -pdr
35:剪切或者改名命令:mv(英文原意move);
36:linux的目录学习(可以在家目录root或者home目录下面操作,以及tmp目录下随便放内容,其他目录最好不要动):
/ 根目录
/bin 存放必要的命令
/boot 存放内核以及启动所需的文件等
/dev 存放设备文件
/etc 存放系统的配置文件
/home 用户文件的主目录,用户数据存放在其主目录中
/lib 存放必要的运行库
/mnt 存放临时的映射文件系统,我们常把软驱和光驱挂装在这里的floppy和cdrom子目录下。
/proc 存放存储进程和系统信息
/root 超级用户的主目录
/sbin 存放系统管理程序
/tmp 存放临时文件的目录
/usr 包含了一般不需要修改的应用程序,命令程序文件、程序库、手册和其它文档。
/var 包含系统产生的经常变化的文件
37:链接命令:ln
(1)ln -s [原文件---》软链接,原文件一定要写绝对路径哦!] [目标文件]
命令英文原意:link
功能描述:生成链接文件
参数:-s 创建软链接(soft)
(2)硬链接特征:
----》拥有相同的i节点和存储block块,可以看做是同一个文件。
----》可通过i节点识别
----》不能跨分区
----》不能针对目录使用
(3)软链接特征:
----》类似windows快捷方式
----》软链接拥有自己的I节点和block块,但是数据块中只保存原文件的文件名和i节点号,并没有实际的文件数据
----》lrwxrwxrwx | 软链接,软链接文件权限都为rwxrwxrwx
----》修改任意文件,另一个都改变
----》删除原文件,软链接不能使用
38:文件搜索命令:
---->文件搜索命令:locate(搜索速度比较快)
(1)使用方法:locate 文件名,在后台数据库中按文件名搜索,搜索速度更快;
/var/lib/mlocate ;locate命令所搜索的后台数据库,此数据库不是实施更新的,一天一更新,所以需要手动执行updatedb更新数据库;缺点是只可以按照文件名进行搜索;
---->命令搜索命令whereis 与which
(1)使用用法:whereis 命令名;搜索命令所在路径,即linux已有命令,以及帮助文档所在位置;
扩展:whoami 查看用户是谁;whatis 命令查看命令;
参数:-b 只查找可执行文件;
-m 只查找帮助文件;
(2)使用用法:which命令搜索命令所在路径以及别名;
---->文件搜索命令find(遍历所有的目标,功能强大,耗时。)
(1)find [搜索范围] [搜索条件];例如,find / -name 文件名称
(2)注意:避免大范围搜索,会非常耗费系统资源,find是在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配;
(3)*代表匹配任意内容,?代表匹配任意一个字符,[]代表匹配任意一个中括号内的字符;
(4)find /root -iname 文件名称 : 不区分大小写;
find /root -user root : 按照所有者搜索;
find /root -nouser : 查找没有所有者的文件
(5)find /var/log/ -mtine +10 查找10天前修改的文件;
-10代表10天内修改文件,10代表10天当天修改的文件,+10代表10天前修改的文件;
atime 文件访问时间(access),ctime改变文件属性(change),mtime修改文件内容(modify);
(6)find . -size 25k查找文件大小是25kb的文件;( . 代表当前目录)
-25k小于25kb的文件,25k等于25k的文件,+25k大于25kb的文件;
find . -inum 262422查询i节点是262422的文件;
(7)find /etc -size +20k -a -size -50k 代表查询/etc、目录下,大于20kb并且小于50kb的文件;
-a 逻辑与(and),两个条件都满足;
-o 逻辑或(or),两个条件满足一个即可;
(8)find /etc -size +20k -a -size -50k -exec ls -lh {} \ ; 查找/etc/目录下,大于20kb并且小于50kb的文件,并且显示详细信息。
-exec rm -rf {} \ 对搜索结果执行删除操作;
---->字符串搜索命令grep
(1)grep [选项] 字符串 文件名 ,在文件当中匹配符合条件的字符串,例如grep -v 字符串 文件名;
参数:-i 忽略大小写,-v排除指定的字符串;
---->find命令与grep命令的区别?
(1)find命令,在系统中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配;
(2)grep命令,在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配;
39:帮助命令:
(1):man命令,获取指定命令的帮助(英文manual)
例如man ls查看ls的帮助;
注意:q键退出man命令;(2):help命令,命令--help,获取命令选项的帮助;例如,ls --help;
40:压缩命令:
常用的压缩格式:.zip .gz .bz2 .tar.gz .tar.bz2
1:zip格式的压缩和解压缩命令:
(1)压缩文件的命令:zip 压缩文件名 原文件;
(2)压缩目录的命令:zip -r 压缩文件名 源目录;
(3)最常使用的解压缩的命令(解压缩.zip的文件):unzip 压缩文件;
2:.gz格式压缩
(1)gzip源文件,压缩为.gz格式的压缩文件,源文件会消失;
(2)gzip -c 源文件 > 压缩文件,压缩为.gz格式,源文件保留;
(3)gzip -r 目录,压缩目录下所有的子文件,但是不能压缩目录;
(4)gzip -d 压缩文件,解压缩文件;
(5)gunzip 压缩文件,解压缩文件;
(6)gunzip -r 目录,解压缩目录;
3:.bz2格式压缩
(1)bzip2 源文件,压缩为.bz2的格式,不保留源文件;
(2)bzip2 -k 源文件,压缩之后保留源文件;
注意:bzip2命令不能压缩目录;
(3)bzip2 -d 压缩文件,解压缩,-k保留压缩文件;
(4)bunzip2 压缩文件,解压缩,-k保留压缩文件;
4:打包命令tar(解决目录不能压缩的方法)
(1)tar -cvf 打包文件名 源文件;
参数:-c打包,-v显示过程,-f指定打包后的文件名;
(2)解压缩的命令:
tar -xvf 打包文件名;
参数:-x 解打包;
5:其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式;
(1)tar -zcvf 压缩包名.tar.gz 源文件;
参数:-z压缩为.tar.gz格式;
(2)最常使用的解压缩命令(解压缩.tar格式的文件):tar -zxvf 压缩包名.tar.gz;
参数:-x解压缩.tar.gz格式;
6:.tar.bz2压缩格式
(1)tar -jcvf 压缩包名.tar.gz2 源文件;
参数:-j压缩为.tar.gz2格式;
(2)最常使用的解压缩命令(解压缩.tar格式的文件):tar -jxvf 压缩包名.tar.gz2;
参数:-x解压缩.tar.gz2格式;
41:linux中关机和重启命令:
1:shutdown命令,使用用法:shutdown [选项] 时间
参数:
-c:取消前一个关机命令
-h:关机
-r:重启
用法举例:shutdown -r 05:30 &(凌晨五点关机,并且是后台执行)
2:linux操作系统其他关机命令:halt poweroff init 0
3:linux操作系统的重启命令:reboot;
42:shell是什么???
(1)shell是一个命令行解释器,它为用户提供了一个向linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动,挂起,停止,甚至是便携一些程序。
(2)shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性强。shell是解释执行的脚本语言,在shell中可以直接调用linux系统命令;
43:echo输出命令:
1:echo [参数] [输出内容]
参数:
-e : 支持反斜线控制的字符转换;
2:echo可以将内容写到文件里面,如:
echo 内容 > 文件名称;
3:echo颜色输出格式:echo -e "\e[1;31m你好啊\e[0m" echo -e "\e[1;32m你好啊\e[0m" echo -e "\e[1;33m你好啊\e[0m"......
44:linux脚本的好处,可以直接调用linux中shell的命令:
1:shell脚本的第一行#!/bin/bash这一句(表示这个是linux标准脚本,如果是纯shell则不会报错),如果省去这句话,如果调用其他其他语言就会报错;
2:shell脚本里面的#表示注释;
3:书写简单的脚本,如vim hello.sh ,内容如下所示:
#!/bin/bash
#the first program
echo -e "\e[1;31mhello wolrd\e[0m"保存:wq退出以后,可以进行运行操作;
4:运行linux脚本的几种命令:(1)赋予执行权限,直接运行
chmod 755 hello.sh
./hello.sh或者./hello.sh start
(2)通过bash调用执行脚本
bash hello.sh
(3)sh hello.sh start直接运行也行;
45:Bash的基本功能:
1:命令别名和快捷键
(1)命令别名:alias,举例说明(起别名必须符合别名规范,不然出错):alias aa='ls -l --color=auto'
删除别名的命令:unalias aa
(2)查看系统中所有的命令别名:alias
(3)设定命令别名:alias 别名= ‘原命令’
(4)别名永久生效与删除别名:vi ~/.bashrc写入环境变量配置文件,修改过后的文件生效方法:source .bashrc
(5)删除别名的命令:unalias 别名
(6)快捷键:
强制终止的快捷键:ctrl+c;
清除屏幕的快捷键:ctrl+l;
光标移动到命令行首:ctrl +a;
光标移动到命令行尾:ctrl+e;
从光标所在位置删除到行首:ctrl+u;
把命令放入后台:ctrl+z;
在历史命令中搜索:ctrl+r;
2:历史命令
(1)history [选项] [历史命令保存文件]
选项:-c清空历史命令;
-w把缓存中的历史命令写入历史命令保存文件~/.bash_history;
(2)注意:根目录下面,ls -a显示.bash_history文件可以进行查看历史命令;
(3)历史命令默认会保存1000条,可以在坏境变量配置文件/etc/profile中进行修改;可以去vim /etc/profile里面修改保存的历史命令的条数;
(4)使用上下箭头调用之前的历史命令;
(5)命令与文件补全:在Bash中,命令与文件补全是非常方便与常用的功能,我们只要在输入命令或者文件时,按“tab”键就会自动进行补全;
3:输出重定向
(1):标准输入输出:
键盘,设备文件名/dev/stdin,文件描述符0,类型为标准输入;
显示器,设备文件名/dev/stdout,文件描述符1,类型为标准输出;
显示器,设备文件名/dev/stderr,文件描述符2,类型为标准错误输出;
(2):输出重定向:
标准输出重定向:命令 > 文件 ,以覆盖的方式,把命令的正确输出输出到指定的文件或者设备当中;
命令 >> 文件,以追加的方式,把命令的正确输出输出到指定的文件或者设备中。
标准错误输出重定向:错误命令 2 >文件,以覆盖的方式,把命令的错误输出输出到指定的文件或者设备中。
错误命令 2 >> 文件,以追加的方式,把命令的错误输出输出到指定的文件或者设备中。
4:多命令顺序执行(多命令执行符; && ||)
(1); ---->命令1; 命令2 的作用多个命令顺序执行,命令之间没有任何逻辑联系;
(2)&& ---->命令1 && 命令2 的作用是逻辑与,当命令1正确执行,则命令2 才会执行,当命令1执行不正确,则命令2 不会执行;
(3)||---->命令1 || 命令2的作用是逻辑与,当命令1执行不正确,则命令2才会执行,当命令1正确执行,则命令2不会执行;
(4)管道符,命令格式:命令1 | 命令2的作用是命令1的正确输出作为命令2的操作对象;
(5)管道符举例说明:ls -l /etc | more将管道符前面正确执行的输出作为管道符后面的操作对象;
5:通配符
(1)?匹配一个任意字符;
(2)*匹配0个或者任意多个任意字符,也就是可以匹配任何内容;
(3)[]匹配括号中任意一个字符,例如:[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c;
(4)[-]匹配括号中任意一个字符,-代表一个范围,例如[a-z]代表匹配一个小写字母;
(5)[^]逻辑非,表示匹配不是中括号内的一个字符,例如:[^0-9]代表匹配一个不是数字的字符;
6:特殊符号
(1)''单引号,在单引号中所有的特殊符号,如"$"个“‘”反引号都没有特殊含义;
(2)""双引号,双引号,在双引号中特殊符合都没有特殊含义,但是“$”,"'"和“\”是例外,拥有"调用变量的值","引用命令"和“转义符”的特殊含义;
(3)#在shell脚本中,#开头的行代表注释;
(4)$用于调用变量的值,如需要调用变量name的值时,需要用$name的方式得到变量的值;
(5)\转义符,跟在\之后的特殊符号将失去特殊含义,变为普通字符,如\$将输出"$"符号,而不当作是变量引用;
(6)$()和反引号作用一样,用来引用系统命令;
(7)''反引号,反引号括起来的内容是系统命令,在Bash中会执行它,和$()作用一样,不过推荐使用$(),因为反引号非常容易看错;