zoukankan      html  css  js  c++  java
  • linux基础练习题

    第1章 阶段总结

    1.1 一、请详细描述linux系统从打开主机电源到进入登录界面整个过程的流程。

    BIOS开机自检
    
    mbr引导
    
    grub菜单
    
    加载内核
    
    init进程
    
    /etc/inittab
    
    /etc/rc.d/rc.sysinit
    
    /etc/re.d/rc
    
    启动mingetty进程
    
    登录界面

    1.2 二、我想在/data/oldboyedu目录下面创建 一个oldboy.txt文件

    [root@oldboyedu ~]# cd /data/oldboyedu

    -bash: cd: /data/oldboyedu: No such file or directory

    1.为何出现这样的错误

    这个目录不存在

    2.如何解决这个错误呢?

    创建目录
    
    给出命令:mkdir -p /data/oldboyedu

    1.3 三、接上题,向oldboy.txt加入内容 "I love studying Linux." (不少于2种方法)

    方法1

    vi或vim修改

    方法2

    echo ' I love studying Linux.' >/data/oldboyedu/oldboy.txt

     1.3.1 说说这些特殊符号含义:   >  >>  2> 2>>   #(井号)  .(点)  ..(两个点)  ~  *  $  |

       转义字符 撬棍 脱掉马甲打回原形(或类似含义)
    
    >   重定向符号 先清空文件内容,然后追加内容(或类似含义)
    
    >>  追加重定向 追加到文件结尾(或类似含义)
    
    2>  错误输出重定向
    
    2>> 错误输出追加重定向
    
    #   井号 注释或root用户命令提示符或sed分隔符(sed 's###g')
    
    .   当前目录 或 正则任何一个字符 或 用于生效
    
    .   /etc/profile === source /etc/profile #这个可以不讲解
    
    ..  当前目录的上级目录
    
    ~   当前用户家目录或awk中表示匹配(awk '$1~/oldboy/' xxx)#这个可以不讲解
    
    *   所有字符或任意字符或正则表达式表示前一个字符连续出现0次或0次以上
    
    $   取变量内容 或 正则以...结尾
    
    |   管道 或 正则表示或者

    1.4 test.txt内容为:

    trainning

    fanbingbing

    lidao     

    1.4.1 四、请给出输出test.txt文件内容时,不包含trainning字符串的命令。

    方法1

    grep -v 'trainning' test.txt #不加引号也行

    方法2

    tail -2 test.txt

    方法3

    sed '/trainning/d' test.txt

    方法4

    awk '!/trainning/' test.txt

    方法5

    grep '^[^t]' test.txt 

    1.5 五、入职新公司,老大让你在服务器上限制rm命令,当用户输入rm 命令时候提示”rm command is not allowed to use.” 请问实现的步骤是?。

    1)命令行测试
    
    alias rm='echo command is not allowd to use'
    
    2)永久生效
    
    写入/etc/profile
    
    3)生效
    
    source /etc/profile

    1.6 六、取出文件ett.txt 的第30到40行的内容。

    注:ett.txt由seq 20 120>ett.txt创建

    方法1

    sed -n '30,40p' ett.txt

    方法2

    awk 'NR==30,NR==40' ett.txt

    方法3

    head -40 ett.txt|tail -11

    方法4

    awk 'NR>=30&&NR<=40' ett.txt

    1.7 七、

    通过修改文件( /etc/fstab或fstab ),可以设定开机时自动挂载文件系统。

    1.8 八、

    在linux系统中,当LAN(局域网)内没有条件记案例DNS服务器,但又想让局域网内的用户可以使用计算机名互相访问时,应配置( /etc/hosts)文件(请写全路径)

    1.9 九、

    linux系统启动加载完成后,内核将启动名为(init)的程序,这也是引导过程完成后,内核运行的第一个程序。我们可以修改默认的启动级别为( 3),使得系统重启后自动采用命令行模式登录。

    1.10 十、说出下面几个文件的作用

    /var/log/messages            系统默认日志(系统日志也行)
    
    /var/log/secure              系统安全日志或用户的登录情况
    
    /etc/hosts                   ip地址与主机名(域名)对应关系  或 用于解析主机名
    
    /etc/fstab                   开机自动挂载
    
    /var/spool/cron/root         定时任务配置文件
    
    /etc/rc.local                开机自启动配置

    1.11 十一、统计/var/log下文件个数

    ls /var/log|wc -l
    
    
    find /var/log|wc -l

    1.12 十二、描述buffer和cache的区别

    写buffer读cache

    1.13 十三、

    如何把/data目录下所有包含oldboy的目录(可能目录的目录的目录里还有oldboy目录) 目录都打包出来。要求:解压打包后的目录结构不能改变 。

    方法1

    find /data -type d -name "oldboy" |xargs tar zcf  /tmp/oldboy.tar.gz

    方法2

    find /data -type d -name "oldboy" -exec tar zcf  /tmp/oldboy.tar.gz {} ;

    方法3

    tar zcf  /tmp/oldboy.tar.gz  `find /data -type d -name "oldboy"`
    
    tar zcf  /tmp/oldboy.tar.gz  $(find /data -type d -name "oldboy")

    1.14 十四、请列出linux下面常用的打包工具并写出相应的压缩解压参数。

    tar zcf                      创建压缩包 或zcvf
    
    xf                           解压  或 zxvf
    
    tf                           查看  或 ztf
    
    -C                           解压到指定目录
    
    --exclude                    排除
    
    --exclude-from或-X           根据文件内容排除文件
    
    zip -r                       压缩目录

    1.15 十五、如何查看是否开启22端口,及查看sshd进程是否存在?

    查看端口22是否开启

    ss -lntup |grep 22
    
    netstat -lntup|grep 22
    
    telnet ip地址 22
    
    nc  ip地址 22
    
    nmap -p22  ip地址
    
    lsof -i:22

    查看进程是否存在

    ps -ef |grep sshd

    1.16 十六、将/data目录下的修改时间是7天以前,并且大于100k的文件复制到/tmp目录下。

    方法1

    find /data -type f  -mtime +7 -size +100k  -exec cp {} /tmp  ;

    方法2

    cp ` find /data -type f  -mtime +7 -size +100k ` /tmp
    
    cp $( find /data -type f  -mtime +7 -size +100k ) /tmp

    方法3

    find /data -type f  -mtime +7 -size +100k |xargs cp -t /tmp

    方法4

    find /data -type f  -mtime +7 -size +100k |xargs -i cp {} /tmp

    1.17 十七、现将文件b.txt中的所有123替换成def,请问如何实现?

    sed 's#123#def#g' b.txt

    1.18 十八、写出redhat中,配置网卡及dns的配置文件是什么?

    网卡: /etc/sysconfig/network-scripts/ifcfg-eth0
    
    DNS:  /etc/resolv.conf  

    1.19 十九、什么是linux的运行级别,请描述linux的运行级别不同数字的含义?

    Linux的运行级别就是linux运行状态

    0 关机
    
    1 单用户模式
    
    2 多用户模式没有NFS
    
    3 命令行模式 文本模式 多用户模式
    
    4 没有使用
    
    5 图形化界面模式  桌面模式
    
    6 重启

    1.20 二十、简述linux无法上网的排查流程 ;

    1.ping baidu.com 检查是否能上网

    2.ping 223.5.5.5  检查是否DNS问题

    3.ping 网关     检查是否配置或其他问题

     

    故障原因:

    1.检查配置文件

    2.虚拟网络编辑器

    3.vmware服务

    4.vmware虚拟网卡问题

    1.21 二十一、软连接与硬链接区别

    【硬连接】
    硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

    【软连接】
    另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

    1.22 二十二、删除/etc/inittab中的空行或以#开头的行;

    方法1

    egrep -v '^$|^#'  /etc/inittab 

    方法2

    sed -r '/^$|^#/d' /etc/inittab

    方法3

    awk '!/^$|^#/' /etc/inittab

    1.23 二十三、显示/etc/passwd中第1,3,5列

    awk -F ":" '{print $1,$3,$5}' /etc/passwd

    1.24 二十四、写出你熟悉的8个VIM的快捷键

    移动光标
    
            ↑k
    
    ←h    →l
    
        ↓j
    
     
    
    把光标移动到文件的第1行
    
    gg
    
    1G
    
    :1
    
     
    
    把光标移动到文件的最后一行
    
    G
    
    :$
    
     
    
    把光标移动到文件的第100行
    
    100gg
    
    100G
    
    :100
    
     
    
    0(数字0)
    
    ^
    
    把光标移动到这一行的结尾
    
    $
    
    测试文件
    
    cat /etc/services  /etc/sysconfig/network-scripts/ifcfg-eth0 >>/tmp/vim.log
    
    编辑(移动并编辑)
    
    在当行下面插入一个空行并进入编辑模式
    
    o(小写字母o)
    
     
    
    在当行上面插入一个空行并进入编辑模式
    
    O(大写字母O)
    
     
    
    删除光标所在位置到行尾的内容并进入编辑模式
    
    C(大写字母C)
    
     
    
    删除光标所在位置到行尾的内容
    
    D  d$
    
     
    
    快速到达行尾并进入编辑模式
    
    A
    
    复制 删除 粘贴
    
    复制光标所在行
    
    yy
    
     
    
    粘贴
    
    p
    
     
    
    多次粘贴
    
    3p
    
     
    
    删除/剪切
    
    dd
    
     
    
    删除当前行到文件结尾的内容
    
    dG
    
     
    
    其他
    
    显示行号
    
    :set nu
    
     
    
    取消显示行号
    
    :set nonu
    
    查找
    
    /你要找的内容
    
    默认向下搜索
    
    继续向下查找
    
    n
    
     
    
    继续向上查找
    
    N
    
     
    
    你要找的内容
    
    默认向上搜索
    
    撤销当前操作
    
    u
    
    undo
    
     
    
    恢复刚才的操作
    
    ctrl + r
    
     
    
    vim查询帮助
    
    :help  G
    
    :help  :wq
    
    :h G
    
    nu===number
     

    1.25 二十五、创建文件提示no space left on device 但是df -h还有空间这是什么原因?如何排查和解决。

    inode满了

    找出系统中大于1M的目录,确认后再删除

    1.26 二十六、通过df -h发现磁盘空间不足但是du -sh发现没有满,说出原因和排查解决过程。

    原因:

    文件没有彻底删除导致的(硬链接数为0,进程调用数不为零)

    排查:

    lsof |grep delete

    解决:

    重启对应的服务

    1.27 二十七、显示当前系统日期为年月日~周几~小时

    data +%F_%w_%H_%M_%S

    1.28 二十八、当前目录/etc/rc.d目录 cd ../../../tmp 请问当前所在目录是哪里

    /tmp

    1.29 二十九、查找出系统中大于50k且小于100k的文件,把文件中的oldboy替换为oldgirl。

    find -type -size +50k -size -100k |xargssed -i ‘s#oldboy#oldgirl#g‘

    1.30 三十、把/etc/hosts 文件备份为hosts.bak

    cp /etc/hosts /etc/hosts.bak

    1.31 三十一、把/oldboy 改名为/lidao

    mv /oldboy lidao

    1.32 三十二、显示/etc/services 文件中包含3306或1521的行(三种方法)

    1.32.1 方法一:grep -n

    grep -n "3306|1521" /etc/services

    1.32.2 方法二:egrep -n

    egrep -n "3306|1521" /etc/services
    
    grep -E "3306|1521" /etc/services

    1.33 三十三、如何设置grep别名,让grep默认过滤时永久显示颜色

    alias grep=’grep --color’
    
    把这句同时写进/root/.bashrc里面,并且执行一下source /root/.bashrc

    1.34 三十四、查找/oldboy 目录下的所有文件结尾为*.txt的文件,并将文件内容输出。

    方法1:

    cat /oldboy/*.txt

    方法2:

    find /oldboy -type f -name “*.txt” | xargs cat

    方法3:

    find /oldboy/ -type f -name "*.txt" -exec cat {} ;

    1.35 三十六、描述通配符与正则表达式的区别

    基本上解释就是通配符是系统命令使用,一般用来匹配文件名或者什么的用在系统命令中。而正则表达式是操作字符串,以行尾单位来匹配字符串使用的。
    还有一点需要注意的是:*在通配符和正则表达式中有其不一样的地方,在通配符中*可以匹配任意的0个或多个字符,而在正则表达式中他是重复之前的一个或者多个字符,不能独立使用的。比如通配符可以用*来匹配任意字符,而正则表达式不行,他只匹配任意长度的前面的字符。

    1.36 三十七、使用ifconfig  eth0 命令查看IP地址,请写出取出IP地址的方法,至少使用两种方法

    方法1:

    ifconfig eth0 | grep “10.0.0” | awk -F “:” ‘{print $2}’ | awk -F “ ” ‘{print $1}’

    方法2:

    ifconfig eth0 |awk 'NR==2' |awk -F"addr:|Bcast:"  '{print $2}'

    1.37 三十八、使用grep过滤不包含oldboy字符串的行

    grep -v “oldboy”

    1.38 四十、已知/oldboy/test.txt 文件内容为:

     oldboy

     

     xizi

     xiaochao

    请问如何把文件中的空格过滤掉(要求命令行实现)。

    egrep -v “^$” /oldboy/test.txt

    第2章 错误总结

    2.1 No such file or directory

    没有此文件或目录

    2.2 command not found

    找不到此命令

    2.3 rm: cannot remove `/oldboy/data/': Is a directory

    要删除的是个非空目录

    2.4 find: Arguments to -type should contain only one letter

    查找:-type的参数应该只包含一个字母

    2.5 Firewall is not running.

    防火墙没启动

    2.6 ping: unknown host baidu.com

    网不通

    未知主机baidu.com

    2.7 Package tree-1.5.3-3.el6.x86_64 already installed and latest version

    安装了这个软件最新版本的包

    2.8 Couldn't resolve host www.oldboyedu.com

    DNS不可达

    无法解析主机www.oldboyedu.com

    2.9 This account is currently not available

    该帐户目前不可用

    2.10 Sorry, passwords do not match

    对不起,密码不匹配

     
  • 相关阅读:
    windows10远程桌面慢的解决
    linux挂载windows共享盘
    ORACLE 临时表空间满了的原因解决方案
    oracle临时表空间扩容
    expdp/impdp 数据泵导入导出
    Oracle Awr报告_生成
    mysql备份与保存
    oracle lsnrctl监听器多实例配置
    RabbitMQ
    docker stop 容器时 不能将我指定的容器停掉
  • 原文地址:https://www.cnblogs.com/zeq912/p/9433472.html
Copyright © 2011-2022 走看看