本节所讲内容:
3.1 Linux中断介绍Shell提示符 Bash Shell基本语法
3.2 基本命令的使用:ls, pwd, cd, history
3.3 查看系统和BIOS硬件时间
3.4 Linux如何获得帮助
3.5 开关机命令及7个启动级别
3.6 实战: 设置服务器来电后自动开机
3.7 实战: 设置服务器定时开机
3.1 Linux终端介绍,Shell提示符,Bash基本语法
3.1.1 登录Linux终端
两种终端仿真器: 1, GNOME桌面的GHOME Terminal; 2, KDE桌面的Konsole Terminal
远程连接终端工具: Xshell, CRT;
例1:通过tty命令看到当前所属的虚拟终端
[root@xuegod63 ~]# tty
/dev/pts/0
注: shift+ctrl+N快速打开一个终端. 终端字体放大: shift+ctrl+加号. 终端字体缩小: ctrl+减号
例2:不同虚拟终端之间的通讯
同时打开两终端,第一个终端执行:
[root@xuegod63~]# echo xuegod >/dev/pts/1
在第二个终端查看:有xuegod输出
例3: 对所有终端广播消息: 系统10分钟后关机.
[root@xuegod63~]# shutdown + 10 #执行此命令后,在其他终端都会受到关机的消息
[root@xuegod63~]# shutdown -c #取消关机
或:
[root@xuegod63~]#wall "The system will be shut down in 10 minutes" #广播,所有终端都能收到
3.1.2 认识shell
Shell俗称壳,它提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令并把它送入内核去执行
Shell实际上是一个命令解释器,它通过解释用户输入的命令并把它传输给系统内核去执行.
Shell有自己的编程语言用于对命令的编辑,它允许用户编写由Shell命令组成的程序.Shell
编程语言具有普通编程语言的很多特点,比如它也由循环结构和分支控制结构等,用这种编辑语言写的Shell程序与其他应用程序具有同样的效果.
内部命令: 在系统启动时就调入内存,是常驻内存的,所以执行效率高
外部命令: 是系统软件的功能,用户需要时才从硬盘中读入内存
如何区分内外部命令?
使用type命令, 语法: type 要检测的命令
[root@xuegod63~]# type cat
cat是/usr/bin/cat
[root@xuegod63~]# type pwd
pwd是shell内嵌
总结: 通过Shell,我们可以对Linux实现哪些操作或管理:
例如:
对文件的管理(创建,删除,复制,修改)
1,对用户的管理(添加,删除)
2,相关权限的管理(授权用户对相关文件的管理,比如增删该查)
3,对磁盘的管理(分区,raid,lvm)
4,对软件的管理
5,对网络的管理
3.1.3 Shell提示符 "#"号与 "$"号的区别
[root@xuegod63~]# #表示是root用户登陆,管理员账号登陆
[root@xuegod63~]# su -mk #切换到mk普通用户
[root@xuegod63~]$ #表示普通用户登录
上面各位置对应的内容代表的意思如下:
[root @ xuegod63 ~ ]#
用户名@---主机名--------当前所在目录(~表示当前用户的家目录)---(#root/$普通用户)
3.1.4 认识Bash Shell
查看所有shell类型
[root@xuegod63~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
具体你使用的哪一个,取决于你的用户配置,也就是说你可以看一下/etc/passwd文件的每一行的最后一个字段
[root@xuegod63~]#head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
3.2 基本命令操作
在Linux中使用一个命令,命令格式如下:
命令 [选项] [参数]
命令: 具体执行的命令, 比如pwd,head
选项: 会影响到命令的一些行为操作, 通常以- --实现
参数: 命令作用的对象
3.2.1 基本命令之--ls
作用: 查看当前目录下有哪些文件(list)
语法: ls 目录/文件 ,如果什么也不加,那么查看的是当前目录下的内容
常用选项:
命令后面不加任何选项
[root@xuegod63~]# ls
-l 列出文件的详细信息,如创建者, 创建时间, 文件的读写权限列表等,长列表
[root@xuegod63~]# ls -l
总用量 8
-rw-------. 1 root root 1680 9月 19 12:16 anaconda-ks.cfg
-rw-r--r--. 1 root root 1728 9月 19 12:55 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 9月 19 13:05 公共
drwxr-xr-x. 2 root root 6 9月 19 13:05 模板
drwxr-xr-x. 2 root root 6 9月 19 13:05 视频
第一个字符文件类型中:
d: 目录文件
l: 链接文件
b: 块设备文件
c: 字符设备文件
p: 管道文件
-: 表示普通文件
为什么有的目录文件有不同的颜色呢?
linux系统中不同的颜色代表了不同的文件类型
蓝色---目录---/etc
黑色---文件---/etc/passwd
浅蓝色---链接---/etc/grub2.cfg
红色---压缩包---boot.tar.gz
绿色---可执行文件---/etc/init_d/network
黑底黄字---设备文件---/dev/sda
-a 列出目录下所有的文件, 包括以'.'开头的隐藏文件(linux下隐藏文件是以.开头的,如果存在2个点代表存在着父目录,1个点表示当前目录)
[root@xuegod63~]# ls -a
.bash_profile .dbus .mozilla 视频 桌面
-d 查看目录(不查看里面的内容)
[root@xuegod63~]# ls -ld /root/
dr-xr-x---. 15 root root 4096 11月 15 21:37 /root/
-S 以文件的大小进行排序
[root@xuegod63~]# ls -IS /root/
总用量 8
-rw-r--r--. 1 root root 1728 9月 19 12:55 initial-setup-ks.cfg
-rw-------. 1 root root 1680 9月 19 12:16 anaconda-ks.cfg
ls -l 和ll 这两个命令是等价的
[root@xuegod63 ~]# ll /etc/passwd
-rw-r--r--. 1 root root 2053 9月 19 12:57 /etc/passwd
[root@xuegod63 ~]# ls -l /etc/passwd
-rw-r--r--. 1 root root 2053 9月 19 12:57 /etc/passwd
[root@xuegod63 ~]# type ll
ll 是 `ls -l --color=auto' 的别名
3.2.2 别名的使用
定义一个别名:
[root@xuegod63~]# alias vimens33='vim /etc/sysconfig/network-scripts/ifcfg-ens33'
[root@xuegod63~]# vimens33
删除别名:
[root@xuegod63~]# unalias vimens33
设置别名永久生效:
==> 当前用户
[root@xuegod63~]# vim /root/.bashrc #插入以下内容
8 alias vimens33="vim /etc/sysconfig/network-scripts/ifcfg-ens33"
[root@xuegod63~]# source /root/.bashrc
[root@xuegod63~]# vimens33
==>全局使用
[root@xuegod63~]#vim /etc/bashrc #在文件最后插入
alias vimens33="vim /etc/sysconfig/network-scripts/ifcfg-ens33"
[root@xuegod63~]# su -mk
上一次登录:四 11月 16 10:22:03 CST 2017pts/1 上
[mk@xuegod63 ~]$ vimenss33
3.2.3 基本命令之--cd
作用: 切换目录(change directory)
语法: cd 目录
说明: 直接输入 cd 表示回到当前用户的宿主(家)目录
[root@xuegod63 ~]# cd /etc/sysconfig/network-scripts/
[root@xuegod63 network-scripts]# cd
[root@xuegod63 ~]# cd ~
cd .. 表示返回到上级目录位置, 也就是父目录
cd . 表示进入到当前用户所在的目录
[root@xuegod63 ~]# pwd
/root
[root@xuegod63 ~]# cd ..
[root@xuegod63 /]# pwd
/
[root@xuegod63 /]# cd .
[root@xuegod63 /]#
cd - #表示返回切换前的目录
[root@xuegod63 /]# cd /etc/sysconfig/network-scripts/
[root@xuegod63 network-scripts]# cd -
/
3.2.4 历史命令之history
命令: history
4个快速查找Linux历史命令的技巧
方法1: 光标上下键↑↓
方法2: ctrl+r →
方法3: !数字 // 执行历史命令第N条命令
方法4: !字符串 // 搜索历史命令中最近一个以xxxx字符开头的命令,例如!vim
3.2.5 Linux下快捷键
都是用CTRL+下面的单词, ^表示CTRL
^C
终止前台运行的程序 ,例如: ping g.cn 后,想停下按住ctrl+c
^D
退出 等价 exit
^L
清屏与clear功能一样
^R
搜索历史命令, 可以利用好关键词
!$ 引用上一个命令的最后一个参数, 等价于
[root@xuegod63 network-scripts]# cat /etc/hosts
[root@xuegod63 network-scripts]# vim !$ #相当于执行: vim /etc/hosts
补全命令使用tab键,Tab只能补全命令和文件
3.3 系统时间管理
在Linux中有硬件时钟与系统时钟等两种时钟.硬件时钟是指主板上的时钟设备,也就是通常可在BIOS 画面设定的时钟; 系统时钟则是指kernel中的时钟; 所有Linux相关指令与函数都是读取系统时钟的设定
当Linux启动时,系统时钟会去读硬件时钟的设定, 之后系统时钟即独立运作
3.3.1 两种时间
查看硬件时间
[root @ xuegod63 etc]# hwclock
查看系统时间
[root @ xuegod63 mnt]# date
时区:
UTC (Universal Time Coordinated):世界标准时间
GMT (Greenwich Mean Time):格林尼治时间
CST (China standard Time):中国标准时间
3.3.2 如何修改时间
date 命令相关参数
date --help
-s, --set=STRING 把时间设为字符串所描述的时间
例: [root@xuegod63 ~]# date -s "2018-11-2 22:30"
2018年 11月 02日 星期五 22:30:00 CST
%F 完整日期格式, 等价于 %Y-%m-%d
[root@xuegod63 ~]# date "+%F"
2018-11-02
%y 年份最后两位数位 (00-99)
%Y 年份
%m month (01..12)
%d 按月计的日期(例如:01)
%M minute (00..59)
%H 小时(00-23)
%S 秒(00-60)
[root@xuegod63 ~]# date "+%Y%m%d"
20181102
[root@xuegod63 ~]# date "+%Y-%m-%d %H:%M:%S" #在年月日之前可以添加自己想要的符号
2018-11-02 22:34:27
[root@xuegod63 ~]# date "+%Y/%m/%d %H:%M:%S"
2018/11/02 22:34:38
[root@xuegod63 ~]# date "+%Y%m%d %H:%M:%S"
20181102 22:35:03
-d, --date=STRING #显示由字符串描述的时间,而不是"当前时间"
date -d "+1 months" +%F
2018-12-02
3.3.3 使用time命令测试一个命令运行的时间
time 作用: 一般用来测量一个命令的运行时间
使用方法: time 在后面直接跟上命令和参数
[root@xuegod63 ~]# time ls -l /etc/
real 0m0.056s
user0m0.016s
sys 0m0.040s
说明:
real: 实际使用时间
user: 用户状态使用的时间
sys: 内核状态使用的时间
3.4 帮助命令使用
遇到命令不知道添加哪个参数, 可以使用命令帮助查看相关介绍,常用的查看帮助信息命令如下几个:
3.4.1 man 命令 :查看手册页或命令描述
[root@xuegod63 ~]# man find
man命令查看帮助时,支持它支持上翻下翻,搜索(直接输入斜线),退出用q
3.4.2 使用-h或--help查看命令选项
[root@xuegod63 ~]# find -h #不可以执行
[root@xuegod63 ~]# find --help
3.5 开关机命令及7个启动级别
常用的几个关机,重启命令
shutdown
init
reboot
poweroff
3.5.1 关机命令之--shutdown
作用:关机,重启,定时关机
语法:shutdown [选项]
参数:
-r => 重新启动计算机
-h => 关机
-h 时间 =>定时关机
例如:
[root@xuegod63 ~]# shutdown -h +10 #10分钟之后关机
[root@xuegod63 ~]# shutdown -h 23:30 #指定具体的时间进行关机
[root@xuegod63 ~]# shutdown -h now #立即关机
[root@xuegod63 ~]# shutdown -r 22:22 #22:22 以后重启
3.5.2 7个启动级别
作用:切换系统运行级别
语法:init 0-6
Linux 7个启动级别:
0 系统停机模式, 系统默认运行级别不能设置为0, 否则不能正常启动,机器关的
1 单用户模式, root权限, 用于系统维护, 禁止远程登陆, 就像Windows下的安全模式登录
2 多用户模式, 没有NFS和网络支持
3 完整的多用户文本模式, 有NFS和网络, 登陆后进入控制台命令行模式
4 系统未使用, 保留一般不用, 在一些特殊情况下可以使用它做一些事情.例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置
5 图形化模式, 登陆后进入图形GUI模式, X Windows系
6 重启模式, 默认运行级别不能设为6, 否则不能正常启动. 运行init 6机器就会重启.
例
[root@localhost ~]# init 0 #关机
[root@localhost ~]# init 3 #进入3级别字符界面
[root@localhost ~]# init 5 #进入5级别图形界面
3.5.3 设置默认的运行界别
centos7不再使用/etc/inittab文件进行默认的启动级别配置,而使用比sysvinit的运行级更为自由的target替代。
第3运行级用multi-user.target替代。
第5运行级用graphical.target替代。
设置默认第三启动级别
[root@xuegod63 ~]# systemctl set-default multi-user.target
设置默认第五启动级别
[root@xuegod63 ~]# systemctl set-default graphical.target
[root@xuegod63 ~]# runlevel
3 5 #表示从3级别切换到了5级别
查看当前默认的启动级别
[root@xuegod63 ~]# systemctl get-default
graphical.target
3.6 实战: 设置服务器来点后自动开机
进入bios, 一般是在开机后出现主板画面是按Delete这个键, 部分品牌机可能按F2,F1
选择Integrated Peripharals (外围设备设置)中的SuperIO Device Integrated [ˈɪntɪgreɪtɪd] 集成 ; Peripharals [pəˈrɪfərəl] 外围将其中的Restore On AC Power Loss 选项修改: Power On
(若要加电不开机选择Power Off,若要加电之前断电状态选择Last State)3.7 设置服务器定时开机
Power Management Setup, 就进入电源管理设置了
通过回车进入这个设置后,选择Wake Up Event Setup,回车选择Press Enter
找到RTC Alarm([əˈlɑ:m] 报警),将Disabied 更改为Enabled,然后继续回车确定。然后再继续设置时间点和日期
按F10保存,退出。
总结:
3.1 Linux终端介绍 Shell提示符 Bash Shell基本语法
3.2 基本命令的使用:ls、pwd、cd、history
3.3 查看系统和BIOS硬件时间
3.4 Linux如何获得帮助
3.5 开关机命令及7个启动级别
3.6 实战:设置服务器来电后自动开机
3.7 实战:设置服务器定时开机
网友评论