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密钥设置:
[root@test ~]$ 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
*************************************