linux面试主要考察对常用命令和文件系统的理解和熟悉程度,以下是对linux基础的几个模块:常用命令,目录结构,环境变量,自定义命令,文件权限修改等方面做总结。
1.常用命令
五个查找命令:grep find locate whereis which
- grep:通用规则表达式分析程序,支持使用正则表达式搜索文本。 grep [选项] pattern [文件名]
- find:find [指定目录][制定条件][制定动作] eg:
find /home -user xiaomu
搜索/home下所有用户xiaomu的文件
find / -type f -size +100M
查找系统中所有大于100M的文件 - locate :与find -name功能一样,但是效果比find高,不直接搜索具体目录,搜索本地文件数据库(/var/lib/locatedb),linux系统自动创建该数据库,每天更新一次,可以update强制手动更新数据库。locate
-i /etc/m 查找/etc下所有m开头的文件,忽略大小写 - whereis:搜索程序名
- which:在指定的路径中,搜索某个系统命令的位置
2.目录结构
linux系统常见文件系统:
- / 根目录
- /bin 二进制可执行命令
- /dev 设备特殊文件
- /etc 系统管理和配置文件,etc/passwd用户信息文件
- /home 用户主目录的基点
- /lib 动态链接库 /lib/modules目录 系统核心可加载模块,尤其是那些在恢复损坏的系统时重新引导系统所需的模块(例如网络和文件系统驱动)。
- /sbin 系统管理员使用的管理程序和命令
- /tmp 临时文件存储点
- /mnt让用户临时挂载其他的文件系统 mont
- /proc 虚拟的目录
- /var 某些大文件的溢出区 比如各种服务的日志文件
- /usr 用到的应用程序和文件基本都在这个目录
3.修改环境变量
3.1 常见的环境变量:
- PATH 决定shell在哪些目录中查找命令或者程序
- HOME 当前用户主目录
- HISTSIZE 历史记录数
3.2 查看环境变量:
- echo $PATH
- env 查看所有环境变量
- set 查看本地定义的环境变量
3.3永久修改
- 3.2.1对所有用户生效:
- /etc/profile: 当用户第一次登录时,该文件被执行
- /etc/bashrc:对每一个运行hash shell的用户执行此文件
在最后一行添加 export CLASSPATH=/… 修改后需要重新登录或者source /etc/profile来生效 - 3.2.2 仅对当前用户生效
- ~/.bash_profile ~/.bashrc vi
/home/xiaomu/.bash_profile编辑xiaomu用户的变量,在末尾添加export语句
3.4临时修改
使用exprt命令声明即可,变量只在当前的shell或其子shell下有效,在关闭shell后失效
4.自定义命令
- 4.1 简单使用alias起别名 修改.bashrc文件,加入 alias ws=”cd ~/workspace”,使用source .bashrc使修改生效,也可以单独定义一个文件存放,参考.bashrc文件中得说明
- 4.2 将可执行文件目录加入PATH,如3修改环境变量
5.文件权限
- ls -l 或者ls-al查看文件时,会得出-rwxrwx—结果,第一位-表示文件是普通的文件,如果是d表示是目录,l表示这是一个符号链接文件,实际上指向其他文件。
从2-10位表示权限,自己,同组,其他用户权限,read,write,execute。-表示没有权限 - chmod修改文件权限,r w x -分别对应的权重是4,2,1,0 chmod 700 a.txt