BASH初识练习题
1.如何查看系统环境变量中的HOSTNAME值?
#no.01
[root@moban ~]# hostnamectl
Static hostname: moban
Icon name: computer-vm
Chassis: vm
Machine ID: a1b968830a844606b2a9c74ca6be49ab
Boot ID: b1adabe6515e4fbb8f4143a5098479a9
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-1160.el7.x86_64
Architecture: x86-64
#no.02
[root@moban ~]# hostname
moban
#no.03
[root@moban ~]# cat /proc/sys/kernel/hostname
moban
2.在不看命令提示符的情况下,如何得知,当前登录系统的用户是谁?
# pwd -----判断是啥用户
/root
# hostname ----- 查看用户名
moban
3.在命令提示符中,如何让当前所在目录显示完整?
[root@moban ~]# echo $PS1
[\u@\h \W]\$ ----------这是不完整的最后一个目录位置
[root@moban ~]# vi /root/.bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
PS1=[\u@\h \w]\$
~ ---保存重启
4.如何定义一个变量?
#临时
变量名=变量值 例 no.1='周杰伦'
#永久 保存于系统变量中
[root@moban ~]# vi /root/.bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
no.1='周杰伦'
5.请阐述什么是绝对路径?什么是相对路径?
我想去老男孩
绝对路径----我住址到oldboy学习所经过的所有路程
相对路径-----我已经出发了 目前到oldboy的路程
#例如 我打算去修改网卡
/etc/sysconfig/network-scripts/ifcfg-ens33
无论我在哪都可以去修改 ----ps 绝对路径
/network-scripts/ifcfg-ens33
我现在处于/etc/sysconfig/目录下才可以访问 --ps相对路径
6.请解释/etc/hosts文件的作用?
hosts文件的作用:将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。
7.请解释/etc/passwd文件的作用?
在Linux /etc/passwd文件中每个用户都有一个对应的记录行,它记录了这个用户的一些基本属性。系统管理员经常会接触到这个文件的修改以完成对用户的管理工作。
8.如何查看 cp 命令的帮助?(两种方法)
[root@moban sysconfig]# man cd
[root@moban sysconfig]# cd --help
9.请写出将光标移动到最前面的快捷键?
ctrl + a
10.请写出将光标移动到末尾得到快捷键?
ctrl + e
11.现定义一个变量 name=oldboy 请回答以下问题?
echo '$oldboy' 结果是什么?
$oldboy
echo '$name' 结果是什么?
$name
echo "$name" 结果是什么?
12.请将测试虚拟机是否能上外网的命令设置为别名'tong'
[root@moban ~]# tong
PING baidu.com (110.242.68.66) 56(84) bytes of data.
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=1 ttl=128 time=32.6 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=2 ttl=128 time=32.4 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=3 ttl=128 time=33.6 ms
^C
--- baidu.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 32.482/32.930/33.686/0.557 ms
[root@moban ~]#
13.请创建一个目录 1.txt
[root@moban ~]# mkdir 1.txt
[root@moban ~]# ll
total 8
drwxr-xr-x. 2 root root 6 Mar 28 02:12 1.txt
-rw-------. 1 root root 1379 Mar 25 22:24 anaconda-ks.cfg
-rw-r--r--. 1 root root 246 Mar 28 01:19 host.sh
14.在上一题的目录中,创建一个文件 1.jpg
[root@moban ~]# cd 1.txt
[root@moban 1.txt]# touch 1.jpg
[root@moban 1.txt]# ll
total 0
-rw-r--r--. 1 root root 0 Mar 28 02:14 1.jpg
[root@moban 1.txt]#
15.先进入/etc/sysconfig目录下,然后删除上题的 1.jpg 文件
[root@moban sysconfig]# ll /root/1.txt/
total 0
-rw-r--r--. 1 root root 0 Mar 28 02:14 1.jpg
[root@moban sysconfig]# rm -f /root/1.txt/1.jpg
[root@moban sysconfig]# ll /root/1.txt/
total 0
16.请解释在命令行中输入 !89757 的作用
运行历史(history)命令第89757 编号命令
17.如果上题命令无法执行,报错是什么?报错原因是什么?
-bash: !89757: event not found
没有这个命令 是个none命令
18.请写出执行 history -w 之后,历史记录会保存在哪?
root用户执行后:/root/.bash_history
普通用户执行后:/home/用户名/.bash_history
19.如何在Linux系统中,快速找到我想要执行的之前执行过的命令?(两种方法)
!! ----- 上一条命令重新执行
!编号 ---- history 库中的命令
!字符串 --- history库中的命令
20.请定义一个变量,变量名为:dns,变量值是 /etc/hosts 文件中的内容
dns=$(cat /etc/hosts)
21.请使用命令,调用上面的变量,并输出变量值
[root@moban ~]# dns=$(cat /etc/hosts)
[root@moban ~]# echo "$dns"
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
22.如何查看/etc/passwd文件中的内容请写出命令,并复制出内容?
使用Xshell
[root@moban ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
23.请将abc123写入到2.txt文件中(尝试使用两种方法)
[root@moban ~]# vi 2.txt
abc123
~
~
~
"2.txt" [New] 1L, 7C written
[root@moban ~]# cat 2.txt
abc123
[root@moban ~]# touch 2.txt
[root@moban ~]# vi 2.txt
123abc
~
~
"2.txt" 1L, 7C written
[root@moban ~]# cat 2.txt
abc123
[root@moban ~]# rm -f 2.txt
[root@moban ~]# echo “abc123”>2.txt
[root@moban ~]# cat 2.txt
“abc123”
24.请在Linux系统中,找到磁盘的目录是哪个?
[root@moban ~]# df -l
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 1003216 0 1003216 0% /dev
tmpfs 1013932 0 1013932 0% /dev/shm
tmpfs 1013932 9720 1004212 1% /run
tmpfs 1013932 0 1013932 0% /sys/fs/cgroup
/dev/sda3 8913920 1283956 7629964 15% /
/dev/sda1 508580 127064 381516 25% /boot
tmpfs 202788 0 202788 0% /run/user/0
[root@moban ~]# fdisk -l
Disk /dev/sda: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000a4617
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 3123199 1048576 82 Linux swap / Solaris
/dev/sda3 3123200 20971519 8924160 83 Linux
25.附加题: 将命令提示符: PS1='[\u@\h \w$ ' 写入 /root/.bashrc 或 /etc/profile 他们的区别是什么