一:字符模式与shell命令
字符界面和图形界面
字符界面优点:
1):系统执行效率高,稳定性高,执行结果可直接返回
2):节省系统资源,对一个服务器至关重要
3):节省大量网络开销,大幅降低运行成本
4):命令行可携带更多选项,远比图形化操作功能强大
字符模式下有6个控制台(分别表示为tty1-tty6)
linux可修改文件/etc/inittab 来默认启动字符界面
shell命令使用帮助:
whatis命令:
可以为查询的指令显示剪短的功能描述
命令不可用时 先执行/usr/sbin/makewhatis
--help选项
命令后跟help 显示所查询的指令
man命令(manual:手册)
提供文件说明文件,
info命令(information:信息)
类似于man指令,可实现命令的跳转,方便浏览文件,提供信息
二:文本编译器vi
vi: 用于新建文件并输入内容,打开文件,修改,保存,查找,替换.等等
还可以执行 删除,查找,替换,块操作 是一个文本编辑器
vi的启动
例如: vi test.txt
如果test.txt存在 打开 不存在创建
命令行模式下常用命令:
i: 在光标前输入字符
a: 在光标后输入字符
o: 在光标下面新建的第一个位置输入字符
I: 光标移动到本行的行首,开始输入。
A: 光标移动到本行的末尾,开始输入。
O: 在光标所在行的上面新建一行的第一个位置输入字符
插入模式下常用的命令
esc(键): 切换到命令模式
移动光标的命令:
·:移动光标:"k","j","h","i"相当于键盘的上下左右
·0: 数字0 左移到本行的开头 Home
·$:右移光标到本行的末尾 end
·gg:光标移至文件首行
·G:光标移至文件末尾
·nG:快速定位至第n行位置
·M:将光标移到当前屏幕的中间一行的行首 M:Middle。
·L:将光标移到当前屏幕的最下行的行首 L:Lowest。
·H:将光标移到当前屏幕的最上行的行首 H:Highest。
·Ctrl+b:在文件中向上翻一页 相当于PageUp键。
·Ctrl+f:在文件中向下翻一页 相当于PageDown键。
复制/剪切/粘贴命令
·在vi中y表示复制,d表示删除,p表示粘贴。
·yw:复制光标为首的单词。
·yy:复制光标所在行。
·nyy:复制光标行在内的以下n行,命令也可写为yny。
·dw:删除光标之后的一个单词。
·dd:删除光标所在行(含光标行)。
·ndd:删除光标以下n行。
·p:粘贴到光标的下一行。
·u:撤销最后一次修改,Ctrl+R恢复。
·.:小数点,重复执行最后执行的操作。
切换到末行模式
·编辑模式切换到末行:需先切换到命令模式,然后再切换到末行模式。
末行模式下常用命令:
·:w:保存当前文件,然后可继续编辑(注意:开头的冒号是命令的一部分,最后的冒号非命令的一部分,下同) 。written
·:q:退出vi,quit
·:x:同:wq,保存文件并退出。
·:q!:不保存文件并退出Vi。
·:e!:放弃所有修改,从上次保存文件开始再编辑。
·/字符串:向下查找指定的字符串,按“n”键继续向下查找,N(shift +n)反方向查找。
·?字符串:向上查找字符串。
·:行号:跳转到指定行。:$:表示最后一行。
·:起始行号,结束行号 s/被替换串/新串/g:用于替换字符串,无/g时只替换行中第一个,使用/g将替换所有指定字符串。substitute,global
·:起始行号,结束行号 y:复制指定的多行。
·:起始行号,结束行号d:删除指定的多行。
·:起始行号,结束行号 g/字符串/d:删除带有某字符串的多行。
·:set nu:显示行号。number
·:set nonu:关闭行号显示。
·:set ai:自动缩进,当前行与上一行行首对齐。auto indent
·:set noai:取消自动缩进。
三:init程序与运行级别
1>:init程序是Linux核心引导结束时第一个运行的进程,系统每次启动时都会读取配置文件/etc/inittab,然后启动到文件定义的运行级别下,最后提供用户虚拟控制台(文本);若运行级别为5,则还会启动图形界面。
2>:Linux共有7个运行级别0~6,使用vi /etc/inittab可以查看所有的运行级别以及Linux启动时默认进入的运行级别。
3>:修改默认启动级别:id:3:initdefault
4>:查看当前运行级别:runlevel
四:linux基本配置文件与命令
1>:命令补全: Tab键
2>:清屏: clear, Ctrl+L
3>:service命令:
·用于启动,停止,重启某个服务,查看服务状态
·service 服务名 start
·service 服务名 stop
·service 服务名 restart
·service 服务名 status
4>:chkconfig命令:用于列出服务在不同运行级别下的自动加载情况,也可以使服务在指定运行级别下自动加载或关闭,从而实现开机启动某个服务或开机关闭某个服务的功能。
·chkconfig --list 服务名
列出不同服务在不同级别下的启动关闭情况,服务名省略时显示所有的服务。
·chkconfig --level 运行级别 服务名 on/off/reset
·运行级别间直接书写即可,若省略则为2345。
·on为启动,off为关闭,reset为复原(重置)。
5>:更改计算机名
·查看计算机名称:hostname
·临时修改计算机名:hostname 计算机名
·注意,计算机名要写成域名的形式,如test.com。
·重启计算机后失效。
PS1=“^_^u@H w^_^\$“修改一级命令提示符。
u :当前用户的账号名称
H :完整的主机名称
h :仅取主机的第一个名字
w :完整的工作目录名称。家目录会以 ~代替
W :只会列出最后一个目录
$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$
·永久更改计算机名
·使用命令vi /etc/sysconfig/network
·假设计算机名是test.com,将HOSTNAME=localhost.localdomain修改为HOSTNAME=test.com即可。
6>:查看和设置IP地址
·查看IP地址:ifconfig 网络接口名
·网络接口名可省略,如省略则查看所有活动的网络接口。
·ifconfig只能看到活动网络接口的IP,若想查看所有网络接口的IP,而不论网络接口是否处于活动状态,可以使用ifconfig –a命令。
·临时设置IP地址----重启网络服务(network)或重启计算机后失效。
ifconfig 网卡名 IP地址 netmask 子网掩码
·禁用启用网卡
ifdown 网卡名:禁用网卡
ifup 网卡名 :激活网卡
ifconfig 网卡名 up / down :激活or禁用网卡
·对于双网卡,则第1个网卡为eth0,第2个网卡为eth1,依此类推。
·Linux支持在一个网卡上设置多个IP地址,以ethN:M标识,N、M均从0开始,如eth0:0表示第1个网卡的第1个IP地址。
·永久设置IP地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0
·若想设置多个IP,可以在/etc/sysconfig/network-scripts/下创建ifcfg-eth0:0文件并设置IP(更多的IP可使用eth0:1,eth0:2等)。
·必须禁用并重新激活网卡或重启网络服务才能生效。
7>:设置DNS
·修改DNS,需要修改文件/etc/resolv.conf
nameserver 202.106.46.151
·设置DNS后,没有单独的命令可以查看
8>:使用文本模式设置工具设置IP和DNS地址
·setup
9>:hosts域名解析
·/etc/hosts文件
10>:修改DNS和hosts的解析顺序
·/etc/host.conf文件
·order hosts, bind
·multi on
·/etc/host文件中指定的主机可以有多个地址,拥有多个IP地址的主机一般称为多穴主机。
11>:查看端口信息
/etc/services文件
文件中条目的格式
服务名 端口/协议 别名 注释
12>:查看操作系统信息
uname用于显示计算机及操作系统的相关信息。
uname 选项 常用的选项如下
-a:显示全部的信息。
-m:显示当前电脑架构类型。
-n:显示在网络上的主机名称。
-r:显示操作系统的发行编号,即内核版本号。
-s:显示操作系统名称,与无选项的uname的显示结果相同。
-v:显示操作系统的版本及发行时间。
13>:查看和设置日期
date 选项
不使用选项时可以查看系统当前日期和时间。
使用日期类选项:
+%c:显示日期和时间“*年*月*日 *时*分*秒”。
+%x:显示日期“*年*月*日”。
+%Y:显示完整年份(0000~9999)。
+%y:显示年份的最后两位数字(00~99)。
+%b:月份(Jan~Dec,或1月~12月)。
+%B:月份(January~December,或一月~十二月)。
+%m:月份(01~12)。
+%d:日(01~31)。
+%w:一周中的第几天(0~6)。
+%a:星期几(Sun~Sat,或日、一~六)。
+%A:星期几(Sunday~Saturday,或星期日~星期六)。
+%r:显示12时制的时间,格式为“时:分:秒 AM|PM”,或者“上午|下午 时:分:秒”。
+%T:显示24小时制的时间“时:分:秒”。
+%X:显示“*时*分*秒”。
+%H:24小时制表示小时数(00~23)。
+%k:24小时制表示小时数(0~23)。
+%I:[ai],12小时制表示小时数(01~12)。
+%l:[el],12小时制表示小时数(1~12)。
+%M:显示分钟(00~59)。
+%S:显示秒(00-59)。
+%p:显示本地AM或PM或上午、下午。
+%Z:显示时区。
1):格式选项
%n:显示换行符。例如
输入:date +%D%n%T
显示:
01/12/14
15:15:04
2):查看和设置日期
date -s “日期时间字符串”
用于设置日期和时间
日期时间字符串按照“年月日 时:分:秒”的方式书写即可,注意必须在日期和时间间加空格,时间用冒号分隔。
date命令只能修改系统时间,硬件时间即BIOS时间不会改变。
hwclock -w | -s
用于查看硬件时间,或者更新硬件时间或系统时间。
若要更新硬件时间,可以重启计算机,或者执行hwclock -w命令,此命令会使用系统时间的值修改BIOS时间。
hwclock –s使用硬件时间更新系统时间。
15>:查看历史命令
历史命令存放在“~/.bash_history”文件中。
查看历史命令的方法主要有两种:
使用上下箭头直接翻看输入过的命令。
使用history命令查看。
输入“!命令序号”可以直接执行输入过的历史命令。
临时清理历史命令
history –c
可以清除所在终端使用过的所有历史命令,但退出终端、切换界面、重启计算机后历史命令依然可以查到。
永久删除历史命令
删除文件~/.bash_history中的内容。
16>:挂载与卸载
若在Linux中使用光盘和U盘,则需要挂载。命令为:
·mount 设备名 挂载点
·挂载成功后,通过访问挂载点来实现对设备的间接访问。
·光盘在计算机中的设备名是/dev/hdc或者/dev/cdrom。
USB硬盘在系统中的名字一般为/dev/sdb1、/dev/sdb2等,可以用“fdisk –l”命令查看一下系统是否已经加载此盘。只有加载后方可用下述命令挂载U盘。
Eg: mount /dev/cdrom /mnt
如果要卸载,可以使用umount命令
·umount 挂载点
eject /dev/cdrom 弹出光盘
16>:echo命令
使用echo可以向标准输出输送字符串,格式为:
echo -n 字符串
·-n表示输出字符串后不换行,默认换行。
·-e表示启用转义字符。
Linux中,字符串的定界符有3种,双引号、单引号、倒引号。
·双引号“”:之中的字符串,除$、倒引号、英文叹号、斜杠外,都是普通字符,其中表示转义。 变量:USER, LOGNAME, PATH,BASH
·单引号'':之中的字符串全部是普通字符,原样输出。
·倒引号``:之中的字符串视为命令。
向文件中写入内容
·echo 内容 > 文件名
·echo 内容 >> 文件名