linux centos 命令大合集
常用命令:
创建文件夹: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>