天天看点

LINUX常见命令集锦

linux下编程中,在数据库初始化后执行该命令标识把该数据库设置为默认字体latin1;

mysql_query(&g_mysqlLog,"SET NAMES 'latin1';");

#define _FILE_OFFSET_BITS 64  //linux下定义文件大小,默认是2G,防止文件过大导致无法传输,无须放在头文件里,需放在调用函数获取文件大小的文件中。

****************************| vi command |*********************************

定位:

 文档头: gg

 文档尾: G

 行  首: ^

 行  尾: $

 n   行: n+G

 向后跳单词: w

 向前跳单词: b

 向上翻页: b

 向下翻页: f

块操作:

 删除行: dd

 删除字母: x

 删除单词: dw

 删除到行尾: d$

 删除到行首: d^

 删除到文件头: dgg

 删除到文件尾: dG

 复制一行: yy

 向下复制N行: yny

 粘贴:  p

 撤销操作: u

查找,替换:

 替换单个字母: r

 查找单词: /单词

 查找下一个: n

 查找上一个: N

 全部替换: %s/单词/新单词

常用命令:

 存盘:  w

 退出:  q

 存盘退出: wq

 强制退出: q!

 指定文件名: file 文件名

 进入帮助: h

查检进程是否已经运行:

ps -e |grep net-ward |wc -l

查看DNS

cat /etc/resolv.conf

加入自动运行的程序脚本文件

cat /etc/rc.d/rc.local

文件交换系统环境重装后不能连接外网ssh 10.0.1.11

到外网执行命令:echo "ABA" > /dev/ttyS1可以通了

第一,配置和修改网卡IP

第二,停止和启动网闸所有服务   停止网闸命令:iptables -t PROUTING --dport ! 443 161 --j DROP

/srv/network-script/

/etc/init.d/network restart

/etc/rc.d/init.d/network restart 网闸重启网络

DNS目录:

cat /etc/resolv.conf

tcpdump网闸抓包命令

tcpdump -i eth0 -enn host IP地址

tcpdump -i lo -enn port 56000 -s 0 -w tt.cap抓包写到指定文件

数据库:

mysql下:

 /etc/rc.d/init.d/mysql start开启数据库

 show databases;显示所有数据库

 use netstat_log;使用那个数据库

 show tables;显示数据库下的所有表

 repair table netward;修复表

 exit退出数据库

//linux与windows共享目录

mount -t cifs -o username=administrator,password=qinbaics123. //10.0.0.72/Project /mnt/smb

username:登录用户名

password:登录windows密码

后面紧跟windows的本机IP下的目录 最后是挂载目录

卸载目录时命令:umonut /mnt/smb

ip route ls table main_t查看路由表中路由规则

dd if=/dev/sdb of=/dev/sdx 拷贝硬盘命令

tar 打包命令

tar -cjvf *.tar.gz 文件或者目录名

tar -xvf Filename.tar解包

tar -cvf Filename.tar DirName 打包

tar -zxvf Filename.tar.gz解包

tar -zcvf Filename.tar.gz DirName打包

tar -jxvf Filename.tar.bz2解包

tar -jcvf Filename.tar.bz2 DirName打包

tar -jxvf Filename.tar.bz解包

添加网卡地址

ip address add 94.4.19.18/24 brd + dev eth0

ip address del 94.4.19.18/24 dev eth0

ip route add default via 94.4.19.254 dev eth*

ip route delete default via 94.4.19.254 dev eth* 删除路由

****************************| Linux command |*********************************

常用命令:

 locale   \\查看当前系统语言编码 加[-a]可查看语言编码库 

 passwd   \\修改密码

 useradd   \\创建用户

 passwd 用户名  \\修改用户密码

 who am i  \\查看当前用户

 ls 或 ls -l  \\查看当前目录文件信息

 touch 文件名  \\创建文件或更新文件信息

 touch *   \\更新当前目录下所有文件信息

 uname -r  \\查看Linux版本

 du * -sh  \\查看当前目录大小

 du -sh   \\查看当前目录下所有文件包括所有文件夹下的文件大小

 df   \\查看当前分区

 df -h   \\查看当前已挂接的磁盘

 mkfs(+Tab)   \\查看格式化形式

 pwd   \\查看当前目录

 ls ~   \\查看主目录的信息

 set   \\查看所有的环境变量

 env   \\查看可导出的环境变量

 echo ${变量名}  \\查看变量,{}可以省略

 变量名=value  \\定义一个变量

 export 变量名=value \\定义一个可导出的环境变量

 unset 变量名  \\取消设置的变量

 hash -r   \\刷新缓存

 lsof -i                 \\查看哪个程序使用了哪个端口

 chmod u/g/o/a 文件名 \\修改用户权限,u:用户 g:用户组 o:其他用户 a:所有用户

 chown   \\修改文件归属用户

 chgrp   \\修改文件归属用户组

 cat   \\接收输入,并标准输出

 more   \\接收输入,并标准分屏输出

 wc   \\查看文件有多少行

 grep 关键字 文件名 -n \\查找文件的内容

 find 目录 -name '*.c' -o -name '*.h' | more \\查找目录下 所有.c .h 的文件

 find 目录 -name '*.[ch]'   \\作用同上

 locate 文件名  \\全文查找 (根据索引查找)

 updatedb  \\刷新索引数据库

 ps 或 ps aux  \\查看进程

 top   \\详细信息查看进程,d或s命令可以修改刷新时间

 kill 进程id  \\杀进程

 hexdump -C 文件名 -n 512 \\以16进制查看文件,-n 512 表示查看前512个字节

 unixdos 文件名   \\将unix的文件转为windows下文件

 dos2unix 文件名   \\将windows文件转为unix下的文件

 ifconfig   \\查看ip信息

 ifconfig eth0 IP  \\修改ip

 ifcfg-eth0   \\修改ip配置文件

        free -m                         \\查看内存

        ll -h /proc/kcore               \\查看内存实际总量

 #!/bin/sh   \\正规脚本文件格式(文件名为*.sh)

 mkdir -p 目录                   \\如果目录不存在就创建

tar:

 tar cvf aaa.ta aaa  \\把文件aaa打包为aaa.ta,f表示详细信息

 tar xvf aaa.ta   \\解包

 tar cvzf aaa.tgz aaa  \\把文件aaa打包并压缩为aaa.tgz

 tar xvzf aaa.tgz  \\解压包

 tar cfvj aaa.tar.bz2 aaa \\把文件aaa打包并压缩为aaa.tar.bz2

 tar xfvj aaa.tar.bz2  \\解压.tar.bz2

关机:

 shutdown -h now   \\立即关机

 shutdown -h 12:00  \\12:00 关机

 shutdown -r   \\重启

 reboot    \\重启

rpm:

 rpm -ivh 文件名   \\安装文件

 rpm -e 文件名   \\卸载文件

 rpm -qa    \\查看已安装文件

磁盘挂接:

        df -h           \\查看当前已挂接的磁盘

 mount /dev/sdb /mnt  \\挂接光盘到mnt目录下

 mount /dev/sdb1 /mnt  \\挂接U盘到mnt目录下

 umount 目录   \\取消挂接

smb:

 1)setup->system service ->smb \\空格键选择,开机自动启动smb服务

 2)cat/etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd \\创建配置文件

 3)smbpasswd   \\设置密码

 4)service smb restart  \\刷新服务

内核: 

 insmod 内核名  \\安装内核

 rmmod 内核名  \\卸载内核 

 lsmod   \\查看已有内核文件,/sys/moudle 目录下都是已经安装的内核

 modinfo 内核文件文件名 \\查看编译好的内核文件摘要信息,

 内核文件目录下的refcnt \\记录的是内核文件被引用的次数,当数值大于0时不可别卸载

设置网关:   ip route add default via 94.4.19.254 dev eth0

查看系统运行日志:tail -f /var/log/messages

附录:

        修改ip:   ifconfig eth0 xxx.xxx.xxx.xx

        保存下次重起有效需修改配置文件: ifcfg-eth0

        也可能是 /srv/network-devices/ifconfig.eth0/ipv4

 修改vimrc文件,修改或插入: set tabstop=4  \\使得Tab的空格键数为4

 修改/etc/inittab文件:  id:3:initdefault \\修改启动模式,3:字符界面 5:图形界面

 修改/etc/profile                PATH=$PATH:.            \\修改PATH

 修改/etc/profile 和bashrc ps1='\w\$'  \\设置命令行显示方式

     /d :代表日期,格式为weekday month date,例如:"Mon Aug 1"

         /H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux

     /h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略

     /t :显示时间为24小时格式,如:HH:MM:SS

     /T :显示时间为12小时格式

     /A :显示时间为24小时格式:HH:MM

     /u :当前用户的账号名称

     /v :BASH的版本信息

     /w :完整的工作目录名称。家目录会以 ~代替

     /W :利用basename取得工作目录名称,所以只会列出最后一个目录

     /# :下达的第几个命令

     /$ :提示字符,假如是root时,提示符为:# ,普通用户则为:$

        修改/etc/rc.d/init.d/network    \\修改arp

开机自动生效:

        1. 修改内核开启最大文件描述符     echo 22158 > /proc/sys/fs/file-max

        2. 修改FD_SETSIZE : /usr/include/bits/typesizes.h  

           #define __FD_SETSIZE            10240

        3. 修改当前用户的进程最多可以打开的文件数(包扩,sock连接)。

             第一步,修改/etc/security/limits.conf文件,在文件中添加如下行:

*                soft    nofile          4096

*                hard    nofile          4096

             第二步,修改/etc/pam.d/login文件,在文件中添加如下行:

             session required /lib/security/pam_limits.so

             第三步,查看Linux系统级的最大打开文件数限制,使用如下命令:

             cat /proc/sys/fs/file-max

               如果重启后用ulimit-n命令查看用户可打开文件数限制仍然低于上述步骤中设置的最大值,这可能是因为在用户登录脚                      本/etc/profile中使用ulimit-n命令已经将用户可同时打开的文件数做了限制。

        3. 修改临时端口范围。

             第一步,修改/etc/sysctl.conf文件,在文件中添加如下行:

                net.ipv4.ip_local_port_range = 1024 65535

             第二步,执行sysctl命令:sysctl -p

             查看是否生效:cat /proc/sys/net/ipv4/ip_local_port_range

        4. 修改Linux网络内核的IP_TABLE防火墙对最大跟踪的TCP连接数限制。

           第一步,修改/etc/sysctl.conf文件,在文件中添加如下行:

               net.ipv4.ip_conntrack_max = 10240

               此限制值要尽量小,以节省对内核内存的占用。

           第二步,执行sysctl命令:sysctl -p

           查看利谱网闸此参数:cat /proc/sys/net/nf_conntrack_max

        5. 修改sock最大连接并发数SOMAXCONN(尚未证实有效): echo "1024" > /proc/sys/net/core/somaxconn

ssh密钥设置:

[[email protected] ~]$ ssh-keygen -t rsa

生成的过程中提示输入密钥对保存位置,直接回车,接受默认值就行了。

接着会提示输入一个不同于你的password的密码,直接回车,让它空着。

其中公共密钥保存在 ~/.ssh/id_rsa.pub

私有密钥保存在 ~/.ssh/id_rsa

然后改一下 .ssh 目录的权限,使用命令 "chmod 755 ~/.ssh"

之后把这个密钥对中的公共密钥复制到你要访问的机器上去,并保存为

~/.ssh/authorized_keys

服务器上的一些统计数据:

1.统计80端口连接数: netstat -nat|grep -i "80"|wc -l

2.统计httpd协议连接数: ps -ef|grep httpd|wc -l

3.统计已连接上的,状态为"established": netstat -na|grep ESTABLISHED|wc -l

查看端口被什么程序占用: lsof -Pnl +M -i4

****************************************

设置Linux的时钟

1.查看系统时钟的操作:date

设置系统时钟的操作:date 091713272003.30

通用的设置格式:date 月日时分年.秒

2.使用hwclock或clock命令查看和设置硬件时钟

查看硬件时钟的操作:hwclock --show 或 clock --show

设置硬件时钟的操作:hwclock --set --date="09/17/2003 13:26:00"

或者 clock --set --date="09/17/2003 13:26:00"

通用的设置格式:hwclock/clock --set --date=“月/日/年 时:分:秒”。

保持系统时间与硬件时钟同步命令:clock --hctosys

date -s "2011-10-26 09:41:10"

时间设定成2009年5月10日的命令如下:

#date -s 05/10/2009

修改时间:

将系统时间设定成上午10点18分0秒的命令如下。

#date -s 10:18:00

3.同步系统时钟和硬件时钟

Linux系统(笔者使用的是Red Hat 8.0,其它系统没有做过实验)默认重启后,硬件时钟和系统时钟同步。如果不大方便重新启动的话(服务器通常很少重启),使用clock或hwclock命令来同步系统时钟和硬件时钟。

硬件时钟与系统时钟同步: hwclock --hctosys 或者 clock --hctosys

系统时钟和硬件时钟同步: hwclock --systohc 或者 clock --systohc

Redhat Linux 查看cpu、memory 等命令

查看系统内核版本:

# uname -a

查看系统版本:

# more /etc/redhat-release

查看内核版本gcc版本

# more /proc/version

查看cpu 信息

# grep “model name” /proc/cpuinfo

# more /proc/cpuinfo

查看cpu 的位数

# getconf LONG_BIT

查看内存信息

# more /proc/meminfo

*************************************