linux centos 命令大合集

作者: 淡蓝海域 分类: linux 发布时间: 2016-04-01 01:44

常用命令:

创建文件夹:mkdir 文件夹名字

创建二进制文件:touch  文件名

删除文件:rm -f  文件名

远程下载文件:wget [参数] [URL地址]

 

复制文件:cp [-adfilprsu] 源文件(source) 目标文件(destination)

  • -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
  • -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
  • -f:覆盖已经存在的目标文件而不给出提示。
  • -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答”y”时目标文件将被覆盖。
  • -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
  • -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
  • -l:不复制文件,只是生成链接文件。

查看端口进程:lsof -i :8080

结束进程:kill -9 进程ID

1.查看日志常用命令

tail:

-n 是显示行号;相当于nl命令;例子如下:

tail -100f test.log 实时监控100行日志

tail -n 10 test.log 查询日志尾部最后10行的日志;

tail -n +10 test.log 查询10行之后的所有日志;

head:

跟tail是相反的,tail是看后多少行日志;例子如下:

head -n 10 test.log 查询日志文件中的头10行日志;

head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;

cat:

tac是倒序查看,是cat单词反写;例子如下:

cat -n test.log |grep “debug” 查询关键字的日志

2. 应用场景一:按行号查看—过滤出关键字附近的日志

1)cat -n test.log |grep “debug” 得到关键日志的行号

2)cat -n test.log |tail -n +92|head -n 20 选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的日志:

tail -n +92表示查询92行之后的日志

head -n 20 则表示在前面的查询结果里再查前20条记录

3. 应用场景二:根据日期查询日志

sed -n ‘/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p’ test.log

特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效;

先 grep ‘2014-12-17 16:17:20’ test.log 来确定日志中是否有该 时间点

4.应用场景三:日志内容特别多,打印在屏幕上不方便查看

(1)使用more和less命令,

如: cat -n test.log |grep “debug” |more 这样就分页打印了,通过点击空格键翻页

(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析

如:cat -n test.log |grep “debug” >debug.txt

 

系统

# 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                # 查看所有安装的软件包

常用命令整理如下:
查看主板的序列号: dmidecode | grep -i ’serial number’

用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart)

查看CPU信息:cat /proc/cpuinfo [dmesg | grep -i ‘cpu’][dmidecode -t processor]

查看内存信息:cat /proc/meminfo [free -m][vmstat]

查看板卡信息:cat /proc/pci

查看显卡/声卡信息:lspci |grep -i ‘VGA’[dmesg | grep -i ‘VGA’]

查看网卡信息:dmesg | grep -i ‘eth’[cat /etc/sysconfig/hwconf | grep -i eth][lspci | grep -i ‘eth’]
<!–more–>
查看PCI信息:lspci (相比cat /proc/pci更直观)

查看USB设备:cat /proc/bus/usb/devices

查看键盘和鼠标:cat /proc/bus/input/devices

查看系统硬盘信息和使用情况:fdisk & disk – l & df

查看各设备的中断请求(IRQ):cat /proc/interrupts

查看系统体系结构:uname -a

查看及启动系统的32位或64位内核模式:isalist –v [isainfo –v][isainfo –b]

dmidecode查看硬件信息,包括bios、cpu、内存等信息

测定当前的显示器刷新频率:/usr/sbin/ffbconfig –rev \?

查看系统配置:/usr/platform/sun4u/sbin/prtdiag –v

查看当前系统中已经应用的补丁:showrev –p

显示当前的运行级别:who –rH

查看当前的bind版本信息:nslookup –class=chaos –q=txt version.bind

dmesg | more 查看硬件信息
lspci 显示外设信息, 如usb,网卡等信息
lsnod 查看已加载的驱动
lshw
psrinfo -v 查看当前处理器的类型和速度(主频)
prtconf -v 打印当前的OBP版本号
iostat –E 查看硬盘物理信息(vendor, RPM, Capacity)
prtvtoc /dev/rdsk/c0t0d0s 查看磁盘的几何参数和分区信息
df –F ufs –o i 显示已经使用和未使用的i-node数目
isalist –v

对于“/proc”中文件可使用文件查看命令浏览其内容,文件中包含系统特定信息:
Cpuinfo 主机CPU信息
Dma 主机DMA通道信息
Filesystems 文件系统信息
Interrupts 主机中断信息
Ioprots 主机I/O端口号信息
Meninfo 主机内存信息
Version Linux内存版本信息

备注: proc – process information pseudo-filesystem 进程信息伪装文件系统

 

查看Centos端口命令:
# netstat -lntp #查看监听(Listen)的端口
# netstat -antp #查看所有建立的TCP连接
其他关于查看服务器网络信息命令:
1、查看Linux系统主机名: Linux学习,http:// linux.it.net.cn
# hostname
localhost.localdomain
2、查看服务器IP地址:
# ifconfig|grep ‘inet addr:’|grep -v ‘127.0.0.1’|cut -d: -f2|awk ‘{ print $1}’
192.168.17.238
192.168.1.9
3、查看linux网关:
# route |grep default
default 192.168.1.1 0.0.0.0 UG 0 0 0 em1
4、查看linux打开服务:
# chkconfig –list|grep 启用 #查看开启的服务
sshd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
httpd 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:关闭 6:关闭
5、查看服务器DNS配置:
# cat /etc/resolv.conf
nameserver 192.168.0.66
nameserver 202.106.0.20
6、其他网络信息:
# iptables -L #查看防火墙规则
# route -n #查看路由表
# netstat -s #查看网络统计信息

7、杀掉进程

kill -9 1777        #杀掉编号为1777的进程(请根据实际情况输入)
service httpd start #启动apache

 

以下命令均在/home目录下操作
cd /home #进入/home目录

1、把/home目录下面的mydata目录压缩为mydata.zip
zip -r mydata.zip mydata #压缩mydata目录
2、把/home目录下面的mydata.zip解压到mydatabak目录里面
unzip mydata.zip -d mydatabak
3、把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip

zip -r abc123.zip abc 123.txt
4、把/home目录下面的wwwroot.zip直接解压到/home目录里面

unzip wwwroot.zip
5、把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面

unzip abc\*.zip
6、查看把/home目录下面的wwwroot.zip里面的内容

unzip -v wwwroot.zip
7、验证/home目录下面的wwwroot.zip是否完整

unzip -t wwwroot.zip
8、把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录

unzip -j wwwroot.zip
主要参数
-c:将解压缩的结果
-l:显示压缩文件内所包含的文件
-p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换
-t:检查压缩文件是否正确
-u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中
-v:执行是时显示详细的信息
-z:仅显示压缩文件的备注文字
-a:对文本文件进行必要的字符转换
-b:不要对文本文件进行字符转换
-C:压缩文件中的文件名称区分大小写
-j:不处理压缩文件中原有的目录路径
-L:将压缩文件中的全部文件名改为小写
-M:将输出结果送到more程序处理
-n:解压缩时不要覆盖原有的文件
-o:不必先询问用户,unzip执行后覆盖原有文件
-P<密码>:使用zip的密码选项
-q:执行时不显示任何信息
-s:将文件名中的空白字符转换为底线字符
-V:保留VMS的文件版本信息
-X:解压缩时同时回存文件原来的UID/GID

centos下mysql数据库安装、创建库和表,备份还原

一、创建运行MySQL数据库的系统用户、组。

[root@beyond ~]# useradd -M -s /sbin/nologin mysql

解压并释放源代码:

[root@beyond mnt]# tar zxvf mysql-5.0.56.tar.gz -C /usr/src/

要是配置编译不了,就配置yum源

安装下面的软件;

[root@beyond mysql-5.0.56]# yum install *vim*

[root@beyond mysql-5.0.56]# yum install -y *termcap*

配置编译;

[root@beyond mysql-5.0.56]# ./configure –prefix=/usr/local/apache2

Remember to check the platform specific part of the reference manual for

hints about installing MySQL on your platform. Also have a look at the

files in the Docs directory.

Thank you for choosing MySQL!

编译并安装;

[root@beyond mysql-5.0.56]# make && make install

2.建立配置文件;

[root@beyond mysql-5.0.56]# cp support-files/my-medium.cnf /etc/my.cnf

初始化数据库;

[root@beyond mysql-5.0.56]# /usr/local/mysql/bin/mysql_install_db –user=mysql

修改相关目录的所有权,以便mysql用户可以读写数据库。

[root@beyond mysql-5.0.56]# chown -R root.mysql /usr/local/mysql/

[root@beyond mysql-5.0.56]# chown -R mysql /usr/local/mysql/

调整lib库路径:

[root@beyond mysql-5.0.56]# echo “/usr/local/mysql/lib/mysql” >> /etc/ld.so.conf

刷新库文件搜索路径,使修改生效

[root@beyond mysql-5.0.56]# ldconfig

MySQL启动控制;

[root@beyond mysql-5.0.56]# /usr/local/mysql/bin/mysqld_safe –user=mysql &

[root@beyond mysql-5.0.56]# netstat -ntpl | grep 3306

tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      23437/mysqld

将mysqld添加为系统服务;

[root@beyond mysql-5.0.56]# cp support-files/mysql.server /etc/init.d/mysqld

[root@beyond mysql-5.0.56]# chmod +x /etc/init.d/mysqld

[root@beyond mysql-5.0.56]# chkconfig –add mysqld

[root@beyond mysql-5.0.56]# chkconfig mysqld on

设置MySQL程序的执行路径;

[root@beyond mysql-5.0.56]# export PATH=$PATH:/usr/local/mysql/bin/

[root@beyond mysql-5.0.56]# echo “PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile

数据库的基本管理,登录及退出MySQL环境

[root@beyond ~]# mysql -u root

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.0.56-log Source distribution  退出;exit

 

mysql>

设置root用户的mysql数据库密码;

[root@beyond ~]# mysqladmin -u root password “123.com”

[root@beyond ~]# mysql -u root -p

Enter password:

数据库结构,

//查询数据库的命令:

mysql> SHOW DATABASES;

+——————–+

| Database           |

+——————–+

| information_schema |

| mysql              |

| test               |

+——————–+

3 rows in set (0.00 sec)

 

查询数据库中的数据表;

mysql> USE mysql;

Database changed

mysql> SHOW TABLES;

+—————————+

| Tables_in_mysql           |

+—————————+

| columns_priv              |

| db                        |

| func                      |

| help_category             |

| help_keyword              |

| help_relation             |

| help_topic                |

| host                      |

| proc                      |

| procs_priv                |

| tables_priv               |

| time_zone                 |

| time_zone_leap_second     |

| time_zone_name            |

| time_zone_transition      |

| time_zone_transition_type |

| user                      |

+—————————+

17 rows in set (0.00 sec)

数据库的创建和删除;

mysql> CREATE DATABASE beyond;

Query OK, 1 row affected (0.00 sec)

mysql> SHOW DATABASES;

+——————–+

| Database           |

+——————–+

| information_schema |

| beyond             |

| mysql              |

| test               |

+——————–+

4 rows in set (0.00 sec)

删除数据库;

mysql> DROP DATABASE taotao;

Query OK, 0 rows affected (0.00 sec)

创建和删除数据表;

mysql> CREATE TABLE songs (songs_name CHAR(30) NOT NULL, songs_passwd CHAR(20) NOT NULL DEFAULT ‘123.com’,PRIMARY KEY (songs_name));

Query OK, 0 rows affected (0.02 sec)

插入新的数据记录;

mysql> INSERT INTO auth.users(user_name,user_passwd) VALUES(‘huangjiajv’,ENCRYPT(‘123456’));

Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO auth.users(user_name,user_passwd) VALUES(‘huangguanzhong’,ENCRYPT(‘com.123’));

Query OK, 1 row affected (0.00 sec)

修改数据表信息;

mysql> UPDATE auth.users SET user_passwd=ENCRYPT(‘123.com’) WHERE user_name=’taotao’;

Query OK, 0 rows affected (0.00 sec)

Rows matched: 0  Changed: 0  Warnings: 0

数据库的备份和恢复;

[root@www ~]# mysqldump -u root -p auth > mysql-auth.sql

Enter password:

[root@www ~]# ll mysql-auth.sql

-rw-r–r– 1 root root 1863 Dec 30 01:01 mysql-auth.sql     //备份数据库;

删除数据库auth;

mysql> USE mysql;

Database changed

mysql> DROP DATABASE auth;

Query OK, 1 row affected (0.01 sec)

查看一下是否删除;

mysql> SHOW DATABASES;

+——————–+

| Database           |

+——————–+

| information_schema |

| beyond             |

| mysql              |

| test               |

+——————–+

4 rows in set (0.00 sec)

[root@www ~]# mysql -u root -p auth < mysql-auth.sql

Enter password:

[root@www ~]# mysqldump -u root -p beyond > /usr/src/mysql-beyond.sql

Enter password:

[root@www ~]# ll /usr/src/mysql-beyond.sql

-rw-r–r– 1 root root 1775 Dec 30 02:00 /usr/src/mysql-beyond.sql

[root@www ~]# mysql -u root -p beyond < /usr/src/mysql-beyond.sql

Enter password:

[root@www ~]#

备份某个数据库中的某个表;

[root@www ~]# mysqldump -u root -p mysql host user > mysql.host-user.sql

Enter password:

[root@www ~]#

 

 

刚装了mysql

sudo apt-get install mysql

安装成功了,安装最后要求输入了密码,也输入了,OK

mysql -uroot -p

输入设置的密码

竟然报错了!

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YSE)

问朋友,他说初始密码是空的,可我命名设置了密码的阿。

密码留空

还是错误!

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)

于是重改密码!

#sudo /etc/init.d/mysql stop

# mysqld_safe –user=mysql –skip-grant-tables –skip-networking &

# mysql -u root mysql

mysql> UPDATE user SET Password=PASSWORD(‘newpassword’) where USER=’root’;

mysql> FLUSH PRIVILEGES;

mysql> quit

# /etc/init.d/mysql restart

# mysql -u root -p

Enter password:

mysql>

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论