TreeMind树图在线AI思维导图
当前位置:树图思维导图模板IT互联网互联网干货Linux基础题目思维导图

Linux基础题目思维导图

  收藏
  分享
免费下载
免费使用文件
ZYJ 浏览量:52022-10-28 19:32:23
已被使用0次
查看详情Linux基础题目思维导图

面试Linux岗位面试官常问的题目

树图思维导图提供 Linux基础题目 在线思维导图免费制作,点击“编辑”按钮,可对 Linux基础题目  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:e04b47e34c70083b3ead39a1e57b81a9

思维导图大纲

Linux基础题目思维导图模板大纲

Linux 系统命令操作语法的格式

~代表root

命令 [参数选项] [文件或路径]

创建一个目录/data

windows下的路径:c:\data\test

linux下的路径:/data/test

linux中/为所有目录的起点

创建目录:make dircectorys【mkdir】【mkdir /data】【cd /;mkdir data】,其中分号的作用是将两个命令在一行分隔开

看目录【ls -ld /data】,其中别忘了空格哦,-ld查看data目录本身

【touch】在/data下建立oldboy.txt

touch /data/oldboy.txt

创建10000个文件

touch stu{1..10000}

【vi/echo/cat】为oldboy.txt 下添加内容 i am studying linux

vi

vi oldboy.txt (进入vi编辑器)

i (insert ,插入状态)

i am study linux

Esc(命令状态)

:wq(write quit,保存退出);q(不保存直接退出)

echo

echo 'i am studying linux'>oldboy.txt(如果文件不存在会创建文件,如果存在会覆盖,所以危险,用>要记得备份哦)

怎么能不覆盖呢用>>,这样就追加到文件的尾部了。

cat

cat >oldboy.txt 回车输入内容,然后再会车按Ctrl+c,或者Ctrl+d都可以结束输入。关注,同Ctrl+c,或者Ctrl+d的那行的相关字母不会输入进去哦!,并且>会覆盖之前的命令

cat >>/data/oldboy.txt<<EOF(回车输入内容可以多行追加)会车输入EOF,其中两个EOF或者是任意内容成对出现

cat old boy.txt(查看内容)

rm -f oldboy.txt(删除文件)

Tab 完善未完善的文件名

【cp】

把oldboy.txt 文件拷贝到/tmp 下

cp oldboy.txt /tmp/

复制目录

cp /data/oldboy /tmp

cp /etc/passwd /tmp/oldboy

【mv、find】

把/data 目录移动到/root下

移动:move===mv,不同于cp,用mv则原来的地方没有文件了

mv /data /root(关注是mv空格/data空格/root哦~)

查找/oldboy下所有7天以前以log结尾的大于1M的文件移动/tmp下

创建环境

cat /var/log/dmesg  >>123.log (重复多次,使其大小大于1M)

ll (格式,可以查看文件大小,修改时间)

date -s 20190401 (修改系统时间,此时123.log的时间还是当前时间,所以可满足题意)

操作

find /oldboy -type f -name "*.log" -size +1M -mtime +7 (其中+7表示7天以前,7表示第7天,-7表示最近7天)

find /oldboy -type f -name "*.log" -size +1M -mtime +7 -exec mv {} /tmp \. (mv移动,{}代表满足前面条件的文件,到/tmp 下,\.是与-exec 组成一对儿的命令)

【rm、find】进入root 目录下的data目录,删除oldboy.txt

rm

cd /root/data

rm oldboy.txt(rm=remove)

rm -f oldboy.txt(不提示,强制删除)

rm -fr data (强制删除文件目录)

谨慎使用删除命令

find(重要5星哦)

find /data -type f (查找data下,类型是文件的内容)

find /data -type f -name "oldboy.txt" (查找oldboy.txt)

find /data -type f -name "oldboy.txt" -exec rm {} \ .(其中-exec表示对前面的文件执行什么操作,rm操作表示删除,这里rm后不用加-f哦~最后的{} \ .表示处理),未实现

find /data -type f -name "*.txt" |xargs rm -f(其中*代表所有文件,为通配符,然后find命令一般都要搭配|xargs,此时为将find查找的文件通过管道【|】传给rm,为什么要加xargs呢?将找到的所有文件做成一行进行删除)

删除文件面试题:删除一个目录下的所有文件,但保留一个指定文件http://blog.51cto.com/oldboy/1650380 ...还要求课后整理成笔记呢~

【cd、find】退到上一级目录,删除data目录

cd..(..表示上一级目录)

rm -fr data

rmdir data (可以让你删除空目录data)

【cat、grep/head】已知文件test.txt内容为以下,请给出打印test.txt内容时,不包含oldboy的命令

cat >>test.txt<<EOF ,生成文件内容(关注cat后面一定要加空格再加重定向符号呀~)

grep -v oldboy test.txt(grep是过滤命令(筛子),-v是排除,不加-v是显示oldboy,加-v是显示除了oldboy之外的其他内容)

head -2 test.txt (head 为头读一个文件的前两行)

【mkdir -p 、tree】

请用一条命令完成创建目录/oldboy/test,即创建/oldboy目录及/oldboy/test目录

mkdir /oldboy/test是创建不了的哦~

mkdir -p /oldboy/test (连续创建目录用参数-p)

yum install tree -y (tree是软件包,-y就是不提示了)

yum update (更新补丁)

yum install lrzsz telnet tree nmap nc -y

tree /oldboy/ (有乱码哦)

LANG=en (这样之后再tree /oldboy/就没有乱码了呀)

linux是严格区分大小写的哦

在/data/oldboy目录下建立oldboy.txt文件并输出相应内容

mkdir -p /data/oldboy

cd /data/oldboy

touch oldboy.txt

ifconfig|sed -n '2p' 输出ifconfig第二行,复制

echo 'inet addr:192.168.33.139  Bcast:192.168.33.255  Mask:255.255.255.0'>oldboy.txt

【\cp】已知/tmp目录下已经存在test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到/tmp下覆盖掉/tmp/test.txt ,而让linux系统不提示是否覆盖(root权限下)

/bin/cp /mnt/test.txt /tmp/test.txt

\cp /mnt/test.txt /tmp/test.txt

说明:linux用户环境文件中会把cp命名成alias cp='cp -i'提示overwrite,这样在linux下输入cp实际上在运行cp -i ,加一个“\”或者写cp 全路径/bin/cp 就是让此次cp命令不使用别名(cp -i)运行

【head/sed/awk/grep】

【head/sed/awk/grep】只查看ett.txt文件(100行)内第20行到第30行内容(企业常见面试题)【如何打印100行?并且以下代码还未实现】

解答:sequence==seq序列生成ett文件

head -30 ett.txt|tail -11 (此命令比较low,前30行的后11行就是20-30行)

sed -n '20,30p' ett.txt (最高效,其中-n是取消打印默认的内容, p 即print 打印内容)

awk '19<NR && NR<31' ett.txt(锦上添花,其中NR 行号。此方法了解一下就可以)

grep 20 -A 10 ett.txt

【awk】

输出oldboy.txt内的数字

awk -F "[ :]+" '{print $3" "$5" "$7}' oldboy.txt

使用awk去passwd的10-20行的第三列重定向到xx文件

awk 'NR>9&&NR<21' passwd|cat -n(取出来,并且查看对不对)

awk -F ":" 'NR>9&&NR<21{print $3}' passwd>test.txt(-F ":"意思是以:为分隔符,{print $3意思是输出第三列})

使用命令调换passwd里面同一行内root 和/bin/bash ,即将所有第一列和最后一列调换

awk 'NR==1{print $0}' /etc/passwd  (输出root:x:0:0:root:/root:/bin/bash)

awk -F ":" 'NR==1{print $7":"$2":"$3":"$4":"$5":"$6":"$1}' /etc/passwd (输出/bin/bash:x:0:0:root:/root:root)

awk -F ":" '{print $7":"$2":"$3":"$4":"$5":"$6":"$1}' /etc/passwd (因为是所有的呀,所以去掉NR==1第一行)

【find/sed】把/oldboy 目录及其子目录下所有以扩展名 .sh 结尾的文件中包含oldboy的字符串全部替换为oldgirl

1.sed用法

echo 'oldboy oldgirl' >oldboy.txt

cat oldboy.txt

sed 's#oldgirl#gongli#g' oldboy.txt (s表示替换,g表示全局替换,# 是分隔符,可以用/@ 等替换把oldgirl替换成gongli,但此时文件没改,只是输出改了)

sed -i 's#oldgirl#gongli#g' oldboy.txt (改内容)

2

创建环境

mkdir -p /oldboy/test (mkdir 可以连续创建目录)

tree /oldboy (以前已经创建过)

cd /oldboy

ls

echo “oldboy” >test/del. sh

echo “oldboy” >test. sh

echo “oldboy” >.sh

echo "oldboy" >t. sh

方法1

find /oldboy -type f -name "*.sh"|xargs cat (这里为什么一定要用xargs呢?如果不用将输出的的是“*.sh”文件名,如果加上xargs,那么输出的是“*.sh”文件内的oldboy内容)

find /oldboy -type f -name "*.sh"|xargs sed -i 's#oldboy#oldgirl#g' (sed具有替换加修改功能,先sed,再sed -i 使其生效)

find /oldboy -type f -name "*.sh"|xargs cat(检验一下有没有替换好)

方法2

sed -i 's#oldgirl#oldboy#g' `find /oldboy -type f -name "*.sh"(先执行find,再执行sed)

【ls、grep/awk/sed/find】

过滤出已知当前目录下oldboy中所有一级目录(不包含oldboy目录下面目录的子目录及隐藏目录,即只能是一级目录)?

根据颜色 ls -l 蓝色为目录

ls -l 结果中以d开头为目录

ls -l|grep "^d" (^表示以..开头)

ls -l 输出结果中第2列数字大于1的就是目录(文件没有硬链接的情况下是对的)

ls -l|awk '{if ($2>1) print $0}' (如果第2列>1,则输出整行)

ls -F/ls -p 通过给目录加标识,然后通过过滤标识,就过滤出目录

ls -F|grep "/$"($表示以..结尾)

ls -F|awk '/\/$/' (//内选择以/结尾\为转义符)

ls -F|sed -n '/\/$/p'

find 查找 type 为d

find . -maxdepth 1 -type d !-name "." (第1级目录下,除去./)

一个目录中有很多文件,如何最快查看最近更新的文件。

ls -lrt /etc #==>执行这个命令后最新的文件会在最下面,但是依赖于系统时间

显示行号

cat -n oldboy.txt

nl oldboy.txt (空行不记录行号)

vi oldboy.txt ,在命令行模式下:set nu则显示行号,:set nonu 则取消行号

awk '{print NR $0}' oldboy.txt

grep -n . oldboy.txt  (中间的.表示任意单个字符)

查看文件一共多少行

cat -n oldboy.txt|tail -1

wc -l oldboy.txt (-l是行号的意思)

装完系统后,希望让网络文件共享NFS,仅在3级别上开机自启动,改如何做?

文件配置方法:把要启动的服务的命令放在/etc/re.local里面

chkconfig

chkconfig --list (可以查看所有运行级别对应的服务)

chkconfig --list|grep"3:on" (on表示开始自动启动)

chkconfig --list sshd (sshd是远程连接)

chkconfig sshd off (这样就可以让sshd 开机不自动启动啦~,当我们不指定级别的时候,默认是2.3.4.5级别都自动off 啦)

chkconfig sshd on (2.3.4.5开机自启动,但是是下一次开机自启动)

/etc/init.d/sshd start (在不重启的情况下本次启动)

chkconfig --level 3 sshd off(只关3级别)

通过mkdir命令创建一个新目录/oldboy/ett,它的硬链接数是多少,为什么?如果再创建一个目录test,再问/oldboy/ett的硬链接数是多少? ls -ld /oldboy/ett/ -i (参数加在ls后哪里都可以诶~)

问题1 :2个 。/oldboy/ett 和 /oldboy/ett/.

问题2:3个。/oldboy/ett 和 /oldboy/ett/.(.表示当前目录)和oldboy/ett/test/..(..表示上一级目录)

硬链接数就是innode 相同的个数

将文件权限用数字显示

方法1

用ls -l可以查看文件权限,第一列就是,我们把它三个为一组,组内相加。主要使用awk命令

ls -l|cut -c1-10|tr "rwx-" "4210"|awk -F "" '{print $1+$1+$3""$4+$5+$6""$7+$8+$9}' ,其中,cut -c1-10输出前10列,tr命令将rwx-替换成数字4210,然后用awk命令输出,-F 为命令分隔符,必须有-F参数,虽然此题没有以任何分隔符分隔,所以awk -F ""引号里面没有任何东西,连空格也没有哦。然后''里面加{print要输出的内容},如果要输出的内容以逗号分隔,则输出以空格分开,我们这里将其变为“”则中间没有任何分隔符

方法2

stat 属性命令可以查看access,我们只需要提取出来就可以了

stat /|sed -nr 's#^.*\(0(.*)/dr.*$#\1#gp'

方法3

man stat查找可以直接出结果的方法

找到了呀。所以我们可以用stat -c %a /

默认情况下eth0网卡配置文件的路径及客户端DNS的路径

eth0网卡配置文件

/etc/sysconfig/network-scripts/ifcfg-eth0

客户端DNS路径

/etc/resolv.conf

问题:/oldboy/oldgirl为什么只能cat oldgirl查看不能oldgirl直接执行呢?

被执行的命令在$PATH下,以:冒号分隔

我们如果把/oldboy放到PATH里,那么oldgirl就可以被执行了。PATH="$PATH:/oldboy"关注一定要加上:冒号哦,要不其他的目录也没有了。

如何只显示文本里的非空行,不显示空行

grep -v "^$" oldboy.txt ,其中^$表示空行,-v表示排除

sed '/^$/d' oldboy.txt ,其中d表示删除。

查找文件路径

which ifconfig(以ifconfig为例)

whereis ifconfig

locate ifconfig (是从数据库里查呢)

find ifconfig(从/根里头遍历,所以find查找的效率最低)

相关思维导图模板

规模产蛋鸡舍通风基础思维导图

树图思维导图提供 规模产蛋鸡舍通风基础 在线思维导图免费制作,点击“编辑”按钮,可对 规模产蛋鸡舍通风基础  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:146f3fee12ba1da02023cfc1b3e7bd57

规模产蛋鸡舍通风基础思维导图

树图思维导图提供 规模产蛋鸡舍通风基础 在线思维导图免费制作,点击“编辑”按钮,可对 规模产蛋鸡舍通风基础  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:0ff87fd6ea71793d89211128a20a096f