hashlinux常用命令有哪些

这篇文章主要介绍hashlinux常用命令有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

———————————-

1 文件管理

———————————-

创建空白文件

touch

不提示删除非空目录

rm -rf目录名

(-r:递归删除 -f 强制)

##################################

恢复 rm 删除的文件(ext3)

查看磁盘分区格式

df -T

卸载挂载

umount /data/

ext3grep /dev/sdb1 –ls –inode 2

记录信息继续查找目录下文件 inode信息

ext3grep /dev/sdb1 –ls –inode 131081 # 此处是 inode

记录下 inode信息开始恢复目录

ext3grep /dev/sdb1 –restore-inode 49153

##################################

windows 文本转 linux 文本

dos2unix

linux 文本转 windows 文本

unix2dos

转换编码

iconv -f gbk -tutf8 原.txt > 新.txt

查看 md5 值

md5sum

硬链接

ln

符号连接

ln -s

查看上下翻页且显示行号

cat ? | nl |less

q 退出

结束状态

ctrl+z

查看文件开头内容

head

查看文件结尾内容

tail -f # 监视日志文件

检查文件类型

file

重命名

rename

rename source_pattern target_pattern source_files

更改默认权限

umask

按数字排序

sort -n

按数字倒叙

sort -nr

过滤重复行

sort -u

删除重复的行

uniq

重复的行出现次数

uniq -c

只显示不重复行

uniq -u

将两个文件合并用 tab键分隔开

paste a b

将两个文件合并指定'+'符号隔开

paste -d'+' a b

将多行数据合并到一行用 tab 键隔开

paste -s a

设置隐藏属性

chattr [+-=] [ASacdistu] 文件或目录

向下分面器

more

搜索

locate 字符串

查看行数

wc -l

实时某个目录下查看最新改动过的文件

watch -d-n 1 'df; ls -FlAt /path'

快速备份一个文件

cp filename{,.bak}

##################################

配置编辑器

gconf-editor

vi 配置文件

vi /etc/vimrc

编辑文件

vim

打开行号

:set nu

取消行号

:set nonu

跳转到 200

200G

取消高亮

:nohl

设置自动缩进

:set autoindent

查看文本格式

set ff

改为 unix 格式

set binary

向前翻页

ctrl+ U

向后翻页

ctrl+ D

全部替换

g/字符 1/s//字符 2/g

%s/字符 1/字符 2/g

# 普通用户打开文档不能保存

# tee 是一个把 stdin 保存到文件的小工具,而%,是 vim 当中一个只读寄存器的名字,总保存着当

前编辑文件的文件路径

:w !sudotee %

##################################

按文件名查找

find /etc -name http

查找某一类型文件

find . -type f

按照文件权限查找

find / -perm

按照文件属主查找

find / -user

按照文件所属的组来查找文件

find / -group

文件使用时间在 N 天以内

find / -atime -n

文件使用时间在 N 天以前

find / -atime +n

文件内容改变时间在 N 天以内

find / -mtime -n

文件内容改变时间在 N 天以前

find / -mtime +n

文件状态改变时间在 N 天前

find / -ctime +n

文件状态改变时间在 N 天内

find / -ctime -n

# linux 文件无创建时间

# Access 使用时间

# Modify 内容修改时间

# Change 状态改变时间(权限、属主)

查找文件长度大于 1M 字节的文件

find / -size +1000000c -print

按名字查找文件传递给-exec 后命令

find /etc -name "passwd*" -exec grep "hashlinux" {}/;

查找文件名,不取路径

find . -name 't*' -exec basename {} /;

##################################

====================================================================

———————————-

2 软件管理

———————————-

解包 tar

tar xvf 1.tar -C 目录

打包 tar

tar -cvf 1.tar *

查看 tar

tar tvf 1.tar

给 tar 追加文件

tar -rvf 1.tar 文件名

解包 gz

tar zxvpf gz.tar.gz

打包 gz

tar zcvpf gz.tar.gz

查看 gz

tar ztvpf gz.tar.gz

解压 bzip2

bzip2 -dv 1.tar.bz2

解压 gzip 到 tar

gzip -dv 1.tar.gz

压缩 tar 到 gz

gzip -v 1.tar

bzip2 压缩

bzip2 -v 1.tar

查看 bzip2

bzcat

rpm 安装

rpm -ivh

卸载

rpm -e lynx

强制卸载

rpm -e lynx –nodeps

测试

rpm –test lynx

查看所有安装的 rpm 包

rpm -qa

查找包是否安装

rpm -qa | grep http

解压 zip

unzip zip.zip

压缩 zip

zip zip.zip *

rar3.6 下载地址

https://cache.yisu.com/upload/information/20200310/34/104726.jpg

解压 rar 包

unrar x rar.rar

7z 压缩

7z a 7z.7z *

7z 解压

7z e 7z.7z

查看字符行

zgrep 字符 1.gz

打包/home, /etc ,但排除 /home/dmtsai

tar –exclude /home/dmtsai -zcvf myfile.tar.gz /home} # 去掉第一条 / 及其左边的字串:dir1/dir2/dir3/my.file.txt

${file##*/} # 去掉最后一条/ 及其左边的字串:my.file.txt

${file#*.} # 去掉第一个 . 及其左边的字串:file.txt

${file##*.} # 去掉最后一个 . 及其左边的字串:txt

${file%/p}"

删除含关键的一行

sed -i "/^$f/d" a

直接对文本替换

sed -i "s/=/:/" c

找到 pearls 开头在行尾加 jcui

sed -i "/^pearls/s/$/jcui/" ab.txt

标签(保存/(mar/)作为标签 1)

sed -n 's//(mar/)got//1ianne/p' 文件

echo "margot"|sed -n 's//(mar/).*/(t/)//1/2/p'

sed -e 's/^/([a-zA-Z]/+/) /([a-zA-Z]/+/)/(.*/)//2 /1/3/g' file

在以[0-9][0-9]结尾的行后加 5

sed 's/[0-9][0-9]$/&5' 文件

打印从第 5 行到以 no 开头行之间的所有行

sed -n '5,/^no/p' 文件

修改 west 和 east 之间的所有行,在结尾处加*VACA*

sed '/west/,/east/s/$' 文件

多重编辑(先删除 1-3 行,在将 1 替换成 2)

sed -e '1,3d' -e's/1/2/' 文件

找到含 suan 的行,在后面加上读入的文件内容

sed '/suan/r 读入文件' 文件

找到含 no 的行,写入到指定文件中

sed -n '/no/w 写入文件' 文件

取出第一组数字,并且忽略掉开头的 0

sed 's/[^1-9]*/([0-9]/+/).*//1/'

打印 1 和 3 之间的行

sed '/1/,/3/p' file

取出指定行

sed -n '1p' 文件

在第 5 行之前插入行

sed '5i/aaa'file

在第 5 行之后抽入行

sed '5a/aaa' file

在匹配行前插入一行

echo a|sed -e '/a/i/b'

在匹配行后插入一行

echo a|sed -e '/a/a/b'

echo a|sed 's/a/&/nb/g'

引用外部变量

sed -n ''$a',10p'

sed -n ""$a",10p"

取用户家目录(匹配不为/的字符和匹配:到结尾的字符全部删除)

sed -n '{s/^[^//]*//;s//:.*//;p}' /etc/passwd

将换行符转换为换行

echo abcd//nabcde |sed 's///n/@/g' |tr '@' '/n'

删除掉@后面所有字符,和空行

sed -e 's/@.*//g' -e '/^$/d'

将几行合并成一行

echo $(cat file)|sed 's/ //g'

取一列最大值

cat tmp|awk '{print $1}'|sort -n|sed -n '$p'

查找属主权限为 7的文件

ls -l|sed -n '/^.rwx.*/p'

在 a 前面加#号

echo a|sed -e 's/a/#&/g'

##################################

图形 dialog

多选界面[方括号]

dialog –title "Check me" –checklist "Pick Numbers" 15 25 3 1 "one" "off" 2 "two""on" 3 "three"

"off" 2>tmp

多选界面(圆括号)

dialog –title "title" –radiolist "checklist" 20 60 14 tag1 "item1"on tag2 "item2"off 2>tmp

单选界面

dialog –title "title" –menu "MENU" 20 60 14 tag1 "item1" tag2 "item2" 2>tmp

进度条

dialog –title "Installation" –backtitle"Star Linux" –gauge "Linux Kernel" 10 60 50

选择 yes/no

dialog –title "标题"–backtitle "Dialog" –yesno "说明" 2060

公告

dialog –title "公告标题"–backtitle "Dialog" –msgbox "内容" 20 60

显示讯息后立即离开

dialog –title "hey" –backtitle "Dialog" –infobox "Is everything okay?"10 60

输入对话框

dialog –title "hey" –backtitle "Dialog" –inputbox "Is okay?" 10 60 "yes"

显示文档内容

dialog –title "Array 30" –backtitle "All " –textbox /root/txt 20 75

多条输入对话框

dialog –title "Add a user" –form "Add a user" 12 40 4 "Username:" 1 1 "" 1 15 15 0 "Full

name:" 2 1 "" 2 15 15 0 2>tmp

星号显示输入–insecure

dialog –title "Password" –insecure –passwordbox "请输入密码" 10 35

选择日期

dialog –stdout –title "日历" –calendar "请选择" 0 0 9 1 2010

##################################

脚本头 # sh 为当前系统默认 shell,可指定为 bash 等

#!/bin/sh

临时文件定义

errtmp=/tmp/$$`date +%s%N`.errtmp

outtmp=/tmp/$$`date +%s%N`.outtmp

true > $outtmp

随机数

$RANDOM

进程号

$$

纳秒

date +%N

在当前 bash 环境下读取并执行 FileName 中的命令

sourcefile-name # 等同 . FileName

间隔睡眠 5 秒

sleep 5

在接收到信号后将要采取的行动

trap

当前目录

$PWD

之前一个目录的路径

$OLDPWD

返回上一个目录路径

cd –

重复打印

yes

自动回答 y 或者其他

yes |rm-i*

查看目录所有文件夹

ls -p/home

查看匹配完整路径

ls -d/home/

命令替换 xargs

#将前面的内容,作为后面命令的参数

find / -perm +7000 | xargs ls -l

不换行执行下一句话

echo -n aa;echo bb

使转义生效

echo -e "s/tss/n/n/n"

取字符串中字元

echo $a | cut -c2-6

排列组合(括号内一个元素分别和其他括号内元素组合)

echo {a,b,c}{a,b,c}{a,b,c}

返回目录名

pwd | awk -F/ '{ print "目录名:",$2 }'

替换上一条命令中的(foo)一个短语(bar)

^foo^bar^

!!:s/foo/bar/

!!:gs/foo/bar

##################################

shell 例子

判断参数是否为空-空退出并打印 null

#!/bin/sh

echo $1

name=${1:?"null"}

echo $name

##################################

循环数组

for ((i=0;i<${#o[*]};i++))

do

echo ${o[$i]}

done

##################################

判断路径

if[ -d /root/Desktop/text/123 ];then

echo "找到了 123"

if[ -d /root/Desktop/text ]

then echo "找到了 text"

else echo "没找到 text"

fi

else echo "没找到 123 文件夹"

fi

##################################

匹配替换密码

#!/bin/sh

cat mailpassword > temp.txt

sed -i "s/:/ =/" temp.txt

w=`awk -F " = " '{print $1}' temp.txt`

for d in $w

do

grep -w $d svnpassword>/dev/null

if[ $? -eq 0 ]

then

sed -i "/^$d/d" svnpassword

grep "^$d" temp.txt >> svnpassword

#替换到转义就出问题

#sed -i "/^$d/c $(grep "^$d" temp.txt)" svnpassword

fi

done

rm temp.txt

##################################

多行合并

将两行并为一行(去掉换行符)

sed '{N;s//n//}' file

将 4行合并为一行(可扩展)

awk '{if(NR%4==0){print $0} else {printf"%s ",$0}}' file

将所有行合并

awk '{printf"%s ",$0}'

##################################

shift 用法

./cs.sh 1 2 3

#!/bin/sh

until [ $# -eq 0 ]

do

echo "第一个参数为: $1参数个数为: $#"

#shift 命令执行前变量 $1 的值在 shift 命令执行后不可用

shift

done

##################################

给脚本加参数 getopts

#!/bin/sh

while getopts :ab: name

do

case $name in

a) aflag=1

;;

b) bflag=1

bval=$OPTARG

;;

/?) echo "USAGE:`basename $0` [-a] [-b value]"

exit 1

;;

esac

done

if[ ! -z $aflag ] ; then

echo "option -a specified"

echo "$aflag"

echo "$OPTIND"

fi

if[ ! -z $bflag ] ; then

echo "option -b specified"

echo "$bflag"

echo "$bval"

echo "$OPTIND"

fi

echo "here $OPTIND"

shift $(($OPTIND -1))

echo "$OPTIND"

echo " `shift $(($OPTIND -1))` "

##################################

判断脚本参数是否正确

./test.sh -p123 -P 3306 -h 127.0.0.1 -u root

#!/bin/sh

if[ $# -ne 8 ];then

echo "USAGE: $0 -u user -p passwd -P port -h host"

exit 1

fi

while getopts :u:p:P:h: name

do

case $name in

u)

mysql_user=$OPTARG

;;

p)

mysql_passwd=$OPTARG

;;

P)

mysql_port=$OPTARG

;;

h)

mysql_host=$OPTARG

;;

*)

echo "USAGE: $0 -u user -p passwd -P port -h host"

exit 1

;;

esac

done

if[ -z $mysql_user ] || [ -z $mysql_passwd ] || [ -z $mysql_port ] || [ -z $mysql_host ]

then

echo "USAGE: $0 -u user -p passwd -P port -h host"

exit 1

fi

echo $mysql_user $mysql_passwd $mysql_port $mysql_host

#结果 root123 3306127.0.0.1

##################################

dialog 取值接值退出

outtmp=/tmp/outtmp

dialog –no-shadow –backtitle "hashlinux制作" –title "请选择" –ok-label "提交" –cancel-label "取消"

–menu "请选择" 10 60 0 /

1 "[目录]" /

q "[退出]" /

2> $outtmp

#判断提交取消

if[ $? == "1" ]

then

break

#continue

fi

#只判断退出

pt=`awk '{print}' $outtmp`

if[ $pt == q ]

then

break

fi

#判断操作

case $pt in

1)

#操作

;;

q)

exit #break

;;

esac

##################################

dialog 输入对话框加判断

while :

do

outtmp=/tmp/outtmp

dialog –title "hashlinux制作" –form "请输入" 20 60 10 "用户:" 1 2 "" 1 15 35 0 "ID:" 2 2 "" 2

15 35 0 "" 6 2 ""6 0 0 0 "输入格式如下" 7 2 "" 7 0 0 0 "说明" 8 2 "" 8 0 0

0 2> $outtmp

yh=`sed -n '1p' $outtmp`

id=`sed -n '2p' $outtmp`

ifecho $yh | grep -e '^[1-9][0-9]/{0,2/}' > /dev/null 2>&1

then

if echo $id | grep -e '^[1-9][0-9]/{0,12/}' > /dev/null 2>&1

then

break

else

echo "您输入的不合法,请从新输入!"

fi

else

echo "您输入的不合法,请从新输入!"

fi

done

##################################

打印表格

#!/bin/sh

clear

awk 'BEGIN{

print "+——————–+——————–+";

printf "|%-20s|%-20s|/n","Name","Number";

print "+——————–+——————–+";

}'

a=`grep "^[A-Z]" a.txt |sort +1 -n |awk '{print $1":"$2}'`

#cat a.txt |sort +1 -n |while read list

for list in $a

do

name=`echo $list |awk -F: '{print $1}'`

number=`echo $list |awk -F: '{print $2}'`

awk 'BEGIN{printf "|%-20s|%-20s|/n","'"$name"'","'"$number"'";

print "+——————–+——————–+";

}'

done

awk 'BEGIN{

print " *** The End *** "

print " "

}'

##################################

判断日期是否合法

#!/bin/sh

while read a

do

if echo$a | grep -q "-" && date -d $a +%Y%m%d > /dev/null 2>&1

then

if echo $a | grep -e '^[0-9]/{4/}-[01][0-9]-[0-3][0-9]$'

then

break

else

echo "您输入的日期不合法,请从新输入!"

fi

else

echo "您输入的日期不合法,请从新输入!"

fi

done

echo "日期为$a"

##################################

打印日期段所有日期

#!/bin/bash

qsrq=20010101

jsrq=20010227

n=0

>tmp

while :;do

current=$(date +%Y%m%d -d"$n day $qsrq")

if[[ $current == $jsrq ]];then

echo $current >>tmp;break

else

echo $current >>tmp

((n++))

fi

done

rq=`awk 'NR==1{print}' tmp`

##################################

打印提示

cat <<EOF

#内容

EOF

登陆远程执行命令(特殊符号需要/转义)

ssh root@ip << EOF

#执行命令

EOF

登陆 mysql 执行命令

mysql -uroot -ppasswd -S mysql.sock –default-character-set=gbk -A<<EOF>outtmp

#mysql 命令

EOF

##################################

数学计算的小算法

#!/bin/sh

A=1

B=1

while [ $A-le 10 ]

do

SUM=`expr $A/* $B`

echo "$SUM"

if[ $A= 10 ]

then

B=`expr $B + 1`

A=1

fi

A=`expr $A+ 1`

done

##################################

竖行转横行(三种)

cat file|tr '/n' ' '

echo $(cat file)

#!/bin/sh

for i in `cat file`

do

a=${a}""${i}

done

echo $a

##################################

取用户的根目录

#! /bin/bash

#showhome.sh

IFS=:

while read namepass uid gid gecos home shell

do

echo $home

done

执行./showhome.sh < /etc/passwd

##################################

把汉字转成 encode 格式:

echo 论坛 | tr -d "/n" | xxd -i | sed -e "s/0x/%/g" | tr-d " ,/n"

大写的:

echo 论坛 | tr -d "/n" | xxd -i | sed -e "s/0x/%/g" | tr-d " ,/n" | tr "[a-f]" "[A-F]"

##################################

把带有大写字母的文件名改为全部小写

#!/bin/bash

for fin *;do

mv $f `echo $f |tr "[A-Z]" "[a-z]"`

done

##################################

查找连续多行,在不连续的行前插入

#/bin/bash

lastrow=null

i=0

cat incl|while read line

do

i=`expr $i + 1`

ifecho "$lastrow" | grep "#include <[A-Z].h>"

then

if echo "$line" | grep -v "#include<[A-Z].h>"

then

sed -i ''$i'i/////Allheader files are include' incl

i=`expr $i + 1`

fi

fi

lastrow="$line"

done

##################################

====================================================================

———————————-

9 服务配置

———————————-

samba

修改配置文

/etc/samba/smb.conf

[global]

workgroup =WORKGROUP

server string = sambaserver

security=share

hosts allow=网络主机

[file]

comment=home directories

path=/etc/samba/hashlinux

public=yes

writable=yes

browseable=yes

重启

service smb restart

linux 访问 windows 共享

smbclient -L //ip 地址或计算机名

##################################

DNS 服务器

DNS 主配置文件,moon.com 域名,zone.moon.com 域的配置文件

vi /etc/named.conf

zone "moon.com" IN {

type master;

file "zone.moon.com";

allow-update { none; };

};

测试主配置文件

named-checkconf

新建域的配置文件 zone.moon.com

vi /var/named/chroot/var/named/zone.moon.com

$TTL 86400

@ IN SOA xs. quanzhou722.163.com. (

20102014

3H

15M

1W

1D

)

IN NS xs.

IN MX 5 mail.

www IN A 192.168.1.209

ftp IN A 192.168.1.209

mail IN A 192.168.1.209

测试 moon.com 域配置文件

named-checkzone moon.com /var/named/chroot/var/named/zone.moon.com

建立域配置文件的软连接

ln -s/var/named/chroot/var/named/zone.moon.com /var/named/zone.moon.com

重启 named 服务

service named restart

设置 DNS

vi /etc/resolv.conf

测试解析是否成功

host www.moon.com

nslookup www.moon.com

##################################

ftp 配置

查看 vsftp 是否安装

rpm -qa | grep vsftp

主配置文件

vi /etc/vsftpd/vsftpd.conf

启动 VSFTPD 服务

service vsftpd restart

查看 21 端口是否开放

netstat-atln |grep 21

1、匿名用户是否允许访问

anonymous_enable=YES

anon_mkdir_write_enable=YES

2、本地用户管理

local_enable=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list

将用户添加到 vsftpd.chroot_list 文件中允许访问

cat /etc/passwd |grep ":5[0-9][0-9]:" | awk -F : '{print $1}' > /etc/vsftpd.chroot_list

3、虚拟用户管理

(1)要用到文件数据库 db4

rpm -qa |grep db4

(2)将帐户放入文本:(奇数行)用户名 (偶数行)密码

vi zhanghu.dat

(3)生成帐户的文件数据库

db_load -T -t hash -fzhanghu.dat /etc/vsftpd/vsftpd_zhanghu.db

(4)修改文件数据库访问权限

chmod 600 /etc/vsftpd/vsftpd_zhanghu.db

(5)手工建立虚拟用户所需的 PAM 配置文件

vi /etc/pam.d/vsftpd.zhanghu

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_zhanghu

account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_zhanghu

(6)添加一个虚拟用户的入口帐户

useradd -d /var/ZhanDian -s /sbin/nologin XuNiRuKou

(7)在主配置文件中添加虚拟用户的配置内容

虚拟用户的新添加配置

chroot_local_user=YES

guest_enable=YES

guest_username=XuNiRuKou

pam_service_name=vsftpd.zhanghu

(8)在 vsftpd.conf 配置文件中指定用户配置文件的目录

user_config_dir=/etc/vsftpd/vsftpd_zhandian

(9)建立配置文件中指定用户配置文件的目录

mkdir /etc/vsftpd/vsftpd_zhandian

(10)因为入口帐户是一个本地帐户,所以要指定虚拟用户具有本地帐户的权限,才能读写 自

己空间中的文件

虚拟用户就可以就拥有写权限

virtual_use_local_privs=YES

(11)

touch /etc/vsftpd/vsftpd_zhandian/hashlinux

echo "local_root=/var/ZhanDian/hashlinux" >> /etc/vsftpd/vsftpd_zhandian/hashlinux

(12)

mkdir /var/ZhanDian/hashlinux

(13)

chown -R XuNiRuKou:XuNiRuKou /var/ZhanDian/

(14)重启服务

/etc/init.d/vsftpd restart

(15)客户端虚拟账号测试

建立用户脚本。最好在加上判断用户名是否存在

#!/bin/sh

echo 请输入用户名

read y

echo $y >> zhanghu.dat

echo 请输入密码

read m

echo $m >> zhanghu.dat

db_load -T -t hash -fzhanghu.dat /etc/vsftpd/vsftpd_zhanghu.db

chmod 600 /etc/vsftpd/vsftpd_zhanghu.db

touch /etc/vsftpd/vsftpd_zhandian/$y

echo "local_root=/var/ZhanDian/$y" >> /etc/vsftpd/vsftpd_zhandian/$y

mkdir /var/ZhanDian/$y

chown -R XuNiRuKou:XuNiRuKou /var/ZhanDian/$y

/etc/init.d/vsftpd restart

##################################

httpd 安装

tar zxvf httpd-2.2.12.tar.gz

cd httpd-2.2.12

./configure –prefix=/usr/local/httpd /

–enable-rewrite

make && make install

ls /usr/local/

groupadd www

useradd -g www-M -s /sbin/nologin www

cd /usr/local/httpd/

vi conf/httpd.conf

服务器开启在软件安装目录的 bin 中

./apachectl start

网页放在的 htdocs 中

开机启动

vi /etc/rc.d/rc.local

/usr/local/httpd/bin/apachectl start

如果启动提示

httpd: Could not reliably determine the server fully qualified domain name, using 127.0.0.1 for

ServerName

修改/etc/hosts 计算机名

在 httpd.conf 中开启

ServerName 127.0.0.1:80

编码设置

AddDefaultCharset UTF-8

AddDefaultCharset GB2312

##################################

mysql 源码安装

groupadd mysql

useradd mysql -g mysql -M -s /bin/false

tar zxvf mysql-5.0.22.tar.gz

cd mysql-5.0.22

./configure –prefix=/usr/local/mysql /

–with-client-ldflags=-all-static /

–with-mysqld-ldflags=-all-static /

–with-mysqld-user=mysql /

–with-extra-charsets=all /

–with-unix-socket-path=/var/tmp/mysql.sock

make && make install

生成 mysql 用户数据库和表文件,在安装包中输入。

scripts/mysql_install_db –user=mysql

vi ~/.bashrc

export PATH="$PATH: /usr/local/mysql/bin"

配置文件,有 large,medium,small 三个,根据机器性能选择

cp support-files/my-medium.cnf /etc/my.cnf

cp support-files/mysql.server /etc/init.d/mysqld

chmod 700 /etc/init.d/mysqld

cd /usr/local

chmod 750 mysql -R

chgrp mysql mysql -R

chown mysql mysql/var -R

cp /usr/local/mysql/libexec/mysqld mysqld.old

ln -s/usr/local/mysql/bin/mysql /sbin/mysql

ln -s/usr/local/mysql/bin/mysqladmin /sbin/mysqladmin

ln -s-f /usr/local/mysql/bin/mysqld_safe /etc/rc.d/rc3.d/S15mysql5

ln -s-f /usr/local/mysql/bin/mysqld_safe /etc/rc.d/rc0.d/K15mysql5

##################################

mysql rpm 安装

到 http://www.mysql.com/downloads/mysql 下载 mysql RPM(service 和 client) ,

MySQL-server-community-5.1.51-1.rhel5.i386.rpm 安装服务端

MySQL-client-community-5.1.51-1.rhel5.i386.rpm 安装客户端

MySQL-devel-community-5.1.51-1.rhel5.i386.rpm 用于 php 的 mysql 安装

rpm –ivh MySQL-server-community-5.1.51-1.rhel5.i386.rpm

rpm –ivh MySQL-client-community-5.1.51-1.rhel5.i386.rpm

rpm –ivh MySQL-devel-community-5.1.51-1.rhel5.i386.rpm

/etc/init.d/mysqld start

mysqladmin -u root password 'hashlinux'

mysql -u root -S /var/lib/mysql/mysql.sock -p

数据目录/var/lib/mysql

chkconfig –list |grep mysqld

chkconfig –level 3 mysqld on

配置文件(日志/pid)

/etc/my.cnf

ll /usr/bin/mysql*

##################################

mysql 常用命令

启动 mysql 服务

./mysql/bin/mysqld_safe –user=mysql &

登录 mysql 的命令

格式: mysql -h 主机地址 -u 用户名-p 用户密码

mysql -h210.110.110.110 -P3306 -uroot -p

mysql -uroot -p -S /data1/mysql5/data/mysql.sock -A –default-character-set=GBK

刷新

flush privileges;

显示所有数据库

show databases;

打开数据库

use dbname;

显示选中数据库中所有的表

show tables;

查看表结构

desc tables;

删除数据库

drop database name;

删除表

drop table name;

创建数据库

create database name;

mysqladmin -h myhost -u root -p create dbname

创建表

create table ka(ka_idvarchar(6),qianshu int);

插入字段

alter table name add column accountid(列名) int(11) NOT NULL(字段不为空);

不登陆 mysql 插入字段

mysql -uroot -p -S mysql.sock -e "use db;alter table gift add column accountid int(11) NOT

NULL;flush privileges;"

查询

select 列名称 from 表名称;

select host,user,password from user;

备份数据库

mysqldump -h host -u root -pdbname >dbname_backup.sql

mysqlhotcopy 只能备份 MyISAM 引擎

/bin/mysqlhotcopy -u root -p

还原数据库

mysql -h host -u root -pdbname < dbname_backup.sql

登陆 mysql 后还原 sql 文件

source 路径.sql

赋予查询权限(没有用户,直接创建)

grant select on db.* to log@"%" Identified by "123456";

赋予所有权限(没有用户,直接创建)

grant all privileges on db.* to log@"IP" identified by '123456' withgrant option;

更改密码

update user set password=password('新密码') where user='root'

mysqladmin -u root password 'hashlinux'

mysql 查看所有用户的语句

select user();

删除用户

delete from user where user='sss' andhost='localhost' ;

查看主从

show slave status/G;

查看主从复制进程

show processlist;

添加索引 解决停 mysql 速度慢

ALTER TABLE playerADD INDEX weekcredit_faction_index (weekcredit, faction);

创建主从复制用户

grant replication slave on *.* to '用户'@'%' identifiedby '密码';

备份表

mysqldump -u root -p -S mysql.sock –default-character-set=utf8 –hex-blob db table1 table1 >

/data/db.sql

查看系统的字符集和排序方式的设定

SHOW VARIABLES LIKE 'character_set_%';

查看 mysql 所有参数

show variables;

删除空用户

delete from user where user='';

创建表指定存储引擎的类型:

CREATE TABLE innodb (id int, titlechar(20)) ENGINE = INNODB

CREATE TABLE myisam (id int, title char(20)) ENGINE =MyISAM

改变现有的表使用的存储引擎:

ALTER TABLE mytable ENGINE = MyISAM

查询表引擎

SHOW TABLE STATUS from 数据库库名 where Name='表名';

SHOW TABLE STATUS from db where Name='innodb';

查看 mysql 变量

SHOW VARIABLES;

查询用户权限

select host,user,password from user;

查看表的引擎状态

show table status

##################################

gd 安装

分别安装组件 libxml、zlib、freetype、libpng、jpegsrc、gd

libxml2-2.6.24.tar.bz2

zlib-1.2.3.tar.gz

freetype-2.2.1.tar.gz

libpng-1.2.10.tar.gz

jpegsrc.v6b.tar.gz

gd-2.0.33.tar.gz

libxml安装

tar xzvf libxml2-2.6.24.tar.bz2

tar xvf libxml2-2.6.24.tar

cd libxml2-2.6.24

./configure

make

make install

zlib 安装

tar xzvf zlib-1.2.3.tar.gz

cd zlib-1.2.3

./configure

make

make install

freetype 安装

tar xzvf freetype-2.2.1.tar.gz

cd freetype-2.2.1

./configure –prefix=/usr/local/php/modules/freetype

make

make install

libpng 安装

tar xzvf libpng-1.2.10.tar.gz

cd libpng-1.2.10

./configure –prefix=/usr/local/php/modules/libpng

jpeg 安装

mkdir /usr/local/php/modules/jpeg6

mkdir /usr/local/php/modules/jpeg6/bin

mkdir /usr/local/php/modules/jpeg6/lib

mkdir /usr/local/php/modules/jpeg6/include

mkdir /usr/local/php/modules/jpeg6/man

mkdir /usr/local/php/modules/jpeg6/man/man1

一句创建

mkdir -pv /usr/local/jpeg/{,bin,lib,include,man/man1,man1}

tar zxvf jpegsrc.v6b.tar.gz

cd jpeg-6b/

./configure –prefix=/usr/local/php/modules/jpeg6 /

–enable-shared /

–enable-static

make

make install

gd 安装

tar zxvf gd-2.0.33.tar.gz

cd gd-2.0.33

./configure –prefix=/usr/local/gd2 /

–with-jpeg=/usr/local/php/modules/jpeg6 /

–with-png=/usr/local/php/modules/libpng /

–with-zlib /

–with-freetype=/usr/local/php/modules/freetype

修改 Makefile 文件 231 行,重复的第二个 freetype 改为 libpng

make

make install

php 安装

tar xvf php-5.1.6.tar

cd php-5.1.bz2.6

./configure –prefix=/usr/local/php /

–sysconfdir=/etc /

–with-apxs2=/usr/local/httpd/bin/apxs /

–with-config-file-path=/usr/local/php/lib /

–with-libxml-dir=/usr/local/libxml2 /

–with-zlib /

–with-jpeg-dir=/usr/local/php/modules/jpeg6 /

–with-freetype-dir=/usr/local/php/modules/freetype /

–with-gd=/usr/local/gd2 /

–with-openssl /

–with-regex=php /

–with-gnu-ld /

–with-tsrm-pthreads /

–with-bz2 /

–with-gettext /

–with-db4=/usr /

–enable-ftp /

–enable-bcmath /

–enable-dba /

–enable-sockets /

–enable-soap /

–enable-zend-multibyte /

–enable-mbstring /

–with-curlwrappers /

–with-curl=/usr/local/curl /

–with-pdo-mysql=/usr/local/mysql /

–with-mysql=/usr/local/mysql /

–with-mysqli=/usr/local/mysql/bin/mysql_config

make

make install

cp php.ini-recommended /usr/local/php/lib/php.ini

vi /usr/local/php/lib/php.ini

在 PHP.IN 添加

[eaccelerator]

extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so

eaccelerator.shm_size="32"

eaccelerator.cache_dir="/usr/local/cache/eaccelerator"

eaccelerator.enable="1"

eaccelerator.optimizer="1"

eaccelerator.check_mtime="1"

eaccelerator.debug="0"

eaccelerator.filter=""

eaccelerator.shm_max="0"

eaccelerator.shm_ttl="0"

eaccelerator.shm_prune_period="0"

eaccelerator.shm_only="0"

eaccelerator.compress="1"

eaccelerator.compress_level="9"

完成后在/usr/local/httpd/conf/httpd.conf 文件上添加如下一行:

AddType application/x-httpd-php .php .php5

ln -s/usr/local/php/bin/php /sbin/php

vi index.php

以上是“hashlinux常用命令有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

原创文章,作者:306829225,如若转载,请注明出处:https://blog.ytso.com/205591.html

(0)
上一篇 2021年11月29日
下一篇 2021年11月29日

相关推荐

发表回复

登录后才能评论