RHEL7基本命令
Terminal
TTY
TTY是TeleTYpe的一个老缩写。
Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,和古老的电报机区别并不是很大。
之后,当计算机只能以批处理方式运行时(当时穿孔卡片阅读器是唯一一种使程序载入运行的方式),电传打字机成为唯一能够被使用的“实时”输入/输出设备。
最终,电传打字机被键盘和显示器终端所取代,但在终端或TTY接插的地方,操作系统仍然需要一个程序来监视串行端口。
一个getty“Get TTY”的处理过程是:一个程序监视物理的TTY/终端接口。
PTY
但是假如我们远程telnet到主机或使用xterm时不也需要一个终端交互么?是的,这就是虚拟终端pty(pseudo-tty)。
PTS/PTMX
pts(pseudo-terminal slave)是pty的实现方法,和ptmx(pseudo-terminal master)配合使用实现pty(PTS/PTMX结合使用实现PTY)。
实验:验证SSH的终端
在图形界面下打开一个终端,查看当前终端对应的pts号
[root@administrator ~]# who am i
root pts/0 2016-08-07 12:06 (:0)
使用SSH连接本机:
[root@administrator ~]# ssh root@127.0.0.1
The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
ECDSA key fingerprint is 3b:42:8d:2e:84:6f:1e:b9:b6:eb:6d:34:23:b5:f2:57.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts.
root@127.0.0.1's password:
Last login: Sun Aug 7 12:02:57 2016 from localhost
再次查看pts号:
[root@administrator ~]# who am i
root pts/1 2016-08-07 12:08 (localhost)
可以看出已经不是之前的终端号了,说明启用了一个新的伪终端
查看进程:
[root@administrator ~]# ps -aux | grep pts
root 7767 0.0 0.1 116676 3340 pts/0 Ss 12:06 0:00 /bin/bash
root 7820 0.0 0.2 80420 4208 pts/0 S+ 12:08 0:00 ssh root@127.0.0.1
root 7821 0.0 0.2 143344 5440 ? Ss 12:08 0:00 sshd: root@pt/1
root 7824 0.0 0.1 116564 3264 pts/1 Ss 12:08 0:00 -bash
root 7888 0.0 0.0 141576 1672 pts/1 R+ 12:11 0:00 ps -aux
root 7889 0.0 0.0 112644 952 pts/1 R+ 12:11 0:00 grep --color=auto pts
可以看出通过ssh连接后 其实使用的是pts终端
Shell提示符
对比普通用户和root用户的Shell提示符
普通用户
[courier@administrator ~]$
root用户
[root@administrator ~]#
[用户名@主机名 当前所在目录]root/普通用户
$为普通用户 #为root用户
Bash Shell 基本语法
使用下面的两个命令查看所有的解释器:
[root@administrator root]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
[root@administrator root]# chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
命令的格式:命令字 [选项][参数]
命令字:具体执行的命令
选项:匹配的条件
参数:命令处理的对象
举例说明:
[root@administrator root]# touch example.txt
[root@administrator root]# ls
anaconda-ks.cfg Documents example.txt Music Public Videos
Desktop Downloads initial-setup-ks.cfg Pictures Templates
[root@administrator root]# rm -rf example.txt
[root@administrator root]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates
Desktop Downloads Music Public Videos
常用基本命令
ls
作用:查看当前目录下有哪些文件
语法:ls 目录 如果不加目录则查看当前目录
[root@administrator root]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates
Desktop Downloads Music Public Videos
[root@administrator ~]# ls ~
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates
Desktop Downloads Music
-l 显示详细信息(ll命令等同于ls -l)
[root@administrator ~]# ls -l
total 8
-rw-------. 1 root root 1545 Aug 7 09:04 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Aug 7 00:23 Desktop
drwxr-xr-x. 2 root root 6 Aug 7 00:23 Documents
drwxr-xr-x. 2 root root 6 Aug 7 00:23 Downloads
-rw-------. 1 root root 1638 Aug 7 00:23 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 Aug 7 00:23 Music
drwxr-xr-x. 2 root root 6 Aug 7 00:23 Pictures
drwxr-xr-x. 2 root root 6 Aug 7 00:23 Public
drwxr-xr-x. 2 root root 6 Aug 7 00:23 Templates
drwxr-xr-x. 2 root root 6 Aug 7 00:23 Videos
-a 显示所有 包括隐藏文件
[root@administrator ~]# ls -a
. .bashrc Downloads Pictures .viminfo
.. .cache .esd_auth Public .xauthO64wyA
anaconda-ks.cfg .config .ICEauthority .ssh
.bash_history .cshrc initial-setup-ks.cfg .tcshrc
.bash_logout Desktop .local Templates
.bash_profile Documents Music Videos
-d 查看目录(不查看里面的内容)
[root@administrator ~]# ls -d
.
pwd命令
作用:查看当前所在目录的绝对路径
[root@administrator ~]# cd /etc/sysconfig/network-scripts/
[root@administrator network-scripts]# pwd
/etc/sysconfig/network-scripts
cd命令
作用:切换目录
语法:cd 目录名
不跟目录名则切换到当前用户目录
.表示当前目录 ..当前目录的上级目录
[root@administrator network-scripts]# cd
[root@administrator ~]# pwd
/root
[root@administrator ~]# cd /home
[root@administrator home]# pwd
/home
[root@administrator home]# cd /etc/sysconfig/network-scripts/
[root@administrator network-scripts]# cd .
[root@administrator network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@administrator network-scripts]# cd ..
[root@administrator sysconfig]# pwd
/etc/sysconfig
[root@administrator sysconfig]# cd ./../
[root@administrator etc]# pwd
/etc
系统时间管理
查看BIOS时间
[root@administrator ~]# hwclock
Sun 07 Aug 2016 01:18:25 PM EDT -0.147639 seconds
查看系统时间
[root@administrator ~]# date
Sun Aug 7 13:19:29 EDT 2016
修改时间
[root@administrator ~]# date -s 2016-10-1
Sat Oct 1 00:00:00 EDT 2016
格式化时间
[root@administrator ~]# date '+%Y-%m-%d %H:%M'
2016-10-01 00:02
命令太多如何获取帮助
命令字 -h/--help
[root@administrator ~]# systemctl --help
[root@administrator ~]# systemctl -h
man 命令字
[root@administrator ~]# man systemctl
关机命令
shutdown
作用:关机/重启/定时关机
语法:shutdown [选项]
-r 重启计算机
[root@administrator ~]# shutdown -r
Shutdown scheduled for Mon 2016-08-08 01:38:34 EDT, use 'shutdown -c' to cancel.
[root@administrator ~]#
Broadcast message from root@administrator (Mon 2016-08-08 01:37:34 EDT):
The system is going down for reboot at Mon 2016-08-08 01:38:34 EDT!
[root@administrator ~]# shutdown -now
[root@administrator ~]# shutdown -r +10
Shutdown scheduled for Sun 2016-08-07 13:50:56 EDT, use 'shutdown -c' to cancel.
[root@administrator ~]#
Broadcast message from root@administrator (Sun 2016-08-07 13:40:56 EDT):
The system is going down for reboot at Sun 2016-08-07 13:50:56 EDT!
[root@administrator ~]# shutdown -r 01:50
Shutdown scheduled for Mon 2016-08-08 01:50:00 EDT, use 'shutdown -c' to cancel.
-h 关机
[root@administrator ~]# shutdown -h +10
Shutdown scheduled for Sun 2016-08-07 13:54:14 EDT, use 'shutdown -c' to cancel.
Broadcast message from root@administrator (Sun 2016-08-07 13:44:14 EDT):
The system is going down for power-off at Sun 2016-08-07 13:54:14 EDT!
[root@administrator ~]# shutdown -h 01:55
Shutdown scheduled for Mon 2016-08-08 01:55:00 EDT, use 'shutdown -c' to cancel.
[root@administrator ~]# shutdown -h now
init 0 关机
[root@administrator ~]# init 0
reboot 重启
[root@administrator ~]# reboot
poweroff 关机
[root@administrator ~]# poweroff
启动级别
命令:init
作用:切换系统运行级别
语法:init 0-6
7个启动级别
0 系统停机模式 系统默认运行级别不能设置为0,否则不能正常启动机器关闭
1 单用户模式 root权限,用于系统维护,禁止远程登陆,类似windows安全模式
2 多用户模式 没有NFS网络支持
3 完整的多用户文本模式 有NFS网络支持,登陆后进入控制台命令行模式
4 系统未使用 保留一般不用,在一些特殊情况下可以用它来做一些事情,例如:笔记本电脑的电池用尽时可以切换到该模式做一些设置
5 图形化模式 登陆后进入图形GUI模式
6 重启模式 默认运行级别不能设为6,否则不能正常启动,执行init 6机器就会重启
启动级别设置
RHEL7不再使用/etc/inittab文件进行默认的级别配置
查看inittab文件
[root@administrator ~]# vim /etc/inittab
# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
#
该文件的注释中已经说明不再使用inittab进行默认级别的配置
根据该文件注释,下面使用红帽7提供的级别进行配置
切换到第3运行级
[root@administrator ~]# systemctl isolate multi-user.target
[root@administrator ~]# systemctl isolate runlevel3.target
切换到第5运行级
[root@administrator ~]# systemctl isolate graphical.target
[root@administrator ~]# systemctl isolate runlevel5.target
设置默认的运行级别为第三运行级别
[root@administrator ~]# systemctl set-default multi-user.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
设置默认的运行级别为第五运行级别
[root@administrator ~]# systemctl set-default graphical.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.
查看当前运行级别
[root@administrator ~]# runlevel
3 5
3为上次的运行级别 5为本次 如果系统刚启动 上次则会显示为N
查看默认运行级别
[root@administrator ~]# systemctl get-default
graphical.target
设置服务器在来电后自动开机
该功能需要BIOS支持
- 进入BIOS(一般是在开机后出现主板画面时Del键,部分品牌机可能按F2/F1)
- 找到Power Management Setup进入电源设置
- 找到Wake Up Event Setup
- 将Disabledd更改为Enabled
- 再继续设置时间和日期
- 保存并退出
附录
Linux下不同的颜色代表了不同的文件类型
颜色 | 类型 | 举例 |
---|---|---|
蓝色 | 目录 | /etc |
黑色 | 文件 | /etc/passwd |
浅蓝色 | 链接 | /etc/grub2.cfg |
红色 | 压缩包 | boot.tar.gz |
绿色 | 可执行文件 | /etc/init.d/network |
黑底黄字 | 设备文件 | /dev/sda |
who、whoami命令 和 who am i 命令的区别
Linux中tty、pty、pts的概念区别
RHEL7基本命令的更多相关文章
- linux云计算集群架构学习笔记:rhel7基本命令操作
1-3-RHEL7基本命令操作 1.1Linux终端介绍 Shell提示符 Bash Shell基本语法. 1.2基本命令的使用:ls.pwd.cd. 1.3查看系统和BIOS硬件时间. 1.4 L ...
- RHEL7 CentOS7 检查查看精简指令
RHEL7 CentOS7 检查查看精简指令: //////////////////////////检查查看精简指令://///////////////////////////// ///////// ...
- Linu之linux系统基础优化和基本命令
Linux系统基础优化和基本命令 网络参数设定命令 ifconfig: 查询,设置网卡和ip等参数 ifup,ifdown: 脚本命令,更简单的方式 ip: 符合指令,直接修改上述功能 编辑网卡配置文 ...
- 第五天 Linux基本命令
tty控制台终端 tty1~tty6? ctrl + alt + F2~F6 切换控制台 alt + F1 返回 但是使用 在图形化界面,使用init 3后,不能使用alt + F1返回,因为两者 ...
- linux 之基本命令学习总结
前言:从今天开始写这系列linux博客了(是学习刘遄老师的<linux就该这么学>),视频学习的资源可以在b站上找到:https://www.bilibili.com/video/av45 ...
- rhel7 学习第二天
参加<Linux就该这么学>在线培训的第二天,学习了虚拟环环境的搭建和红帽7的安装,同时也学习了rhel7的基本命令格式,以及systemctl的使用.
- Vagrant基本命令详解
正在学习Docker Swarm,接触到了Vagrant.Vagrant是一个创建虚拟机的技术,可以把它认为是一个Vmware,它让我们可以通过代码的方式快速地.可重复地创建针对不同虚拟环境的虚拟机, ...
- Configure a VLAN on top of a team with NetworkManager (nmcli) in RHEL7
SOLUTION VERIFIED September 13 2016 KB1248793 Environment Red Hat Enterprise Linux 7 NetworkManager ...
- Create a Team in RHEL7
SOLUTION VERIFIED September 13 2016 KB2620131 Environment Red Hat Enterprise Linux 7 NetworkManager ...
随机推荐
- Android系统启动流程(一)解析init进程启动过程
整体流程大致如下: 1.init简介 init进程是Android系统中用户空间的第一个进程,作为第一个进程,它被赋予了很多极其重要的工作职责,比如创建zygote(孵化器)和属性服务等.in ...
- 进程管理-PV操作
1.临界资源:诸进程需要互斥方式对其进行共享的资源. 2.临界区:每个进程中访问临界资源的那段代码. 3.信号量:一种特殊的变量.
- EasyUI报错 $(...).accordion is not a function
参考资料: https://stackoverflow.com/questions/9017634/accordion-is-not-a-function 原因:加载了2次jquery js文件
- Unity 4.6 GUI
一起来窥探Unity的下一代GUI 预览 UI组件 UI结构 Canvas Button Selection List(滑动列表)
- yum-config-manager命令找不到
安装: 命令在yum-utils 包里,安装既可以解决:yum -y install yum-utils 当然你也可以通过 dnf 替代 dnf 命令替代: 禁用仓库命令就是: dnf config- ...
- 迷宫问题 dfs bfs 搜索
定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, ...
- BZOJ1024:[SCOI2009]生日快乐(DFS)
Description windy的生日到了,为了庆祝生日,他的朋友们帮他买了一个边长分别为 X 和 Y 的矩形蛋糕. 现在包括windy,一共有 N 个人来分这块大蛋糕,要求每个人必须获得相同面积的 ...
- rman 脚本大全
################################################################一个增量备份的例子脚本######################### ...
- Java中关于CyclicBarrier的使用
CyclicBarrier工具类主要是控制多个线程的一起执行,CyclicBarrier 实例可以多次使用. 演示程序: import java.util.Random; import java.ut ...
- dp HDU - 5074
按题意推表达式 #include<cstdio> #include<cstring> #define max(a, b) (a)>(b)?(a):(b) ][], num ...