实验一:终端登录软件,登录linux系统
实验目的
在win7 64位系统上安装xshell虚拟机软件,并用其连接此前安装的centos7系列发行版的linux系统。
前提准备
使用主机为win7 64位系统,且主机能访问互联网,必须使用教室有线网络。
实验步骤
1、打开此前使用过的本地ftp服务的共享目录,找到Tools目录下载Xmanager Enterprise 5 Buid 0576 & Keygen.rar软件。
单击下载后,在本地安装即可,在windows安装过程类似此前介绍过的省略,安装后在桌面出现如下图标:
2、双击该图标,打开后如下:
3、然后,再回到虚拟机界面,查看当前的ip地址并记录下来:
4、把ip地址记录下来,然后在xshell终端软件里输入:ssh 172.18.118.155回车,会弹出对话框,要求输入用户名,输入root,单击确定:
再输入此前装系统时设置的root管理员的密码为:root。
单击确定后,就成功通过xshell终端软件:
再下来,就可以在系统上学习linux的基础命令了。
实验二:在linux命令行执行命令
实验目的
在linux系统熟悉基本命令的使用格式和简单命令的使用。
前提准备
使用主机为win7 64位系统,且主机能访问互联网,必须使用教室有线网络,在虚拟机上安装了centos7系统、安装了xshell终端登录软件。
实验步骤
本次实验没有固定步骤,主要介绍基本命令格式的使用,大家不要纠结命令本身作用是实现什么概念,主要是熟悉命令格式及任何获取命令帮助的方法:
【例1】显示当前使用的shell
[root@Magedu ~]# echo ${SHELL}
/bin/bash
【例2】显示当前系统使用的所有shell
[root@Magedu ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
【例3】查看/etc/passwd文件最后1行内容
[root@Magedu ~]# tail -n 1 /etc/passwd
linux:x:1004:1004::/home/linux:/bin/bash
在linux系统的命令行中,即在shell中可行的命令有两类:内部命令和外部命令,判断是哪种命令:
1、type命令:判断内部或外部
格式:type COMMAND
【例4】type查看内部显示的结果
[root@Magedu ~]# type cd
cd is a shell builtin
【例5】type查看外部命令显示的结果
[root@Magedu ~]# type top
top is /usr/bin/top
2、alias命令:查看或设置命令别名
格式:alias NAME=’VALUE’
取消别名:unalias [-a] NAME
-a:表示取消所有别名。
NAME:表示自定义的命令别名名称。
如果别名同原命令同名,要执行原命令时,可使用方式有多种:
\命令名称
‘命令名称’
/PATH/COMMAND
【例6】设置命令别名为bkmysql,实现拷贝/etc/my.cnf为/home/back/my.cnf.bak,设置后查看别名
[root@Magedu ~]# alias bkmysql='cp /etc/my.cnf /hoem/my.cnf.bak'
[root@Magedu ~]# alias
alias bkmysql='cp /etc/my.cnf /hoem/my.cnf.bak'
alias cman='man -M /usr//share/man/zh_CN'
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
【例7】把上例中别名设置写在配置文件里,永久生效
有两个文件可以写,~/.bashrc文件仅当对当前用户,/etc/bashrc文件是对所有用户有效。
[root@Magedu ~]# echo "alias bkmysql='cp /etc/my.cnf /hoem/my.cnf.bak'" >>~/.bashrc
[root@Magedu ~]# tail -1 ~/.bashrc
alias bkmysql='cp /etc/my.cnf /hoem/my.cnf.bak'
【例8】不使用ls的别名
上例分别演示了执行4次ls命令的执行结果,第一行是使用命令别名执行,第三行、第五行、第七行都是使用ls原命令执行,观察期不同之处,很直观,别名有颜色显示的区别。
实验三:linux简单命令
实验目的
熟练使用date、cal、关机和重启、登录信息、echo、命令行扩展、Tab键使用、命令历史、命令帮助的使用、bash快捷键等基本命令并理解其功能。
前提准备
可使用的centos7操作系统,连接教室网络。
实验步骤
依次介绍各个命令的语法格式,及常用法。
1、date命令:显示日期和时间
格式:
date [OPTION]… [+FORMAT]
功能是显示日期时间
date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]
功能是设定日期时间
常用选项:
-s:指定时间和日期
FORMAT格式为:
%F:日期,显示为数字,格式为:2016-03-02;
%D:显示英制格式,月日年,显示格式为:03/02/16;
%T:时间,显示为数字,格式为:15:52:16;
%Y:年份,只显示完整年份数字(4位数字),显示格式为:2016;
%y:显示年份的后两位,显示格式为:16;
%m:月份,只显示数字,显示格式为:03;
%d:日期,只显示数字,显示格式为:02;
%H:小时,只显示数字,显示格式为(00..23):15;
%k:小时,显示格式为(0..23);
%I:小时,格式为(01..12);
%l:小时,显示格式为(1..12);
%h:显示月份,显示格式为:3月;
%M:分钟,只显示数字,显示格式为:52;
%S:秒钟,只显示数字,显示格式为:16;
%a:缩写星期;
%A:完整星期;
%b:缩写月份;
%B:完整月份;
%r:显示格式为(11:11:04 PM);
%R:同%H%M,格式为(23:37)
%s:从1970年1月1日至此刻所经历的秒数;timestamp;显示格式为:1456905397。
【例9】设定日期为2018年5月24日,11点27份30秒
[root@Magedu ~]# date -s "2018-5-24 11:27:30"
Thu May 24 11:27:30 EDT 2018
【例10】显示当前时间
[root@Magedu ~]# date
Thu May 24 11:28:47 EDT 2018
2、cal命令:显示日历
格式:cal [options] [[[day] month] year]
常用选项:
-y:显示整年日历。
【例11】显示当前月的月历
【例12】显示当前年的年历
关机命令:halt、poweroff
重启命令:reboot
以上命令,不予示例演示了,执行后就会生效。
3、shutdown命令:关机或重启命令
格式:shutdown [OPTIONS…] [TIME] [WALL…]
常用选项:
-h:相当于halt关机命令。
由于此命令演示后立即生效,所以不便执行。
4、用户登录信息查看命令
Whoami命令
Who命令
W命令
这几个命令都能查看用户登录信息,稍有区别。
【例13】whoami命令查看当前登录系统的用户
[root@Magedu ~]# whoami
root
【例14】使用who命令查看当前所有系统登录的用户
[root@Magedu ~]# who
root pts/0 2018-05-23 20:38 (172.18.116.232)
root tty2 2018-05-23 21:29
root pts/1 2018-05-23 21:53 (172.18.116.232)
root pts/2 2018-05-23 22:25 (172.18.116.232)
【例15】使用w显示系统当前使用登录会话及所做操作
[root@Magedu ~]# w
11:43:10 up 3:10, 4 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 172.18.116.232 Wed20 13:53m 0.06s 0.06s -bash
root tty2 Wed21 14:13m 0.10s 0.10s -bash
root pts/1 172.18.116.232 Wed21 6.00s 0.12s 0.00s w
root pts/2 172.18.116.232 Wed22 11:58 0.03s 0.03s -bash
5、echo命令:显示字符
格式:
echo [SHORT-OPTION]… [STRING]...
echo LONG-OPTION
常用选项:
-n:不自动换行;
-e:启用\字符的解释功能。
【例16】显示字符abc
[root@Magedu ~]# echo "abc"
abc
【例17】显示PATH变量的值
[root@Magedu ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
【例18】显示abc不换行
[root@Magedu ~]# echo -n "abc"
abc[root@Magedu ~]#
6、命令行扩展:$()或
【例19】把一个命令的输出打印给另一个命令的参数
[root@Magedu ~]# echo "i am `whoami`"
i am root
[root@Magedu ~]# echo "i am $(whoami)"
i am root
[root@Magedu ~]# echo "i am whoami"
i am whoami
7、大括号扩展:{}
【例20】数子、字符扩展
[root@Magedu ~]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
[root@Magedu ~]# echo {a..f}
a b c d e f
8、Tab键补全:
功能:为了减少用户输入完整的命令或路径,而自动显示出来。系统会根据现有环境,自动搜寻匹配的字符,如果单击一次Tab键,能找出匹配项,则显示;如果不能,可以敲击两次Tab键,列出可选择的项目,但如果没有列出项目,则说明无匹配项。
9、命令历史使用方法:
在linux系统里,所有敲击过的命令,会有历史记录,这个历史记录由配置文件设定相关的属性。命令历史的配置文件在~/.bash_histroy。
重复前一个命令:
按方向键上,调出,按回车即执行
输入!!并回车执行
输入!-1并回车执行
history命令查看命令历史记录
输入!n,执行history命令输出对应序号n的命令
!string:
【例21】分别演示以上几种方法
[root@Magedu ~]# ll test.txt
-rw-r--r-- 1 root root 39 May 22 05:33 test.txt
[root@Magedu ~]# !!
ll test.txt
-rw-r--r-- 1 root root 39 May 22 05:33 test.txt
[root@Magedu ~]# !-1
ll test.txt
-rw-r–r– 1 root root 39 May 22 05:33 test.txt
[root@Magedu ~]# history
...
1050 ll test.txt
1051 history
[root@Magedu ~]# !1050
ll test.txt
-rw-r--r-- 1 root root 39 May 22 05:33 test.txt
[root@Magedu ~]# !his
history
54 echo -e 'abcd eaaa\n'|tr -d '[[:space:]]'
55 yum install nginx
56 yum install nginx -y
57 systemctl start nignx
58 systemctl start nginx
10、调用上一次命令最后一个参数:有多种方法
1.输入:!$
2.按Esc键松开后,再按.(点号)
【例22】调用上一次命令最后一个参数
[root@Magedu ~]# ll /etc/ssh/sshd_config
-rw-------. 1 root root 3907 Apr 11 00:21 /etc/ssh/sshd_config
[root@Magedu ~]# file !$
file /etc/ssh/sshd_config
/etc/ssh/sshd_config: ASCII text
11、命令历史环境变量:
系统默认的环境变量都使用大写字母,显示环境变量的内容,则需要使用echo $环境变量名称的形式查看其值。而要想修改或设置环境变量,有两种方法,一种是可直接在命令行使用export命令方式设置环境变量,则立即生效,退出shell登录或服务器重启失效,另一种是把export命令设置环境变量代码写到配置文件里,重读配置文件则永久生效。重读配置文件生效有两种方法:一种是使用source命令重读配置文件生效,另一种使用点号。
HISTISIZE:命令历史记录条数
【例23】查看命令历史记录条数
[root@Magedu ~]# echo $HISTSIZE
1000
【例24】临时修改环境变量历史记录条数为2000
[root@Magedu ~]# export HISTSIZE=2000
[root@Magedu ~]# echo $HISTSIZE
2000
【例25】永久修改环境变量历史记录条数为2000
[root@Magedu ~]# echo "export HISTSIZE=2000" >> ~/.bash_profile
[root@Magedu ~]# source ~/.bash_profile
或使用点号使配置文件永久生效:
[root@Magedu ~]# . ~/.bash_profile
HISTFILE:历史文件保存的变量
【例26】显示历史文件保存的完整路径
[root@Magedu ~]# echo $HISTFILE
/root/.bash_history
当然也可随意设置,方法同上。
HISTFILESIZE:历史文件记录历史的条数
【例27】查看历史文件记录历史的条数
[root@Magedu ~]# echo $HISTFILESIZE
1000
HISTTIMEFRMAT:历史命令记录的格式
【例28】设置历史命令显示执行的日期和时间
[root@Magedu ~]# export HISTTIMEFORMAT="%F %T "
[root@Magedu ~]# history
...
69 2018-05-23 21:53:35 cman ls
70 2018-05-23 21:53:35 . .bashrc
71 2018-05-23 21:53:35 tail .bashrc
72 2018-05-23 21:53:35 man passwd
...
12、Bash中常用快捷键:
Ctrl+l:清屏,相当于clear命令。
Ctrl+c:终止命令。
Ctrl+z:挂起命令。
Ctrl+a:光标移到命令行首,相当于Home键。
Ctrl+e:光标移到命令行尾,相当于End键。
Ctrl+u:从光标处删除至命令行首。
Ctrl+k:从光标处删除至命令行尾。
Alt+r:删除当前命令行整行。注意在xshell软件中Alt键冲突,若想要使用则需要重置。
13、命令的使用帮助:
在日常学习命令中,如果遇到不熟悉的命令或要了解一个命令的详细参数功能,就需要查找相关手册,知道如何获取相关命令帮助,就显得尤为重要,下面为大家介绍几种获取帮助的命令和方法。
【例29】使用man命令查看man命令的使用手册
[root@Magedu ~]# man man
回车后,将显示:
解释在该界面内容表示的意义:
各部分功能说明:
SECTION:
name:命令的名称及功能描述;
SYNOPSIS:命令使用格式摘要;
DESCRIPTION:详细描述信息;
OPTIONS:选项详细说明;
AUTHOR:作者;
BUGS:报告程序bug的途径;
EXAMPLES:使用示例;
SEE ALSO:额外参考;
FILES:相关配置文件。
SYNOPSIS:
[]:可选内容;
<>:必须提供的内容;
a|b|c:多选一;
…:同类内容可出现多次。
man章节:
1 Executable programs or shell commands用户命令帮助文档;
2 System calls (functions provided by the kernel)系统调用帮助文档(由内核提供的函数);
3 Library calls (functions within program libraries)库调用帮助文档(由库程序提供的函数);
4 Special files (usually found in /dev)特殊文件帮助文档;
5 File formats and conventions eg /etc/passwd配置文件的格式的帮助文档;
6 Games游戏帮助文档;
7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)杂项帮助文档;
8 System administration commands (usually only for root)系统管理命令使用帮助文档;
9 Kernel routines [Non standard]内核程序代码的帮助文档。
注意:当一个命令在多个章节都有时,默认显示第一个检索到的章节;
知道了里面内容分别表示什么意思后,再查询的相关操作:
因为man命令里面查询翻页等功能,是调用less命令的功能实现的,因此,打开的man命令手册界面,查询操作同less命令使用:
翻屏:
空格键,Ctrl+f:向文件尾部翻一屏;
b:向文件首部翻一屏;
d:向文件尾部翻半屏;
u:向文件首部翻半屏;
回车键,Ctrl+#:向文件尾部翻一行;
y,k:向文件首部翻一行;
G:跳转至最后一行;
#G:跳转至第#行;
关键字搜索:
/KEYWORD:可使用模式搜索:向文件尾部搜索;
?KEYWORD:向文件首部搜索;
n:与查找命令方向相同;
N:与查找命令方向相反。
退出:
q:退出。
14、COMMAND -help:查询命令的简要帮助
【例30】查询top命令的简要帮助
[root@Magedu ~]# top --help
top: inappropriate '-help'
Usage:
top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]
在日常学习中,有时使用网络非常方便,通过互联网查询相关的知识也是一种能力,例如使用google搜索引擎。还有就是直接访问发行版或linux相关技术社区的官方站点。相信大家可自行在网络搜索各种技术站点。