Linux
Linux系统概述
- 请简述Linux操作系统有什么优点?
- 提供了先进的网络支持:内置TCP/IP协议;
- 真正意义上的多任务、多用户作系统
- 与UNIX系统在源代码级兼容,符合IEEE POSIX标准
- 支持数十种文件系统格式
- 开放源代码,用户可以自己对系统进行改进
- Linux系统的特点
- 与UNIX兼容
- 自由软件,源码公开
- 性能高,安全性强
- 便于定制和再开发
- 互操作性高
- 全面的多任务和真正的32位操作系统
- 在服务器市场及嵌入式系统领域应用广泛,是一种高性能、低开支的可以替换其他昂贵操作系统的系统。
Linux的安装
- Linux 系统启动(引导)过程
- 内核的引导
- 运行 init
- 系统初始化
- 进入用户桌面(图形界面方式)或系统光标提示符(字符界面方式)
- 用户登录系统
- Linux的运行级别(runlevel) 重点3,5
这些级别定义在
/ect/inittab
文件中,是init程序寻找的主要文件
标准的Linux运行级别为3或5- 0: 系统停机状态,系统默认运行级别不能设置为0,否则不能正常启动,机器关闭.
- 1: 单用户工作状态,root权限,用于系统维护,禁止远程登陆
- 2: 多用户状态,没有NFS支持
- 3: 完整的多用户模式,有NFS,登陆后进入控制台命令行模式
- 4: 系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情
- 5: X11控制台,登陆后进入图形GUI模式
- 6: 系统正常关闭并重启
Linux基本操作
- Linux各目录用途
/bin
: 必要的用户二进制可执行文件(被所有用户使用)/sbin
: System binaries/sbin
包含启动,恢复,恢复和/或修复系统以及/bin
中的二进制文件所必需的二进制文件/boot
: 系统启动时要用到的静态文件/usr
: 是文件系统的第二个主要部分. /usr
是可共享的只读数据./dev
:dev是Device(设备)的缩写,包含设备和特殊文件/proc
: Linux处理进程和系统信息的标准方法,用于存储和检索进程信息以及其他内核和内存信息./etc
: 主机特定的系统配置/lib
: 这个目录里存放着系统最基本的动态链接共享库,其作用类 似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库.
Linux桌面系统及配置
- 常见的窗口管理器
目录及其操作
- 如果执行命令 #chmod 746 file.txt,那么该文件的权限是
rwxr--rw
- 用数字表示属性的含义 :
- 0表示没有权限
- 1表示可执行权限
- 2表示可写权限
- 4表示可读权限
- 文字设定法:
- u 表示“用户(user)”,即文件或目录的所有者。
- g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户
- o 表示“其他(others)用户”。
- a 表示“所有(all)用户”。它是系统默认值。
- 文件 exer1 的访问权限为 rw-r--r--, 现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是:
chmod a+x, g+w exer1
- 某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为
764
Shell程序设计
- $(), $(())和${}区别
- $( ) 和``作用相同,命令替换:完成括号里的命令行,然后将其结果替换出来,再重组命令行。
- ${}用于变量替换. ${ } 会比$更精确的界定变量名称的范围
- $(())是用来作整数运算的
- 常用的shell有哪几种?
- Bourne shell (sh)
- C shell (csh)
- Korn shell (ksh)
- Bourne Again shell (bash)
- 说明三种引号的作用有什么区别
- "": 用双引号括起来的字符,除$,`,\,均作为普通字符对待
- '': 由单引号括起来的所有字符都作为普通字符出现
- ``: 倒引号用于命令替换
Linux系统管理
- 系统管理员的职责包括哪些?管理的对象包括哪些?
系统管理员的职责是进行 系统资源管理、设备管理、系统性能管理、安全管理和系统性能监测
管理的对象是服务器、用户、服务器的进程及系统的各种资源等。
Shell编程题
- 利用数组形式存放 10 个城市的名字,然后利用 for 循环把它们打印出来.知识点:for循环
#!/bin/bashname=(a b c d e f g h i j)for city in ${name[*]}do echo $citydoneecho
- 利用for循环将当前目录下的.c文件移到指定的目录下,并按文件大小排序,显示移动后指定目录的内容。
#!/bin/bashfor file in $(ls | grep -E "*.c$"){ mv ./$file ../}ls -lS ../
- 求斐波那契数列的前10项及总和,知识点: 算术运算
#!/bin/basha=1b=1echo -n -e "$a\t$b"let "a=a+b"for count in $(seq 0 3)do let "a=a+b" let "b=b+a" echo -n -e "\t$a\t$b" let "n+=a+b"doneechoecho "The sum is $n"
- 添加一个新用户组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30
#!/bin/bashgroupadd class1for id in $(seq -w 01 30)do useradd -g class1 std$iddone
- 编写一个shell脚本,它把第二个位置参数及其以后的各个参数指定的文件复制到第一个位置参数指定的目中
#!/bin/bashtarget=$1shiftfor file in $*do cp $file ${target}/done
- 文件存在,则拷贝文件然后打印出一个信息,文件不存在,则打印出一个信息然后离开 ,知识点: test语句,if条件控制
#!/bin/bashif $(test -f /etc/foo)then cp /etc/foo . echo "Done"else echo "This file does not exist." exitfi
- 设定 x 初值为 0,每秒增加 x 的数值,知识点: while循环控制,sleep,运算
#!/bin/bashx=0while [ "$x" -le 10 ]do echo "Current value of x: $x" x=$(expr $x + 1) sleep 1done
命令
切换运行等级
init [OPTIONS...] {COMMAND}
- 关机
halt
shutdown -h <time>
poweroff
init 0
- 重启
reboot
shutdown -r <time>
init 6
- 退出
who
- 显示当前已注册到系统的所有用户名、所用终端名和注册到系统的时间cat
- 连接文件并在标准输出上打印date
- 在屏幕上显示或设置系统的日期和时间pwd
- 显示当前目录的路径more
- 在显示器上阅读文件的过滤器,用于分页显示,less
提供了more
的模拟并做了增强cp
- 复制文件和目录mv
- 移动文件- grep
rm
- 移除文件或者目录- gzip
mkdir
rmdir
ls
- 列出目录内容- chmod
- 创建删除用户:
- 创建删除用户组
- man
test
- 检查文件类型并比较- -d 检查此file是否是一个目录
- -e 检查此file是否存在
- -f 检查此file是否为一般的文件
- sleep - 延迟指定数量的时间
du
- 对文件和目录磁盘所使用的空间的查看df
- 报告文件系统磁盘空间的使用情况find
- 在目录层次结构中搜索文件tar
- -c: 建立一个压缩文件的参数指令
- -x: 解开一个压缩文件的参数指令
- 必选参数:
- 可选参数
mount
- 挂载指定的文件系统到指定的挂载点