hashlinux常用命令有哪些
这篇文章主要介绍hashlinux常用命令有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
成都创新互联公司成立与2013年,是专业互联网技术服务公司,拥有项目做网站、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元巴林左旗做网站,已为上家服务,为巴林左旗各地企业和个人服务,联系电话:18980820575
----------------------------------
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 下载地址
/upload/otherpic54/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 登陆远程执行命令(特殊符号需要\转义) ssh root@ip << EOF #执行命令 EOF 登陆 mysql 执行命令 mysql -uroot -ppasswd -S mysql.sock --default-character-set=gbk -A< #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常用命令有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!
当前标题:hashlinux常用命令有哪些
分享链接:http://pwwzsj.com/article/gipodi.html