[05-02]红帽linux常用操作命令

  1. 命令怎么用(三种方式)

shutdown --help

shutdown --?

man shutdown  man 就是manual  手册, 指南

  1. 服务 service

怎么知道服务的名字呢?用这个命令chkconfig

chkconfig --list 会列出所有的服务项

启动服务,例如启动Mysql的服务

service mysql  start   不是所有的命令都有这个d这个字母

service iptables stop  关掉防火墙

service vsftpd  start  启动vsFTP服务器

service vsftpd  stop  服务停止

service vsftpd  restart 重新启动

  1. 开机自启动

你不用再手动的再去启动Mysqlvsftp,apache等等

chkconfig这个命令,check configure  检查配置

chkconfig --list | more

chkconfig --list | grep mysql

chkconfig --list | grep vsftpd

chkconfig mysql on    这几个3 4 5级别都启动

chkconfig --level 3 mysql on 只是在3这个级别启动

chkconfig mysql off

Mysql数据库的服务--------------mysql

vsFTP服务器的服务------------vsftpd

防火墙的服务------------iptables

ssh的服务------------sshd

http------------------httpd

  1. 修改系统默认的启动级别

修改那一个配置文件时,先备份

修改配置文件  /etc/inittab,将id:5:initdefault中的数字5改为3

3 纯命令行界面,有网络共享

5 图形界面

下一回系统启动的就不进入那个图形界面了

  1. 查看硬件信息

# uname -a               # 查看内核/操作系统/CPU信息

# head -n 1 /etc/issue   # 查看操作系统版本

# cat /proc/cpuinfo      # 查看CPU信息

# hostname               # 查看计算机名

# lspci -tv              # 列出所有PCI设备

# lsusb -tv              # 列出所有USB设备

# lsmod                  # 列出加载的内核模块

# env                    # 查看环境变量资源

# free -m                # 查看内存使用量和交换区使用量

# df -h                  # 查看各分区使用情况

# du -sh                 # 查看指定目录的大小

# grep MemTotal /proc/meminfo   # 查看内存总量

# grep MemFree /proc/meminfo    # 查看空闲内存量

# uptime                 # 查看系统运行时间、用户数、负载

# cat /proc/loadavg      # 查看系统负载磁盘和分区

# mount | column -t      # 查看挂接的分区状态

# fdisk -l               # 查看所有分区

# swapon -s              # 查看所有交换分区

# hdparm -i /dev/hda     # 查看磁盘参数(仅适用于IDE设备)

# dmesg | grep IDE       # 查看启动时IDE设备检测状况网络

# ifconfig               # 查看所有网络接口的属性

# iptables -L            # 查看防火墙设置

# route -n               # 查看路由表

# netstat -lntp          # 查看所有监听端口

# netstat -antp          # 查看所有已经建立的连接

# netstat -s             # 查看网络统计信息进程

# ps -ef                 # 查看所有进程

# top                    # 实时显示进程状态用户

# w                      # 查看活动用户

# id                     # 查看指定用户信息

# last                   # 查看用户登录日志

# cut -d: -f1 /etc/passwd   # 查看系统所有用户

# cut -d: -f1 /etc/group    # 查看系统所有组

# crontab -l             # 查看当前用户的计划任务服务

# chkconfig –list       # 列出所有系统服务

# chkconfig –list | grep on # 列出所有启动的系统服务程序

# rpm -qa                # 查看所有安装的软件包

cat /proc/cpuinfo :查看CPU相关参数

cat /proc/partitions :查看硬盘和分区

cat /proc/meminfo :查看内存信息

cat /proc/version :查看版本,类似uname -r

cat /proc/ioports :查看设备I/O端口

cat /proc/interrupts :查看中断

cat /proc/pci :查看pci设备的信息

cat /proc/swaps :查看所有swap分区的信息

  1. 查看系统日志

/var/log

/var/log/dmesg     /核心启动日志

/var/log/messages  /系统报错日志

/var/log/maillog   /邮件系统日志

/var/log/xferlog   /FTP服务用日志

/var/log/secure    /安全信息 系统登陆与网络连接的信息

/var/log/wtwp      /登录记录

# tail -f /var/log/messages  /查看最近发生的信息.

  1. 系统开关机

切换虚拟工作台:

Alt键和一个功能键来实现,通常使用F1-F6 。

如用户登录后,按一下“Alt+F2”键,用户就可以看到上面出现的“login:”提示符,说明用户看到了第二个虚拟控制台。只需按“Alt+ F1”键,就可以回到第一个虚拟控制台。

一个新安装的Linux系统允许用户使用“Alt+F1”到“Alt+F6”键来访问前六个虚拟控制台。

虚拟控制台最有用的是:当一个程序出错造成系统死锁时,可以切换到其它虚拟控制台工作,关闭这个程序。

关闭计算机

shutdown -h -t 30    30秒后安全地关机断电

shutdown -c           取消关机命令执行

重启计算机reboot

退出命令行 exit

  1. 切换运行级别

运行级就是操作系统当前正在运行的功能级别。

这个级别从1 到6 ,具有不同的功能。这些级别在/etc/inittab 文件里指定。这个文件是init 程序寻找的主要文件,最先运行的服务是那些放在/etc/rc.d 目录下的文件。
    大多数的linux 发行版本中,启动脚本位于 /etc/rc.d/init.d。这些脚本被ln 命令来连接到 /etc/rc.d/rcn.d 目录。(这里的n 就是运行级0-6)例如/etc/rc.d/rc2.d 下面的S10network 就是连接到/etc/rc.d/init.d下的network 脚本的。 

文件开头的S 代表start 就是启动服务的意思,后面的数字10 就是启动的顺序。例如,在同一个目录下,你还可以看到 S80postfix 这个文件,80 就是顺序在 10 以后,因为没有启动网络的情况下,启动postfix是没有任何作用的。另外,在/etc/rc.d/rc2.d 还可以看到那些K 开头的文件,例如/etc/rc.d/rc2.d/K45named,K 代表 kill ,表示停止服务的意思。
    标准的linux运行级为3 或者5 ,如果是3 的话,系统就在多用户状态。如果是5的话,则是运行着X Window。

不同的运行级定义如下:

(可以参考Red Hat linux 里面的/etc/inittab)
# 0 - 停机
# 1 - 单用户模式
# 2 - 多用户,但是没有 NFS
# 3 - 完全多用户模式
# 4 - 没有用到
# 5 - X11
# 6 - 重新启动 (千万不要把initdefault 设置为6 )

对各个运行级的详细解释:

0 为停机,机器关闭。
1 为单用户模式。
2 为多用户模式,但是没有NFS 支持。
3 为完整的多用户模式,是标准的运行级。
4 一般不用,在一些特殊情况下可以用它来做一些事情。
5 就是 X11 ,进到 X Window 系统了。
6 为重启,运行 init 6 机器就会重启。

  1. 软件包管理

安装 RPM 包

# rpm -ivh package.rpm

升级 RPM 包

# rpm -Uvh package.rpm

卸载 RPM 包

# rpm -ev package

查询 RPM 包中包含的文件列表

# rpm -qlp package

查询 RPM 包中包含的文件列表

# rpm -qlp package

查询 RPM 包中包含的内容信息

# rpm -qip package

查询系统中所有已安装 RPM 包

# rpm -qa

  1. 用户管理

who:查询当前在线的用户

groups:查询用户所属的组

id:显示当前用户信息

finger:查询用户信息

添加新的用户  useradd username

更改用户密码  passwd  username

改变用户home目录  usermod -d /home/username username                  

usermod -e "2009-01-01" username 给用户设置密码过期时间

usermod -G root() username (用户)  将一个用户添加到一个组里

usermod -g root username         更改用户的gid

usermod -s /bin/csh username      更改用户的默认shell

usermod -u 504 username         更改用户的uid,改为504

usermod -L username 锁定用户锁定后用户不能登陆linux系统

usermod -U username       解锁用户

passwd -s username        看用户是否被锁定

userdel 用户名            删除用户注册信息

userdel -r 用户名          删除属于该用户的的家目录和邮件

  1. 存储管理

查看新的硬盘 # fdisk -l

创建pv  # pvcreate /dev/sdb

创建vg  # vgcreate datavg /dev/sdb  /dev/sdc

注:在使用vgcreate 在创建卷组时,还可以指定PE的大小,需要加上-s参数来实现,PE大小范围为8 KB 到 16GB,并且必须总是2的倍数。一个卷组里面最多允许65534个PE存在。默认设置的PE大小为4 MB,这表示卷组上创建的所有逻辑卷都以 4 MB 为增量单位来进行扩充或缩减,所以4 MB 的PE决定了单个逻辑卷最大容量为 256 GB,若要创建更大的逻辑卷则创建卷组时需要指定更大的PE。

创建lv  # lvcreate  -L 180M -n lvdata01 datavg

注:使用剩余的空间来创建逻辑卷时,应先通过“vgdisplay”命令可查看当前卷组剩余的空间。

在创建逻辑卷的时候,还可以指定逻辑块与物理块映射的模式,逻辑卷的映射模式共有如下两种: 

线性模式――按照顺序把一定范围内的物理块与逻辑块映射,这也是默认的映射方式。例如,把逻辑卷中1-25的LE映射到PV1,把26-50的LE映射到PV2上。 

条带模式――将把逻辑块以条带的形式映射到不同的物理卷中,这种方式与前面讲到的RAID 0有些类似,这种方式可以提高逻辑卷读写的性能。例如,将逻辑卷的LE 1映射为PV1的PE1,LE 2映射为PV2的PE1,LE 3映射为PV3的PE1。

# lvcreate -i 3 -I 4 -L 180M -n lvtest1 vgtest

参数的说明如下:

-i:采用条带模式的映射方式创建逻辑卷,该参数的值用于指定所创建的逻辑卷将映射在几个PV上。

-I:指定使用条带模式时所采用块的大小,单位为KB,其值必须是:2N(N≥2)。

-L:指定创建逻辑卷的大小,单位的可以用K、M、G、T表示KB、MB、GB及TB。

-n:用来指定所创建的逻辑卷名称,该名称可根据需要随便定义。

-l:用于指定逻辑卷的PE数量,默认为4MB为单位计算总容量。

在使用“-i”参数指定PV的个数时,一定要确认所指定的这些PV是没有完全被分配给任何逻辑卷的,否则将创建失败,其次若这些PV的大小不等,那么所创建的逻辑卷只能取最小值。

创建文件系统  

# mkfs.ext3 /dev/datavg/lvdata01

挂载文件系统  

# mkdir /data01

# mount /dev/datavg/lvdata01  /data01

手动激活卷组    # vgchange -a y datavg

手动去激活卷组  # vgchange -a n datavg

注:卷组若不被激活,卷组和逻辑卷是不能被访问的,在LVM 2里创建的卷组默认是激活的。

为卷组增加新的物理卷

当卷组空间不足时,可以加入新的物理卷来扩大卷组容量,这时可用“vgextend”命令来实现。

# vgextend datavg /dev/sde

移除物理卷

要从一个卷组中移除一个物理卷,首先要确认要移除的物理卷没有被任何逻辑卷正在使用,通过“pvdisplay”命令可查看到该物理卷信息,如下:

# pvdisplay /dev/sde

--- Physical volume ---

PV Name /dev/sde

VG Name vgtest

PV Size 100.00 MB / not usable 0

Allocatable yes

PE Size (KByte) 4096

Total PE 25

Free PE 25

Allocated PE 0

PV UUID ee2IFC-UHUq-Xg67-icwt-AhdJ-7kRz-JdDjiq

若其中的“Total PE”与“ Free PE”相等,表明该物理卷没有被使用,如果某个物理卷正在被逻辑卷所使用,就需要将该物理卷的数据转移到其它地方,然后再移除。移除物理卷的命令为“vgreduce”。

# vgreduce datavg /dev/sde

在物理卷间转移数据

当发现逻辑卷下的某个磁盘有错误,或有其它需求要转移其中物理卷的数据时(如,更换大容量或更高速的物理设备),那么可通过“pvmove”来实现在物理卷之间转移数据。

# modprobe dm-mirror

在使用“pvmove ”前需要用 “modprobe dm-mirror”命令来加载dm-mirror模块,因为“pvmove”在转移数据时需要用到该模块,而默认系统是不加载该模块的。# pvmove /dev/sdd /dev/sde

扩展逻辑卷

# lvextend -L +300M /dev/datavg/lvdata01     在原有的基础上,增加300MB空间大小

# lvextend -L 300M /dev/datavg/lvdata01 扩展到300MB空间大小

逻辑卷扩展后并不马上生效,需使用“resize2fs”命令重新加载逻辑卷的大小,该命令只针对ext2/ext3的文件系统(若是reiserfs的文件系统,则使用“resize_reiserfs”命令),如果该逻辑卷正在使用中,就应该先将该逻辑卷卸载后再执行“resize2fs”命令。

# umount lvdata01

# resize2fs /dev/datavg/lvdata01 

# mount /dev/datavg/lvdata01 lvdata01

注:以上这些操作可以通过“ext2online”命令直接来实现,这样就不用做卸载逻辑卷等操作了。

# ext2online /dev/datavg/lvdata01

删除逻辑卷:删除逻辑卷前首先需要将其卸载,再执行以下命令:

# lvremove /dev/datavg/lvdata01

移除卷组:在移除卷组前首先要确认该卷组中已没有任何的逻辑卷了,或者可使用“vgchange”手工将卷组停止,移除卷组的具体操作如下:# vgremove datavg

删除物理卷:删除物理卷前,须确认该物理卷已从卷组中移除了。

# pvremove /dev/sde

  1. 网络配置

可以使用 system-config-network-tui (文本模式) 、system-config-network-gui (图像模式),netconfig(文本模式)等网络配置工具。这些工具都会直接修改Linux系统中关于网络接口的设置文件;

这是 ifconfig 命令所不能比的;其中 redhat-config-network 和system-config-network工具不仅仅是设置网卡的工具,更有设置ISDN和普通猫、ADSL的工具、网络硬件的添加、主机名字的设置、DNS各客户端的设置等。例如:

#  /usr/sbin/system-config-network-tui
#  /usr/sbin/system-config-network-gui
netconfig 工具是个在文本模式比较好的工具。
# netconfig -d eth0    /设置eth0
# netconfig -d eth1    /设置eth1

设置网卡的DHCP模式自动获得IP
# netconfig -d eth0 --bootproto=dhcp
手动设置网卡的IP等
# netconfig -d eth0 -ip=192.168.1.33 -netmask=255.255.255.0 -gateway=192.168.1.1

1) 配置eth0的IP地址, 同时激活该设备。

#ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up

2) 配置eth0别名设备eth0:1的IP地址,并添加路由。

#ifconfig eth0:1 192.168.1.3

#route add –host 192.168.1.3 dev eth0:1

3) 激活设备。 #ifconfig eth0:1 up

4) 禁用设备。 #ifconfig eth0:down

5) 查看指定的网络接口的配置。 #ifconfig eth0

6) 查看所有的网络接口配置。 #ifconfig

(7 查看网络接口的连接状态:# ethtool eth0 

1) 添加到主机的路由。

#route add –host 192.168.1.2 dev eth0:0

#route add –host 10.20.30.148 gw 10.20.30.40

2) 添加到网络的路由。

#route add –net 10.20.30.40 netmask 255.255.255.248 eth0

#route add –net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41

#route add –net 192.168.1.0/24 eth1

3) 添加默认网关。 #route add default gw 192.168.1.1

4) 查看内核路由表的配置。

#route

5)删除路由。

#route del –host 192.168.1.2 dev eth0:0

#route del –host 10.20.30.148 gw 10.20.30.40

#route del –net 10.20.30.40 netmask 255.255.255.248 eth0

#route del –net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41

#route del –net 192.168.1.0/24 eth1

#route del default gw 192.168.1.1

对于1和2两点可使用下面的语句实现:

Ifconfig eth0 172.16.19.71 netmask 255.255.255.0

Route 0.0.0.0 gw 172.16.19.254

Service network restart

1) 显示网络接口状态信息。 #netstat –i

2) 显示所有监控中的服务器的Socket和正使用Socket的程序信息。 #netstat –lpe

3) 显示内核路由表信息。

#netstat –r

#netstat –nr

4) 显示TCP/UDP传输协议的连接状态。

#netstat –t

#netstat –u

hostname更改主机名

#hostname myhost

  1. 清屏

clear是清屏幕,windowscls

  1. 列出文件的内容

cat  tac  head   tail    more

cat  3.txt    正序  从第一行开始

tac  3.txt    倒序  从倒数第一行开始

head 3.txt     

head  -3  3.txt        列出前3行    

head可以带参数  -lines

 tail  -1  3.txt        最后一行

more 3.txt ------more默认是可以分页的,所以很多管道用到了他

ls         横着排显示,这一行显示满了接着下一行

ls -l       一行只显示一个文件或者目录的详细信息      

ls -m      横着排显示,这一行显示满了接着下一行

ls -R      有点像树状展示

  1. Cp+move

cp    copy 拷贝       mv     move 移动

cp 1   2   1这个文件拷贝一份,名字叫2

cp -r d1 d2  拷贝目录必须带参数 r

删出一个目录,先要删去目录下面的东西。要用递归,拷贝也是

mv d2  d1  d2目录移到d1,如果不行,加递归  mv –r

  1. 改名字 mv

Mv除了可以移动外,还可以改名字

Mv 3.txt  4.txt  3.txt的名字改为4.txt

  1. whoami

显示当前的用户,是root还是其他用户

  1. 5下 ESC

5ESC,会出现可以很多使用的命令

display all 2091 possiblities,即RedHat Linux2000多个命令。

  1. mount 挂载+卸载

mount point 挂载点

mount  /dev/cdrom   /mnt/cdr  dev目录下的cdrom设备与

根目录下的mnt目录下的cdr目录关联起来,这就是挂载

挂载点------cdr   设备-----CDROM

卸载umount  /dev/cdrom  或者 umount /mnt/cdr

  1. VI is important

Vi:命令模式与编辑模式,刚开始进入的命令模式,不能输入内容。

a进入编辑模式,底下会出现insert这个单词   append 追加

esc   退出编辑模式,进入命令模式

在命令模式敲冒号 : ,然后再敲命w 是存盘

q 是退出   q!是不存盘退出   wq是存盘退出(最常用)

wq是存盘退出   w是不是write的意思

  1. find

查找某个文件的名字(前提是你记得大概的名字),查找它的路径路径路径。可以根据创建日期查找,查找rc.local

find  /   -name  *local  从根目录下面开始查找,指定一个位置,从那里开始查

find /etc  -name *local

find /etc | grep  local   系统回去找含有local这几个字母的所有文件或者目录

find / -name MySQL系统只是回去找名字叫MySQL的文件或者目录

find / -name MySQL*找名字叫前几个字母是MySQL(后面任意)的文件或者目录,名字不必写全

  1. whereis

whereis  ls  查找ls这个命令在哪里

/bin  bin 目录下面有各种命令  vi  cat   ls   pwd 等等

/usr/bin   目录下面也有各种命令

  1. 查看环境变量

DOS下面看环境变量

echo %path%

echo %classpath%

Linux下面  echo $PATH   PATH  必须大写

  1. 链接  ln

ln  3.txt  4        more 4

链接:改了3.txt,4的内容也会自动跟着改,前提是你没有修改4

ln 3.txt  4  硬链接,相当于复制了一份,然后再在两个文件之间建立了快捷方式,修改3.txt4也会变

ln -s 3.txt 5  软连接,相当于windows的快捷方式,修改3.txt5也变

两种链接的不同之处:

3.txt删去,5不存在了,连接断掉了,4还存在。

  1. wc word count

wc  -l  lines  这个文件有多少行

  1. grep

global  regular expressions  print  全局正则表达式版本

在文本文件中查找指定的字符串,并且把包含的那一行给显示出来, grep student    4

4这个文本文件中找student这个字符串,哪一行包含它,显示出来

^在正则表达式中,代表一行的开头

ls -l | grep '^d'  只把目录列出来,/etc下面的文件与目录很多

^ 这个字符在数字6上面

rpm –qa 把所有的包都列出来,

rpm -qa | grep MySQL   查找含有MySQL这几个词的所有包,只要包名里面有MySQL这几个字母,就会被找出来

  1. grep 与 find

find /  -name MySQL*

find /  | grep MySQL

fdisk  -l          l显示当前的磁盘信息

  1. dmesg

列出开机的启动信息  全称是------d  message

dmesg | grep eth0    看第一块网卡启动正常吗

  1. 命令替换wall

warning  all  通知所有人,警告所有人

wall  helloworld    

wall  `date`  警告的字符是当前的时间,把date当做一个命令,把这个命令执行的结果警告出去(`  这个字符是数字1左边那个字符)

wall  date   警告的字符是  date

  1. 重定向

Java原来的一个程序,out替换掉.

System.out.println()   把命令输出到了文件中

ls

ls > cmd.txt 把刚才ls执行的命令的结果输入到cmd.txt这个文件中

错误输出重定向---------

lssss > cmd.txt   不行 , lsss这个命令不存在

lssss 2> cmd.txt

重定向输入 wall < cmd.txt  cmd.txt里面的内容警告出去

  1. 管道  

分页显示,/etc下面的内容很多

ls -R

ls -R  | more  把上一个命令执行的结果交给下一个命令

ls -l /etc |  more

more默认是可以分页的,但是ls -l 不会分页,有时候显示的内容巨多无比,用more将结果。分页岂不很好。

ls -l | grep '^d'  只把目录列出来,/etc下面的文件与目录很多

  1. 文件权限 file privilege

最左边的一共有10

    - (代表文件)  d(代表目录)   l(是L代表链接)

把最左边的那一个去掉,就剩下9个了,可以划分成3组。

Linux文件的权限分为4---------

read  write   execute   none(什么也没有)  

9位分成3组:

第一组代表这个文件的所有者有什么权限

第二组代表这个文件的所有者同组的人所拥有的权限

第三组代表剩下的人具有什么权限

x--------------execute

r-------------read

w---------------write

- 代表什么也没有  none

  1. Chmod-不专业

change  mode

chmod  +x 4  4这个文件加上可执行权限,其他两组也具备

chmod  -x 4  取消权限

chmod u+x  4 只给自己加上可执行权限,只给第一组加上权限

怎样让同组的其他人也有这个权限:

chmod g+x 4   只给第二组加上权限  group

chmod o+x 4  只给第三组加上权限  other

chmod 755 4            

chmod 777 4

7表示权限都齐了   5表示没有写的权限

Linux(Unix)内部表示权限,是用3个八进制数来表示的

000  =====0               111 ======7

  1. 怎么修改文件的所有者

chown    testuser1   4  -------------change owner

  1. 简单用户的管理

当一个用户登录的时候,默认的路径是这个用户的主目录

  1. 添加用户(两种方式)

useradd  testuser   

adduser  testuser  

  1. 设置密码

passwd testuser  给这个用户设置密码

按了退格键  无效因为密码不显示

  1. 两个位置变化

增加一个用户后,系统有两个位置会有变化:/home /etc

cd /home  ls #home目录会有一个自动生成的目录,叫做testuser

cd /etc more  passwd    打开 passwd这个文件

passwd这个文件没有存密码,存的是所有的用户testuser:x:501:502::/home/testuser:/bin/bash

这句话的意思:这个用户 id---501   所位于的组:502

用户的主目录为----/home/testuser

这个用户用到的shell  --------  /bin/bash

用户组------------------------------------------------

组的信息在group这个文件中  /etc/group

添加一个用户不指定组的时候,会添加一个和你用户名一样的组

  1. 添加一个组

groupadd testg

useradd testuser2 -g testg  添加用户的时候指定组

修改用户所属组   usermod -g testuser   testuser2新的组 用户名

usermod---------user modify

  1. 删除用户与组

删除用户分两步---删掉用户  删掉他的目录

userdel  testuser

cd /home

rm -rf testuser

组的删除 groupdel  testg

  1. 用户切换

switch  user

su  testuser2

  1. Shell

内核外面有一层,叫做shellshell会解释你在Linux下面敲的命令,然后再与内核打交道。shell有不同的形式,有不同的shellc  shell -------c 语言形式的shell,不同的shell执行的命令是不一样的,同样的命令在不同的shell底下不能通用,常用的命令,可以通用。

咱们用的shell叫做 bash,以前叫做bsh,名字的由来,是由一个叫做bone的人,写的,所以叫做bsh,后来他又写了一遍,bone again shell ,所以叫做 bash

bash ------ 切换到bash

csh  --- 切换到 C  shell  

ksh -----  切换到k   shell

sh  最原始最原始的shell

bsh ------ 切换到bsh

 

posted @ 2019-04-03 16:17  菜鸟不飞  阅读(3219)  评论(0编辑  收藏  举报