RedHat5.4实训
2014-07-28
-
iptables:防火墙
-
selinux:防火墙
命令
-
ifconfig eth0:查看eth0网卡信息
-
ifconfig -a eth0:显示eth0网卡详细信息
-
临时修改ip地址信息
- ifconfig eth0 192.168.1.200/24
- ifconfig eth0 192.168.1.200 255.255.255.0
ps:两种方法效果一样。
-
neat :配置网卡信息
-
service network restart: 重启网络服务
-
hostname
-
查看主机名:hostname
-
临时修改主机名
- hostname xxx
- neat -> DNS ->修改hostname
-
永久修改主机名
- 进入 /etc/sysconfig/network 文件修改
-
-
修改日期
- date -s “2014-07-25 14:25:56”
-
打包
-
tar -cvf test.tar 1.txt 2.txt 3.txt
- c: create
- v:verbose,显示详细信息
- f: 表示归档
-
-
解包
- tar -xvf test.tar //其中x表示解包
-
压缩
- tar -czvf new.tar.gz 1.txt 2.txt // -z:表示以zip压缩方式来压缩
- tar -cjvf new.tar.bz2 1.txt 2.txt // -j:表示以bz2压缩方式来压缩
-
解压
- tar -xzvf new.tar.gz //以zip方式来解压
- tar -xjvf new.tar.bz2 //以bz2方式来解压
-
zip压缩
- 压缩: zip test.zip 1.txt 2.txt
- 解压: unzip -d /home/aa test.zip //解压到指定目录(-d)
-
Linux的7种启动级别
- 0:关机
- 1:单用户模式
- 2:多用户模式:不支持nfs
- 3:完整的多用户模式:标准的运行级别
- 4:一般不用
- 5:x-window模式:图形界面
- 6:重启
-
级别切换
- init 级别。如 init 0, init 6, init 3
- runlevel
[root@localhost ~]# runlevel 5 3 // 显示上一次和当前的运行的级别
-
修改系统默认启动级别
- 进入 /etc/inittab文件中,修改
-
.bashrc文件:是用户的环境变量配置文件
- 例子:export /opt/vim/bin:$PATH: //将vim添加到PATH目录,然后source此文件即可
-
用户管理
- useradd test1 //添加用户
- passwd test1 // 给test1用户设定密码
- whoami // 查看当前用户
- useradd -d /opt/hhh //指定用户目录,默认的用户目录在/home/用户名/
- usermod -d /opt/kkk // 更改用户目录
- /etc/passwd文件格式,用户名:密码:uid:gid:comment:shell,每一行代表一个用户
-
组管理
- groupadd g1 //增加组g1
- groupdel g1 //删除组g1 linux在创建用户的时候,如果未给用户指定组,那么系统默认会自动生成一个和用户的名字相同的组。
-
组和用户之间的关系
- useradd -g g1 user1 // 指定user1用户的所属组为g1
- usermod -g g2 user1 // 修改user1用户的所属组为g2
- -g:表示主组,只能有一个
- -G:表示附属组,可以有多个。如:useradd -g g1 -G f1 f2 f3 user2
-
权限
三类用户
- u:表示文件的所有者
- g:表示文件的所属组
- o:表示其他用户
三类权限
- r:读(4)
- w:写(2)
- x:执行(1)
修改文件权限
- chmod ugo +x 1.txt //给三类用户对1.txt文件的可执行权限
- chmod ugo -x 1.txt //取消三类用户对1.txt文件的可执行权限
- chmod 754 1.txt //给文件所有者可读可写可执行的权限,给文件所属组用户可读可执行权限,给其他用户可执行的权限
-
acl:访问控制列表
acl可以对某个文件设置该文件的对具体某些用户的权限。意思就是通过acl可以对文件权限做扩展,可以做到不同用户多某个文件具有不同的操作权限。
- 语法:getfacl 文件名 //获取文件的访问控制列表
-
设置文件的访问控制列表
- 用户: setfacl -m u:用户名;权限 文件名
- 组: setfacl -m g:组 名:权限 文件名
-
取消对文件的设置
- 用户: setfacl -x 用户名 文件名
- 组: setfacl -x 组 名 文件名
-
修改文件/目录的所有者:chown -R 用户名 文件/目录
-
修改文件/目录的所属组:chgrp -R 组 名 文件/目录
-
锁定用户
- 法一:修改 /etc/passwd文件,将bin/bash改为sbin/nologin
- 法二:usermod -L 用户名 (解锁:usermod -U 用户名)
-
链接(硬连接,软连接)
差 别 硬链接 软链接 语 法 ln 原文件 链接文件 ln -s 源文件 链接文件 修改内容 修改其中一个文件,另一个文件也跟着修改 同硬链接 删除文件 删除原文件,链接文件不删除;删除链接文件,原文件也不删除 删除原文件,链接文件失效,删除链接文件,原文件不受影响 -
重定向
- 覆盖(>) :ifconfig > /1.txt //如果没有1.txt文件,会生成一个新的1.txt文件;如果有,则覆盖其中内容
- 追加(»):ls » /1.txt //追加内容到1.txt中
-
查看磁盘占用空间(du)
root@localhost dir1]# ls // dir1目录下的5个文件 1.txt 2.txt 3.txt 4.txt 5.txt [root@localhost dir1]# du -a // -a: 显示目录和文件所占空间 4 ./2.txt 4 ./3.txt 4 ./4.txt 4 ./1.txt 4 ./5.txt 24 . // 目录所占空间总大小 [root@localhost dir1]# du -ah //-h: 人性化的方式显示 4.0K ./2.txt 4.0K ./3.txt 4.0K ./4.txt 4.0K ./1.txt 4.0K ./5.txt 24K . [root@localhost dir1]# du -h 24K . [root@localhost dir1]# du -s 1.txt //-s:显示指定文件所占的空间大小 4 1.txt [root@localhost dir1]# du -sh 1.txt 4.0K 1.txt
-
查看文件类型(file)
[root@localhost dir1]# file 1.txt // 查看文件信息
1.txt: ASCII text
[root@localhost dir1]# file Hello.java // 查看java文件,显示c++,搞笑
Hello.java: ASCII C++ program text
[root@localhost dir1]# file /etc //查看目录
/etc: directory
[root@localhost dir1]# file /bin/ls //查看命令信息
/bin/ls: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
-
别名(alias)——当前会话有效
[root@localhost dir1]# alias myls='ls -al' [root@localhost dir1]# myls 总计 36 drwxr-xr-x 2 root root 4096 07-30 09:24 . drwxr-x--- 23 root root 4096 07-30 11:11 .. -rw-r--r-- 1 root root 54 07-29 11:36 1.txt -rw-r--r-- 1 root root 54 07-30 09:15 2.txt -rw-r--r-- 1 root root 54 07-30 09:15 3.txt -rw-r--r-- 1 root root 54 07-30 09:15 4.txt -rw-r--r-- 1 root root 54 07-30 09:15 5.txt -rw-r--r-- 1 root root 122 07-30 09:24 Hello.java
-
head和tail命令
[root@localhost dir1]# head Hello.java // tail:查看文件头部内容(默认前10行) public class Hello{ public static void main(String[] args){ System.out.println("Hello World!!"); } } aaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbb vvvvvvvvvvvvvvvvvvvvv [root@localhost dir1]# head -2 Hello.java //文件前两行内容 public class Hello{ [root@localhost dir1]# tail Hello.java //查看文件尾部内容,默认后10行 public static void main(String[] args){ System.out.println("Hello World!!"); } } aaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbb vvvvvvvvvvvvvvvvvvvvv edddddeeeeeeeee [root@localhost dir1]# tail -2 Hello.java //只查看后2行内容 vvvvvvvvvvvvvvvvvvvvv edddddeeeeeeeee
-
统计文件中单词数目(wc)
[root@localhost dir1]# wc Hello.java 7 12 123 Hello.java // 结果为:文件行数、单词数目、字节大小、文件名
-
挂载\卸载光驱
mkdir /cdrom mount /dev/hdc /cdrom //挂载到/cdrom目录 umount /dev/hdc //卸载
-
rpm
rpm是统一的数据库文件,详细记录了软件包的安装,卸载及变化信息,并能自动分析软件包的依赖关系。
1. rpm -ivh 软件包1 软件包2 //安装软件,如有依赖其他包,直接在后面加上其他软件包名称 2. rpm -qi 软件包 //查看安装软件包的详细信息 3. rpm -ql 软件包 //查看软件包的安装位置 4. rpm -qa | grep bash //查看bash软件包是否安装 5. rpm -qf /usr/bin/vim //查看vim是由哪个软件包安装的 6. rpm -e 软件包 //卸载软件 7. rpm -Uvh 软件包 //升级软件
-
利用SecureCRT使虚拟机linux系统和真机windows系统互传文件
1. rz: windows系统——〉虚拟机linux
2. sz:虚拟机linux——〉windows系统
-
利用samba软件实现Windows和linux互传文件
- 安装samba:利用安装光盘中软件安装samba
[root@localhost Server]# rpm -ivh samba-3.0.33-3.14.el5.x86_64.rpm perl-Convert-ASN1-0.20-1.1.noarch.rpm
- 建立共享文件夹,并赋予权限
[root@localhost Server]# mkdir /share [root@localhost Server]# chmod 777 /share
- 修改 /etc/samba/smb.conf文件
修改security=share 并在文件末尾追加如下内容: [share] comment=xxxxx path =/share public=yes read only=no
- 重启samba服务
[root@localhost Server]# service smb restart 关闭 SMB 服务: [确定] 关闭 NMB 服务: [确定] 启动 SMB 服务: [确定] 启动 NMB 服务: [确定]
- 关闭iptables防火墙
[root@localhost Server]# service iptables stop [root@localhost Server]# service iptables status 防火墙已停
- 关闭Selinux防火墙
修改/etc/selinux/config文件,设置SELINUX=disable,保存文件,并重启系统。
- 进入windons,在 运行 窗口输入\\虚拟机ip地址,即可访问。
-
查看磁盘使用情况(df)挂载点
[root@localhost Server]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sda1 ext3 35G 4.8G 29G 15% / tmpfs tmpfs 432M 0 432M 0% /dev/shm none tmpfs 432M 104K 432M 1% /var/lib/xenstored /dev/hdc iso9660 3.4G 3.4G 0 100% /media/RHEL_5.4 x86_64 DVD /dev/hdc iso9660 3.4G 3.4G 0 100% /cdrom
-
查看磁盘分区信息(fdisk -l)
[root@localhost Server]# fdisk -l Disk /dev/sda: 42.9 GB, 42949672960 bytes 255 heads, 63 sectors/track, 5221 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 4711 37841076 83 Linux /dev/sda2 4712 5221 4096575 82 Linux swap / Solaris Disk /dev/sdb: 21.4 GB, 21474836480 bytes //新的未分区的硬盘 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/sdb doesn't contain a valid partition table
-
给磁盘分区(fdisk)
-
linux磁盘分为主分区和扩展分区;在linux中,主分区+扩展分区必须<=4,主分区<=4,扩展分区<=1;扩展分区中可以建立多个逻辑分区。
-
详细操作
-
磁盘格式化(mkfs)
[root@localhost ~]# mkfs.ext3 /dev/sdb5 //其中ext3表示硬盘格式,sdb5为分区名
-
强制重写命令(partprobe)
分好磁盘分区后,当显示设备正忙时,可输入partprobe来强制系统更新磁盘分区表。
[root@localhost ~]# partprobe
-
挂载\卸载磁盘
将分好区的磁盘挂载到指定目录:
[root@localhost ~]# mount /dev/sdb3 /java/dir3 //sdb3为分区,dir3为路径名 [root@localhost ~]# umount /dev/sdb3 /java/dir3 //sdb3为分区,dir3为路径名
-
添加到开机自启动
修改/etc/fstab文件
-