linux面试基础考题
本片文章可能对没什么基础的初学者有些用,大部分有linux基础的童鞋们就请自动略过此节吧-_-||
而且,学习或者复习linux这个东西,强烈建议不要光看书,一定动手敲一敲,玩一玩,会上手快得多。
linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多中型,大型甚至是巨型项目都在使用linux。linux内核:redhat 、红旗linux、ubuntu、suse、fedora,它们的内核都是一样的(Note:linux其实是一个统称,就比如面条是一个统称,可以有哨子面、阳春面、打卤面等)
linux的特点
- 免费的/开源
- 支持多线程/多用户
- 安全性好
- 对内存和文件管理优越
关机命令
shutdown -h now(立即进行关机) shutdown -r now (现在重新启动计算机) reboot (现在重新启动计算机)
进入桌面
startx
用户登录
登录时尽量少用root账户登录,因为它是系统管理员,最大的权限,难免操作失误。可以利用普通用户登录,登录后再用“su -”命令来切换成系统管理员身份
用户注销
在提示符下输入logout即可
vi编辑器是linux下最有名的编辑器,也是我们学习linux必须掌握的工具,在linux下也可使用vi进行程序的开发,如java程序,c程序 。输入i,进入到插入模式;输入Esc键,进入命令模式 ;输入冒号:wq 表示退出保存,:q!表示退出不保存
linux的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录,深刻理解linux文件目录是非常重要的
- /
- root,存放root用户的相关文件
- home,存放普通用户的相关文件
- bin,存放常用命令的目录,如vi,su
- sbin,要具有一定权限才可以使用命令
- mnt,默认挂载光驱和软驱的目录
- etc,存放配置的相关文件
- var,存放经常变化的文件,如网络连接的sock文件
- boot,存放引导系统启动的相关文件
- usr,安装一个软件的默认目录,相当于windows下的program files
常用命令介绍
pwd,显示当前在哪个路径下
linux的用户管理
useradd 用户名,添加用户
【案例】useradd xiaoming
passwd 用户名,为新用户设密码
【案例】passwd xiaoming,修改小明的密码
userdel 用户名,删除用户
【案例】userdel xiaoming,删除用户但保存用户主目录
【案例】userdel ‐ xiaoming,删除用户以及用户主目录
logout,当前用户推出
who am i,当前用户是谁
cd,改变目录
ls,列出文件和目录
ls ‐a,显示目录下的所有文件,包括隐藏文件
ls ‐l,显示长列表格式
mkdir,建立目录
rmdir,删除空目录
touch,建立空文件
cp,复制命令
【案例】cp ‐r dir1 dir2,递归复制命令(复制子目录信息)
mv,移动文件和改文件名
rm,删除文件和目录
rm ‐rf *,删除所有内容,包含目录和文件,r表示递归,f表示强制
ln,建立符号连接,类似于建立某个文件的快捷方式
ln ‐s 源目标
【案例】ln ‐s /etc/inittab inittab,inittab指向实际文件/etc/inittab inittab
more,显示文件内容带分页,ctrl + page up上翻,长空格下翻
less,显示文件内容带分页
grep,在文本中查询内容
【案例】假设存在某个文件test.java中含有hanyang关键字,此时可以使用grep名命令来查找,grep n “hanyang” test.java,n表示在第n行出现
|,管道命令,在linux和unix系统,把上一个命令的结果交给|后面的命令处理
【案例】ls ‐l /etc/ | more
- man [command],帮助,类似于dos中的help
- find,搜索文件及目录。在linux中,因为文件系统是以级别式的结构来组成的,所以要在整个系统中找到特定的文件和目录并不是件容易的事。而“find”命令可以解决上述问题
- 在特定的目录下搜索并显示指定名称的文件和目录
【案例】find / -name man:意思是说从根目录开始搜索名称为man的文件或目录
- 搜索一段时间内被存取/变更的文件或目录
【案例】find /home -amin -10:十分钟内存取的文件或目录
【案例】find /home -atime -10:十小时内存取的文件或目录
【案例】find /home -cmin -10:十分钟内更改过的文件或目录
【案例】find /home -ctime +10:十小时前更改过的文件或目录
- 搜索指定大小的文件
【案例】find /home -size +10k:意思是说查找/home目录下大小为10k的文件
- 重定向命令
- ls -l > a.txt,列表的内容写入文件a.txt中(覆盖写)
- ls -al >> aa.txt,列表的内容追加到文件aa.txt的末尾
- 从文件中输入信息:database_program < database_data
- en,查看环境变量
- 压缩和解压
- 以zip和unzip处理.zip文件
- zip命令的基本使用方法
- zip file.zip *:zip后接压缩后的文件名,在它的后面输入要压缩的文
件即可
- 压缩后,自动删除原文件
【案例】zip m file.zip to.txt:把to.txt文件压缩成file.zip文件,to.txt会自动删除的
- 将子目录一起压缩
【案例】zip ‐r file.zip *:将当前目录下的子目录一起压缩
- 忽略子目录的内容
【案例】zip ‐j file.zip *
- 将已压缩的或没有必要压缩的文件去掉
【案例】zip ‐n .mpg: .jpg: .gif:第一种文件中间要用“:”分开
- 压缩某一日之后的文件
【案例】zip ‐t 102002 file.zip:将当前目录下在2002年10月20日之后文件压缩
- 不压缩链接文件的原文件
【案例】zip ‐y file.zip *
- 压缩率问题,-1~-9,其中-9的压缩率最高
【案例】zip -9 file.zip *
- 将不需要压缩的文件排除在外
【案例】zip file.zip * -x file2.txt:在压缩时,将当前目录内的file2.txt文件排除在外
- 以unzip命令进行.zip文件的解压缩
- 直接解压缩文件
【案例】unzip file.zip
- 排除不需要解压缩的文件
【案例】unzip file.zip ‐x file2:除了file2文件外,其他的文件都解压缩
- 查看压缩包的内容
【案例】unzip ‐Z file.zip:查看file.zip压缩包的内容,也可以使用“-l” “-v”来查看压缩包的内容
- 以gzip和gunzip处理.gz文件
在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念 。
1)所有者:一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者。用ls ‐ahl命令可以看到文件的所有者。也可以使用chown 用户名 文件名来修改文件的所有者。
2)文件所在组:当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组,用ls ‐ahl命令可以看到文件的所有组,也可以使用chgrp 组名 文件名来修改文件所在的组。
3)其它组:除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。
文件权限
ls -l中显示的内容如下:
-rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc
- 10个字符确定不同用户能对文件干什么
- 第一个字符代表文件(-)、目录(d),链接(l)
- 其余字符每3个一组(rwx),读(r)、写(w)、执行(x)
- 第一组rwx:文件所有者的权限是读、写和执行
- 第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行
- 第三组r--:不与文件所有者同组的其他用户的权限是读不能写和执行
也可用数字表示为:r=4,w=2,x=1 因此rwx=4+2+1=7
- 1 表示连接的文件数
- root 表示用户
- root表示用户所在的组
- 1213 表示文件大小(字节)
- Feb 2 09:39 表示最后修改日期
- abc 表示文件名
改变权限的命令
chmod 改变文件或目录的权限
chmod 755 abc:赋予abc权限rwxr-xr-x
chmod u=rwx,g=rx,o=rx abc:同上u=用户权限,g=组权限,o=不同组其他用户权限
chmod u-x,g+w abc:给abc去除用户执行的权限,增加组写的权限
chmod a+r abc:给所有用户添加读的权限
改变所有者(chown)和用户组(chgrp)命令
chown xiaoming abc:改变abc的所有者为xiaoming
chgrp root abc:改变abc所属的组为root
chown root ./abc:改变abc这个目录的所有者是root
chown ‐R root ./abc:改变abc这个目录及其下面所有的文件和目录的所有者是root
改变用户所在组
在添加用户时,可以指定将该用户添加到哪个组中,同样用root的管理权限可以改变某个
用户所在的组
- usermod ‐g 组名 用户名
你可以用 - usermod ‐d 目录名 用户名,改变该用户登录的初始目录
linux分区详解
硬盘的分区主要分为基本分区(Primary Portion)和扩展分区(Extension Portion)两种。只是针对一个硬盘来讲,基本分区和扩展分区的数目之和不能大于4个,且基本分区可以马上被使用但不能再分区。扩展分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么有扩展分区再分下去的是什么呢?它就是逻辑分区(Logical Portion),而且逻辑分区没有数量上限制
对windows用户来说,有几个分区就有几个驱动器,并且每个分区都会获得一个字母标识符,然后就可以选用这个字母来指定在这个分区上的文件和目录。它们的文件结构都是独立的,非常好理解。但对这些用户初上手Redhat Linux,可就有点恼人了。因为对Redhat Linux用户来说无论有几个分区,分给哪一个目录使用,它归根结底就只有一个根目录、一个独立且唯一的文件结构。Redhat Linux中每个分区都是用来组成整个文件系统的一部分。因为它采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来。这时要载入的那个分区将使它的存储空间在这个目录下获得。
几个重要命令
挂载命令
mount [-parameters] [设备名称] [挂载点]
卸载命令
umount [挂载点]
查看磁盘使用情况
df [-parameters]
- df -h
- df ‐l
- df [目录全路径],查看某个目录是在哪个分区
查看linux系统分区具体情况
fdisk ‐l
shell编程
其实作为命令语言互动式地解释和执行用户输入的命令只是shell功能的一个方面。shell还可以用来进行程序设计。它提供了定义变量和参数的手段以及丰富的程序控制结构。使用shell编程类似于DOS中批处理文件,称为shell script,又叫shell程序或shell命令文件。
shell脚本文件:
- 是一个文本文件
- 命令的集合
- 有执行的权限
- 执行方式(./文件名)
用export可以临时加入一个系统路径,如export PATH=$PATH:$HOME/bin:/root/test/t1,输出环境PATH,引用原来的值$PATH,$HOME表示工作主目录,:是路径分隔符
shell通配符
- *代表多个字母或数字
- ?代表一个字母或数字
【案例】ls a* ls a? ls f080[1-6].tif
- 转义字符\
【案例】ls /mnt/win1/My\Documents
- 单引号:不处理任何变量和命令
【案例】echo ‘Welcome $NAME, the date is date ’
- 双引号:处理变量但不处理命令
【案例】echo “Welcome $NAME, the date is date “
- 反引号:把引号中的每个单词作为一个命令,如果是变量则先求值然后作为一个命令处理
【案例】echo “Welcome $NAME, the date is `date` “
查阅历史记录
- history,查看使用过的命令的历史记录
- history 5,此项说明会显示最近使用的5个命令
- !5,此项说明执行历史编号为5的命令
- !ls,此项说明执行最后一次以“ls”开头的命令
linux面试基础考题相关推荐
- Linux面试基础知识--汇总
怎么查看系统支持的所有信号? kill -l chmod 修改权限 chown 修改文件拥有者 chgrp修改群组 27.使用什么命令查看磁盘使用空间? 空闲空间呢? df -hl 29.使用什么命令 ...
- 只要你认真看完一万字☀️Linux操作系统基础知识☀️分分钟钟都吊打面试官《❤️记得收藏❤️》
只要你认真看完一万字☀️Linux操作系统基础知识☀️分分钟钟都吊打面试官<❤️记得收藏❤️> 目录
- 从中级到架构透彻讲解PHP面试必考题【2021版】
精选了一些目前PHP面试经常遇到的题型,这可能对更多的面试者有很大的帮助,此课程适合中级到高级的跃进,学习的时候请深入学习 面试题整理 1 一份PHP核心技术面试题,跳槽必备! 2 面试官问:你是如何 ...
- java gui中文变方块_150道Java面试基础题(含答案)
1)Java 中能创建 volatile 数组吗? 能,Java 中可以创建 volatile 类型数组,不过只是一个指向数组的引用,而不是整个数组.我的意思是,如果改变引用指向的数组,将会受到 vo ...
- Java面试基础知识III
Java面试基础知识: 1.C++或Java中的异常处理机制的简单原理和应用. 当JAVA 程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常.违反语义规则包括2种情况.一种 ...
- 2022(招聘季)linux面试高频题
大家好,今天给大家分享一下2022最新最全的linux面试高频题,希望你们喜欢. linux运维工程师在面试的时候经常会被问到各种问题,接下来我也会根据自己的经验将面试题整理下来供大家参考.有不同见解 ...
- Linux零基础入门到进阶
在IT圈子里一直流传着这么一句话:身为程序员,一定要学Linux.播妞发现,很多小伙伴都听说过Linux,但却一知半解...... Linux是什么?Linux有必要学吗?学Linux有什作用?今天就 ...
- Android 面试基础
最近很多小伙伴又在找工作了,汇总一些面试基础题,希望对大家有帮助. 1. 请描述一下Activity 生命周期. 共有七个周期函数,按顺序分别是: onCreate(), onStart(), onR ...
- C++面试基础知识点
C++开发面试基础知识点 1. 语言基础 1.1 const的用法 1)在定义的时候必须进行初始化 2)指针可以是const 指针,也可以是指向const对象的指针 3)定义为const的形参,即在 ...
- Linux 面试宝典
Linux 面试宝典 Linux面试宝典 **Linux 面试宝典** 一.计算机基础部分 网络部分 后续再不断更新-- 二.Linux基础部分 Linxu文本处理三剑客 文本处理三剑客之grep 文 ...
最新文章
- ConcurrentHashMap源码解析(1)
- 柜位预測(一)——显示柜位曲线图
- Linux2.6内核--对块IO层操作的讨论
- wordpress 评论ajax,WordPress教程 WordPress实现提交评论ajax翻页效果教程
- JAVA 搭建基于SPRINGBOOT的SSM(SPRING + SPRINGMVC + MYBATIS)的MAVEN项目
- Html,css,is,php,mysql的学习顺序是什么?
- [转]java selenium webdriver实战 应用小结
- python 识别图形验证码_Python图片验证码降噪处理实例!此乃识别验证码神技!...
- Let’s to be a bug-free programmer
- PHP实现用户浏览记录接口
- python 如何通过海表面高度数据计算海表地转流速、并绘制流线图
- 网站页面要怎么设计?
- Mac 谷歌Chrome设置浏览器跨域
- 皮尔逊相关系数和检验P值
- 科林明伦杯哈尔滨理工大学第六届程序设计团队赛(流水账)
- 论文阅读训练(13)
- 大数据如此火爆 如何看待大数据行业发展趋势
- 【解决】控制台报错Uncaught TypeError: Object(...) is not a function at eval (vue-router.esm-bundler.js
- Altium Desinger 20概述-安装及卸载
- docker部署gitlab
热门文章
- android代码设置digits,andorid editext android:digits=abcdefghijklmnopqrstuvwxyz用代码写来控制规则该怎么写呢?...
- 21天自学c语言漫画版,21天学通C语言第6版
- java下载文件未能加载资源_Java Web start – 无法加载资源
- sqlyog证书秘钥(注册码)
- 阿里 计算机底层架构原理 pdf,完美起航-震撼!8位阿里大牛编写的2500页计算机底层架构原理解析,香香香...
- 中信银行Java笔试题库,手撕面试官
- python写完程序怎么运行
- html坦克游戏,HTML5实现经典坦克大战坦克乱走还能发出一个子弹
- latex 数学符号
- GO语言开发天天生鲜项目第四天 商品后台管理