常用的linux命令

查看统计当前目录下文件的个数,包括子目录里的:ls -lR| grep "^-" | wc -l


数据盘挂接:mount /dev/xvdb1 /mydata  其中的mydata 即为数据盘xvdb1要挂接到的文件夹


df [目录名]  查看该目录所属分区


查找:find / -name [目录或文件名]

进入:cd / 返回根目录 cd ../ 返回上一级

查看当前目录的所有文件夹或文件: ls -all

whereis+安装名称。就可以搜索到位置

例如:

whereis httpd


查看文件最后几行

tail -n 10 a.log


当一个目录文件太多的时候 rm命令删除失败 解决办法

ls | xargs -n 10 rm -fr ls


----------------------------------【添加vsftp账号】----------------------------------------

添加用户:useradd -d /alidata/www/bbs -s /sbin/nologin bbs

解释:/alidata/www/bbs 为ftp根目录 

bbs 为ftp账号名


删除用户  userdel [用户名]


修改用户密码:

passwd 用户名

回车之后 输入新密码


重启ftp 服务

service vsftpd restart


#500 OOPS: vsftpd: refusing to run with writable root inside chroot()

解决办法(去掉ftp根目录的写权限):chmod a-w [ftp根目录]


----------------------------------【文件或文件夹操作】-------------------------------------

删除目录:rm -rf [目录名字或文件名]

保留web.zip 不删除:rm -rf !(web.zip)

移动:

mv ./ely/* ./d.elvyo.com/

./ 是当前目录

../ 是上一级目录

创建文件夹:mkdir [文件夹路径]

复制:cp data3.txt /tmp/data

复制:cp -r /ww/* /usr/  把www下的所有文件 复制到usr下 -r递归拷贝子目录


设置文件夹属性

chmod -R 777 文件夹


远程拷贝: scp -rP [端口] [文件] [账号]@[IP]:[文件目录]


scp -rP 22 root@114.55.144.43:/root/43.zip /root/


拷贝目录的时候加上r


创建空白文件:touch [文件名]


编辑文件:

vi 文件路径

然后点击i进入编辑状态 点击esc 退出编辑状态 

dd 删除一行

输入:wq 保存并退出

:q! 退出不保存


在当前文件中查找字符串 

1、命令模式下输入"/字符串",例如"/Section 3"。


2、如果查找下一个,按"n"即可。



删除中文名乱码的文件:

1. ls -i 列出文件的节点ID, 如: 123456789 


2. find ./ -inum 123456789 -print -exec rm -rf {} \; 


批量删除: for n in 123456789 987654321;do find . -inum $n -exec rm -f {} \;


文件太多 无法删除的时候 使用下面命令删除

ls | xargs -n 10 rm -fr ls


----------------------------------【重启】------------------------------------------------

重启网络:service network restart

立刻重启服务器(root用户使用)

shutdown -r now

重启服务器:sudo reboot

重启apache: service httpd restrat

重启mysql:service mysql restart

重启nginx:service nginx restart


/etc/init.d/nginx restart


/etc/init.d/mysqld restart


/etc/init.d/php-fpm restart


/etc/init.d/vsftpd restart


平滑重启: nginx -s reload


--------------------------【远程获取文件】------------------------------------------------

wget http://dl.wdlinux.cn:5180/lanmp_laster.tar.gz


在线解压命令:

解压zip:upzip [解压文件名包括路径] -d [解压到的目录]


解压tar:tar zxvf [文件]


解压gz:gzip -d [文件]   这种方法不保留压缩包

保留源文件:gzip –c filename > filename.gz


压缩命令:

tar压缩

tar -rf bbs.tar ./*

表示把当前目录下的所有文件 打包成 bbs.tar


zip压缩

zip -r myfile.zip ./*

将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.

进行压缩,但不要test目录下的所有文件(包含data目录)

 zip -r yasuo.zip * -x "test/*"


------------------------------【mysql数据库】--------------------------------------------

/www/wdlinux/mysql-5.1.69/bin/mysql -u root -p

-u 后面的是用户名 -p 后面的是密码


输入SQL语句之后 记得以分号结束一行


输入quit 退出mysql命令行


查看索引:show index from ts_shop;


备份mysql数据库:

mysqldump -h[主机IP] -u[用户名] -p[密码] [数据库名] > [保存路径]

mysqldump -uroot -hlocalhost -pd3001mysql123 db_mysql > /www/web/daxiutai/db_mysql.sql


查看mysql 运行状态:

show status;


修改root密码:

mysql -u root

mysql> use mysql;

mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

mysql> FLUSH PRIVILEGES;


日志文件路径

mysql> show variables like 'general_log_file';


错误日志文件路径

mysql> show variables like 'log_error';


慢查询日志文件路径

mysql> show variables like 'slow_query_log_file';


查看日志:

mysqlbinlog mail-bin.000001


show processlist 查看mysql进程是否锁死

-----------------------------【其他】------------------------------------------------------

shell脚本编写:

先创建一个空白文件 后缀为.sh

然后vi 编辑这个文件

编辑的时候 文件第一行 为 #!/bin/sh 

然后 其他脚本

然后保存 

然后修改 文件权限 可执行权限 chmod +x [文件名]

新建空白文件 记得点击 i 进入编辑模式


top 查看服务器负载


查看大文件的部分代码:more [文件名]


du -sh * 

du -sh [文件名]

查看文件字节大小


查看系统IO命令: iostat


查看硬盘使用情况:df -l



安装软件:

apt-get install unzip


卸载软件:

aptitude remove unzip


rpm包安装的 查看所有已安装:rpm -qa

deb包安装的 查看所有已安装:dpkg -l

yum方法安装的 :yum list installed

查看某个软件是否安装 dpkg -l | grep [软件名]


看内存,就是一条命令 

free -m


查看磁盘 fdisk -l


查看服务器端口

netstat -tunpl


ps -aux 查看所有进程

杀死进程:kill -9 [进程pid]


uptime 查看系统负载 已经运行的时间


ctrl+c 退出top命令

ctrl+z 退出more


清除编译:make clean


ps -ef|grep LOCAL=NO|grep -v grep|cut -c 9-15|xargs kill -9

运行这条命令将会杀掉所有含有关键字”LOCAL=NO”的进程,是不是很方便?