shutdown --helpmysql
shutdown --?linux
man shutdown (man 就是manual 手册, 指南)正则表达式
怎么知道服务的名字呢?用这个命令chkconfig:sql
chkconfig --list 会列出全部的服务项shell
启动服务,例如启动Mysql的服务数据库
service mysql start 不是全部的命令都有这个d这个字母express
service iptables stop 关掉防火墙apache
service vsftpd start 启动vsFTP服务器windows
service vsftpd stop 服务中止安全
service vsftpd restart 从新启动
你不用再手动的再去启动Mysql,vsftp,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
修改那一个配置文件时,先备份
修改配置文件 /etc/inittab,将id:5:initdefault中的数字5改成3
3 纯命令行界面,有网络共享
5 图形界面
下一回系统启动的就不进入那个图形界面了
# 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分区的信息
/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 /查看最近发生的信息.
切换虚拟工做台:
Alt键和一个功能键来实现,一般使用F1-F6 。
如用户登陆后,按一下“Alt+F2”键,用户就能够看到上面出现的“login:”提示符,说明用户看到了第二个虚拟控制台。只需按“Alt+ F1”键,就能够回到第一个虚拟控制台。
一个新安装的Linux系统容许用户使用“Alt+F1”到“Alt+F6”键来访问前六个虚拟控制台。
虚拟控制台最有用的是:当一个程序出错形成系统死锁时,能够切换到其它虚拟控制台工做,关闭这个程序。
关闭计算机
shutdown -h -t 30 30秒后安全地关机断电
shutdown -c 取消关机命令执行
重启计算机reboot
退出命令行 exit
运行级就是操做系统当前正在运行的功能级别。
这个级别从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 机器就会重启。
安装 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
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 用户名 删除属于该用户的的家目录和邮件
查看新的硬盘 # 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
可使用 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
clear是清屏幕,windows是cls
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 有点像树状展现
cp copy 拷贝 mv move 移动
cp 1 2 把1这个文件拷贝一份,名字叫2
cp -r d1 d2 拷贝目录必须带参数 r
删出一个目录,先要删去目录下面的东西。要用递归,拷贝也是
mv d2 d1 把d2目录移到d1,若是不行,加递归 mv –r
Mv除了能够移动外,还能够更名字
Mv 3.txt 4.txt 把3.txt的名字改成4.txt
显示当前的用户,是root仍是其余用户
按5下 ESC,会出现能够不少使用的命令
display all 2091 possiblities,即RedHat Linux有2000多个命令。
mount point 挂载点
mount /dev/cdrom /mnt/cdr 将dev目录下的cdrom设备与
根目录下的mnt目录下的cdr目录关联起来,这就是挂载
挂载点------cdr 设备-----CDROM
卸载umount /dev/cdrom 或者 umount /mnt/cdr
Vi:命令模式与编辑模式,刚开始进入的命令模式,不能输入内容。
敲a进入编辑模式,底下会出现insert这个单词 append 追加
敲esc 退出编辑模式,进入命令模式
在命令模式敲冒号 : ,而后再敲命w 是存盘
q 是退出 q!是不存盘退出 wq是存盘退出(最经常使用)
wq是存盘退出 w是否是write的意思
查找某个文件的名字(前提是你记得大概的名字),查找它的路径路径路径。能够根据建立日期查找,查找rc.local
find / -name *local 从根目录下面开始查找,指定一个位置,从那里开始查
find /etc -name *local
find /etc | grep local 系统回去找含有local这几个字母的全部文件或者目录
find / -name MySQL系统只是回去找名字叫MySQL的文件或者目录
find / -name MySQL*找名字叫前几个字母是MySQL(后面任意)的文件或者目录,名字没必要写全
whereis ls 查找ls这个命令在哪里
/bin bin 目录下面有各类命令 vi cat ls pwd 等等
/usr/bin 目录下面也有各类命令
在DOS下面看环境变量
echo %path%
echo %classpath%
Linux下面 echo $PATH PATH 必须大写
ln 3.txt 4 more 4
连接:改了3.txt,4的内容也会自动跟着改,前提是你没有修改4
ln 3.txt 4 硬连接,至关于复制了一份,而后再在两个文件之间创建了快捷方式,修改3.txt,4也会变
ln -s 3.txt 5 软链接,至关于windows的快捷方式,修改3.txt,5也变
两种连接的不一样之处:
将3.txt删去,5不存在了,链接断掉了,4还存在。
wc -l lines 这个文件有多少行
global regular expressions print 全局正则表达式版本
在文本文件中查找指定的字符串,而且把包含的那一行给显示出来, grep student 4
在4这个文本文件中找student这个字符串,哪一行包含它,显示出来
^在正则表达式中,表明一行的开头
ls -l | grep '^d' 只把目录列出来,/etc下面的文件与目录不少
^ 这个字符在数字6上面
rpm –qa 把全部的包都列出来,
rpm -qa | grep MySQL 查找含有MySQL这几个词的全部包,只要包名里面有MySQL这几个字母,就会被找出来
find / -name MySQL*
find / | grep MySQL
fdisk -l l显示当前的磁盘信息
列出开机的启动信息 全称是------d message
dmesg | grep eth0 看第一块网卡启动正常吗
warning all 通知全部人,警告全部人
wall helloworld
wall `date` 警告的字符是当前的时间,把date当作一个命令,把这个命令执行的结果警告出去(` 这个字符是数字1左边那个字符)
wall date 警告的字符是 date
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里面的内容警告出去
分页显示,/etc下面的内容不少
ls -R
ls -R | more 把上一个命令执行的结果交给下一个命令
ls -l /etc | more
more默认是能够分页的,可是ls -l 不会分页,有时候显示的内容巨多无比,用more将结果。分页岂不很好。
ls -l | grep '^d' 只把目录列出来,/etc下面的文件与目录不少
最左边的一共有10位
- (表明文件) d(表明目录) l(是L表明连接)
把最左边的那一个去掉,就剩下9个了,能够划分红3组。
Linux文件的权限分为4种---------
read write execute none(什么也没有)
9位分红3组:
第一组表明这个文件的全部者有什么权限
第二组表明这个文件的全部者同组的人所拥有的权限
第三组表明剩下的人具备什么权限
x--------------execute
r-------------read
w---------------write
- 表明什么也没有 none
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
chown testuser1 4 -------------change owner
当一个用户登陆的时候,默认的路径是这个用户的主目录
useradd testuser
adduser testuser
passwd testuser 给这个用户设置密码
按了退格键 无效,由于密码不显示
增长一个用户后,系统有两个位置会有变化:/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
添加一个用户不指定组的时候,会添加一个和你用户名同样的组
groupadd testg
useradd testuser2 -g testg 添加用户的时候指定组
修改用户所属组 usermod -g testuser testuser2新的组 用户名
usermod---------user modify
删除用户分两步---删掉用户 删掉他的目录
userdel testuser
cd /home
rm -rf testuser
组的删除 groupdel testg
switch user
su testuser2
内核外面有一层,叫作shell,shell会解释你在Linux下面敲的命令,而后再与内核打交道。shell有不一样的形式,有不一样的shell,c 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