Linux拓展练习部分--输入输出 / find部分 /基础拓展2
目录
输入输出部分1.输入时间命令"date"将当前系统时间输出到/data/1.txt[[email?protected] ~]# date >/data/1.txt [[email?protected] ~]# cat /data/1.txt Wed Jul 3 15:48:24 CST 2019 2.输入时间命令"date"将当前系统时间追加到/data/1.txt[[email?protected] ~]# date >> /data/1.txt [[email?protected] ~]# cat /data/1.txt Wed Jul 3 15:48:24 CST 2019 Wed Jul 3 15:49:28 CST 2019 3.在当前系统能ping通百度的情况下,使用" ping -c3 baidu.com "将返回的信息输出到/data/1.txt[[email?protected] ~]# ping -c3 baidu.com >> /data/1.txt 4.使用“ls /ta”将错误的信息输出到/data/1.txt[[email?protected] ~]# ls /ta 2>> /data/1.txt 5.将/data/1.txt的文件内容,标准输出到/data/2.txt[[email?protected] ~]# cat /data/1.txt >/data/2.txt 6.使用"seq 10 50"将以0结尾的行标准输出到3.txt[[email?protected] ~]# seq 10 50|grep '0$'>3.txt 7.把/etc/fstab文件内容重定向到/tmp目录下文件名为fstab.out[[email?protected] ~]# cat /etc/fstab>/tmp/fstab.out 8.把字符"hello world"追加到/tmp/fstab.out文件尾部[[email?protected] ~]# echo hello world >> /tmp/fstab.out 9.输入df -h,取出当前系统根分区已用磁盘空间的百分比,并将取出来的数值输出到/data/1.txt[[email?protected] ~]# df -h|awk '/sda3/'|awk -F '[ %]+' '{print$5}'>/data/1.txt [[email?protected] ~]# cat /data/1.txt 7 10.使用命令ping测试10.0.0.100是否通畅,把输出的结果不管是正确的还是错误的都追加到/data/1.txt[[email?protected] ~]# ping 10.0.0.100 &>>/data/1.txt 11.使用重定向从文件/etc/passwd中读取数据。cat < /etc/passwd 12.用 << 举个命令的使用例子。[[email?protected] ~]# cat >>a.txt <<eof > 123 > 123 > 456 > eof 13.复制/etc/passwd文件到当前目录下,把文件中的:替换成#,不能使用sed和vim命令。[[email?protected] ~]# cp /etc/passwd ./ [[email?protected] ~]# tr ':' '#' < ./passwd 14.执行测试虚拟机是否能上网的命令,把错误的结果保存到/data/1.txt[[email?protected] ~]# ping baidu.com 2>/data/1.txt 15.清空/data/1.txt文件中的内容,不能使用vim命令。[[email?protected] ~]# echo > /data/1.txt 16.在当前系统能ping通百度的情况下,使用命令curl cip.cc 查看当前网络出口地址,取出关键字"数据二"所在的行,以空格为分隔符,取出第三列的内容[[email?protected] ~]# curl -s cip.cc|awk '/数据二/'|awk -F ' ' '{print$3}' 上海市 17.改变文件所有者的命令是?chown 18.新建一个1.txt文件,文件内容如下1123 [[email?protected] ~]# cat >>1.txt <<eof > 1123 > 1122 > 112233 > 321 > 3306 > 8080 > 80 > 23 > 21 > 8081 > 8082 > 8085 > eof 19.接18题,显示1.txt第3行到第10行的内容(三种方法)[[email?protected] ~]# head 1.txt|tail -7 [[email?protected] ~]# awk 'NR==3,NR==10' 1.txt [[email?protected] ~]# sed -n '3,10p' 1.txt 20.接18题,显示1.txt第3行和第10行的内容(两种方法)[[email?protected] ~]# awk 'NR==3;NR==10' 1.txt [[email?protected] ~]# sed -n '3p;10p' 1.txt 21.新建用户oldboy,oldgirl,属同一用户组edu[[email?protected] ~]# groupadd edu [[email?protected] ~]# useradd -g edu oldboy [[email?protected] ~]# useradd -g edu oldgirl 22.修改文件1.txt的所有者为oldboy,属组为edu[[email?protected] ~]# chown oldboy.edu 1.txt [[email?protected] ~]# ll -d 1.txt -rw-r--r--. 1 oldboy edu 55 Jul 4 01:23 1.txt 23.除所有者以外,属组和其他用户均没有任何权限(要求普通用户进行验证)chmod g=- o=- 24.复制/etc/fstab文件到/var/tmp下,设置文件所有者为wangcai读写权限,所属组为sysadmins组有读写权限,其他人无权限[[email?protected] ~]# cp /etc/fstab /var/tmp [[email?protected] ~]# chmod 660 /var/tmp/fstab [[email?protected] ~]# groupadd sysadmins [[email?protected] ~]# useradd wangcai [[email?protected] ~]# chown wangcai.sysadmins /var/tmp/fstab [[email?protected] ~]# ll -d /var/tmp/fstab -rw-rw----. 1 wangcai sysadmins 501 Jul 4 02:06 /var/tmp/fstab 25.创建下面的用户、组和组成员关系,用户natasha,使用admins作为附属组,用户harry,也使用admins作为附属组,用户sh,不可交互登录系统,natasha,harry,sh密码都是centos[[email?protected] ~]# groupadd admins [[email?protected] ~]# useradd natasha -G admins [[email?protected] ~]# useradd harry -G admins [[email?protected] ~]# useradd sh -s /sbin/nologin [[email?protected] ~]# echo 'centos'|passwd --stdin natasha Changing password for user natasha. passwd: all authentication tokens updated successfully. [[email?protected] ~]# echo 'centos'|passwd --stdin harry Changing password for user harry. passwd: all authentication tokens updated successfully. [[email?protected] ~]# echo 'centos'|passwd --stdin sh Changing password for user sh. passwd: all authentication tokens updated successfully. 26.新建一个用户rose,uid为555,gid为500,注释信息为:linux,家目录在/rose[[email?protected] ~]# useradd rose -u 555 -c "linux" -d /home/rose [[email?protected] ~]# groupmod rose -g 500 [[email?protected] ~]# id rose uid=555(rose) gid=500(rose) groups=500(rose) 27.执行命令echo "I am qls,myqq is 1176494252">/oldboy/oldboy.txt,现在需要从文件中过滤出“qls”和“1176494252”字符串,请给出命令?(最少三种方法) [[email?protected] ~]# sed -rn '/qls|1176494252/p' /oldboy/oldboy.txt [[email?protected] ~]# awk '/qls|1176494252/' /oldboy/oldboy.txt [[email?protected] ~]# egrep 'qls|1176494252' /oldboy/oldboy.txt 28.接上题,如果需要从文件中过滤出“qls,1176494252”字符串,请再给出命令?[[email?protected] ~]# sed -rn '/qls|,|1176494252/p' /oldboy/oldboy.txt [[email?protected] ~]# awk '/qls|,|1176494252/' /oldboy/oldboy.txt [[email?protected] ~]# egrep 'qls|,|1176494252' /oldboy/oldboy.txt 29.如何查看/etc/services文件的有多少行?(三种方法)[[email?protected] ~]# cat -n /etc/services|tail -1 [[email?protected] ~]# wc -l /etc/services less +N [[email?protected] ~]# grep -n . /etc/services|tail -1 30.我想在/data/oldboyedu目录下面创建 一个oldboy.txt文件,出现了如下报错。[[email?protected] ~]# touch /data/oldboyedu/oldboy.txt 没有目录 [[email?protected] ~]# mkdir /data/oldboyedu [[email?protected] ~]# touch /data/oldboyedu/oldboy.txt 31.请输入你知道的20个命令及作用useradd 创建用户 whoami 查看用户名 history 历史命令 alias 别名 ls 列出目录的内容及其内容属性信息 cd 切换目录 mkdir 创建目录 touch 创建文件 tree 树状显示目录结构 cp 复制命令 mv 移动 sort 排序 cut 截取 uniq 去重 head 查看前n 行 tail 查看尾部n 行 rm 删除 cat 查看 tr 替换 grep 过滤关键字 sed文本处理工具 awk文本处理工具 32.翻译题01).command not found 命令没有找到 02).No such file or directory 没有这个文件或目录 03).Permission denied 权限不足 04).overwrite 覆盖 05).File exists 文件已经存在 06).Is a directory 这是1个目录 07).Not a directory 不是1个目录 08).Warning: Changing a readonly file 警告:改变一个只读文件 09).Found a swap file by the name ".1.swp" 发现了一个swap文件名字为1.swp 是vim编辑器碰到的意外关闭文件有缓存 10).unrecognized option '--oldboy' 不识别的选项,去查看帮助 11).Operation not permitted 操作不许可 12).invalid option 无效的选项 find部分1.找出/tmp目录下,属主不是root,且文件名不以f开头的文件find /tmp -type f ! -user root ! -name 'f*' 2.查找/etc/目录下,所有.conf后缀的文件find /etc/ -type f -name '*.conf' 3.查找/var目录下属主为root,且属组为mail的所有文件find /var -type f -user root -group mail 4.查找/var目录下7天以前,同时属主不为root,也不是postfix的文件find /var -type f ! -user root ! -user postfix 5.查找/etc目录下大于1M且类型为普通文件的所有文件find /etc -type f -size +1M 6.查找/etc目录下所有用户都没有写权限的文件find /etc -type f -perm -000 7.查找/目录下最后创建时间是3天前,后缀是*.log的文件find / -type f -mtime +3 -name '*.log' 8.查找/目录下文件名包含txt的文件find / -type -name '*txt*' 9.查找/目录下属主是oldboy并且属组是oldboy的文件find / -type f -user oldboy -group oldboy 10.查找/目录下属主是oldboy但是属组不是oldboy的文件find / -type f -user oldboy ! -group oldboy 11.查找/目录下属主是oldboy或者属主是oldgirl的文件find / -user oldboy -o -user oldgirl 12.查找/tmp目录下属主既不是oldboy,也不是oldgirl的文件find /tmp ! -user oldboy ! -user oldgirl 13.查找/var/log目录下7天以前的文件find /var/log -type f -mtime +7 14.查找/tmp目录下15天以前的文件删除find /tmp -type f -mtime +15 -delete 15.查找/home目录下,类型是目录的,并且属主是oldboy的目录find /home -type d -user oldboy 16.查找/var/log下大于100kb且以log结尾的所有文件find /var/log -type f -size +100k -name '*log' 17.查找tmp目录下所属组group1,所属主user1的目录find /tmp -type d -user user1 -group group1 18.同时查找根目录下名为1.txt,2.txt的文件和名字带a的目录find / -type f -name 1.txt -name 2.txt -type d -name '*a*' 19.查找/tmp目录下所有文件并删除find /tmp -type f -delete 20.查找/etc目录下至少有一类用户没有写权限的文件[[email?protected] ~]# find /tmp -type f -perm -644 [[email?protected] ~]# find /tmp -type f ! -perm -222 21.查找/tmp目录下,属主不是root,且文件名不以f开头的文件find /tmp ! -user root ! -name 'f*' 22.查找/var目录下属主为root,且属组为mail的所有文件find /var -type f -user root -group mail 23.查找/var目录下不属于root、lp、gdm的所有文件find /var -type f ! -user root ! -user Ip ! -user gdm 24.查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件find /var -type f -mtime -7 ! -user root !-user postfix 25.查找/etc目录下大于1M且类型为普通文件的所有文件find /etc -type f -size +1M 26.将/etc/中的所有目录(仅目录)复制到/tmp下,目录结构不变find /etc/ -maxdepth 1 -type d |xargs cp -t /tmp/ 27.将/etc目录复制到/var/tmp/,/var/tmp/etc的所有目录权限777/var/tmp/etc目录中所有文件权限666cp /etc /var/tmp/ find /var/tmp/ -type d |xargs chmod -t 777 find /var/tmp/ -type f |xargs chmod -t 666 28.保留/var/log/下最近7天的日志文件,其他全部删除find /var/log/ -mtime +7 -delete 29.创建touch file{1..10}10个文件,保留file9,其他一次全部删除find $(touch file{1..10}) -type f ! -name ‘file9’ -delete 30.解释如下每条命令含义mkdir /root/dir1 在root目录下创建目录dir1 touch /root/dir1/file{1..10} 在dir1目录下创建10个file文件 find /root/dir1 -type f -name "file5" 查找/root/dir1目录下的file5文件 find /root/dir1 ! -name "file5" 查找dir1目录下除了file5的文件 find /root/dir1 -name "file5" -o -name "file9" 查找dirl目录下file5或file9文件 find /root/dir1 -name "file5" -o -name "file9" -ls 查看dirl目录下file5或file9文件的详细信息 find /root/dir1 ( -name "file5" -o -name "file9" ) -ls 查找/root/dir1下文件名为file5或者file9 并且显示信息 find /root/dir1 ( -name "file5" -o -name "file9" ) -exec rm -rvf {} ; 查找/root/dir1下的文件名为file5或者file9并且删除 find /root/dir1 ! ( -name "file4" -o -name "file8" ) -exec rm -vf {} ; 查找/root/dir1下的文件名不为file4或file8的所有文件并删除 基础阶段-拓展练习21.Linux关机重启的命令有哪些 ?(至少4个)关机:inint0 shutdown -h now powroff 重启:reboot init6 shutdown -r 2.你知道哪些bash的快捷键呢?请把他写出来,并写出他的作用?(至少6个)Ctrl + a :将光标跳转到行首 Ctrl + e :将光标跳转至行末 Ctrl + w :以空格为单位,将当前光标位置之前的内容删除 Ctrl + u :将当前光标位置之前的内容全部删除 Ctrl + l :清屏 Ctrl + c :终止当前命令 Ctrl + d :退出,断开当前连接(exit,logout Ctrl + z :挂起,放后台执行 Ctrl + r :搜索历史命令 Ctrl + s :锁屏 Ctrl + q :解锁 Ctrl + 左右:按照单词跳转光标 3.Linux的发行版本都有哪些?(至少6个)Redhat Centos ubuntu Debian Suse Freebsd Fedora 红旗 4.如果我在当前在/目录下,之后执行了以下操作,请告诉我,最后我所在的目录位置?cd /etc/sysconfig/ cd .. cd .. cd - cd ~ 当前用户的家目录 5.显示/etc/services文件的第11行到第20行的内容?sed -n ‘11,20p’/etc/services head -20 /etc/services|tail awk ‘NR==11,NR==20’/etc/services 6.已知文件123.txt内容如下,请过滤出不包含online字符串的命令test OLDBOY online oldboy oldboyoldboy grep -v ‘online’123.txt sed ‘/online/d' 123.txt 7.已知执行
|