• 1. Linux常用命令
  • 2. 基本命令pwd 显示前工作目录 cd 改变目录 dir 列出文件和目录 ls 列出文件和目录 ls -a 显示隐藏文件 ls –l 显示长列表格式 相当于 ll 命令 ls –R 以树状结构列出文件 mkdir 建立目录 rmdir 删除空目录
  • 3. 基本命令touch 建立空文件 cp 复制文件 cp –r 源目录 目标目录 复制目录 mv 移动文件和改文件名 rm 删除文件和目录 rm –rf * 删除所有内容 (包括目录和文件)r递归删除 f 强制删除
  • 4. 基本命令ln 建立符号连接 ln –s 源 目录 软链接相当window的快捷方式 ln 源 目录 硬链接相当于复制一份文件 more 显示文件内容带分页 less显示文件内容带分页 cat 显示文件内容顺序 tac逆序显示内容
  • 5. 基本命令head –n 从头显示文件n行内容 tail –n 从文件结尾开始倒序显示n行内容 tail –f 跟踪文件内容变化 find 文件查找命令 find 目标目录 查找表达式 find / -name my* whereis 命令从哪来及帮助文档
  • 6. find详解find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression� expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。 -mount, -xdev : 只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案 -amin n : 在过去 n 分钟内被读取过 -anewer file : 比档案 file 更晚被读取过的档案 -atime n : 在过去 n 天过读取过的档案 -cmin n : 在过去 n 分钟内被修改过 -cnewer file :比档案 file 更新的档案 -ctime n : 在过去 n 天过修改过的档案 -empty : 空的档案-gid n or -group name : gid 是 n 或是 group 名称是 name
  • 7. -ipath p, -path p : 路径名称符合 p 的档案,ipath 会忽略大小写 -name name, -iname name : 档案名称符合 name 的档案。iname 会忽略大小写 -size n : 档案大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 档案类型是 c 的档案。 例子: 将目前目录及其子目录下所有延伸档名是 c 的档案列出来。 # find . -name "*.c" 将目前目录其其下子目录中所有一般档案列出 # find . -ftype f 将目前目录及其子目录下所有最近 20 分钟内更新过的档案列出 # find . -ctime -20
  • 8. users and groupsuseradd adduser 添加用户 可以在/etc/passwd 如果不指定用户组给新建一个和用户名一样的组名 useradd username –g groupname passwd 用户名 修改用户密码 不加用户名则是修改当前用户密码 usermod 修改用户命令 userdel username 删除用户 –r 把用户的主目录也删除
  • 9. users and groupssu 切换用户 groupadd 增加用户组 groupdel 删除用户组
  • 10. 文件权限文件权限类型 r 读文件 w 写文件 x 执行 - 没有
  • 11. 文件权限文件所有者权限其他用户权限同组用户权限列显示链接数,包括目录所有者和组所有者文件大小显示日期文件名
  • 12. 文件权限chmod 改变文件权限 chmod [ugoa][+,-,=][rwx-] 文件名 chmod 三位八进制数 文件名 常用111 110 110111 100 100111 100 000
  • 13. 文件权限chown 用户名 文件名 改变文件所有者 grep 在制定的文本中查找相应的文本内容 wc 统计指定文本文件的行数,字数,字符数
  • 14. 系统信息显示命令命令date显示和设置日期stat显示指定文件的相关信息who、w显示在线登录用户whoami显示用户自己的身份hostname显示主机名称uname显示操作系统信息dmesg显示系统启动信息du显示指定的文件已使用的磁盘空间的总量
  • 15. 系统信息显示命令命令df显示文件系统磁盘空间的使用情况free显示当前内存和交换空间的使用情况fdisk -l显示磁盘信息local显示当前语言环境top常用的性能分析工具ps显示系统进程env显示系统变量等信息
  • 16. 管道命令管道:将一个命令的输出传送给令一个命令,作为另一个命令的输入 使用方法: 命令1|命令2|命令3|…|命令n 使用举例 ls –l |grep java ps aux |grep tomcat
  • 17. 重定向输出重定向 > >> 追加 输入重定向 < <<
  • 18. 压缩、解压缩gzip 解压.gz结尾的文件名 gzip –c 文件名 > 压缩文件名 tar 解压.tar ,.tar.gz tar -cf archive.tar foo bar # Create archive.tar from files foo and bar. tar -tvf archive.tar # List all files in archive.tar verbosely. tar -xf archive.tar # Extract all files from archive.tar. uzip 解压.zip结尾 uzip 文件名
  • 19. 修改linux的启动进入命令行模式运行级别 为停机,机器关闭。 1 为单用户模式,就像Win9x下的安全模式类似。 2 为多用户模式,但是没有NFS支持。 3 为完整的多用户模式,是标准的运行级。 4 一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。 5 就是X11,进到X Window系统了。 6 为重启,运行init 6机器就会重启。 常用的级别是:XWindow是init5,字符是init3。将id设置为runlevel设置为3,就可以直接在系统初始化的时候直接进入文本界面。 id:3:initdefault: 修改这一行的数字就能修改运行级别
  • 20. 网络修改IP 第一种方法 运行setup命令设置IP 使用/etc/rc.d/init.d/network restart 使用作用生效 第二种 ifconfig eth0 第三种方法 修改/etc/sysconfig/network-scripts/ifcfg-eth0文件 使用/etc/rc.d/init.d/network restart 使用作用生效
  • 21. 网络netstat 查看端口使用情况 netstat –antpl 命令行上网 wget 网址 ftp 传输文件 telnet 登录到远程计算机上 netstat 查看网络的状况 nslookup 查询域名和IP地址的对应 finger 查询某个使用者的信息 ping 查询某个机器是否在工作
  • 22. rpmrpm是redhat公司推出的软件包安装格式,类型linux的setup程序 安装软件:rpm –ivh 文件名 查看软件:rpm –qa |grep 软件包关键字 删除软件:rpm –e 软件包名 删除注意事项: 1、应按照rpm -qa | grep 软件包名 查询出来的相关包顺序从下往上逐个删除。 如果出现包依赖,使用 --nodeps参数强制删除。 如果出现多个匹配,使用 --allmatches 全部删除
  • 23. scp的使用 服务器之间的文件复制linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录;     scp [可选参数] file_source file_target     从 本地 复制到 远程                  scp local_file remote_username@remote_ip:remote_folder              scp local_file remote_username@remote_ip:remote_file                 scp local_file remote_ip:remote_folder                  scp local_file remote_ip:remote_file                       第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;                     第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;           
  • 24. scp的使用 服务器之间的文件复制      scp -r local_folder remote_username@remote_ip:remote_folder     scp -r local_folder remote_ip:remote_folder       第1个指定了用户名,命令执行后需要再输入密码;     第2个没有指定用户名,命令执行后需要输入用户名和密码;        scp -r /home/space/music/ root@192.168.2.168:/home/root/others/     scp -r /home/space/music/ 192.168.2.168:/home/root/others/       上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录    
  • 25. scp的使用 服务器之间的文件复制从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可;        例如:           scp root@192.168.2.169:/home/root/others/music /home/space/music/1.mp3              scp -r 192.168.2.169:/home/root/others/ /home/space/music/
  • 26. 任务调度的使用crontabCrontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序   使用cron服务,用 service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它,   cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务:   crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数   crontab -l //列出某个用户cron服务的详细内容   crontab -r //删除没个用户的cron服务   crontab -e //编辑某个用户的cron服务
  • 27. 任务调度的使用crontab命令格式 * * * * * * 分钟 小时 日期 月份 星期 命令名称 取值范围:  M: 分钟(0-59)。  H:小时(0-23)。  D:天(1-31)。  m: 月份(1-12;或英文缩写Jan、Feb等)。 d:(0-6,0为周日或单词缩写Sun、Mon等)
  • 28. crontab例子12 3 * * * tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1 每天的凌晨3点12分(03:12)运行 30 15 13 6 1 * tar 如果你想以用户joey的身份每小时的第15分钟运行某个程序,可以使用:   15 * * * * joey /usr/bin/somecommand >> /dev/null 2>&1 其中的星号(*)是通配符,表示cron将忽略这个字段。 如果你想每两小时就运行某个程序,可以在小时字段里使用 */2。 它将会在2点,4点,6点……22点,24点运行。 具体语句如下: 0 */2 * * * joey /usr/bin/somecommand >> /dev/null 2>&1cron
  • 29. crontab例子语句中还可以使用逗号(,)来指定多个时间。 例如你想在每小时的15分和30分运行某个程序,可以在分钟字段使用 15,30:15,30 * * * * joey /usr/bin/somecommand >> /dev/null 2>&1 如果你想在每月的第一周(即1号到7号)每天的指定时间运行某个程序,可以在日期字段使用 1-7: 15,30 */2 1-7 * * joey /usr/bin/somecommand >> /dev/null 2>&1 这条语句将在每月的第1-7日每两小时的15分和30分(02:15,02:30……22: 15,22:30等)运行 /usr/bin/somecommand 命令。 如果你想在每天的16:18执行一个脚本集合,可以把所有要执行的脚本放到一个目录中(如 /home/username/cron),可以使用: 18 16 * * * root run-parts /home/username/cron >> /dev/null 2>&1   如果你想保存某个程序的输出结果, 可以把 >> /dev/null 2>&1 替换为 >> /home/user/somecommand.log 2>&1 。
  • 30. 关机和重启命令1. shutdown 执行shutdown命令时,系统会通知所有登录的用户系统将要关闭,并且login指令会被冻结,即新的用户不能再登录系统。使用shutdown命令可以直接关闭系统,也可以延迟指定的时间再关闭系统,还可以重新启动。延迟指定的时间再关闭系统,可以让用户有时间储存当前正在处理的文件和关闭已经打开的程序。 shutdown命令的部分参数如下:   [-t] 指定在多长时间之后关闭系统   [-r] 重启系统   [-k] 并不真正关机,只是给每个登录用户发送警告信号   [-h] 关闭系统(halt) shutdown命令的工作实质是给init程序发送信号(signal),要求其切换系统的运行级别(Runlevel)
  • 31. 关机和重启命令2. halt halt是最简单的关机命令,其实际上是调用shutdown -h命令。halt执行时,杀死应用进程,文件系统写操作完成后就会停止内核。 halt命令的部分参数如下:   [-f] 没有调用shutdown而强制关机或重启   [-i] 关机或重新启动之前,关掉所有的网络接口   [-p] 关机时调用poweroff,此选项为缺省选项 3.reboot reboot的工作过程与halt类似,其作用是重新启动,而halt是关机。其参数也与halt类似。
  • 32. 获取帮助Linux 中的两个重要的信息来源是联机参考手册,或 man 页面和 whatis 工具。您可以用 whatis 命令来访问一个不熟悉的命令的 man 页面。 $ whatis echo 要了解关于这个命令的更多信息,可以使用: $ man echo 如果您不知道某个特殊任务所需的命令,您可以用 man -k (也称为 apropos)和一个主题来生成可能的命令。例如: $ man -k files 一个很有用但常常被忽视的命令可以提供关于使用 man 本身的信息: $ man man 您可以用 SPACEBAR 来浏览任意的 man 页面;UP ARROW 将向上翻滚文件。.要退出,则输入 q,!,或 CTRL-Z。
  • 33. viLinux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令 vi的基本概念   基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1) 命令行模式command mode)   控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。 2) 插入模式(Insert mode)   只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
  • 34. vi3) 底行模式(last line mode)   将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。 不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode) a) 进入vi   在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面    $ vi myfile  不过要特别注意,进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。
  • 35. vib) 切换至插入模式(Insert mode)编辑文件   在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。 c) Insert 的切换   您目前处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。
  • 36. vid) 退出vi及保存文件   在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如: : w filename (输入 「w filename」将文章以指定的文件名filename保存) : wq (输入「wq」,存盘并退出vi) : q! (输入q!, 不存盘强制退出vi) 3、命令行模式(command mode)功能键 1). 插入模式   按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;   按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;   按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。 2). 从插入模式切换为命令行模式   按「ESC」键。
  • 37. vi移动光标 按「ctrl」+「b」:屏幕往“后”移动一页。   按「ctrl」+「f」:屏幕往“前”移动一页。   按「ctrl」+「u」:屏幕往“后”移动半页。   按「ctrl」+「d」:屏幕往“前”移动半页。   按数字「0」:移到文章的开头。   按「G」:移动到文章的最后。   按「$」:移动到光标所在行的“行尾”。   按「^」:移动到光标所在行的“行首”   按「w」:光标跳到下个字的开头   按「e」:光标跳到下个字的字尾   按「b」:光标回到上个字的开头   按「#l」:光标移到该行的第#个位置,如:5l,56l。
  • 38. vi. 删除文字   「x」:每按一次,删除光标所在位置的“后面”一个字符。   「#x」:例如,「6x」表示删除光标所在位置的“后面”6个字符。   「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符。   「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符。   「dd」:删除光标所在行。   「#dd」:从光标所在行开始删除#行
  • 39. vi复制   「yw」:将光标所在之处到字尾的字符复制到缓冲区中。   「#yw」:复制#个字到缓冲区   「yy」:复制光标所在行到缓冲区。   「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。   「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。 替换   「r」:替换光标所在处的字符。   「R」:替换光标所到之处的字符,直到按下「ESC」键为止。 回复上一次操作   「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
  • 40. 更改   「cw」:更改光标所在处的字到字尾处   「c#w」:例如,「c3w」表示更改3个字 9). 跳至指定的行   「ctrl」+「g」列出光标所在行的行号。   「#G」:例如,「15G」,表示移动光标至文章的第15行行首
  • 41. vi查找  /xxx(?xxx)      表示在整篇文档中搜索匹配xxx的字符串, / 表示向下查找, ? 表示 向上查找.其中xxx可以是正规表达式,关于正规式就不多说了. 一般来说是区分大小写的, 要想不区分大小写, 那得先输入  *(#)            当光标停留在某个单词上时, 输入这条命令表示查找与该单词匹配的下(上)一个单词. 同样, 再输入 n 查找下一个匹配处, 输入 N 反方向查找.  f(F)x           本命令表示在光标所在行进行查找, 查找光标右(左)方第一个x字符.  找到后:   输入 ; 表示继续往下找   输入 , 表示反方向查找
  • 42. toptop命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。 top - 13:29:35 up 1 day, 4:16, 1 user, load average: 0.08, 0.02, 0.01 Tasks: 85 total, 1 running, 84 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% si Mem: 8170020k total, 1229760k used, 6940260k free, 66120k buffers Swap: 8185108k total, 0k used, 8185108k free, 609188k cached PID USER PR NI %CPU TIME+ %MEM VIRT RES SHR S COMMAND 3102 root 16 0 0 0:39.58 0.0 15316 2612 1284 S hald 1 root 16 0 0 0:00.88 0.0 4756 548 456 S init 2 root RT 0 0 0:00.03 0.0 0 0 0 S migration/0 3 root 34 19 0 0:00.00 0.0 0 0 0 S ksoftirqd/0 4 root RT 0 0 0:00.01 0.0 0 0 0 S migration/1 5 root 34 19 0 0:00.00 0.0 0 0 0 S ksoftirqd/1
  • 43. 统计信息区 前五行是系统整体的统计信息。第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下: 13:29:35 当前时间 up 1 day, 4:16系统运行时间,格式为时:分 1 user 当前登录用户数 load average: 0.08, 0.02, 0.01系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
  • 44. cpu信息第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下: Tasks: 29 total 进程总数 1 running 正在运行的进程数 28 sleeping 睡眠的进程数 0 stopped 停止的进程数 0 zombie 僵尸进程数 Cpu(s): 0.3% us 用户空间占用CPU百分比 1.0% sy 内核空间占用CPU百分比 0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比 98.7% id 空闲CPU百分比 0.0% wa 等待输入输出的CPU时间百分比 0.0% hi 0.0% si 最后两行为内存信息。内容如下:
  • 45. 内存信息Mem: 191272k total 物理内存总量 173656k used 使用的物理内存总量 17616k free 空闲内存总量 22052k buffers 用作内核缓存的内存量 Swap: 192772k total 交换区总量 0k used 使用的交换区总量 192772k free 空闲交换区总量 123988k cached 缓冲的交换区总量。 内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖, 该数值即为这些内容已存在于内存中的交换区的大小。 相应的内存再次被换出时可不必再对交换区写入。
  • 46. jdk安装rpm安装 在shell终端下进入jdk-6u18-linux-i586.bin文件所在目录,执行命令 ./jdk-6u18-linux-i586.bin 这时会出现一段协议,连继敲回车,当询问是否同意的时候,输入yes,回车。之后会在当前目录下生成一个jdk-6u18目录,你可以将它复制到 任何一个目录下。
  • 47. jdk环境变量配置1. PATH环境变量。作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把 jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好 PATH变量后,就可以在任何目录下执行javac/java等工具了。   2. CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们 需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。   3. JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。
  • 48. jdk环境变量配置 1. 修改/etc/profile文件     如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。  ·用文本编辑器打开/etc/profile ·在profile文件末尾加入: JAVA_HOME=/usr/share/jdk1.5.0_05(本机jdk安装路径) PATH=$JAVA_HOME/bin:$PATH   CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export PATH export CLASSPATH     
  • 49. jdk环境变量配置·重新登录 ·说明  a. 你要将 /usr/share/jdk1.5.0_05jdk 改为你的jdk安装目录  b. linux下用冒号“:”来分隔路径  c. $PATH / $CLASSPATH / $JAVA_HOME 是用来引用原来的环境变量的值 在设置环境变量时特别要注意不能把原来的值给覆盖掉了,这是一种 常见的错误。 d. CLASSPATH中当前目录“.”不能丢,把当前目录丢掉也是常见的错误。 e. export是把这三个变量导出为全局变量。 f. 大小写必须严格区分。
  • 50. 修改.bashrc文件     这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bashrc文件就可以了。 ·用文本编辑器打开用户目录下的.bashrc文件 ·在.bashrc文件末尾加入:  set JAVA_HOME=/usr/share/jdk1.5.0_05  export JAVA_HOME  set PATH=$JAVA_HOME/bin:$PATH export PATH set CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export CLASSPATH
  • 51. 卸载jdk六. 卸载jdk ·找到jdk安装目录的_uninst子目录   ·在shell终端执行命令./uninstall.sh即可卸载jdk。
  • 52. tomcat配置下载tomcat.版本号.tar.gz文件 使用tar zxvf tomcat.版本号.tar.gz 解压到指定的目录 chmod –R 755 tomcat主目录 给执行脚本权限 启动: 进入tomcat主目录/bin目录下 sh startup.sh 停止: sh shutdown.sh tomcat 开机启动 在/etc/rc.local中添加 JAVA_HOME=/usr/java/jdk1.6.0_14(本机安装目录) export JAVA_HOME sh /tomcat6/bin/startup.sh  
  • 53. 用cronolog分割tomcat的catalina.outtomcat 的catalina.out文件的不断扩大,导致系统磁盘空间边变小,而且管理也难于管理,所以想用一种工具来分割它。网上找了找用cronolog 安装过程如下: 1、下载(最新版本) # wget http://cronolog.org/download/cronolog-1.6.2.tar.gz 2、解压缩 # tar zxvf cronolog-1.6.2.tar.gz 3、进入cronolog安装文件所在目录 # cd cronolog-1.6.2 4、运行安装 # ./configure # make # make install
  • 54. 用cronolog分割tomcat的catalina.out5、查看cronolog安装后所在目录(验证安装是否成功) # which cronolog 一般情况下显示为:/usr/local/sbin/cronolog 要想分割tomcat的catalina.out,需作如下工作: 修改tomcat bin目录下的catalina.sh文件中的 org.apache.catalina.startup.Bootstrap “$@” start \ >> “$CATALINA_BASE”/logs/catalina.out 2>&1 & 替换为 org.apache.catalina.startup.Bootstrap "$@" start \ |/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null 2>&1 & 同时,文件中有一行 touch “$CATALINA_BASE”/logs/catalina.out 可以注释掉,完成之后重起Tomcat就可以了, 看logs文件中是否有catalina2011-01-12.out样式的日志。
  • 55. mysql源码方式安装1、首先使用 rpm -qa | grep mysql 查看系统是否已安装其他版本的MySQL 2、如果已安装其他版本的MySQL,使用 rpm -e 删除,应按照rpm -qa | grep mysql查询出来的相关包顺序从下往上逐个删除。 注意事项: (1)、如果出现包依赖,使用 --nodeps参数强制删除。 (2)、如果出现多个匹配,使用 --allmatches 全部删除
  • 56. 安装mysql shell> groupadd mysql shell> useradd -g mysql mysql shell> cd /usr/local shell> tar -zxvf mysql-VERSION.tar.gz mysql-VERSION.tar.gz 应为mysql源码包的全路径 shell> mv mysql-VERSION mysql
  • 57. 安装mysqlshell> cd mysql shell> ./configure --prefix=/usr/local/mysql --with-extra-charsets=all --with-charset=utf8 --with-plugins=all shell> make shell> make install
  • 58. mysql configure 选项说明./configure --prefix=/opt/mysql --with-extra-charsets=all --enable-assember --enable-profiling --enable-community-features --enable-local-infile -with-charset=utf8 --with-collation=utf8_general_ci -enable-thread-safe-client --without-debug -with-berkeley-db -with-zlib-dir=bundled --with-plugins=all --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-unix-socket-path=/tmp/mysql.sock --with-big-tables --sysconfdir=/opt/etc/mysql
  • 59. 重点参数说明: --prefix= 指定安装路径 --with-charset=utf8 指定缺省字符集 --with-collation=utf8_general_ci 指定缺省排序方式 --with-extra-charsets=all 指定安装扩展字符集 --enable-local-infile 指定允许本地导入文件 --enable-thread-safe-client 指定线程安全模式 --enable-assembler 允许使用汇编模式(优化性能) --with-client-ldflags=-all-static 静态编译 --with-mysqld-ldflags=-all-static 静态编译,提升性能13% --with-unix-socket-path= 指定Unix Socket路径,本机访问提升7% --with-plugins=all 指定安装全部存储引擎 --with-big-tables 指定支持超大表
  • 60. 安装mysqlshell> cp support-files/my-medium.cnf /etc/my.cnf 修改配置文件 在[client]增加 default-character-set=utf8 [mysqld]下增加 lower_case_table_names=1 default-character-set=utf8 (character-set-server) shell> bin/mysql_install_db --user=mysql shell> chown -R root . shell> chown -R mysql var shell> chgrp -R mysql .
  • 61. 启动停止mysql启动mysql shell> cd /usr/local/mysql shell> bin/mysqld_safe --user=mysql & 停止mysql shell>bin/mysqladmin –u root –p shutdown
  • 62. mysql自启动shell>cd mysql主目录/ support-files shell> cp mysql.server /etc/init.d/mysql shell> chmod +x /etc/init.d/mysql shell> chkconfig –add MySQL shell> chkconfig --level 345 MySQL on 启动:service MySQL start 重起: service MySQL restart 停止:service MySQL stop