整理不容易,求点赞关注~
第一章 Linux概述与安装
1.Linux系统的特点:多用户多任务、开源、安全、稳定
2.Linux内核版本和发行版本的区别
(1)内核版本只有Linux内核部分,安装完后,用户界面、软件都没有
(2)发行版本是在内核版本的基础上,加入用户界面,各种软件,比如Ubuntu、CenterOS等
3.内核版本号2.6.18-164.el5-x86_64的含义:
“2”:主版本号
“6”:次版本号,偶数表示稳定版本,奇数表示开发中的版本
“18”:修订版本号,表示修改次数
4.Linux系统安装时,必须有的两种分区:Swap交换分区(内外村对换,存放内存中暂时不用的数据)和根分区/
第二章 Linux图形界面与命令界面
5.Linux的两种工作界面
(1)图形界面:X-Window是Linux的图形界面协议,GNOME是基于X-Window的桌面环境。
(2)命令行字符终端界面:Linux系统配置和管理的首选方式(Ctrl+Alt+F1~F6进入字符终端界面,Ctrl+Alt+F7退出字符终端界面)
6.Linux的7中运行级别(init 0 ~ init 6)
init 0:停止运行,所有进程终止,关闭系统(不能设为initdefault)
init 1:单用户模式,用于维护系统
init 2:多用户模式,但NFS服务没有启动
init 3:完整的多用户模式,进入字符终端界面
init 5:完整的多用户模式,进入图形界面
init 6:重新引导计算机(不能设为initdefault)
runlevel:显示当前系统运行级别
7.关闭和重启系统命令
shutdown -h now 或者halt 立即关闭系统
shutdown -h 45 45分钟后关闭系统
shutdown -r now或者reboot 立即重启
halt -h 关闭计算机但不关闭电源
halt -p 关闭计算机且关闭电源
8.帮助命令
man ls 显示ls命令的man手册
mkdir --help 如果命令名称是一个字母help前一个横线,一个单词help前面两个横线
info shutdown 显示shutdown命令帮助信息
9.查找命令的位置
whereis mkdir 查找mkdir命令的位置
10.shell中的管道“|”的用法(管道可以将某个命令的输出信息作为某个命令的输入)
ls /bin | grep bz 查找bin目录下名称含有bz的文件
11.shell中重定向的用法
(1)输出重定向:ls /boot > /root/abc 将/boot的内容保存到/root/abc
(2)输入重定向:cat < /root/abc 将/root/abc的内容作为cat命令的输入并执行
(3)错误重定向:cat /root/kk 2> /root/abc 将cat命令的错误信息保存到/root/abc
(4)追加重定向:echo bbb >> /root/abc 将echo命令输出的内容追加到/root/abc
(5)实现输出和错误的重定向:ls /nn &> /root/abc 将ls命令的输出信息和错误信息都保存到/root/abc
12.(1)查看Linux内核版本命令:uname -a
(2)显示操作系统的发行版号:uname -r
13.列出历史输入的所有命令:history
14.自动补齐:Tab键
15.(1)标准输入设备文件描述符:0或stdin
(2)标准输出设备文件描述符:1或stdout
第三讲 文件管理与常用命令
16.Linux的5种不同的文件类型及其符号表示
(使用ls -lh或ll命令查看文件属性)
(1)普通文件:“-rw-r–r–”第一个符号是“-”
(2)目录文件:“drwxr-xr-x”第一个符号是“d”
(3)链接文件:“lrw-r–r–”第一个符号是“l”(软链接)
(4)设备文件:“brw-r–r–”第一个符号是“b”则为块设备文件,“c”则为字符设备文件
(5)管道文件:“prw-r–r–”第一个字符是“p”
17.链接文件有哪两种
硬链接和软链接
18.路径符号
. 表示当前目录
… 表示上一级目录
/ 表示根目录
19.常见目录的用途
/bin 存放用户和系统必需的程序
/boot 存放Linux的内核映像
/root 系统管理员的主目录
/mnt 挂载其他设备的子目录
/dev 存放所有设备文件
/etc 存放绝大部分系统配置文件
/home 创建的新用户的默认主目录
20.目录与文件操作的常用命令
(1)ls -a 显示目录下的所有文件(包括隐藏文件)
(2)ls -l 显示目录下的文件的详细信息
(3)grep -in ‘grub’ [fileName] 在文件中匹配字符,-i表示不区分大小写,-n表示输出所在行的行号
(4)more [fileName] 分页显示文本文件
(5)head -n [fileName] 显示文件的前n行
(6)tail -n [fileName] 显示末尾n行
(7)find /boot -name grub 查找/boot目录下名为grub的文件
(8)find /etc -ctime 3 查找/etc及其子目录下最近3天内更新过的文件
(9)wc -l [fileName] 统计文件的行数
(10)cp -r [srcDir] [dstDir] 递归复制srcDir及其子目录的所有内容到dstDIr
(11)mv [srcFile/Dir] [dstFile/Dir] 用来重命名或移动
(12)rm [fileName] 删除文件
(13)rm -rf [dir] 删除非空目录
(14)mkdir -p [dir] 递归建立目录
(15)touch [fileName] 创建空文件
(16)cd~ 或 cd 进入当前用户主目录
(17)cd- 返回上一次操作的目录
(18)cat -n hello.c 查看hello.c并显示行号
21.显示日历命令
(1)cal 2022 显示2022年年历
(2)cal 5 2022 显示2022年5月月历
(3)cal -jy 以1月1日起的天数显示今年年历
22.对全部已登录用户发送信息
wall ‘hello’
23.文件或目录权限修改命令
(1)文字设定法
chmod a+w /root/abc 所有用户对abc文件添加写权限
chmod o-r /root/abc 其他用户对abc文件删除读权限
u:用户user,文件或目录的所有者
g:同组用户group
o:其他用户other
r:读权限
w:写权限
x:执行权限
(2)数字设定法
选项需填写三位数字,从第一位开始分别表示user、group和other用户的权限。
0表示没有权限,1表示执行权限,2表示写权限,4表示读权限,两个以上则将其相加
例如命令 chmod 740 hello.c 对于hello.c文件,user用户拥有全部权限,group用户只有读权限,other用户没有权限
24.tar解压命令
tar -zxvf hello.tar.gz -C /home 解压hello.tar.gz到home目录
第四章 用户与用户组管理
25.Linux系统的3类用户和功能
(1)根用户(root):Linux的内置用户,权限最高
(2)普通用户:由系统管理员创建,能登录系统,权限有限
(3)虚拟用户:用来完成特定任务但不具有登录系统的能力
26.用户账户配置文件
(1)/etc/passwd:记录所有用户账户和相关信息
(2)/etc/shadow:用户影子文件,保存用户密码及相关信息(如账户有效期)
27.用户与用户组管理命令
(1)useradd -d /home/serein serein 创建用户serein并设定主目录为/home/serein
(2)userdel -r serein 删除用户serein及其主目录下的所有文件
(3)usermod -l wanfeng serein 修改用户serein的登录名为wanfeng
(4)usermod -g mygroup serein 修改用户serein的所属组为mygroup
(5)usermod -Ga mygroup serein 将用户serein追加到mygroup组
第五章 磁盘和文件系统管理
28.Linux硬盘分区类型与分区命名
硬盘分区有主分区、扩展分区和逻辑分区三种
命名规则为hdXY:hd表示IDE硬盘;sd表示SCSI硬盘,X为小写字母,Y为数字;同类型设备从字符a开始编号,a表示第一个硬盘,b代表第二个硬盘…
29.一块Linux系统的磁盘最多有4个主分区
30.硬盘分区命令
fdisk界面下的子命令
(1)l:打印系统已支持的分区类型
(2)m:打印fdisk帮助信息菜单
(3)n:新建分区
(4)t:改变分区的类型号码
(5)w:保存并退出
31.创建文件系统命令
mkfs -c /dev/sda2 检查设备有无坏块
mkfs -t ext3 /dev/sda2 创建ext3文件系统
32.挂载文件系统
mount -t ext3 /dev/sda2 /mnt/kk 将硬盘分区sda2挂载到kk目录中
33.设置开机自动挂载文件系统的方法:修改/etc/fstab文件
34.结合磁盘与文件系统管理命令,描述新增磁盘的一般使用步骤
(1)fdisk命令对磁盘进行分区
(2)mkfs命令创建文件系统
(3)mount命令挂载硬盘分区
第六讲 Linux日常管理和维护
35.查看系统进程信息命令:ps -aux
36.终止一个前台进程:Ctrl+C键
37.终止一个后台进程:kill -9 PID
38.让一个进程在后台运行:在命令后加“&”
39.(1)后台进程调入前台:fg
(2)前台进程调入后台:bg
40.周期性自动化执行的命令:crontab
第七、八章 shell编程
41.shell脚本第一行的内容
#!/bin/bash
42.执行shell脚本的三种方式
(1)hello.sh 直接执行(需要可执行权限)
(2)sh hello.sh 使用sh命令(若root用户的shell是/bin/bash,要用bash命令)
(3)source hello.sh或 . hello.sh 使用source命令或点命令
43.shell的系统变量
(1)$0 当前程序的名称
(2)$? 前一个命令或函数的返回值,0表示成功,非0表示失败
(3)$# 命令行参数的总个数,不包含程序名称
(4)$n 第n个参数
(5)$* 以“参数1 参数2 … ” 形式保存所有参数,即所有命令行参数的值
44.分支结构 test 用户整数值和字符串的判断,如果表达式为真返回0,为假返回1
(1)整数判断:-lt(小于)、-le(小于等于)、-gt(大于)、-ge(大于等于)
-eq(等于)、-ne(不等于)
例如:test 3 -lt 4 判断3是否小于4
(2)字符串判断:=(等于)、!=(不等于)、-z str(str长度为0返回真)、-n str(str长度不为0返回真)
(3)逻辑判断:-a(逻辑与)、-o(逻辑或)、!(逻辑非)
(4)文件判断:-f file(如果文件存在且是一个普通文件)
例如:test $a -eq 0 -a $b -eq 0 判断变量a和变量b是否都等于0
45.使用方括号表示测试条件的规则是方括号两边必需有空格
[ $a -eq 0 -a $b -eq 0 ]
46.单引号、双引号、倒引号、反斜杠的作用
(1)’:由单引号括起来的内容都作为普通字符出现
(2)”:由双引号括起来的字符,$、倒引号和反斜杠保留特殊功能,其余字符否作为普通字符对待
(3)`:倒引号用于命令替换,括起来的字符串被解释为命令,转换为其标准输
出结果
(4)\:转义字符
例:
echo “My current directory is pwd and logname is $LOGNAME”
输出My current directory is /root and logname is root
echo “My current directory is pwd and logname is $LOGNAME”
输出My current directory is /root and logname is $LOGNAME
echo ‘My current directory is pwd and logname is $LOGNAME’
输出My current directory is pwd and logname is $LOGNAME
47.if语句结构
if 判断条件1
then …
elif 判断条件2
then …
else …
fi
48.for语句
for 循环变量名 in 变量列表
do
? …
done
49.echo命令 提示用户
echo -ne -e解释\转义字符,-n禁止换行
50.变量定义、赋值、计算
(1)字符串变量定义(赋值即定义):season=Winter 等号两侧不能有空格
(2)整型变量定义:declare -i a=5
(3)整型变量运算:declare -i c=
a
+
a+
a+b 或
c
=
c=
c=[
a
+
a+
a+b]
(4)数组变量定义:declare -a arr=(a b c)
51.打印九九乘法表shell程序
\#!/bin/bash
for i in `seq 1 9`
do
for j in `seq 1 9`
do
echo $i x $j = $[$i*$j]
done
done
为脚本程序添加可执行权限:chmod a+x jiujiu.sh或chmod 111 jiujiu.sh
运行脚本:./jiujiu.sh 或 source jiujiu.sh
第九章 网络基本配置与网络安全
52.网络配置文件
(1)/etc/network/interfaces:网卡配置文件
(2)/etc/resolv.conf:DNS配置文件(指定DNS域名解析器)
53.网络配置命令ifconfig
(1)ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up 配置网卡eth0的IP地址和子网掩码,同时激活该设备
54.路由配置命令route
route add -net 192.168.20.0/24 gw 192.168.10.1 dev eth0给eth0网卡添加路由
55.防火墙配置命令
(1)ufw enable 开启防火墙
(2)ufw disable 关闭防火墙
(3)ufw allow/deny port 开放/关闭端口port
56.服务重启命令
service vsftpd restart 或 /etc/init.d/vsftpd restart
第十、十一章 服务器配置
57.OpenSSH服务器用于远程连接
58.NFS服务器是网络文件系统,用于文件共享
第十二章 C++集成开发环境
59.make命令的工作步骤
(1)在当前目录下寻找文件名为GNUmakefile、makefile、Makefile的文件,找到了则解释这个文件
(2)依次读取工作目录makefile文件中使用“include”包含的文件
(3)重建所有已读取的Makefile文件的规则
(4)初始化Makefile文件中的变量值
(5)推倒隐晦规则
(6)根据终极目标及其他目标的依赖关系建立依赖关系链表
(7)执行除终极目标外的所有目标的规则
(8)执行终极目标的规则
60.makefile中的命令前加了@则不显示命令本身,只显示结果
第十三章 Linux内核引导加载
61.Linux内核引导加载和初始化流程
(1)加载BIOS
(2)读取MBR
(3)加载Grub第二部分和boot/grub/grub.cfg
(4)加载内核和解压挂载initrd文件系统
(5)根据rc-sysinit.conf文件设定运行等级
(6)init进程执行/etc/init.d/rc
(7)启动内核模块
(8)执行不同运行级别的脚本程序rc0.d~rc6.d
(9)执行自定义脚本/etc/rc.local
(10)执行/bin/login程序,进入登录状态
|