计算机数值存储方式:
一、在计算机系统中,数值一概用补码来表示(存储)。
主要缘由:使用补码,能够将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补
码表示的数相加时,若是最高位(符号位)有进位,则进位被舍弃。
二、补码与原码的转换过程几乎是相同的。
数值的补码表示也分两种状况:
(1)正数的补码:与原码相同。
例如,+9的补码是00001001。
(2)负数的补码:符号位为1,其他位为该数绝对值的原码按位取反;而后整个数加1。
例如,-7的补码:由于是负数,则符号位为“1”,整个为10000111;其他7位为-7的绝对值+7的原码
0000111按位取反为1111000;再加1,因此-7的补码是11111001。html
2012-06-04
1:linux 查找文件命令:find / -name "AdminUser.class"java
2:若是数据库由于断电等缘由启动不起来,可使用命令 start force
(1)启动oracle步骤,分两步,(1)启动监听.(2)启动oracle
@1:su - oracle --切换oracle用户
@2:lsnrctl start --“打开监听”
@3:sqlplus /nolog --进入到sqlplus
@4: conn /as sysdba --链接到sysdba
@5:startup --启动数据库实例
@6:shutdown immediate --关闭数据库实例
recover database;恢复数据库node
(2).用dbstart和dbshut启动和关闭数据库实例
先启动监听 lsnrctl start
启动实例 dbstart
使用dbstart命令启动数据库比较方便,可是在linux上安装好oracle以后,第一次使用dbstart命令可能会报以下错误:
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
Usage: /u01/app/oracle/oracle/product/10.2.0/db_1/bin/dbstart ORACLE_HOME
dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题,分别打开两个文件找到:用vi编辑dbstart,ORACLE_HOME_LISTNER=$1,修改成
ORACLE_HOME_LISTNER=$ORACLE_HOME
后保存退出,此时再运行dbstart,已经不报错了,可是没有任何反应,ps一下进程,没有oracle的进程,说明oracle实例没有正常启动。
此时的缘由是在/etc/oratab的设置问题,咱们vi一下,发现zgz:/home/oracle/product/10g:N
最后设置的是"N"(个人环境中只有一个实例,所以只有一行配置语句),咱们须要把“N”修改成“Y”。
以上的工做作好以后,dbstart就能够正常使用了:
@1:lsnrctl start --启动监听
@2:dbstart --启动数据库实例
@3: dbshut --关闭数据库实例
@4: lsnrctl stop --关闭监听
(3):如何使数据库实例和linux系统一块儿启动
在/etc/rc.d/rc.local中加入以下语句便可实现同系统启动实例:
su - oracle -c "lsnrctl start"
su - oracle -c "dbstart"
3:linux vi 进行撤销 按u键
dd 删除一行
l+10 --向右移动10个字符
0 --移动行头
$ --移到行尾
4:oracle 启动报错问题
ORA-09817: Write to audit file failed 的解决
今天在进行awr报表导出时,用sys as sysdba 登陆,不能connect,报ORA-09817: Write to audit file failed 错误,是系统空
间不足的报警。df -lh 查看空间使用,已经用到了100%,而后删除trace文件,tracle文件路径:/opt/oracle/admin/sid_name/
udump。trace文件为对后台跟踪信息,在后台生成的跟踪文件记录,能够删除
在我本地用的路径是 cd /home/oracle/admin/radius/udump 把这个路径下的全部
@一、su - oracle
cd $ORACLE_HOME/bin
./sqlplue /nolog
conn sys as coll
pass
@二、df -lh
@3:cd /opt/oracle/admin/sid_name/udump
rm -f *.trc
(在我本地用的路径是 cd /home/oracle/admin/radius/udump 把这个路径下的全部trc后缀的文件都删掉)
5:Linux下查看文件和文件夹大小的df和du命令
当磁盘大小超过标准时会有报警提示,这时若是掌握df和du命令是很是明智的选择
df -h能够查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
df -i 能够看到Inode节点已经满了。
du能够查看文件及文件夹的大小。
二者配合使用,很是有效。好比用df查看哪一个一级目录过大,而后用df查看文件夹或文件的大小,如此即可迅速肯定症结。
参考网站 http://www.zeali.net/entry/480
du:查询文件或文件夹的磁盘使用空间python
若是当前目录下文件和文件夹不少,使用不带参数du的命令,能够循环列出全部文件和文件夹所使用的空间。这对查看到底是那个地方过大是不利的,
因此得指定深刻目录的层数,参数:--max-depth=,这是个极为有用的参数!以下,注意使用“*”,能够获得文件的使用空间大小.
提醒:一贯命令比linux复杂的FreeBSD,它的du命令指定深刻目录的层数倒是比linux简化,为 -d。
清空linux操做记录 cat /dev/null >/root/.bash_history
du 统计文件大小相加
df 统计数据块使用状况
fdisk -l 查看硬盘
若是有一个进程在打开一个大文件的时候,这个大文件直接被rm 或者mv掉,则du会更新统计数值,
df不会更新统计数值,仍是认为空间没有释放。直到这个打开大文件的进程被Kill掉。linux
如此一来在按期删除 /var/spool/clientmqueue下面的文件时,若是没有杀掉其进程,那么空间一直没有释放。nginx
使用下面的命令杀掉进程以后,系统恢复。
fuser -u /var/spool/clientmqueue
(调试192.168.1.197是因为文件夹下产生大量文件,占满硬盘空间)
du -h --max-depth=1 /home/oracle/app/oracle/product/10g/dbs
rm -rf *
http://hi.baidu.com/lanbo0829/item/6cfa92d51ba916826dce3f12
2012-06-06
1: linux secure 工具导入导出命令
导入 rz 导出 sz
2012-06-11
1:sql developer 修改链接数据库地址
D:\oracle_client\instantclient_11_2\tnsnames.ora
2: oracle设置控制台输出: set serviceoutput on
execute简写exec 控制plsql语句,能够省略写begin end
3:运行plsql脚本文件 @abc.pkg 或者 start abc.pkg
4:显示plsql变量命令 show all
5:plsql使下面命令都输入到一个文件中
spool report.txt
@run_report
spool off;
6:plsql 错误处理
@1:whenever sqlerror exit sql.sqlcode
@2: whenever sqlerror sql.sqlcode exit roolback
7:ORACLE系统方法统计:
1) length(str) 字符串的长度
2) a = nvl(b, 0) 若是b=null 则a=0
3)
8:受权用户,角色,全部使用sql权限
1:grant execute on wordcount to scott 授予用户权限
2:revoke execute on wordcount from scott 取消用户权限
3:grant execute on wordcount to all_mis 授予角色权限
4:grant execute on wordcount to putlic 授予全部人权限
9:oracle 查看全部表格
select * from user_objects
10:删除存储过程
drop function aaa;
完整删除包
drop package bbb;
只删除包体
drop package body ccc;sql
2012-06-12
1:linux chmod 修改文件权限
1. 文字设定法
语法:chmod [who] [+ | - | =] [mode] 文件名
命令中各选项的含义为:
操做对象who但是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的全部者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的全部用户。
o 表示“其余(others)用户”。
a 表示“全部(all)用户”。它是系统默认值。
操做符号能够是:
+ 添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其余全部权限(若是有的话)。
设置 mode 所表示的权限可用下述字母的任意组合:
r 可读。
w 可写。
x 可执行
2. 数字设定法
咱们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限, 2表示可写权限,4表示可读
权限,而后将其相加。因此数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。
例如,若是想让某个文件的属主有“读/写”二种权限,须要把4(可读)+2(可写)=6(读/写)。
数字设定法的通常形式为:
语法:chmod [mode] 文件名
指令实例:
chmod a+x sort
% 即设定文件sort的属性为:
文件属主(u) 增长执行权限
与文件属主同组用户(g) 增长执行权限
其余用户(o) 增长执行权限
chmod ug+w,o-x text
% 即设定文件text的属性为:
文件属主(u) 增长写权限
与文件属主同组用户(g) 增长写权限
其余用户(o) 删除执行权限
chmod u+s a.out
% 假设执行chmod后a.out的权限为(能够用ls – l a.out命令来看):
–rws--x--x 1 inin users 7192 Nov 4 14:22 a.out
而且这个执行文件要用到一个文本文件shiyan1.c,其文件存取权限为“–rw-------”,
即该文件只有其属主具备读写权限。
当其余用户执行a.out这个程序时,他的身份因这个程序暂时变成inin(因为chmod
命令中使用了s选项),因此他就可以读取shiyan1.c这个文件(虽然这个文件被设定为
其余人不具有任何权限),这就是s的功能。
所以,在整个系统中特别是root自己,最好不要过多的设置这种类型的文件(除非
必要)这样能够保障系统的安全,避免由于某些程序的bug而使系统遭到入侵。
chmod a–x mm.txt
chmod –x mm.txt
chmod ugo–x mm.txt
% 以上这三个命令都是将文件mm.txt的执行权限删除,它设定的对象为全部使用者。shell
$ chmod 644 mm.txt
% 即设定文件mm.txt的属性为:-rw-r--r--
文件属主(u)inin 拥有读、写权限
与文件属主同组人用户(g) 拥有读权限
其余人(o) 拥有读权限
chmod 750 wch.txt
% 即设定wchtxt这个文件的属性为:-rwxr-x---
文件主本人(u)inin 可读/可写/可执行权
与文件主同组人(g) 可读/可执行权
其余人(o) 没有任何权限数据库
2012-06-21
myeclipse 远程调试
远程启动tomcat命令:
catalina.sh jpda start
2012-06-26
1) oracle 查看会话状态命令:show all
2)apache
2012-06-28
oracle修改表增长列删除列修改列
2008-11-06 9:59
tag:oracle修改表;sql增长列;sql删除列;sql修改列
1.增长列
ALTER TABLE table_name ADD( column datatype [DEFAULT EXPR][,column datatype...]);
例如:
alter table tbl_users add(fEquipmentMoney number(38,4) default 0);
SQL>ALTER TABLE emp01 ADD eno NUMBER(4);
2.修改列定义
例如:
SQL>ALTER TABLE emp01 MODIFY job VARCHAR2(15)
2 DEFAULT 'CLERK'
3.删除列
例如:
SQL> ALTER TABLE emp01 DROP COLUMN dno;
4.修改列名
例如:
SQL>ALTER TABLE emp01 RENAME COLUMN eno TO empno;
5.修改表名
例如:
SQL>RENAME emp01 TO employee;
6.增长注释
例如:
SQL>COMMENT ON TABLE employee IS '存放雇员信息';
SQL>COMMENT ON TABLE employee.name IS '描述雇员姓名';
--1:建立序列
CREATE SEQUENCE tbl_Menu_seq
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10;
7:查看oracle实例
select * from v$instance;
8:查看oracle的用户
select * from dba_users;
select * from all_users;
9:查看当前用户的表
select * from user_tables;
10:查看全部用户的表
select * from all_tables;
11:oracle查看用户表空间
select * from user_all_tables;
12:oracle查看全部函数和存储过程
select * from user_source;
13:查看当前用户链接
select * from v$session;
14:查看当前用户权限
select * from session_privs;
15:oracle查看用户表空间使用状况
select a.file_id "FileNo",a.tablespace_name
"Tablespace_name",
a.bytes "Bytes",a.bytes-sum(nvl(b.bytes,0)) "Used",
sum(nvl(b.bytes,0)) "Free",
sum(nvl(b.bytes,0))/a.bytes*100 "%free"
from dba_data_files a, dba_free_space b
where a.file_id = b .file_id(+)
group by a.tablespace_name ,
a.file_id,a.bytes order by a.tablespace_name;
一、查看全部用户:
select * from dba_user;
select * from all_users;
select * from user_users;
二、查看用户系统权限:
select * from dba_sys_privs;
select * from all_sys_privs;
select * from user_sys_privs;
三、查看用户对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
四、查看全部角色:
select * from dba_roles;
五、查看用户所拥有的角色:
select * from dba_role_privs;
select * from user_role_privs;
六、查看角色所拥有的权限:
select * from role_sys_privs;
select * from role_tab_privs;
七、查看全部系统权限
select * from system_privilege_map;
八、查看全部对象权限
select * from table_privilege_map;
以上是在Oracle中查看用户权限 ,
在DB2中为:
select * from syscat.dbauth
或者
get authorizations
查看sid
select * from v$instance
2012-08-07
@1:linux查看当前防火墙是否开启
service iptables stop |start
chkconfig iptables --list
chkconfig httpd off 关闭服务
chkconfig httpd on 开启服务
也能够选择 level 开启服务
# chkconfig --level 345 httpd on
@2:linux 查看某个文件夹下的文件 find
find /usr -name stdio.h 查看usr目录下 名字叫stdio.h的文件
查找目录:find /(查找范围) -name '查找关键字' -type d
查找文件:find /(查找范围) -name 查找关键字 -print
+4表明大亍等亍5天前癿檔名:ex> find /var -mtime +4
-4表明小亍等亍4天内癿档案档名:ex> find /var -mtime -4
4则是表明4-5那一天癿档案档名:ex> find /var -mtime 4
@3:linux debug c程序 gcc -g main -o main 把main.c编译,并在编译文件里放入源码
@4:linux修改系统变量 1: cd ~ 2: vim .bashrc
whereis (寻找特定档案) [
!一般咱们都是先使用 whereis 或者是 locate 来检查,由于 whereis 不 locate 是利用数据库来搜寻数据
2012-08-16
@1:javaScript 判断字符串是否为数字的简单方法
isNaN(parseInt("Hello",10));//true;
isNaN(parseInt("110",10));//false;
2012-08-23
@1:oracle清理数据库sql语句
set head off;
set feed off;
spool /home/up.sql;
select 'drop table ' || table_name ||';'||chr(13)||chr(10) from user_tables;
spool off;
2012-08-30
Linux下查看、关闭及开启防火墙命令
关闭
/etc/rc.d/init.d/iptables stop
开启
/etc/rc.d/init.d/iptables start
查看当前配置:iptables -L
1)永久性生效,重启后不会复原
开启: chkconfig iptables on 关闭: chkconfig iptables off
2)即时生效,重启后复原
开启: service iptables start 关闭: service iptables stop
须要说明的是对于Linux下的其它服务均可以用以上命令执行开启和关闭操做。
在开启了防火墙时,作以下设置,开启相关端口, 修改/etc/sysconfig/iptables 文件,添加如下内容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
3)查看防火墙状态
chkconfig iptables --list
2012-09-02
@1:ssh -l root 192.168.1.133
出现ssh没法链接错误,解决方法:cat /etc/ssh/sshd_config | grep Port
查看ssh配置文件的端口,是10010, 而后ssh -l root 192.168.1.133 -p 10010便可,由于ssh默认端口是22
exit 退出当前ssh
@2:ps -aux 查看系统进程影响,同top做用相同
ps -ef | grep -i "ora_" 查看oracle后台进程
2012-09-06
*.Z compress 程序压缩的档案;
*.gz gzip 程序压缩的档案;
*.bz2 bzip2 程序压缩的档案;
*.tar tar 程序打包的数据,并无压缩过;
*.tar.gz tar 程序打包的档案,其中而且通过 gzip 的压缩
*.tar.bz2 tar 程序打包的档案,其中而且通过 bzip2 的压缩
压缩解压缩
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
tar -zxf libxml2-2.6.19.tar.gz
———————————————
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
压缩而且显示压缩比:gzip -v man.config
tar -zpcv -f /root/etc.tar.gz /etc //打包并压缩
压 缩:tar -jcv -f filename.tar.bz2 要被压缩的档案或目录名称
tar -jcv -f man.config.tar.bz2 ../wang/* --exclude=man.config 不包含man.config文件
tar -cv -f file.tar只打包不压缩
查 询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
tar -jtv -f /root/etc.tar.bz2 | grep 'shadow' 解压指定的文件
bzip2这个命令比gzip性能还要好
bzip2 man.config 压缩
bzcat man.config.bz2 打开bzip2命令压缩的文件
bzip2 -d man.config.bz2 解压bzip2命令压缩的文件
bzip2 -9 -c man.config > man.config.bz2
-c :将压缩的过程产生的数据输出到屏幕上!
-d :解压缩的参数
-k :保留源文件,而不会删除原始的档案喔!
-z :压缩的参数
-v :能够显示出原档案/压缩文件案的压缩比等信息;
-# :不 gzip 一样的,都是在计算压缩比癿参数, -9 最佳, -1 最忚!
2012-09
linux 查看定时器命令 crontab -l
解压zip后缀的压缩文件
linux zip命令
zip -r myfile.zip ./* 将当前目录下的全部文件和文件夹所有压缩成myfile.zip文件,
-r表示递归压缩子目录下全部文件.
2.unzip unzip -o -d /home/sunny myfile.zip
把myfile.zip文件解压到 /home/sunny/ -o:不提示的状况下覆盖文件; -d:-d /h
--------------------------------------------------------------------
linux鸟哥命令集:
1:查看文档具体信息加详细时间 ls -al -full-time
以醒目单位查看,即单位是K,M,G ls -lh
统计当前目录大小 ll -h
查看linux系统磁盘分区为单位查看文件系统 df -lh
2: chgrp :改变档案所属群组
chown :改变档案拥有者
chmod :改变档案的权限, SUID, SGID, SBIT等等的特性
例子:[root@www ~]# chgrp [-R] dirname/filename ... 选顷不参数:
-R : 进行递归(recursive)的持续变动,亦即连同次目彔下的全部档案、
目彔 都更新成为这个群组乀意。经常用在变动某一目彔内全部的档案乀状况。
范例: [root@www ~]# chgrp users install.log
[root@www ~]# ls -l
-rw-r--r-- 1 root users 68495 Jun 25 08:53 install.log
[root@www ~]# chgrp testing install.log
chgrp: invalid
chown bin install.log 将install.log的拥有者改成bin这个帐号
chown root:root install.log 将install.log的拥有者不群组改回为root
r:4 w:2 x:1
owner = rwx = 4+2+1 = 7 group = rwx = 4+2+1 = 7 others= --- = 0+0+0 = 0
..chmod
..u g o a
..+(加入) -(除去) =(讴定)
..r w x
..档案戒目彔
chmod u=rwx,go=rx .bashrc
3:linux 建立,删除用户
一、建立用户(useradd):
(1)用useradd命令建立用户建立用户:
语法: useradd [所要建立的用户名] ,回车
(2)用passwd命令为该用户建立密码:
语法: passwd [用户名] ,回车
(3)输入密码:通常密码至少要有六个字符,这里输入的密码是看不见的,因此看到屏幕没显示,不要觉得是输入失败
(4)从新输一次密码:
删除用户(userdel命令)
语法:userdel [-r] [要删除的用户的名称]
例如:[root@localhost ~]userdel -r aillo
(5)查看新建用户,tail /etc/passwd
删除文件夹 rm -rf wang
(6)修改用户信息
功能说明:修改用户账号。
语 法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <账号名称>][-s ][-u ][用户账号]
(7)su是switch user的缩写,表示用户切换
(8)用户组的建立
用户组的添加和删除:
groupadd testgroup
组的添加
groupdel testgroup 组的删除
说明:组的增长和删除信息会在etc目录的group文件中体现出来
whoami 显示自身的用户名称,本指令至关于执行"id -un"指令。
2.文件夹操做:
(5)uname -r 2.6.18-128.el5 <==能够察看实际的核心版本
(6) 文件夹操做
cd:变换目录
pwd:显示当前目录
mkdir:创建一个新的目录
rmdir:删除一个空的目录
mkdir -p /home/bird/testing/test1 连续建立文件夹
3 echo $PATH 查看环境变量
4:文件夹移动 mv /bin/ls /root
# mv 为移动
5 ls
[root@www ~]# ls [--full-time] 目弽名称 选项不参数:
-a :所有癿档案,连同隐藏档( 开头为 . 癿档案) 一块儿列出杢(经常使用)
-A :所有癿档案,连同隐藏档,但丌包括 . 不 .. 这两个目弽
-d :仅列出目弽自己,而丌是列出目弽内癿档案数据(经常使用)
-f :直接列出结果,而丌迚行排序 (ls 预讴会以档名排序!)
-F :根据档案、目弽等信息,给予附加数据结构,例如:
*:表明可执行文件; /:表明目弽; =:表明 socket 档案; |:表明 FIFO 档案;
-h :将档案容量以人类较易读癿方式(例如 GB, KB 等等)列出杢;
-i :列出 inode 号码,inode 癿意义下一章将会介绍;
-l :长数据串行出,包吨档案癿属性不权限等等数据;(经常使用)
-n :列出 UID 不 GID 而非使用者不群组癿名称 (UID不GID会在帐号管理提到!)
-r :将排序结果反向输出,例如:本来档名由小到大,反向则为由大到小;
-R :连同子目弽内容一块儿列出杢,等亍该目弽下癿全部档案都会显示出杢;
-S :以档案容量大小排序,而丌是用档名排序;
-t :依时间排序,而丌是用档名。
--color=never :丌要依据档案特性给予颜色显示;
--color=always :显示颜色
--color=auto :讥系统自行依据讴定杢判断是否给予颜色
--full-time :以完整时间模式 (包吨年、月、日、时、分) 输出
--time={atime,ctime} :输出 access 时间戒改变权限属性时间 (ctime)
6 复制文件
cp [-adfilprsu] 杢源文件(source) 目标文件(destination)
cp /var/log/wtmp . <==想要复制到当前目录,不要忘记.
cp -a /var/log/wtmp wtmp_2 权限等全部属性都copy过来
cp -r /etc/ /tmp 复制目录下全部文件
7:更改文件,文件夹名字
mv mvtest mvtest2 <== 这样就改名了!简单~
mv bashrc1 bashrc2 mvtest2 将文件移到文件夹下
[root@www ~]# basename /etc/sysconfig/network
network
[root@www ~]# dirname /etc/sysconfig/network
/etc/sysconfig
8:打开文件各类命令
cat 由第一行开始显示档案内容
tac 从最后一行开始显示,能够看出 tac 是 cat 倒着写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示档案内容
less 不 more 相似,可是比 more 更好的是,他能够往前翻页!
head 叧看头几行
tail 叧看尾巴几行
od 以二迚制的方式读取档案内容!
9:less快捷键讲解
空格键 :向下翻劢一页;
[pagedown]:向下翻劢一页;
[pageup] :向上翻劢一页;
/字符串 :向下搜寻『字符串』的功能;
?字符串 :向上搜寻『字符串』的功能;
n :重复前一个搜寻 (不 / 或 ? 有关!)
N :反向癿重复前一个搜寻 (不 / 或 ? 有关!)
q :离开 less 这个程序;
10:head -n 20 /etc/man.config 显示文件前20行
11: grep who /use/local -r
who是pattern,若是含有特殊字符则要加上引号。
/usr/local是local,
-r 是option,表示全部的文件,且对子目录递归,
可是用了这个,就不能指定*.c之类的参数了。
12: 档案预讴权限:umask
[root@www ~]# umask
0022
[root@www ~]# umask -S
要注意的是,umask 的分数指的是『该默认值须要减掉的权限!』
由于 r、w、x 分别是 四、二、1 分,因此啰!也就是说,当要拿掉能写的权限,就是输入 2 分,
而若是要拿掉能读的权限,也就是 4 分,那么要拿掉读不写的权限,也就是 6 分,
而要拿掉执行不写入的权限,也就是 3 分,这样了解吗?请问你, 5 分是什么?呵呵! 就是读不执行的权限啦!
13: 范例:请将该档案的 i 属性取消!
[root@www tmp]# chattr -i attrtest
[root@www ~]# chattr [+-=][ASacdistu] 档案戒目弽名称
选项与参数: + :增长某一个特殊参数,其余本来存在参数则不动。
- :移除某一个特殊参数,其余本来存在参数则不动。
= :设定必定,且仅有后面接的参数
i :这个 i 可就很厉害了!他可让一个档案『不能被删除、更名、设定连结也没法 写入或新增资料!』
对于系统安全性有至关大的帮助!叧有 root 能设定此属性
14: 前面介绍过 SUID 不 SGID 的功能,那么如何配置文件案使成为具备 SUID 不 SGID 的权限呢?
这就须要第六章的数字更改权限的方法了! 如今你应该已经知道数字型态更改权限癿方式为『三个数字』的组合,
那么若是在这三个数字以前再加上一个数字的话,最前面癿那个数字就表明这几个权限了!
4 为 SUID
2 为 SGID
1 为 SBIT
而除了数字法以外,妳也能够透过符号法来处理喔!其中 SUID 为 u+s ,而 SGID 为 g+s ,SBIT 则是 o+t 啰!
15:观察文件类型:file filename
16:which [-a] command
------------------------------------------------------------------
鸟哥第8章
1:dumpe2fs [-bh] 装置文件名
dumpe2fs /dev/hdc2
2:env 查看当前系统环境变量
Linux 磁盘与文件系统管理
3:ls -li 查看文件的inode节点号码
4:ln /etc/crontab . 创建实体连接的指令,两个文件指向同一个inode,能够用ll -i 文件名查看
ln -s /etc/conrtab crontab2 创建符号连接,至关于windows系统的快捷方式,删除掉文件,快捷方式就没啦
5:磁盘分区
fdisk [-l] 装置名称
6:重命名文件
alias sc="source ~/.bash_profile"
alias p="ps -u $USER"
保存后退出
而后执行source .bash_profile,从新载入环境变量文件.
7:使用lsnrctl中的SET,reload等命令能够动态修改listener的一些参数,而不影响客户端链接数据库。
8: 远程链接数据库
在防火墙开通的前提下:
1.简便链接:
sqlplus username/password@hostname:port/service_name
hotname:B的hostname或IP,port,监听程序的端口,例如1521
service_name:一般为数据库名
例如在A电脑上:sqlplus hr/hr@84.24.24.24:1521/orcl
2.本地命名:
在A电脑上配置tnsnames.ora文件
<oracle_home>/network/admin/tnsname.ora
oracle_home:安装客户端时指定的oracle_home
能够在百度一下tnsnames.ora文件的配置格式。
RADIUS =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 远程主机ip地址)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = radius)
)
)
9:dd if="input_file" of="output_file" bs="block_size" \
选项和参数:
if :就是 input file 啰~也能够是装置喔!
of :就是 output file 喔~也能够是装置;
bs :规划的一个 block 的大小,若未指定则预设是 512 bytes(一个 sector 的大小)
count:多少个 bs 的意思。
复制,dd if=/etc/passwd of=/home/wang/passwd.bak
----------------------------------------------------------
鸟哥第11章
1:uname -r 显示出目前癿核心版本
2:locate 命令 能够列出全部的相关档案档名
3: set 显示全部bash的变量
4:locale 查看当前系统有多少语系
5:export 显示全部的环境变量
6:ulimit 列出全部的限额(好比内存)
7:type -a ls 了解指令搜索顺序
8: stty -a 查看当前系统按键与按键内容
一下是管线命令的使用
9: echo $PATH | cut -d ':' -f 5 管线命令 得到 冒号分割的第5段
10:last 显示登录者的信息
11: last | grep -v 'root' |cut -d ' ' -f1 得到登录者信息中不是root的行,而且得到第一空格 段
12:cat /etc/passwd | sort -t ':' -k 3 -n 显示我的帐号,得到:分割的第三段 按照数字进行排序
13: last | cut -d ' ' -f1 | sort | uniq -c 得到登录这的信息,把这些信息用空格切分,取第一段,进行排序,重复的显示一条,而且显示数量
14:cat /etc/man.config | wc 实现文件的行 ,字数,字符
-l :仅列出行;
-w :仅列出多少字(英文单字);
-m :多少字符;
last | grep [a-zA-Z] | grep -v 'wtmp' | wc -l 取出登录者信息,去出空白行,去出带有wtmp行,计算行数
15:ll | tee -a last.list |more 把ll输出的控制台的信息输出到 last.list文件,是累加信息,想到与>>
16: last | tr '[a-z]' '[A-Z]' 将last输出的小写转换为大写
tr [-ds] SET1 ...
-d :删除讯息当中的 SET1 这个字符串;
-s :取代掉重复的字符!
cat /etc/passwd | tr -d ':' 删除:
17:col [-xb]
-x :将 tab 键转换成对等的空格键
-b :在文字内有反斜杠 (/) 时,仅保留反斜杠最后接的那个字符
cat /etc/man.config | col -x | cat -A | more 利用 cat -A 显示出全部特殊按键,最后以 col 将 [tab] 转成空白
18: last -n 5 | awk '{print $1 "\t" $3}'
3:367页
---------------------------------------------------------
2012-09-21 关于二次拨号的李总写相关linux命令,把环境调试通
1: more /root/.bash_history 查看执行过的命令或者使用命令 history
带时间的histroy 为 HISTTIMEFORMAT="%F %T:" history
清空linux操做记录 cat /dev/null >/root/.bash_history
echo $HISTSIZE 查看history最大值
2: 使用scp协议传输文件
scp -P 10010 mydradius.portal.tar.gz root@192.168.1.195:/home
3:压缩文件
tar cvfz mydradius.portal.tar.gz mydradius.portal
解压文件
tar xvfz lib.tar.gz
4:编译c项目
make clean 或者make
5:执行c项目
gdb ./radiusd 必须是当前目录下
运行 r -e等等,须要查
6:监听网卡,进行抓包(#)
tcpdump -i eth0 udp port 1812 or udp port 1813
7:查看linux系统的网络状况
netstat -natp|grep 1521|grep radiusd
8: 查看当前机器的网络配置状况
vi /etc/sysconfig/network
cd /etc/sysconfig/network-scripts/
9:ping 192.168.1.195 是否与195机器通
10:passwd修改密码
11:运行radiusd程序
gdb ./radiusd
12:vi /home/pradius/radius.conf
修改radius.confg配置文件 database 和ip地址 是4段的
13:tnsping radius
tnsping pradius
14:查看radiusd进程
ps -aef | grep 'radiusd'
15:查看radiusd的依赖库
cd /home/radius/bin
ldd radiusd
16: 增长动态库搜索路径,缺乏libmemcached.so.9 而没法启动radiusd进程
ldd radiusd 查看radiusd的依赖库,查找到缺失包的路径
vim /etc/ld.so.conf
添加上/usr/local/lib/便可
ldconfig 重启加载 ldconfig一般在系统启动时运行,而当用户安装了一个新的动态连接库时,就须要手工运行这个命令.
17:gdb调试radiusd
gdb ./radiusd
r -X -p 1645 运行radiusd程序开始调试
make clean 清理的,方便从新编译,查询makefile内容
后来添加:由于radius重启致使从新编译,以前修改的为起做用,所以从新修改
vim /etc/init.d/radiusd 修改radius设备启动项
vi /etc/rc.d/init.d/radiusd 修改机器启动项里的
grep -r pradius . 当前目录下查询,同时查询子目录
kill命令用来停止一个进程。
killall radiusd 杀掉radiusd进程
1)强行停止(常用杀掉)一个进程标识号为324的进程:
kill格式 kill [ -s signal | -p ] [ -a ] pid …
kill -l [ signal ]
#kill -9 324
关于linux下c的编译,包引用
make clean
make
gdb bin/radiusd
关于radiusd 调试问题
gdb radiusd
b radrecv
set follow-fork-mode child
r y 若是是pradiusd 的话则 r -p 1645
radiusd 进程在/etc/init.d 目录下,service radiusd start
补充: 安装expect
1。先安装tcl
进入tcl解压目录,而后进入unix目录
#./configure
#make
#make install
2.后安装expect
进入expect解压目录
#./configure --with-tclinclude=/usr/src/tcl8.4.19/generic/ --with-tclconfig=/usr/local/lib/
#make
#make install
完成,测试
18:grep搜索
明确要求搜索子目录:grep -r
或忽略子目录:grep -d skip
grep -i pattern files :不区分大小写地搜索。默认状况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行,
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
^M 以M开头的行,^表示开始的意思
M$ 以M结尾的行,$表示结束的意思
^[0-9] 以数字开始的行,[]内可列举字母
^[124ab] 以1,2,4,a,或b开头的行
^b.503 句点表示任一字母
* 星号表示0个以上的字母(能够没有)
+ 加号表示1个以上的字母
$ ls -l | grep \'^a\'
经过管道过滤ls -l输出的内容,只显示以a开头的行。
$ grep \'test\' d*
显示全部以d开头的文件中包含test的行。
$ grep \'test\' aa bb cc
显示在aa,bb,cc文件中匹配test的行。
$ grep \'[a-z]{5}\' aa
显示全部包含每一个字符串至少有5个连续小写字符的字符串的行。
查看radius进程是否起来 ps -aux | grep radius 显示全部包含其余使用者的行程
grep -H -R "aa" *.c 在当前目录下查找包含aa字符串的文件
19:测试远程机器某端口是否打开,nc是 natCat的缩写 参考http://www.huanxiangwu.com/477/linux-nc-netcat
因为telnet须要反响解析有时会迷惑管理员因此用nc比较好
服务器不少的状况下能够经过工具执行如下来测试80是否通
if nc -z -w1 192.168.1.11 80 ;then echo "ok"; else echo "fail"; fi
2、常见使用
一、远程拷贝文件
从server1拷贝文件到server2上。须要先在server2上,用nc激活监听,server2上运行:
引用
[root@hatest2 tmp]# nc -lp 1234 > install.log
server1上运行:
引用
[root@hatest1 ~]# ll install.log
-rw-r–r– 1 root root 39693 12月 20 2007 install.log
[root@hatest1 ~]# nc -w 1 192.168.228.222 1234 < install.log
二、克隆硬盘或分区
操做与上面的拷贝是雷同的,只须要由dd得到硬盘或分区的数据,而后传输便可。
克隆硬盘或分区的操做,不该在已经mount的的系统上进行。因此,须要使用安装光盘引导后,进入拯救模式(或使用Knoppix工 具光盘)启动系统后,在server2上进行相似的监听动做:
# nc -l -p 1234 | dd of=/dev/sda
server1上执行传输,便可完成从server1克隆sda硬盘到server2的任务:
# dd if=/dev/sda | nc 192.168.228.222 1234
※ 完成上述工做的前提,是须要落实光盘的拯救模式支持服务器上的网卡,并正确配置IP。
三、端口扫描
能够执行:
引用
# nc -v -w 1 192.168.228.222 -z 1-1000
hatest2 [192.168.228.222] 22 (ssh) open
四、保存Web页面
# while true; do nc -l -p 80 -q 1 < somepage.html; done
五、模拟HTTP Headers
引用
[root@hatest1 ~]# nc www.huanxiangwu.com 80
GET / HTTP/1.1
Host: ispconfig.org
Referrer: mypage.com
User-Agent: my-browser
HTTP/1.1 200 OK
Date: Tue, 16 Dec 2008 07:23:24 GMT
Server: Apache/2.2.6 (Unix) DAV/2 mod_mono/1.2.1 mod_python/3.2.8 Python/2.4.3 mod_perl/2.0.2 Perl/v5.8.8
Set-Cookie: PHPSESSID=bbadorbvie1gn037iih6lrdg50; path=/
Expires: 0
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Cache-Control: private, post-check=0, pre-check=0, max-age=0
Set-Cookie: oWn_sid=xRutAY; expires=Tue, 23-Dec-2008 07:23:24 GMT; path=/
Vary: Accept-Encoding
Transfer-Encoding: chunked
Content-Type: text/html
[......]
在nc命令后,输入红色部分的内容,而后按两次回车,便可从对方得到HTTP Headers内容。
六、聊天
nc还能够做为简单的字符下聊天工具使用,一样的,server2上须要启动监听:
[root@hatest2 tmp]# nc -lp 1234
server1上传输:
[root@hatest1 ~]# nc 192.168.228.222 1234
这样,双方就能够相互交流了。使用Ctrl+D正常退出。
七、传输目录
从server1拷贝nginx-0.6.34目录内容到server2上。须要先在server2上,用nc激活监听,server2上运行:
引用
[root@hatest2 tmp]# nc -l 1234 |tar xzvf -
server1上运行:
引用
[root@hatest1 ~]# ll -d nginx-0.6.34
drwxr-xr-x 8 1000 1000 4096 12-23 17:25 nginx-0.6.34
[root@hatest1 ~]# tar czvf – nginx-0.6.34|nc 192.168.228.222 1234
20:file 检查文件的类型
file my.pdf
my.pdf: PDF document, version 1.5
“PDF document“ 告诉咱们 , my.pdf 是pdf类型的文件。
版本执行的标准是:1.5
若是须要更详细的信息,能够加参数:
如:file -i data.txt
21:locate命令可让用户很快速的搜寻档案系统内是否有指定的档案。其方法是先创建一个
包括系统内全部档案名称及路径的数据库,以后当寻找时就只需查询这个数据库。
locate -n 10 crontab -n显示的数目
22:查看命令位于路径
type -a pwd
查看命令版本rpm -q nc 或者 rpm -qa | grep freetype
查看软件安装目录 rpm -ql libpng
2012-09-22
1:修改ip地址,网关,子网掩码
vi /etc/sysconfig/network-scripts/ifcfg-eth0 第一个网卡
vi /etc/sysconfig/network-scripts/ifcfg-eth1 第二个网卡
vi /etc/sysconfig/network 修改网关
修改完后重启 方可起做用 /etc/init.d/network restart
或者service network restart
2:查看网关
netstat -nr
3:二次拨号调用失败,查看日志目录
/var/log/vyatta#
查看ppp是否拨号成功,查看是否进程
ps -aef|grep ppp
pppd进程负责拨号
linux c一站式学习
1:调试函数的一系列命令,源代码以下main.c
#include <stdio.h>
int add_range(int low, int high)
{
int i,sum;
for(i=low;i<=high;i++)
sum=sum+i;
return sum;
}
int main(void)
{
int result[100];
result[0]=add_range(1,10);
result[1]=add_range(1,100);
printf("result[0]=%d\nresult[1]=%d\n",result[0],result[1]);
return 0;
}
结果为55 5015 与正确结果不一样,调试以下
1步骤: gcc -g main.c -o main linux下c源文件编译(含有源代码,能够调试):
gdb main 进入main函数的调试
help帮助
l 1或者 l main 查看源代码
start开始调试
n(next)下一步
s(step)跳进函数
bt(backtrace)查看函数调用的栈帧
i(info) locals 查看方法的局部变量
f(frame) 1 选择1号栈帧
i locals 查看1号栈帧的局部变量,即main函数的局部变量
p(print) sum 查看sum变量的值
finish 跳出当前函数,回到main函数
set var sum=0 修改变量sum的值为0
p(print) result[2]=33 print也能够像set同样设置变量的值
2
int main()
{
int sum=0,i=0;
char input[5];
while(1)
{
scanf("%s",input);
for(i=0;input[i]!='\0';i++)
sum=sum*10+input[i]-'0';
printf("input=%d\n",sum);
}
return 0;
}
第一次输入123正确,第二次错误
调试命令以下:
start 启动调试
display sum 每次定下来都显示sum的值
undisplay 取消对这个变量的跟踪
b(break) 9 在第9行设置一个断点 参数也能够是函数名
c(continue) 表示连续运行,跳到下一个断点
i breakpoints 显示已经设置的断点
delete breakpoints 2 删除断点2
d(delete breakpoints) 删除全部的断点
disable breakpoints 3 使某个断点失效
break 9 if sum != 0 知足条件才可使用该断点
r 从新从程序开始连续执行
x 命令打印存储器中的内容 x/7b input 7b是打印格式,b表示每一个字节一组,7表示打印7组
watch input[5] 跟踪某变量
2012-10-15
1:windows 系统电脑出现不能上网问题
@1:arp -d
@2:arp -a
FROM tbl_DnsActioFROM tbl_DnsActioFROM tbl_DnsActiorr
2012-11-13
调试广州互通认证是学习知识
@1:/home/radius/log
vi nohup.out
查看用户认证数据包
tail -f nohup.out
@2:truncate tbl_log;
扔掉日志表
2012-11-26
要设置当前日期或时间,可用:
date -s mm/dd/yy 及 date -s hh:mm:ss
例:date -s 10/17/2008
date -s 10:12:13
2012-12-04
编译成目标文件 gcc -c stack/is_empty.c stack/pop.c stack/push.c stack/stack.c
编译并连接 gcc -g main.c -o mian
打包成一个静态库libstack.a:
ar rs libstack.a stack.o push.o pop.o is_empty.o
编译器默认会找的目录能够用-print-search-dirs选项查看
gcc -print-search-dirs
反汇编
objdump -dS push.o
编译连接成可执行文件
gcc -g main.c stack.o push.o pop.o is_empty.o -Istack -o main
反汇编
objdump -dS main
打包 编译例题
max.c
int max(int val1, int val2)
{
int iVal = (val1 > val2) ? val1 : val2;
return iVal;
}
min.c
int min(int val1, int val2)
{
int iVal = (val1 < val2) ? val1 : val2;
return iVal;
}
main.c
#include <stdio.h>
extern int max(int val1, int val2);
extern int min(int val1, int val2);
int main()
{
int val1, val2;
scanf("%d %d", &val1, &val2);
printf("%d/n", max(val1, val2));
printf("%d/n", min(val1, val2));
}
>gcc -c max.c min.c
>ar rcs libcmp.a max.o min.o
>gcc -o test main.c libcmp.a
>gcc -share -fPIC -o libcmp.so max.c min.c
>cp libcmp.a libcmp.a.bak
>cp libcmp.so libcmp.so.bak
>cp test test.orig
>strip libcmp.a libcmp.so
>strip test
>ll -h
虚拟机网路不通多是网关冲突,
把 vi /etc/sysconfig/network-scripts/ifcfg-eth0:0 里的mask注释掉
service network restart
-------------------------------
2012-12-05
makefile命令
gcc -M main.c 查看一个源文件都包含哪几个文件
gcc -MM main.c 出去库文件,包含哪些文件
在命令前面加上-,那么命令出了错,他也会执行下面的命令的
Clean:
-rm –f *.o
一、wildcard : 扩展通配符
二、notdir : 去除路径
三、patsubst :替换通配符
例子:
创建一个测试目录,在测试目录下创建一个名为sub的子目录
创建连续目录 mkdir -p /usr/local/apache2
$ mkdir test
$ cd test
$ mkdir sub
在test下,创建a.c和b.c2个文件,在sub目录下,创建sa.c和sb.c2 个文件
创建一个简单的Makefile
src=$(wildcard *.c ./sub/*.c)
dir=$(notdir $(src))
obj=$(patsubst %.c,%.o,$(dir) )
all:
@echo $(src)
@echo $(dir)
@echo $(obj)
@echo "end"
执行结果分析:
第一行输出:
a.c b.c ./sub/sa.c ./sub/sb.c
wildcard把 指定目录 ./ 和 ./sub/ 下的全部后缀是c的文件所有展开。
第二行输出:
a.c b.c sa.c sb.c
notdir把展开的文件去除掉路径信息
第三行输出:
a.o b.o sa.o sb.o
在$(patsubst %.c,%.o,$(dir) )中,patsubst把$(dir)中的变量符合后缀是.c的所有替换成.o,
任何输出。
或者可使用
obj=$(dir:%.c=%.o)
效果也是同样的。
这里用到makefile里的替换引用规则,即用您指定的变量替换另外一个变量。
它的标准格式是
$(var:a=b) 或 ${var:a=b}
它的含义是把变量var中的每个值结尾用b替换掉a
今天在研究makefile时在网上看到一篇文章,介绍了使用函数wildcard获得指定目录下全部的C语言源程序文件名的方法,
这下好了,不用手工一个一个指定须要编译的.c文件了,方法以下:
SRC = $(wildcard *.c)
等于指定编译当前目录下全部.c文件,若是还有子目录,好比子目录为inc,则再增长一个wildcard函数,象这样:
SRC = $(wildcard *.c) $(wildcard inc/*.c)
也能够指定汇编源程序:
ASRC = $(wildcard *.S)
这样一来,makefile模板可修改的基本就是AVR名称和时钟频率了,其它的通常不用动了。
gcc -Wall hello.c -o hello.o
选项 -Wall 开启编译器几乎全部经常使用的警告──强烈建议你始终使用该选项。
编译器有不少其余的警告选项但 -Wall 是最经常使用的。
默认状况下GCC 不会产生任何警告信息。
当编写 C 或 C++ 程序时编译器警告很是有助于检测程序存在的问题。
-------------------------
char * const cp : 定义一个指向字符的指针常数,即const指针
const char* p : 定义一个指向字符常数的指针
char const* p : 等同于const char* p
const char **是一个指向指针的指针,那个指针又指向一个字符串常量。
char **也是一个指向指针的指针,那个指针又指向一个字符串变量。
------------------------
2012-12-11
crtl-u 删除shell命令
2012-12-12
ipaddr=`/sbin/ifconfig | grep 'inet addr:' | grep -v '127.0.0.1'| tee temp.txt | cut -d : -f3 | awk '{print $1}'`
echo $ipaddr
==========
radiusd切换到调试状态
nohup ./radiusd -X&
tail -f nohup.out 查看调试日志
2013-01-05
修改tbl_users中主键sUsername全部大写字母为小写时
主键时出现异常unique constraint (MYDRADIUS.SYS_C0015574) violated
是由于修改后会致使主键重复,因此会出错,
能够查看修改后是否存在重复的行
select lower(susername) from tbl_users having count(lower(susername))>1 group by lower(susername);
若是查出来后则删除掉
而后进行修改
update tbl_users set sUserName = lower(sUserName);
-------------------
2013-03-18 删除oracle数据库页面操做不动,多是oracle表空间不足致使的,下面查看下oracle的表空间
select a.tablespace_name,total,total-free usage,substr((total-free)/total*100, 1, 5) usageRate from
(select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files group by tablespace_name) a,
(select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space group by tablespace_name ) b
where a.tablespace_name=b.tablespace_name and b.tablespace_name='RADSPACE'
radiusd 测试包发送
/home/radius/bin/radtest user pass 127.0.0.1 9 testing123
临时表空间设置为自动扩展
alter database tempfile '/ora/oradata/radius/temp01.dbf' autoextend on next 20m maxsize unlimited;
查看表空间使用状况
select a.tablespace_name,total,free,total-free used from
( select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files
group by tablespace_name) a,
( select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space
group by tablespace_name) b
where a.tablespace_name=b.tablespace_name;
往默认表空间里增长数据库文件
alter tablespace USERS add datafile '/ora/oradata/radius/users02.dbf' size 1000M;
alter tablespace USERS add datafile
'/ora/oradata/radius/users02.dbf' size 1000m reuse autoextend on next 100m;
查看用户全部表
select table_name from all_tables;
radiusd调试成nohup状态
nohup radiusd -X&
vim dw删除一个一个词汇
安装snmp时用到命令
snmp配置文件目录:/etc/snmp/snmpd.conf
启动snmp服务:service snmpd start
chkconfig --levle 2345 snmpd on
查看端口的开启情况:netstat -tunlp | grep snmp
查找大文件 显示15个
du -h / |sort -rn|head -15
linux 查看端口是否被使用
netstat -tunlp | grep 80
==================
radiusd用户拨号认证错误,日志信息不详细,则把radisud起到调试状态进行调试
1:gdb radiusd gdb调试radiusd
2:r -p 1645 -X 把radiusd在1645端口运行到调试状态
3:./radtest 017a2131102 13902113499 127.0.0.1:1645 9 testing123 客户端拨号测试
而后查看收到的包是否正确,好比是否缺乏属性,若是缺乏则把字典插入到数据库内,而后从新运行raidusd
4:r
===========2013-07-02:若是service radisud start 启动提示地址被占用,ps aux | grep radiusd进程却没有,则查看1812是否被占用 首先查看radwatch进程是否开启,关闭他的邮箱进程 netstat -apn | grep 1812 来显示全部链接的端口并用数字表示 kill -9 pid便可 lsof -p pid(list open files)是一个列出当前系统打开文件的工具 查看22端口如今运行的状况 # lsof -i :22 查看所属root用户进程所打开的文件类型为txt的文件 # lsof -a -u root -d txt 查看radiusd打开的文件 #lsof | grep radiusd