首页 > 代码库 > 一些常见的基础命令

一些常见的基础命令

1. 新安装一台RHEL 6.x CentOS 6.x 虚拟机

    1)关闭防火墙、SELinux

[root@localhost 桌面]# service iptables stop

[root@localhost 桌面]# getenforce      //查看当前SElinux的状态

//上述的命令只在当前有效,若想在每次开机都生效得在配置文件中更改。

2)使用光盘中的软件包为本机配置YUM    提示:指到光盘根目录,不要指向Packages

//RedHatCentOS在配置yum库时有一些小区别,CentOS的系统有两个镜像文件,将两个镜像文件分别挂载,将其里的软件包拷贝到一个目录中,在配置文件中要指向拷贝的目录,不能当个的一个镜像,而RedHat只有一个镜像文件

[root@localhost yum.repos.d]# cat rhel5.repo  |  head -6

[rhel-server]

name=Red Hat Enterprise Linux

baseurl=file:///misc/cd

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

2,查看当前主机名,然后设置为 youname.nsd1308.com

两种方法:

第一种设置临时的主机名

[root@localhost ~]# hostname yourname.nsd1308.com

第二种在在配置文件中设置,要重新启动才生效

[root@localhost ~]# cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=hounname.nsd1308.com

3,查看当前主机的IP,临时设置当前IP192.168.10.X

[root@localhost ~]# ifconfig | grep  -i "inet addr"

          inet addr:192.168.75.132  Bcast:192.168.75.255  Mask:255.255.255.0

          inet addr:127.0.0.1  Mask:255.0.0.0

[root@localhost ~]# ifconfig eth1 192.168.10.1   //临时更改IP地址

4,查看CPU与内存信息

[root@localhost ~]# cat /proc/cpuinfo

[root@localhost ~]# cat /proc/meminfo

5,查看系统具体属于RedHat哪一个版本

[root@localhost ~]# cat /etc/redhat-release      //系统版本的信息存放在/etc/redhat-release

Red Hat Enterprise Linux Server release 6.4 (Santiago)

6,查看当前系统的时间

[root@localhost ~]# date

2014 07 05星期六 15:58:28 CST

7,列出/etc目录属性

[root@localhost ~]# ll -d /etc/      //-d : 只显示当前目录的属性

drwxr-xr-x. 115 root root 12288 7   5 15:25 /etc/

8,递归显示/boot目录下的文件和内容

[root@localhost ~]# ls -R /boot/     //-R代表把/boot下的所有的内容都列出来

9,显示root下面所有文件包括隐藏文件

[root@localhost ~]# ls -a /root/      //-a-A 表示列出所有文件包括隐藏文件,但是a不列出...

10,进入/tmp目录,删除所有文件和目录,创建file1.txt file2.txt file3.txt file13.txt filea.txt fileab.txt

[root@localhost ~]# cd /tmp/

[root@localhost tmp]# rm -rf ./*     //代表删除当前目录下所有文件盒目录

[root@localhost tmp]# touch file1.txt file2.txt file3.txt file13.txt filea.txt fileab.txt

11,显示file开头的,以.txt结尾的,中间2个字符的文件

[root@localhost tmp]# find /tmp/ -name "file??.txt"    //一个?代表一个字符

/tmp/file13.txt

/tmp/fileab.txt

12,显示file开头的,以.txt结尾的,中间是单个数字的文件

[root@localhost tmp]# find /tmp/ -name "file?.txt"

/tmp/file2.txt

/tmp/filea.txt

/tmp/file1.txt

/tmp/file3.txt

13,显示file开头的,以.txt结尾的,中间部分可能是1 3 a ab的文件

[root@localhost tmp]# ls file{13,a,ab}.txt   //大括号代表不连续的多个字符,表示都的匹配

file13.txt  fileab.txt  filea.txt

14,查看/boot/etc/pki分别占用多大空间

[root@localhost tmp]# du -sh /boot/ /etc/pki/   //-s代表统计这个目录总共的大小

27M/boot/                               //要分别统计的加-a

1.6M         /etc/pki/

15,查看/etc/passwd5

//先用cat 查看,在用” | “过滤,只显示所要求的行数

[root@localhost ~]# cat /etc/passwd | head -5

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

16,查看/etc/passwd5

[root@localhost ~]# cat /etc/passwd | tail -5

saslauth:x:498:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

pulse:x:497:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

tcpdump:x:72:72::/:/sbin/nologin

17,查看/etc/passwd的第8-12

[root@localhost ~]# cat /etc/passwd | head -12 | tail -5

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

18,统计系统中有多少个账户

[root@localhost ~]# cat /etc/passwd  | wc -l

33

19,计算/etc目录下.conf配置文件的个数

[root@localhost ~]# ls /etc/*.conf | wc -l

45

20,显示/etc/passwd中以root开头的内容

[root@localhost ~]# cat /etc/passwd | grep -i "^root"

root:x:0:0:root:/root:/bin/bash

21,显示/etc/passwd中以bash结尾的内容

[root@localhost ~]# cat /etc/passwd | grep -i "bash$"

root:x:0:0:root:/root:/bin/bash

22,分别使用gzipbzip2zip/root/gztest.txt进行压缩和解压

[root@localhost ~]# bzip2 -9 inst

[root@localhost ~]# bzip2 -d inst.bz2

[root@localhost ~]# gzip -9 inst

[root@localhost ~]# gzip -d inst.gz

注:不管是bzip还是gzip进行压缩和解压缩,原文件都不会保留,会自动替换掉

    -9是提高压缩比例,-d是执行解压

23,把/etc/mail打包并压缩到/root/mail.tar.gz

[root@localhost ~]# tar zcf /root/mail.tar.gz /etc/mail

tar: 从成员名中删除开头的“/

//z自动调用zip压缩

24,把/etc/mail打包并压缩到/root/mail.tar.bz2

[root@localhost ~]# tar jcf /root/mail.tar.bz2 /etc/mail

tar: 从成员名中删除开头的“/

//j自动调用bz2压缩

25,将mail.tar.gz解压到/tmp下,递归查看/tmp/etc下的内容,然后删除/tmp/etc目录

[root@localhost ~]# tar zxf /root/mail.tar.gz -C /tmp/

[root@localhost ~]# ls -R /tmp/

[root@localhost ~]# rm -rf /tmp/etc/

26,将mail.tar.bz2解压到/tmp下,递归查看/tmp/etc下的内容,然后删除/tmp/etc目录

[root@localhost ~]# tar jxf /root/mail.tar.bz2 -C /tmp/

[root@localhost ~]# ls -R /tmp/

[root@localhost ~]# rm -rf /tmp/etc/

27,分别查看mail.tar.gzmail.tar.bz2文件里面内容

[root@localhost ~]# tar ztf mail.tar.gz

etc/mail/

etc/mail/file

[root@localhost ~]# tar jtf mail.tar.bz2

etc/mail/

etc/mail/file

28,创建账户

 Student

[root@localhost ~]# useradd student

 stu01,宿主目录设为/opt/stu01

[root@localhost ~]# useradd -d /opt/stu01 stu01

 stu02uid10001,账户在2015-06-30号过期,基本组设为stu01

[root@localhost ~]# useradd -u 10001 -e 2015-06-30 -g stu01  stu02

 sys01,不用于登录

[root@localhost ~]# useradd -s /opt/sys01 sys01

sys02,不创建宿主目录

 [root@localhost ~]# useradd -M sys02

29,查看/etc/passwd文件的第一行

[root@localhost ~]# cat /etc/passwd | head -1

root:x:0:0:root:/root:/bin/bash

30,查看/etc/shadow文件的第一行

[root@localhost ~]# cat /etc/shadow | head -1

root:$6$wS49oMze$UmdHQan/MNV8tRLqDaQ/oRldx6Wq2mHXQNcdVeZVMLQbPaaF1AeL5zRsA/qBDXn1rJgXMlpVmKZxA6YSl14/h.:15908:0:99999:7:::

31,针对student操作

                设置密码为123456,然后用student登录自己修改密码

[root@localhost ~]# echo 123456 | passwd --stdin student

更改用户 student 的密码

passwd所有的身份验证令牌已经成功更新。

[student@yourname ~]$ passwd

更改用户 student 的密码

student 更改 STRESS 密码。

(当前)UNIX 密码:

新的密码:

重新输入新的密码:

passwd所有的身份验证令牌已经成功更新。

                清空student的密码,查看/etc/shadow里面与student相关的内容

[root@localhost ~]# passwd -d student

清除用户的密码 student

passwd: 操作成功

[root@localhost ~]# cat /etc/shadow | grep student

student::16256:0:99999:7:::

32、手动创建用户的过程(禁止useradd

         1)/etc/passwd

            /etc/shadow

            /etc/group

          /etc/gshadow

         2)/home/xxxx

         3)/var/spool/mail/xxxx

         4)/etc/skel/.*

         5)、注意权限,属主:属组

[root@localhost ~]# cat /etc/passwd | tail -1

lisi:x:10004:10004::/home/lisi:/bin/bash

[root@localhost ~]# cat /etc/shadow | tail -1

lisi:$6$bsaaklY1$SLwRN485uPA/AVTlnTWXiZoiW2PXlTj2fxzumyZw188d.5ol9N7h0g.x2wie5d2JBclXF7AvVQS4OfpfNmVZ11:16257:0:99999:7:::

 [root@localhost ~]# cat /etc/group | tail -1

lisi:x:10004:

[root@localhost ~]# cat /etc/gshadow | tail -1

lisi:!::

[root@localhost home]# mkdir lisi

[root@localhost ~]# cp -rfp /etc/skel/.* /home/lisi/

[root@localhost ~]# chmod g-rx,o-rx /home/lisi

[root@hounname home]# chown lisi:lisi /home/lisi/

[root@hounname home]# chown lisi:mail /var/spool/mail/lisi/

[root@hounname home]# chown lisi:lisi /home/lisi/.bash_profile

[root@hounname home]# chown lisi:lisi /home/lisi/.bashrc

[root@hounname home]# chown lisi:lisi /home/lisi/.bash_logout

[root@hounname home]# chown lisi:lisi lisi/.gnome2/

[root@hounname home]# chown lisi:lisi lisi/.mozilla/

[root@hounname home]# chown lisi:lisi lisi/.pwd.lock

总结:手动添加用户(不用useradd)首先需要在/etc下的四个文件中(passwd,shadow,group,gshadow)添加用户的相关信息,如上,在/home下创建用户,注意更改权限和属主,默认是root在则就是讲模板的隐藏文件拷贝到创建的用户下,注意也要将拷贝过来的模板更改权限和属性,最后是在/var/spool/mail下添加一个与用户同名的目录,这是专门接收邮件的,注意,属性和权限

测试:

[root@hounname home]# su - lisi

[lisi@hounname ~]$

33)为虚拟机添加一块80GBSCSI接口的硬盘

spacer.gif

spacer.gif

spacer.gif

spacer.gif

spacer.gif

spacer.gif

34)划分220GB的主分区,剩余作为扩展分区

Command (m for help): n    //新建分区

Command action

   e   extended

   p   primary partition (1-4)

p    //代表主分区

Partition number (1-4): 1   //第一个主分区

First cylinder (1-10443, default 1):

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-10443, default 10443): +20G  //大小

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 2

First cylinder (2613-10443, default 2613):

Using default value 2613

Last cylinder, +cylinders or +size{K,M,G} (2613-10443, default 10443): +20G

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

e   //扩展分区

Partition number (1-4): 4

First cylinder (5225-10443, default 5225):

Using default value 5225

Last cylinder, +cylinders or +size{K,M,G} (5225-10443, default 10443):

Using default value 10443

35)新建2个逻辑分区,分别为2GB10GB

Command (m for help): n

Command action

   l   logical (5 or over)

   p   primary partition (1-4)

l   //逻辑分区

First sector (83925608-167766794, default 83925608):

Using default value 83925608

Last sector, +sectors or +size{K,M,G} (83925608-167766794, default 167766794): +2G

Command (m for help): n

Command action

   l   logical (5 or over)

   p   primary partition (1-4)

l

First sector (88121960-167766794, default 88121960):

Using default value 88121960

Last sector, +sectors or +size{K,M,G} (88121960-167766794, default 167766794): +10G

36)将第1个逻辑分区的类型改为SWAPID 82

Command (m for help): t    //更改类型

Partition number (1-6): 5

Hex code (type L to list codes): 82   //SWAP交换分区

Changed system type of partition 5 to 82 (Linux swap / Solaris)

37)将第2个逻辑分区的类型改为VFATID b

Command (m for help): t

Partition number (1-6): 6

Hex code (type L to list codes): b    //vfat类型

Changed system type of partition 6 to b (W95 FAT32)

38)确认分区无误后,保存退出

Command (m for help): w

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

 

WARNING: If you have created or modified any DOS 6.x

partitions, please see the fdisk manual page for additional

information.

Syncing disks.

39)使用partprobe识别新的分区表  【最好是重启一次】           

[root@hounname home]# partprobe /dev/sdb    

//分好区后默认是不会识别,必须输入partprobe,或者重启

40)将/dev/sdb1格式化成ext3分区

[root@hounname home]# mkfs.ext3 /dev/sdb1

41)将/dev/sdb6格式化成FAT32分区

[root@hounname home]# mkfs.vfat -F 32 /dev/sdb6

mkfs.vfat 3.0.9 (31 Jan 2010)

42)将/dev/sdb1挂载到/mnt/part1,在这个挂载目录新建一个file.txt文件和一个now的目录。

[root@hounname home]# mkdir /mnt/part1

[root@hounname home]# mount /dev/sdb1 /mnt/part1

[root@hounname home]# touch /mnt/part1/file.txt

[root@hounname home]# mkdir /mnt/part1/now

43)分别卸载/dev/sdb1/dev/sdb6

[root@hounname home]# umount /dev/sdb1

注:要格式化分区必须的输入:partprobe来识别新的分区,或者重启,否则格式化失败