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 他们的区别是什么