终端常用操作

  • 调整字号

    • Ctrl + Shift + +
    • Ctrl + -
  • 打开多个终端

    • Ctrl + Shift + T
  • 切换终端

    • Alt + 数字键
  • 退出终端

    • 输入命令exit或者Ctrl + D
  • 将当前命令行置顶

    • Ctrl + L
  • 将光标之前的所有字符删除

    • Ctrl + U
  • 显示历史命令

    • 方向键的
  • 切换目录

    • cd命令
      • cd后面不加任何目录 则切换到当前用户主目录
      • 四个特殊目录名称
        • . 当前目录
        • .. 上一层目录
        • ~ 当前用户主目录
          • root用户主目录 /root
          • xx用户主目录 /home/xx
        • - 之前工作路径
  • cat 查看帮助

    • 功能:查看文本文件的内容
    • 用法: cat 文本文件
    • 常用参数: -n 加上行号
    • 举例:
      1. cat /etc/passwd
        
      2. cat –n /etc/passwd == cat –number /etc/passwd
        
  • 管道

    • 功能: 将前面命令的输出结果传给后面的命令
    • 用法: 命令1 | 命令2
  • ls命令

    • 功能: 显示文件信息或目录下包含的所有文件
    • 用法:
      • ls 文件 显示文件信息
      • ls 目录 显示目录下包含的所有文件
    • 常用参数:
      • –w 指定显示信息输出的列宽(字符),它后面是带参数的
        • ls –w 10
      • –l 列出详细信息 相当于 命令 ll
  • 非常重要的按键

    • Tab
      • 命令补全
        • 第1种情况:按1下,只有一个符合条件,直接补全并在命令后面加一个空格
        • 第2种情况:如果按1下tab没有反应,可以试着按2下,会列出所有可能的命令
        • 第3种情况:如果按多下tab键没有反应,则表示你的命令写的有错误
      • 文件或者路径补全
        • Linux把所有东西都视为文件。
        • 文件和目录统称为文件。
        • 操作方法,参考命令补全
  • mount命令查看光驱挂载路径

    • 将分区挂载到目录上 mount /dev/sr0 目录
  • mkdir创建目录

    • mkdir /cdrom 创建cdrom目录
    • mkdir -p /rhome/stu2 递归创建目录,即使上级目录不存在,会按目录层级自动创建目录
  • rpm 安装软件

    • 安装:rpm -ivh /cdrom/Packages/vsftpd..
    • 检查是否安装成功:
      • rpm -q vsfptpd
      • rpm -qa | grep vs
    • 卸载:rpm -e vsfptd
  • 编辑文件

    • vi
      • i 编辑
      • esc 退出
      • :p 退出
      • :p! 强制退出
      • :w 保存
      • :wp 保存并退出
  • 历史命令

    • !命令前缀,会找到最近的一个命令前缀执行
  • 快捷方式

    • Alt+ .

yum

执行yum命令之前需要配置文件/etc/
[aa] 随便写
name=ad 随便写
baseurl=file:/ l/media/RHEL 6.1\ i386\Disc\ 1 软件地址
enable=1
gapcheck=0 不检查key

  • 安装pub-key
    rpm -import 具体的pubkey

  • 卸载pub-key
    rpm -e 具体的pubkey

  • yum配置文件指定pubkey
    gpgkey=具体的key

  • 修改yum配置之后

    • 使用yum clean all
  • 然后再

    • yum list
  • yum安装软件

    • yum install 软件名
  • yum卸载软件

    • yum earse 软件名
    • yum remove 软件名

用户管理配置文件

命令:vi /etc/passwd
示例:stu:x:500:500:student:/home/stu:/bin/bash

分为7列
第1列: 用户名–stu
第2列: 用户是否使用了密码–x表示使用
第3列: 用户id–500
第4列: 用户主要组id–500
第5列: 用户的完整名称–student
第6列: 用户的主目录–/home/stu
第7列: 用户的登录shell–/bin/bash

关于用户id

0为root的用户id
普通用户的id>=500
系统id是1~499

登录shell

/sbin/nologin表示不可登录

添加用户

useradd或adduser
常用参数:
-s 指定用户登录的shell
-u 指定用户id
-d 指定用户的主目录
举例:useradd stu2

删除用户

userdel
参数: -r 删除用户时,删掉用户的主目录,邮箱文件
举例:userdel -r stu2

停用账户

在对应用户的配置文件前面加上#,相当于注释掉了

设置不需要密码

将x删掉即可

设置不可登录

设置/sbin/nologin

切换用户

su -
举例:su - stu2 切换至stu2用户
su - 如果身处其他用户环境,将切换为root用户,但需要输入密码

组管理

vi /etc/group

举例:root:x:0:root
共有四列。
第1列 组名
第2列 组启用了密码
第3列 组id
第4列 该组包含的成员

添加组

groupadd
用法:groupadd 组名

删除组

groupdel
用法:groupdel 组名

组关系查询

id
功能:查询用户的id,主要组id,所属组
方法: id 用户名
举例:id root

另一种查看用户所在组的方式
grep stu2 /etc/group
grep的全称为:Global searchRegularExpression andPrint out the line
全称中的”Global search”为全局搜索之意
相当于在/etc/group文件中,全局搜索包含stu2的字段

添加组关系

如何将stu2加入到stu组和test组呢?
输入vi /etc/group命令,进入组管理配置文件
按i开始编辑,在对应的组的最后,加上stu2,:wq保存并退出
输入id stu2 查询stu2的所属组

磁盘与文件管理

磁盘分区类型

主分区,扩展分区,逻辑分区

硬盘分区fdisk

fdisk –l查看硬盘的名称,最大柱面值,当前硬盘分区情况。

创建、删除硬盘分区常用命令

fdisk /dev/sda

命令 作用
a toggle a bootable_ flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition 删除分区
l list known partition types 列出已知分区的类型
m print this menu
n add a new partition 添加一个新分区
o create a new empty DoS partition table
p print the partition table 显示硬盘当前分区情况
q quit without saving changes 退出但不保存
s create a new empty Sun disklabel
t change a partition’s system id 改变分区系统id
u change display/entry units
v verify the partition table
w write table to disk and exit 保存并退出
x extra functionality (experts only)

一个好习惯

分区之前,分区之后,随时输入p查看一下当前的分区情况

添加新分区

  1. 输入fdisk /dev/sda
  2. 输入n 会让您选择是创建扩展分区还是主分区
  3. e是选择扩展分区,p是选择主分区,这里我们先选择p创建主分区
  4. 会让你选择柱面值起始位置和结束位置
    • 为什么要选择起始位置呢?避免坏道,选择起始位置可以跳过坏道
    • 结束位置默认是全选剩余空间,单也可以指定创建多大的分区,具体实现为+200M+2G,分别表示创建200M大小的分区和创建2G大小的分区,可以根据自己的需求来划分。另一种选择方式是选择柱面值,但不符合我们的习惯,不能确定创建的分区大小

删除分区

  1. 输入fdisk /dev/sda
  2. 输入d,然后选择要删除哪个分区(1~4)

扩展分区

每个硬盘只能创建4个主分区,当前系统只有2个主分区,用户可以有2种选择,可以选择扩展分区,或者选择创建普通的主分区。

注意:如果四个主分区都创建完,即便硬盘有很大的剩余空间都是无法继续使用的,所以一般有两种创建分区的方式:

  1. 创建四个主分区,使用全部的硬盘空间。
  2. 创建3个主分区,1个扩展分区,使用全部的硬盘空间,以后可以在扩展分区上创建更多的分区。

常用的分区方式是第2种。
主分区的编号1-4
逻辑分区的编号:5-n

将刚刚创建的第四个分区删除掉
同时创建一个扩展分区输入n,选择e,使用剩余所有空间来创建扩展分区
最后在扩展分区上创建两个逻辑分区,大小自定义即可

修改系统表示

如果想把第3分区改为交换分区

  1. 需要输入命令t
  2. 选择要修改的分区(这里就是选择第3分区)
  3. 修改系统标识id为82(id为82则表示是Linux swap / Solaris

设置好了之后我们输入w保存并退出即可

几点说明

刚创建好的分区不能直接使用,我们使用ll /dev/sda*来查看现有的目录
但是并没有出现我们新创建的分区

1
2
3
4
5
[root@localhost ~]#ll /dev/sda*
brw- rw- --- . l root disk 8, 09月29 09:33/dev/sda
brw-rw---- . l root disk 8, 1 9月29 03:39/dev/sda1
brw-rw-- --. l root disk 8,2 9月29 03:39 /dev/sda2
brw-rw-- --. 1 root disk 8, 3 9月29 03:39 /dev/sda3

必须重启系统才能使新的分区生效来创建目录
我们输入init 6来重启系统,随后再次查看目录,这下就有我们新创建的sda4sda5分区文件了
或者使用partx -a /dev/sda命令获得新分区表

1
2
3
4
5
6
7
[ root@localhost桌面]## ll /dev/sda*
brw- rw----. l root disk 8, 09月29 09:37 /dev/sda
brw-rw----. l root disk 8, 1 9月29 09:37 /dev /sda1
brw- rw-- --. 1 root disk 8,2 9月29 09:37/dev /sda2
brw- rw----. 1 root disk 8,3 9月29 09:37 /dev/sda3
brw- rw----. l root disk 8,4 9月29 09:37 /dev/sda4
brw- rw----. 1 root disk 8, 59月29 09:37 /dev/sda5

echo回显

输入echo XXX 会将XXX回显到终端上
但是也可以将XXX写入到文件中,具体语法如下

1
echo XXX > /linux/1

随后终端输出XXX
但如果再次执行

1
echo XXXHHH > /linux/1

终端则会输出XXXHHH,表明>是一个覆盖操作,而不是追加操作
而如果想实现追加操作,则需要使用>>来实现

如果没有创建linux目录,请先使用如下命令来创建目录

1
mkdir /linux

建立文件系统

新建立的分区是不能直接使用的,先要创建文件系统,相当于windows系统中的格式化操作。

注意:扩展分区是不能建立文件系统的

在第5个分区上创建ext4文件系统

1
mkfs.ext4 /dev/sda5

分区挂载mount命令

必须指明文件,不能写成mount /dev/sda5

1
mount /dev/sda5/linux

分区卸载

方式一:umount 分区

1
umount /dev/sda5

方式二:

1
umount /linux

设置分区开机自动挂载

  • 编辑/etc/fstab文件来实现
分区 挂载点 分区类型 挂载选项 dump备份 开机检测
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5 , mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sda5 /linux ext4 defaults 0 0

挂载选项一般设置为defaults,dump备份和开机检测一般设为0

  • 编辑好配置文件之后输入:wq保存并退出
  • 使用mount -a命令来检查是否有错误
    • 如果有错误,会提示出来;如果没有错误,会把没有挂载的分区挂载上。

建立交换分区文件系统

使用mkswap /dev/sda3命令,建立交换分区文件系统
使用swapon /dev/sda3命令,查看或者激活交换分区
使用swapoff /dev/sda3命令,关闭交换分区
设置交换分区开机自动激活,使用vi /etc/fstab修改配置文件/etc/fstab
添加内容/dev/sda3 swap swap defaults 0 0
添加完毕之后使用swapon -a来检查操作是否有问题
使用swapon -s显示所有已用的分区

小结

  • 分区重要操作
    • 创建分区
      • n
        • e创建扩展分区
        • p创建主分区
    • 逻辑分区编号:从5开始
    • 分区有两个用途
      • 数据盘
        • 要先建立文件系统,使用mkfs.XXX(根据你的需要替换XXX,例如ext4,ext3)
        • 建立完文件系统,需要使用mount挂载来使用,不过挂载只能在开机状态使用,重启之后无效
        • 设置自动挂载,修改配置文件
        • 修改完配置文件之后使用mount -a检查是否有错误
      • 交换分区
        • 先使用mkswap命令格式化
        • 随后使用swapon命令激活交换分区
        • 设置开机自动激活:修改配置文件
        • 使用swapon -a检查是否有错误

文件及目录安全

在Linux中的每一个文件或目录都包含有访问权限,这些权限决定了谁能访问和如何访问这些文件和目录
例如:drwxr-xr-x. 2 root root 4096 2月 23 2012 Desktop
其中:d表示是目录,rwxr-xr-x分别是三部分权限

  1. 用户权限:文件所有者的权限
  2. 组权限:文件所属组的权限
  3. 其他人权限:既不是文件所有者,也不在文件所属组的其他用户

每一部分权限又分为三部分:

权限 文件 目录
r 读文件的内容 显示目录下的内容
w 修改文件内容 目录下添加、删除、修改文件
x 可执行权限 进入目录的权限

测试读/写权限

  1. 切换到stu用户
    • 使用su - stu命令
  2. 进入tmp目录
    • 使用cd /tmp命令
  3. 创建临时文件并写入sss
    • 使用echo sss > 1命令
  4. 查看文件访问权限
    • 使用ll命令
  5. 新建终端,切换到stu2用户
    • 快捷键Ctrl + Shift + T新建终端
    • 使用su - stu2命令切换至stu2用户
  6. 进入tmp目录
    • 使用cd /tmp命令
    • 使用ll命令查看所有目录与权限,发现第3步我们创建的1文件也存在
      • -rw-rw-r--. l stu stu4 9月29 14:03 1
      • 用户权限只有rw,组权限只有rw,其他人权限只有r
  7. 分析stu2对1文件的权限
    • 由于1文件并不是stu2创建的,所以stu2并没有1文件的用户权限
    • 使用id stu2查看stu2所属的组,看看stu2是否有stu的组权限(如果按着老师的步骤来,这里是有组权限的,但是我们可以通过修改/etc/group文件修改stu2的所属组)
      • 如果有组权限(uid=501(stu2) gid=501(stu2)组=501(stu2) ,500(stu) ,502(test)),那么我们可以对1文件进行读写操作
        • 使用cat 1验证读权限
        • 使用echo ssshhh >> 1验证修改权限
      • 如果没有组权限,只有可其他人权限,则只能进行读操作
        • 使用cat 1验证读权限
        • 使用echo ssshhhh >> 1则会报错:权限不够

测试执行权限

那么至此,关于stu2用户的操作就结束了,下面我们切换到stu用户继续练习执行权限

  1. 由于stu1是用户权限,所以我们先切换到tmp目录,并修改1文件
    • 使用cd /tmp切换到tmp目录
    • 使用vi 1编辑1文件
  2. 编辑1文件的内容
    • 写入pwdwho,和cal这三条命令(cal是calendar日历的缩写)
    • 写入完成之后使用wq保存并退出
  3. 执行1文件内容
    • 刚刚我们在1文件中写入了三个常用命令
    • 那么使用source 1可以执行1文件中的命令
  4. 执行结果
    • 显示当前路径
    • 显示目前有哪些用户登入系统
    • 显示日历
  5. 一点补充
    • 如果当前文件有执行权限,可以使用./1来执行文件(这里的1是文件名)
    • 但当前我们的权限不够,只有rw-,没有x执行权限

修改权限

使用chmod命令(change mode)
其中u表示用户权限(user),g表示组权限(group),o 表示其他人权限(other),a 表示所有权限(all)

举例1:给1文件的用户权限增加可执行权限

1
chmod u+x 1

举例2:给1文件的其他人权限指定只有执行权限

1
chmod o=x 1

那么此时的1文件的权限如下

-rwxrw—x.l stu stu 12 9月29 14:20 1

  • 用户权限有rwx
  • 组权限有rw
  • 其他人权限只有w

由于现在stu有了可执行权限,所以这次我们使用./1命令就能执行文件1中的命令了

如何直接执行1中的命令呢

现在我们有两种执行1文件中的命令方式,分别是

  • source 1
  • ./1

那么有没有更简单的方式呢?当然是有的

  • 由于1文件名不是很好听啊,我们先使用mv 1 stuC命令,将1文件移至stuC文件中,如果stuC目录不存在则会将1重命名为sutC,所以也可以用此命令达到改名的效果
  • 随后使用echo $PATH命令查看可以直接执行命令的目录
  • 使用cp stuC /home/stu/bin,将stuC文件copy到/home/stu/bin文件中
  • 直接输入stuC命令,现在就能直接执行stuC中的命令

八进制表示法

之前我们修改权限的时候使用的命令如下

1
chmod u+x

此种方式只能修改用户权限,如果我们同时还想修改组权限和其他人权限,那么我们就要敲三次代码,有没有更简单的方式呢?

1
chmod 532

5的二进制是101,3的二进制是011,2的二进制是010
此种修改方式会将用户权限修改为r-x,组权限修改为-wx,其他人权限修改为-w-,可以一次性修改三个用户权限

chmod命令,只有用户权限才能使用,例如一个属于stu1的文件,只能由拥有stu1用户权限的用户来修改,stu2就不行
对root用户来说,上面的rwx权限,都如同虚设,那么怎么限制root用户的权限呢?继续往下看

查找命令所在地

linux的所有命令都是有位置的
例如我们现在查询一下fdiskchmod命令在系统的什么位置,使用which

1
2
3
4
[ root@localhost桌面]## which fdisk
/sbin/fdisk
[ root@localhost桌面]## which chmod
/bin/chmod

fdisk在/sbin/fdisk路径下
chmod在/bin/chmod路径下

/sbin路径下是管理员才能执行的命令
/bin路径下是管理员或普通用户能执行的命令

特殊权限

用户特殊权限
  • 一般情况下,普通用户不能执行/sbin路径下的命令
  • 但们现在想让普通用户也能执行/sbin路径下的命令该怎么做呢?
    • 用户s权限:对于可执行的文件,所有用户具有文件所有者的权限
  • 原本的fdiskroot用户的权限,那么我们给普通用户加上s权限并指明命令路径,那么普通用户对fdisk命令,也拥有了root用户权限,然后就能执行了
1
chmod u+s /sbin/fdisk
改变文件用户所有者
  • 需在root权限下执行该命令
    • chown [用户] [文件]
组特殊权限

相关命令:chgrp
功能:改变文件的组所有者
用法:chgrp 组名 文件名

  • 例如:将11文件的组,修改为test,前提是当前用户需属于test
1
chgrp test 11
文件特殊权限
  • 给文件添加s特殊权限,不管谁在目录下创建文件,文件的组所有者,都是当前目录的组所有者(例如)

    • chmod g+s [文件名]
  • 给文件添加t特殊权限,只有文件或目录的用户所有者可以删除自己的文件

    • chmod o+t [文件名]
查看指定目录的权限
  • ll -d

删除文件

  • 其他用户权限需要有w权限才能删除文件

  • 具体命令

    • rm [文件名]
  • 删除无需提示

    • rm -f [文件名]
  • 文件目录不能直接删除,若想删除,则使用-r

    • rm -r [文件目录]
    • 就算目录里有内容,也可以删除
  • 如果删除目录出现提示确认是否删除

    • 则使用rm -fr [文件目录]

chown命令

  • chown既可以修改文件所有者,也可以修改组所有者,需在root权限下执行
    • chown [用户所有者]:[组所有者] [文件名]
      • 以上命令是将文件的用户所有者和组所有者均修改
    • chown stu:stu2 a
      • 以上命令是将a文件的用户所有者修改为stu,组所有者修改为stu2
  • chown也可以只修改组所有者
    • chown :[组所有者] [文件名]

改变文件属性

  • 列出文件属性
    • lsattr [文件名]
  • 修改文件属性
    • chattr +/-[属性] [文件名]
  • 常用属性
    • e:编辑属性
    • a:只可添加属性(e和a同时存在,则只可追加,不可编辑)
    • i:不可改变属性(就算你是root用户也不可改变,也不能删除)
      • 解决方案,chattr -i [文件名],需要将i属性去掉

文件目录相关命令

  • clear
    • 清除终端屏幕
  • cmp(compare)
    • 比较两个文件是否相同
      • 相同则没有任何显示
      • 不相同则会显示哪儿不同
  • 查看指定目录的权限
    • ll -d
  • 复制文件
    • 将多个文件复制到目录中,保留原有文件名
      • cp [文件1] [文件2] [目录]
    • 创建文件1的副本,命名为文件2
      • cp [文件1] [文件2]
    • 复制目录
      • cp -r [目录1] [目录2]
        • 如果目录2存在,则将目录1复制到目录2
        • 如果目录2不存在,则创建目录1的副本,命名为目录2
  • 移动文件
    • 将多个文件移动到目录中,保留原有文件名
      • mv [文件1] [文件2] [目录]
    • 重命名
      • mv [文件1] [文件2]
    • 移动目录
      • mv [目录1] [目录2]
        • 如果目录2存在,则将目录1复制到目录2
        • 如果目录2不存在,则重命名目录1名字为目录2
  • 查找文件
    • find [路径] -name [文件名]
    • 例如:find / -name passwd,全盘搜索passwd文件
  • 文件压缩与解压缩
    • zip压缩
      • zip [压缩文件名] [文件名] [文件名] [文件名]
      • 例如 zip test.zip 1 2 3,将123这三个文件,压缩到test.zip文件
    • zip解压缩
      • upzip [解压缩文件名]
      • 继续使用上面的例子,刚刚我们把123这三个文件,压缩到了test.zip文件
      • 那现在我们先删除123这三个文件,然后unzip test.zip
      • ll查看目录,可以看到123
    • gzip压缩
      • 只能对文件压缩,不能对目录压缩
      • 格式:gzip [文件1] [文件2] …
      • 例如:gzip 1
        • 会将文件1,变成1.gz
    • gzip解压缩
      • gunzip [文件]
      • 例如:gunzip 1.gz
  • 文件打包命令
    • tar 将目录打包成一个文件
    • 格式:tar -cf [包名.tar] [目录]`
    • 举例:tar -cf test.tar ss
      • 该命令是将ss目录打包成一个test.tar
  • 释放包
    • 格式:tar -xf [包名.tar]
    • 举例:tar -xf [test.tar]
  • 打包并压缩
    • 格式:tar -czf [包名.tgz]/[包名.tar.gz] [目录]
    • 举例:tar -czf test.tgz ss
      • 将ss目录打包成test.tgz,并压缩

系统运行监控与进程管理

系统性能监控

  • top命令,单键命令,一个按键表示一种功能。

    • 常用按键:
      • H 帮助
      • U 监视用户
      • K 结束进程
      • R 修改进程优先顺序
      • Q 退出
  • 测试命令

    • cat /dev/zero > /dev/null & 后台运行
    • 说明
      • /dev/zero:不停的输出0的设备
      • /dev/null:永远不会存满的设备
  • 后台运行的进程需要我们用K命令请求/强制进程终止

    • 输入K,然后输入要终止的进程
    • 请求进程终止是15(默认)
    • 强制进程终止是9
    • 根据作业值杀进程,kill %1,杀掉作业值为1的进程,这里省略了 -15,因为这是默认方式,如果强制杀进程,则应为kill -9 %1,而且只能删除当前终端的作业
    • 杀死全部进程kill -9 cat,杀死所有cat进程
  • 修改进程优先级,使用R命令,随后输入要修改的pid(负载均衡的权重?)

  • 检测指定用户使用的进程,使用U命令,随后输入用户名(root/stu)

  • 查看后台运行的进程,使用jobs命令

  • 内存使用监测,使用free命令

  • 查看系统当前在线用户,使用who命令

    • 查询更详细的信息,使用who -u命令,可以看到在线用户的进程id,通过杀进程,可以让用户下线
  • 查看曾经登陆过系统的用户,使用last命令

    • 查看指定用户的登录情况,使用last [username],例如last root
  • 改变已有进程的优先顺序,使用renice命令

    • renice -5 9527,给9527进程赋予优先顺序 -5
  • 改变(设置)即将运行进程的优先级,使用nice命令

    • nice -n -10 cat /dev/zero > /dev/null &
      • 设置cat /dev/zero > /dev/null &在后台运行,同时设置其优先级为-10
    • nice -10 cat /dev/zero > /dev/null &
      • 设置cat /dev/zero > /dev/null &在后台运行,同时设置其优先级为10
    • nice --10 cat /dev/zero > /dev/null &
      • 设置cat /dev/zero > /dev/null &在后台运行,同时设置其优先级为-10

网络连接配置与管理

图形化界面配置

  • ifconfig查看虚拟机网络配置
  • ipconfig查看Windows网络配置,记录子网掩码,网关,DNS服务器,用于下面的填写
  • 编辑配置 -> IPv4设置 -> 手动 -> 填写静态地址,子网掩码,网关 -> 配置DNS服务器,逗号分隔

setup配置

  • setup -> 网络配置 -> 设备配置 -> 重复上面的填写内容
  • service network restart 重启服务配置生效
  • ifconfig查看配置的静态ip,尝试ping

修改配置文件

  • vi /etc/sysconfig/network-script/ifcfg-XXX

  • dhcp模式下不需要配置ip,dns,子网掩码等

  • 桥接模式需要手动配置这些内容

  • 上面两种的底层实现方式也是修改配置文件

简单暴力方式

  • ifconfig eth1(设备名) 10.225.45.101(修改后的ip地址) netmask(子网掩码) 225.225.0.0 up
  • 但此种方式只能临时修改,重启无效

修改MAC地址

  • 先断开连接
    • ifconfig eth1 down
  • ifconfig eth1(设备名) hw ether 00:0C:29:B1:86:AA
  • 再重新连接
    • ifconfig eth1 up

Linux服务与安全

  • /etc/services

    • 可以列出所有 服务名 端口号/协议名 别名
    • 不建议修改,可以加权限
      • chattr +i /ect/services
  • cd /etc/rc.d/rcN.d

  • ls

  • rcN.d的N表示不同运行级别,ls用于查看该级别下的服务开启和关闭黄台

  • 将S改为K,表示关闭服务

  • chkconfig

    • 查询,修改不同服务运行级别下的状态
  • 查询不同运行级别服务下的状态

    • chkconfig --list 查看不同服务运行级别下的状态
    • 可以搭配管道使用,查询特定服务的状态,例如chkconfig --list | grep net
  • 修改不同服务运行级别下的状态

    • chkconfig --level(修改运行级别) 123(修改123运行级别) sshd(修改服务名称) off(修改为off)

Linux期末考试

  1. 创建空白文件:/tmp/stu
1
touch /tmp/stu
  1. 创建目录:/home/ted/allen
1
mkdir -p /home/ted/allen 
  1. 复制/etc/group文件到/tmp
1
cp /etc/group /tmp 
  1. 复制/var/spool目录到/tmp目录下
1
cp -r /var/spool /tmp
  1. 将/var/tmp/old文件重命名为/var/tmp/new
1
mv /var/tmp/old /var/tmp/new
  1. 卸载软件:lsof
1
rpm -e lsof --nodeps ## 如果有依赖,则加上--nodeps参数
  1. 安装软件vsftpd
1
rpm -ivh /media/cdrom/Packages/vsftpd ...
  1. 挂载光驱到/dvd,并设置该挂载开机自动执行
1
2
3
4
5
mkdir /dvd
mount /dev/sr0/ /dvd/
vim /etc/fstab
## 新增配置如下
/dev/sr0 /dvd iso9660 defaults 0 0
  1. 配置yum仓库,设置仓库地址为本地/dvd,不使用密钥
1
2
3
4
5
6
7
vim /etc/yum.repos.d/a.repo
## 新增配置如下
[a]
name=a
baseurl=file:///dvd
enabled=1
gpgcheck=0
  1. 查询系统安装的sysstat的版本信息,将版本信息保存到/root/sysstat文件中
1
rpm -q sysstat > /root/sysstat
  1. 添加用户abc,指定用户的uid为600,设置abc用户的密码为1
1
2
3
useradd -u 600 abc
passwd abc
## 连续输出两次1即可
  1. 添加组tom5,把用户root加入到组tom5中
1
2
groupadd tom5
gpasswd -a root tom5
  1. 设置stu账户登录时使用/bin/tcsh
1
usermod -s /bin/tcsh stu
  1. 彻底删除用户dog
1
userdel -r dog
  1. 删除组td
1
groupdel td
  1. 将磁盘进行分区,目前分区情况为:第一个分区20G,挂载到/;第二个分区为4G交换分区,如果不是,请自行修改。请按如下分区规则进行分区

    • a. 创建第3个主分区,大小为1G
    1
    2
    3
    4
    5
    6
    fdisk /dev/sda
    n ## new 新建分区
    p ## primary 主分区
    3 ## 分区编号3
    ## 按回车 不设置起始地址
    +1G ## 大小为1G
    • b. 利用剩余全部空间创建扩展分区
    1
    2
    3
    n ## new 新建分区
    e ## entended 扩展分区
    ## 两次回车
    • c. 创建500M的第5个分将该分区标识改为交换分区的标识。
    1
    2
    3
    4
    5
    6
    n ## new 新建分区
    ## 回车
    +500M ## 大小为500M
    t ## 改变分区标识
    5 ## 选择修改第5分区
    82 ## 82为交换分区标识

    退出,重新加载分区

    1
    partx -a /dev/sda
  2. 使用ext4格式格式化第3个分区,设置该分区挂载到/Linux/test目录,并设置开机后自动挂载)

1
2
3
4
5
6
mkfs -t ext4 /dev/sda3
mkdir -p /Linux/test
mount /dev/sda3 /Linux/test
vim /etc/fstab
## 插入配置
/dev/sda3 /Linux/test ext4 defaults 0 0
  1. 格式化第5个分区为交换分区,激活该交换分区,并设置开机后自动激活该交换分区
1
2
3
4
5
6
mkswap /dev/sda5
swapon /dev/sda5
swapon -s
vim /etc/fstab
## 插入配置
/dev/sda5 swap swap defaults 0 0
  1. 修改/etc/sysconfig/network-scripts目录的用户所有者为stu
1
chown stu /etc/sysconfig/network-scripts
  1. 修改/etc/sysconfig/ip6tables文件的权限为rw-rw-rw-
1
chmod 666 /etc/sysconfig/ip6tables
  1. 配置DHCP服务。按如下步骤操作

    • A. 安装DHCP软件
    1
    2
    ## 前面已经配置过yum源,这里可以使用yum安装
    yum install dhcp -y
    • B. 配置DHCP,满足如下要求
      • 服务默认租约时间为10分钟
      • 最大租约时间为6小时
      • 配置子网络为192.168.128.0
      • 子网掩码:255.255.255.0
      • 默认分配主机的ip的范围是:192.168.128.10 至 192.168.128.30
    1
    2
    3
    4
    5
    6
    7
    vim /etc/dhcp/dhcpd.conf
    ## 编辑配置信息
    default-lease-time 600;
    max-lease-time 21600;
    subnet 192.168.128.0 netmask 255.255.255.0 {
    range 192.168.128.10 192.168.128.30;
    }
    • C. 设置DHCP服务在系统运行3和5级别是开启状态,其他级别是关闭的状态
    1
    chkconfig --level 35 decpd on
    • D. 开启DHCP服务
    1
    service dhcpd start
  2. NFS服务器的配置及应用

    • A. 设置本地共享目录为/share,文件权限为rwxrwxrwx
    1
    2
    mkdir /share
    chmod 777 /share
    • B. 将本地目录/share通过NFS进行共享,共享设置为允许所有ip进行读写操作
    1
    2
    3
    vim /etc/exports
    ## 编辑配置信息
    /share *(rw)
    • C. 重启NFS服务使上一步的共享目录操作生效
    1
    service nfs restart
    • D. 设置NFS服务在第3、5运行级别上自动启动
    1
    chkconfig --level 35 nfs on
    • E. 将127.0.0.1主机上共享的/share目录挂载到本地/nfs目录上,并设置为开机自动挂载
    1
    2
    3
    4
    5
    mkdir /nfs
    mount 127.0.0.1:/share /nfs
    vim /etc/fstab
    ## 编辑配置信息
    127.0.0.1:/share /nfs nfs defaults 0 0