目录
(2) 通过SHELL,我们可以对LINUX实现哪些操作或管理?
1.Linux终端
(1)登录LINUX终端
1)两种终端仿真器:
- GNOME桌面的GHOME Terminal ;
- KDE桌面的Konsole Terminal
2)远程连接终端工具:
- Xshell
- secureCRT
(2)tty命令
通过tty命令看到当前所属的虚拟终端
CentOS本身终端上:
注:shift+ctrl+N 快速打开一个终端。 终端字体放大: shift+ctrl+加号。终端字体缩小:ctrl+减号
secureCRT终端上:
(3)不同虚拟终端之间通讯
同时打开两终端,第一个终端执行:
示例1:向特定的终端发送消息
在/dev/pts/1上输入以下命令:
在/dev/pts/2上看到如下:
示例2:对所有终端广播消息:系统10分钟后关机。
在/dev/pts/1上输入以下命令:
在其他上都能看到如下:
取消关机
示例3:广播一个消息
在/dev/pts/1上输入以下命令:
在其他终端上都可以收到:
2.Shell
(1)什么是Shell?
Shell俗称壳,它提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令并把它送入内核去执行
Shell实际上是一个命令解释器,它通过解释用户输入的命令并把它传输给系统内核去执行。
Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。
内部命令:在系统启动时就调入内存,是常驻内存的,所以执行效率高
外部命令:是系统软件的功能,用户需要时才从硬盘中读入内存
如何区内外部命令?
使用type命令 ,语法 : type 要检测的命令
(2) 通过SHELL,我们可以对LINUX实现哪些操作或管理?
- 对用户的管理(添加、删除)
- 相关权限的管理(授权用户对相关文件的管理,比如增删改查)
- 对磁盘的管理(分区、raid、lvm)
- 对软件的管理
- 对网络的管理
(3)shell提示符“#”号与“$”号的区别
- #表示是root用户登录,管理员账号登陆
- $表示普通用户登录
(4)查看所有shell类型
cat /etc/shells
具体你使用的是哪一个,取决于你的用户配置,也就是说你可以看一下/etc/passwd文件的每一行的最后一个字段
3.基本操作
(1)命令格式
命令 【选项】 【参数】
命令:具体执行的命令,比如pwd,head
选项:会影响到命令的一些形为操作,通常以- --实现
参数:命令作用的对象
(2)基本命令
1)ls
作用:查看当前目录下有哪些文件(list)
语法:ls 目录/文件 ,如果什么也不加,那么查看的是当前目录下的内容
常用选项:
命令后面不加任何选项:平铺目录下的内容
-l:列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等,长列表
- 第一个字符文件类型中:
- d:目录文件
- l:链接文件
- b:块设备文件
- c:字符设备文件
- p:管道文件
- -: 表示普通文件
-a :列出目录下所有的文件,包括以“.“开头的隐藏文件(linux下隐藏文件是以 . 开头的,如果存在2个点代表存在着父目录,1个点表示当前目录)
-d: 查看目录(不查看里面的内容)
-S:以文件的大小进行排序
ls -l 和ll 这两个命令是等价的,ll是ls -l的别名
2)别名的使用
临时定义一个别名:
注:需要在root用户下
alias 别名='要被定义的名称'
删除一个别名:
unalias 别名
设置别名永久生效:、
=======》只对当前用户有效
=======》对所有用户有效
编辑/etc/bashrc文件
在该文件最后一行添加定义别名的命令
3)cd
作用:切换目录(change directory)
语法:cd 目录
- 只输入cd:表示回到当前用户的宿主目录(~),等价于cd ~
- root用户的宿主目录对应为根目录下的root目录
- 普通用户的宿主目录对应为home目录下的用户名目录
- cd ..:表示返回到上级目录位置,也就是父目录
- cd .:表示进入到当前用户所在的目录
- cd -:表示退回到切换前的目录
4)history
作用:查看历史命令
这里能记录多少条记录我们可以自己定义
3个快速查找Linux历史命令的技巧:
- 方法1: 光标上下键
- 方法2: ctrl+r ------>输入某条命令的关键字------------>找出来对应的命令,按右光标键
- 方法3: !数字:执行历史命令中第N条命令
(3)Linux下快捷键
都是用Ctrl+下面的单词, ^表示Ctrl
^C:终止前台运行的程序 , 如:ping g.cn 后,想停止按下Ctrl+C
^D:退出 等价exit
^L:清屏与clear功能一样^R:搜索历史命令,可以利用好关键词
!$:引用上一个命令的最后一个参数
tab键:补全命令,Tab只能补全命令和文件
(4)系统时间管理
在Linux中有硬件时钟与系统时钟等两种时钟。
- 硬件时钟:指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟;
- 系统时钟则:指kernel中的时钟;所有Linux相关指令与函数都是读取系统时钟的设定
当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作
1)查看两种时间的命令
- UTC (Universal Time Coordinated):世界标准时间
- GMT (Greenwich Mean Time):格林尼治时间
- CST (China standard Time):中国标准时间
2)date命令
date -s 字符串:把时间设为字符串所描述的时间
设定时间:
- date -s 20180523 #设置成20120523,这样会把具体时间设置成空00:00:00
- date -s 01:01:01 #设置具体时间,不会对日期做更改
- date -s "2018-05-23 01:01:01" #这样可以设置全部时间
date 字符串:以字符串描述的形式显示时间
字符串中常用参数如下
- %y 年份最后两位数位 (00-99)
- %Y 年份(显示4位)
- %m month (01..12)
- %d 按月计的日期(例如:01)
- %M minute (00..59)
- %H 小时(00-23)
- %S 秒(00-60)
在年月日之前可以添加自己想要的符号
date -d 字符串:显示由字符串描述的时间,而不是“当前时间”
date命令加减操作:
- date +%Y%m%d #显示当天年月日
- date -d "+1 day" +%Y%m%d #显示明天的日期
- date -d "-1 day" +%Y%m%d #显示昨天的日期
- date -d "-1 month" +%Y%m%d #显示上一月的日期
- date -d "+1 month" +%Y%m%d #显示下一月的日期
- date -d "-1 year" +%Y%m%d #显示前一年的日期
- date -d "+1 year" +%Y%m%d #显示下一年的日期
3)time命令
time 作用:一般用来测量一个命令的运行时间
使用方法:time 在后面直接跟上命令和参数
.......
说明:
- real:实际使用时间
- user:用户状态使用的时间
- sys:内核状态使用的时间
(5)Linux帮助使用
- man 命令 :查看手册页或命令描述
- man命令查看帮助时,支持它支持上翻下翻,搜索(直接输入斜线),退出用q
- 使用-h或--help查看命令选项
(6)开关机命令及7个启动级别
1)shutdown
作用:关机,重启,定时关机
语法:shutdown [选项]
参数:
- -r : 重新启动计算机
- -h :关机
- -h 时间 :定时关机
2)init
作用:切换系统运行级别
语法:init 0-6
Linux 7个启动级别:
- 0 系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,机器关机
- 1 单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录
- 2 多用户模式,没有NFS和网络支持
- 3 完整的多用户文本模式,有NFS和网络,登陆后进入控制台命令行模式
- 4 系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置
- 5 图形化模式,登陆后进入图形GUI模式,X Window系
- 6 重启模式,默认运行级别不能设为6,否则不能正常启动。运行init 6机器就会重启
示例1:init 3:进入字符界面
示例2:init 5:又切换到图形界面
设置默认的运行级别:
centos7不再使用/etc/inittab文件进行默认的启动级别配置,而使用比sysvinit的运行级更为自由的target替代。
第3运行级用multi-user.target替代。
第5运行级用graphical.target替代。
查看默认的运行级别: