鱼C论坛

 找回密码
 立即注册
楼主: zfzhuman123

[技术交流] linux常用命令及基础

  [复制链接]
 楼主| 发表于 2011-8-1 19:12:21 | 显示全部楼层
3.2        环境变量设置
3.2.1        export
指令名称:        export
使用权限:        所有使用者
使用方式:        [变量名]=[变量值]; export [变量名]
说    明:        使用export命令设置的环境变量,只在当前的shell下有效,一旦用户重新登录,该环境变量就会丢失,如果想永久的使用该环境变量,最好将该环境变量的定义放在~/.bashrc文件中,该文件每次Shell登录时都会得到执行。
参    数:        
范    例:        查看所有的环境变量及其值
export

查看某一变量值:
export [变量名](或者使用echo [变量名])


3.3        网络操作
3.3.1        ifconfig
指令名称:        ifconfig
使用权限:        root
使用方式:        ifconfig [-a] [-i] [-v] [-s] <inte**ce> [[<AF>] <address>]
说    明:        查看或配置自己的网络,可以通过该命令查看自己的ip地址
参    数:        
范    例:        显示所有网络配置信息
ifconfig -a
3.3.2        finger
指令名称:        finger
使用权限:        所有使用者
使用方式:        finger [options] user[@address]
说    明:        finger 可以让使用者查询一些其他使用者的资料。不带参数使用时和who功能类似。
参    数:        -l :多行显示。
-s :单行显示。这个选项只显示登入名称,真实姓名,终端机名称,闲置时间,登入时间,办公室号码及电话号码。如果所查询的使用者是远端服务器的使用者,这个选项无效。
范    例:        查看所有在线用户信息:
finger

查询某个用户的详细信息:
finger p40068

3.3.3        telnet
指令名称:        telnet
使用权限:        所有使用者
使用方式:        telnet [option(s)] hostname or IP address [Port]
说    明:        在linux和Windows下,都可以使用该命令登录到远程机器
参    数:        
范    例:        登录到ip为10.70.38.55机器上
telnet 10.70.38.55

在windows下telnet到liunx下,可以使用putty工具软件,比起dos命令行下进行telnet操作,方便了很多。
3.3.4        ftp
指令名称:        ftp
使用权限:        所有使用者
使用方式:        ftp -v -d -i -n -g [主机名]
说    明:        FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令。熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。__________________________________
╭∩╮(︶︿︶)╭∩╮


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-1 19:12:34 | 显示全部楼层
参    数:        -v 显示远程服务器的所有响应信息;
-d 使用调试方式;
-i 限制ftp的自动登录,即不使用;
-n etrc文件;
-g 取消全局文件名。

ftp使用的内部命令如下(中括号表示可选项):
  1. ![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip。
  2. $ macro-ame[args]:执行宏定义macro-name。
  3. account[password]:提供登录远程系统成功后访问系统资源所需的补充口令。
  4. append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。
  5. ascii:使用ascii类型传输方式。
  6. bell:每个命令执行完毕后计算机响铃一次。
  7. bin:使用二进制文件传输方式。
  8. bye:退出ftp会话过程。
  9. case:在使用mget时,将远程主机文件名中的大写转为小写字母。
  10. cd remote-dir:进入远程主机目录。
  11. cdup:进入远程主机目录的父目录。
  12. chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如: chmod 777 a.out 。
  13. close:中断与远程服务器的ftp会话(与open对应)。
  14. cr:使用asscii方式传输文件时,将回车换行转换为回行。
  15. delete remote-file:删除远程主机文件。
  16. debug[debug-value]:设置调试方式, 显示发送至远程主机的每条命令,如: deb up 3,若设为0,表示取消debug。
  17. dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件local-file。
  18. disconnection:同close。
  19. form format:将文件传输方式设置为format,缺省为file方式。
  20. get remote-file[local-file]: 将远程主机的文件remote-file传至本地硬盘的local-file。
  21. glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。
  22. hash:每传输1024字节,显示一个hash符号(#)。
  23. help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get。
  24. idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。
  25. image:设置二进制传输方式(同binary)。
  26. lcd[dir]:将本地工作目录切换至dir。
  27. ls[remote-dir][local-file]:显示远程目录remote-dir, 并存入本地文件local-file。
  28. macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。
  29. mdelete[remote-file]:删除远程主机文件。
  30. mdir remote-files local-file:与dir类似,但可指定多个远程文件,如: mdir *.o.*.zipoutfile 。
  __________________________________
╭∩╮(︶︿︶)╭∩╮


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-1 19:12:47 | 显示全部楼层
31. mget remote-files:传输多个远程文件。
  32. mkdir dir-name:在远程主机中建一目录。
  33. mls remote-file local-file:同nlist,但可指定多个文件名。
  34. mode[modename]:将文件传输方式设置为modename, 缺省为stream方式。
  35. modtime file-name:显示远程主机文件的最后修改时间。
  36. mput local-file:将多个文件传输至远程主机。
  37. newer file-name: 如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。
  38. nlist[remote-dir][local-file]:显示远程主机目录的文件清单,并存入本地硬盘的local-file。
  39. nmap[inpattern outpattern]:设置文件名映射机制, 使得文件传输时,文件中的某些字符相互转换,如:nmap $1.$2.$3[$1,$2].[$2,$3],则传输文件a1.a2.a3时,文件名变为a1,a2。该命令特别适用于远程主机为非UNIX机的情况。
  40. ntrans[inchars[outchars]]:设置文件名字符的翻译机制,如ntrans1R,则文件名LLL将变为RRR。
  41. open host[port]:建立指定ftp服务器连接,可指定连接端口。
  42. passive:进入被动传输方式。
  43. prompt:设置多个文件传输时的交互提示。
  44. proxy ftp-cmd:在次要控制连接中,执行一条ftp命令,该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。
  45. put local-file[remote-file]:将本地文件local-file传送至远程主机。
  46. pwd:显示远程主机的当前工作目录。
  47. quit:同bye,退出ftp会话。
  48. quote arg1,arg2...:将参数逐字发至远程ftp服务器,如:quote syst。
  49. recv remote-file[local-file]:同get。
  50. reget remote-file[local-file]:类似于get,但若local-file存在,则从上次传输中断处续传。
  51. rhelp[cmd-name]:请求获得远程主机的帮助。
  52. rstatus[file-name]:若未指定文件名,则显示远程主机的状态,否则显示文件状态。
  53. rename[from][to]:更改远程主机文件名。
  54. reset:清除回答队列。
  55. restart marker:从指定的标志marker处,重新开始get或put,如:restart 130。
  56. rmdir dir-name:删除远程主机目录。
  57. runique:设置文件名唯一性存储。
  58. send local-file[remote-file]:同put。
  59. sendport:设置PORT命令的使用。
  60. site arg1,arg2...:将参数作为SITE命令逐字发送至远程ftp主机。
  __________________________________
╭∩╮(︶︿︶)╭∩╮


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-1 19:13:02 | 显示全部楼层
61. size file-name:显示远程主机文件大小,如:site idle 7200。
  62. status:显示当前ftp状态。
  63. struct[struct-name]:将文件传输结构设置为struct-name,缺省时使用stream结构。
  64. sunique:将远程主机文件名存储设置为唯一(与runique对应)。
  65. system:显示远程主机的操作系统类型。
  66. tenex:将文件传输类型设置为TENEX机的所需的类型。
  67. tick:设置传输时的字节计数器。
  68. trace:设置包跟踪。
  69. type[type-name]:设置文件传输类型为type-name,缺省为ascii,如:type binary,设置二进制传输方式。
  70. umask[newmask]:将远程服务器的缺省umask设置为newmask,如:umask 3。
  71. user user-name[password][account]:向远程主机表明自己的身份,需要口令时,必须输入口令,如:user anonymous my@email。
  72. verbose:同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有响应都将显示给用户,缺省为on。
  73. ?[cmd]:同help。

范    例:        登录到一台机器,查看文件列表,下载一个文件,上传一个文件等操作:
ftp 10.70.38.55
user ims_omu ims_omu
ls
get test.txt
put mytest.txt__________________________________
╭∩╮(︶︿︶)╭∩╮


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-1 19:13:15 | 显示全部楼层
3.4        用户管理
3.4.1        useradd
指令名称:        useradd
使用权限:        root
使用方式:        useradd [-c comment] [-d home_dir] [-e expire_date] [-f inactive_time] [-g initial_group] [-G group[,...]] [-m [-k skeleton_dir] | -M] [-s shell] [-u uid [ -o]] [-n] [-r] login

useradd -D [-g default_group] [-b default_home] [-f default_inactive] [-e default_expire_date] [-s default_shell]
说    明:        帐号建立或更新新使用者的资讯
参    数:        -d home_dir
新帐号每次登入时所使用的home_dir 。 预设值为 default_home内login名 称,并当成登入时目录名称 。
-m
使用者目录如不存在则自动建立。如使用-k 选项skeleton_dir 内的档案将复制 至使用者目录下。然而在/etc/skel目录下的档案也会复制过去取代。任何在 skeleton_dir or /etc/skel的目录也相同会在使用者目录下一一建立。The -k同-m不建立目录以及不复制任何档案为预设值。
范    例:        创建用户p40068,并设置该用户的home路径为“/home/p40068”,如果不存在“/home/p4006”目录则自动创建该目录:
useradd –d /home/p40068 –m p40068
3.4.2        userdel
指令名称:        userdel
使用权限:        root
使用方式:        userdel [-r] login
说    明:        删除使用者帐号及相关档案
参    数:        -r:使用者目录下的档案一并移除。在其他位置上的档案也将一一找出并删除
范    例:        删除p40068用户:
userdel p40068

删除p40068用户的同时,删除该用户所拥有的所有文件及文件夹:
userdel –r p40068__________________________________
╭∩╮(︶︿︶)╭∩╮


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-1 19:13:34 | 显示全部楼层
3.4.3        usermod
指令名称:        usermod
使用权限:        root
使用方式:        usermod  [-u uid [-o]] [-g group] [-G group,...]
                [-d home [-m]] [-s shell] [-c comment] [-l new_name]
                [-f inactive] [-e expire ] [-p passwd] [-L|-U] name
说    明:        修改使用者帐号,名称

警告:
usermod不允许你改变正在线上的使用者帐号名称。当usermod用来改变user ID,必须确认这名user没在电脑上执行任何程序。你需手动更改使用者的crontab 档。也需手动更改使用者的at工作档。采用NIS server须在server上更动相关的NIS设定。
参    数:        -c comment
更新使用者帐号password档中的注解栏,一般是使用chfn(1)来修改。

-d home_dir
更新使用者新的登入目录。如果给定-m选项,使用者旧目录会搬到新的目录去,如旧目录不存在则建个新的。

-e expire_date
加上使用者帐号停止日期。日期格式为MM/DD/YY.

-f inactive_days
帐号过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关闭此功能 。预设值为-1。

-g initial_group
更新使用者新的起始登入群组(缺省群组)。群组名须已存在。群组ID必须参照既有的群组 。 群组ID预设值为1。

-G group,[...]
定义使用者为一堆groups 的成员。每个群组使用逗号“,”区格开来,不可以夹 杂空白字符。群组名同-g选项的限制。如果使用者现在的群组不再此列,则将使用者由该群组中移除。

-l login_name
变更使用者login 时的名称为login_name。其余不变。特别是,使用者目录名应该也会跟着更改成新的登入名。

-s shell
指定新登入shell 。如此栏留白,系统将选用系统预设shell。

-u uid 使
用者ID值 。必须为唯一的ID值 , 除非用-o选项。数字不可为负值。预设为最小不得小于99而逐次增加。 0~99 传统上是保留给系统帐号使用。使用者目录树下所有的档案目录其user ID会自动改变。放在使用者目录外的档案则要自行手动更动。
范    例:        修改p40068用户的缺省群组为root:
usermod –g root p40068

修改p40068用户的隶属群组为root,db2inst1,users:
usermod–G root,db2inst1,users p40068__________________________________
╭∩╮(︶︿︶)╭∩╮


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-1 19:13:48 | 显示全部楼层
3.4.4        passwd
指令名称:        passwd
使用权限:        所有使用者
使用方式:        passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]
说    明:        用来更改使用者的密码,如果不输入username,则表示更改自己的登录密码
参    数:        -d 关闭使用者的密码认证功能, 使用者在登入时将可以不用输入密码, 只有具备 root 权限的使用者方可使用.

-S 显示指定使用者的密码认证种类, 只有具备 root 权限的使用者方可使用.

[username] 指定帐号名称.
范    例:        清空p40068用户的密码:
passwd –d p40068

更改自己的密码:
passwd

3.4.5        groups
指令名称:        groups
使用权限:        所有使用者
使用方式:        groups [OPTION]... [USERNAME]...
说    明:        用来查询某用户所隶属的群组,输出的群组名列表中,第一个群组名为该用户的缺省群组
参    数:        如果指定用户名,则显示该用户所隶属的群组,如果不指定用户名,则查询当前用户所隶属的群组
范    例:        查询当前用户所隶属的群组:
groups

查询p40068用户所隶属的群组:
groups p40068


3.5        权限管理
3.5.1        chgrp
指令名称:        chgrp
使用权限:        root或文件拥有者
使用方式:        chgrp  [组名] [文件名]
说    明:        改变文件或目录所属的用户组,chown命令可以完全代表该命令的功能。
参    数:        
范    例:        将“mydir”目录的所属用户组改成root
chgrp root mydir__________________________________
╭∩╮(︶︿︶)╭∩╮


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-1 19:14:03 | 显示全部楼层
3.5.2        chown
指令名称:        chown
使用权限:        root
使用方式:        chmod [-cfhvR] [--help] [--version] user[:group] file...
说    明:        Linux 是多人多工操作系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。
参    数:        user : 新的档案拥有者的使用者
IDgroup : 新的档案拥有者的使用者群体(group)
-c : 若该档案拥有者确实已经更改,才显示其更改动作
-f : 若该档案拥有者无法被更改也不要显示错误讯息
-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案
-v : 显示拥有者变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)
范    例:        将档案 file1.txt 的拥有者设为 users 群组的使用者 p40068 :
chown p40068:users file1.txt

将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 p40068:
chown -R p40068:users *
3.5.3        chmod
指令名称:        chmod
使用权限:        所有使用者
使用方式:        chmod [-cfvR] [--help] [--version] mode file...
说    明:        Linux 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用,mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],具体参数含义见以下说明:__________________________________
╭∩╮(︶︿︶)╭∩╮


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-1 19:14:17 | 显示全部楼层
参    数:        u 表示该档案的拥有者,
g 表示与该档案的拥有者属于同一个群体(group)者,
o 表示其他以外的人,
a 表示这三者皆是。
+ 表示增加权限、
- 表示取消权限、
= 表示唯一设定权限。
r 表示可读取,
w 表示可写入,
x 表示可执行,
X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
范    例:        将档案 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt

将档案 file1.txt 设为所有人皆可读取 :
chmod a+r file1.txt

将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt

将 ex1.py 设定为只有该档案拥有者可以执行 :
chmod u+x ex1.py

将目前目录下的所有档案与子目录皆设为任何人可读取 :
chmod -R a+r *

此外chmod也可以用数字来表示权限如 chmod 777 file
语法为:chmod abc file

其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。

范例:
chmod a=rwx file

chmod 777 file 效果相同

chmod ug=rwx,o=x file

chmod 771 file 效果相同

若用chmod 4755 filename可使此程序具有root的权限__________________________________
╭∩╮(︶︿︶)╭∩╮


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-1 19:14:37 | 显示全部楼层
3.5.4        su
指令名称:        su
使用权限:        所有使用者
使用方式:        su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
说    明:        变更为其他使用者的身份,除 root 外,需要键入该使用者的密码
参    数:        f 或 --fast 不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh
-m -p 或 --preserve-environment 执行 su 时不改变环境变数
-c command 或 --command=command 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者
-s shell 或 --shell=shell 指定要执行的 shell (bash csh tcsh 等),预设值为 /etc/passwd 内的该使用者(USER) shell
-,-l 或 --login 这个参数加了之后,就好像是重新 login 为该使用者一样,大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定 USER ,内定是 root
USER 欲变更的使用者帐号
ARG 传入新的 shell 参数
范    例:        su -c ls root 变更帐号为 root 并在执行 ls 指令后退出变回原使用者。
su root -f 变更帐号为 root 并传入 -f 参数给新执行的 shell。
su - clsung 变更帐号为 clsung 并改变工作目录至 clsung 的家目录(home dir)。

3.6        进程管理
3.6.1        ps
指令名称:        ps
使用权限:        所有使用者
使用方式:        ps [options]
说    明:        显示瞬间行程 (process) 的动态
参    数:        -e:列出所有进程,和参数-A功能相同
-f:full,完全的信息
范    例:        列出当前所有的进程信息,并显示起动该进程的命令行完整信息
ps -ef
3.6.2        top
指令名称:        top
使用权限:        所有使用者
使用方式:        top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
说    明:        实时显示 process 的动态
参    数:        d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来
s : 安全模式,将交谈式指令取消, 避免潜在的危机
i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程
n : 更新的次数,完成后将会退出 top
b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内
范    例:        显示更新十次后退出 ;
top -n 10

使用者将不能利用交谈式指令来对行程下命令 :
top -s

将更新显示二次的结果输入到名称为 top.log 的档案里 :
top -n 2 -b__________________________________
╭∩╮(︶︿︶)╭∩╮


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-1 19:15:07 | 显示全部楼层
3.6.3        kill
指令名称:        kill
使用权限:        所有使用者
使用方式:        kill [ -s signal | -p ] [ -a ] pid ...
kill -l [ signal ]
说    明:        kill 送出一个特定的信号 (signal) 给行程 id 为 pid 的行程根据该信号而做特定的动作, 若没有指定, 预设是送出终止 (TERM) 的信号
参    数:        -s (signal) : 其中可用的讯号有 HUP (1), KILL (9), TERM (15), 分别代表著重跑, 砍掉, 结束; 详细的信号可以用 kill -l
-p : 印出 pid , 并不送出信号
-l (signal) : 列出所有可用的信号名称
范    例:        将 pid 为 323 的行程砍掉 (kill) :
kill -9 323

将 pid 为 456 的行程重跑 (restart) :
kill -HUP 456

3.7        日期和时间
3.7.1        date
指令名称:        date
使用权限:        所有使用者
使用方式:        date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]
说    明:        date 可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下 :__________________________________
╭∩╮(︶︿︶)╭∩╮


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-1 19:16:01 | 显示全部楼层
范    例:        显示时间后跳行,再显示目前日期 :
date '+%T%n%D'

显示月份与日数 :
date '+%B %d'

显示日期与设定时间(12:34:56) :
date --date '12:34:56'

注意 :

当你不希望出现无意义的 0 时(比如说 1999/03/07),则可以在标记中插入 - 符号,比如说 date '+%-H:%-M:%-S' 会把时分秒中无意义的 0 给去掉,像是原本的 08:09:04 会变为 8:9:4。另外,只有取得权限者(比如说 root)才能设定系统时间。

当你以 root 身分更改了系统时间之后,请记得以 clock -w 来将系统时间写入 CMOS 中,这样下次重新开机时系统时间才会持续抱持最新的正确值。
3.7.2        cal
指令名称:        cal
使用权限:        所有使用者
使用方式:        cal [-mjy] [month [year]]
说    明:        显示日历。若只有一个参数,则代表年份(1-9999),显示该年的年历。年份必须全部写出:``cal 89'' 将不会是显示 1989 年的年历。使用两个参数,则表示月份及年份。若没有参数则显示这个月的月历。
1752 年 9 月第 3 日起改用西洋新历,因这时大部份的国家都采用新历,有 10 天被去除,所以该月份的月历有些不同。在此之前为西洋旧历。
参    数:        -m : 以星期一为每周的第一天方式显示。
-j : 以凯撒历显示,即以一月一日起的天数显示。
-y : 显示今年年历。
范    例:        cal : 显示本月的月历。
cal 2001 : 显示公元 2001 年年历。
cal 5 2001 : 显示公元 2001 年 5 月月历。
cal -m : 以星期一为每周的第一天方式,显示本月的月历。
cal -jy : 以一月一日起的天数显示今年的年历。
3.7.3        clock
指令名称:        clock
使用权限:        所有使用者
使用方式:        hwclock [function] [options...]
说    明:        查看和设置硬件时钟
参    数:        --hctosys表示Hardware Clock to SYStem clock
--systohc表示SYStem clock to Hardware Clock
范    例:        硬件时钟与系统时钟同步:
clock --hctosys
上面命令中,--

系统时钟和硬件时钟同步:
clock --systohc__________________________________
╭∩╮(︶︿︶)╭∩╮


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-1 19:16:14 | 显示全部楼层
3.8        系统管理
3.8.1        rpm
指令名称:        rpm
使用权限:        所有使用者
使用方式:        rpm options file1.rpm ... fileN.rpm
说    明:        RPM是Redhat Package Manager的缩写,是由RedHat公司开发的软件包安装和管理程序,同Windows平台上
的Uninstaller比较类似。使用RPM,用户可以自行安装和管理Linux上的应用程序和系统工具。
RPM可以让用户直接以binary方式安装软件包,并且可替用户查询是否已经安装了有关的库文件;在用RPM删
除程序时,它又会聪明地询问用户是否要删除有关的程序。如果使用RPM来升级软件,RPM会保留原先的配置
文件,这样用户就不用重新配置新的软件了。RPM保留一个数据库,这个数据库中包含了所有的软件包的资料,
通过这个数据库,用户可以进行软件包的查询。RPM虽然是为Linux而设计的,但是它已经移值到SunOS、
Solaris、AIX、Irix等其它UNIX系统上了。RPM遵循GPL版权协议,用户可以在符合GPL协议的条件下自由
使用及传播RPM。
参    数:        RPM共有10种基本的模式:它们是安装、查询、验证、删除等。

安装模式: rpm –i [安装选项]  
查询模式: rpm –q [查询选项]
验证模式: rpm –V 或 –verify [验证选项]
删除模式: rpm –e  

使用RPM的一般选项:
一般选项可以用于所有的模式。
-v:显示信息
-h:用“#”显示完成的进度
--keep-temps:保留临时文件,临时文件通常位于/tmp/rpm-*,这个选项要用于debug。
--quiet:安静工作,只有当出现错误时才给出提示信息__________________________________
╭∩╮(︶︿︶)╭∩╮


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-1 19:16:28 | 显示全部楼层
范    例:        安装一个rpm包
rpm -ivh <rpm package name>

升级一个包
rpm -Uvh <rpm package name>

移走一个RPM包
rpm -e <rpm package name>

查询一个包是否被安装
rpm -q <rpm package name>

得到被安装的包的信息
rpm -qi <rpm package name>

列出该包中有哪些文件
rpm -ql <rpm package name>

列出所有被安装的包
rpm -qa <rpm package name>

列出一个未被安装进系统的RPM包的文件中包含哪些文件
rpm -qilp <rpm package name>

3.8.2        shutdown
指令名称:        shutdown
使用权限:        系统管理者
使用方式:        shutdown [-t seconds] [-rkhncfF] time [message]
说    明:        关机命令
参    数:        -t seconds : 设定在几秒钟之后进行关机程序
-k : 并不会真的关机,只是将警告讯息传送给所有只用者
-r : 关机后重新开机
-h : 关机后停机
-n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机
-c : 取消目前已经进行中的关机动作
-f : 关机时,不做 fcsk 动作(检查 Linux 档系统)
-F : 关机时,强迫进行 fsck 动作
time : 设定关机的时间
message : 传送给所有使用者的警告讯息
范    例:        立即关闭计算机
shutdown –h now__________________________________
╭∩╮(︶︿︶)╭∩╮


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-1 19:16:45 | 显示全部楼层
3.8.3        reboot
指令名称:        reboot
使用权限:        系统管理者
使用方式:        reboot [-n] [-w] [-d] [-f] [-i]
说    明:        若系统的 runlevel 为 0 或 6 ,则重新开机,否则以 shutdown 指令(加上 -r 参数)来取代
参    数:        -n : 在重开机前不做将记忆体资料写回硬盘的动作
-w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里
-d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d)
-f : 强迫重开机,不呼叫 shutdown 这个指令
-i : 在重开机之前先把所有网络相关的装置先停止
范    例:        reboot 重开机。
reboot -w 做个重开机的模拟(只有纪录并不会真的重开机)。

3.8.4        fdisk
指令名称:        fdisk
使用权限:        root
使用方式:        fdisk option
说    明:        观察硬盘之实体使用情形与分割硬盘用。
参    数:        m 显示所有命令列示。
p 显示硬盘分割情形。
a 设定硬盘启动区。
n 设定新的硬盘分割区。
e 硬盘为[延伸]分割区(extend)。
p 硬盘为[主要]分割区(primary)。
t 改变硬盘分割区属性。
d 删除硬盘分割区属性。
q 结束不存入硬盘分割区属性。
w 结束并写入硬盘分割区属性。
范    例:        在 console 上输入 fdisk -l /dev/hda1 ,观察硬盘之实体使用情形
在 console 上输入 fdisk /dev/hda,可进入分割硬盘模式__________________________________
╭∩╮(︶︿︶)╭∩╮


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-1 19:16:57 | 显示全部楼层
3.8.5        mount
指令名称:        mount
使用权限:        root
使用方式:        mount [-hV]
mount -a [-fFnrsvw] [-t vfstype]
mount [-fnrsvw] [-o options [,...]] device | dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir
说    明:        将某个档案的内容解读成档案系统,然后将其挂在目录的某个位置之上。当这个命令执行成功后,直到我们使用 umnount 将这个档案系统移除为止,这个命令之下的所有档案将暂时无法被调用。

这个命令可以被用来挂上任何的档案系统,你甚至可以用 -o loop 选项将某个一般的档案当成硬盘机分割挂上系统。这个功能对于 ramdisk,romdisk 或是 ISO 9660 的影像档之解读非常实用。
参    数:        -o ro :用只读模式挂上。
-o rw :用可读写模式挂上。
范    例:        将 /dev/hda1 挂在 /mnt 之下。
#mount /dev/hda1 /mnt

将 /dev/hda1 用唯读模式挂在 /mnt 之下。
#mount -o ro /dev/hda1 /mnt__________________________________
╭∩╮(︶︿︶)╭∩╮


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-1 19:17:08 | 显示全部楼层
4        GNU C++编程
4.1        g++
指令名称:        g++
使用权限:        所有使用者
使用方式:        g++ [options] file... –o outflle
说    明:        编译,连接源文件后生成可执行文件
参    数:        -g 产生gdb调试时所需要的符号信息
-pg 产生gprof性能分析工具所需的性能采集点信息
-o 生成的目标程序名
范    例:        假设有一个程序,只有一个test.cpp文件,要编译连接该文件后,生成可执行文件demo,可以输入如下命令:
g++ test.cpp -o demo

假设有一个程序,只有一个test.cpp文件,要编译连接该文件后,生成可执行文件demo,并且产生gdb调试时所需要的符号信息,可以输入如下命令:
g++ -g test.cpp -o demo

假设有一个程序,只有一个test.cpp文件,要编译连接该文件后,生成可执行文件demo,并且产生gprof性能分析工具所需要的性能采集点信息,可以输入如下命令:
g++ -pg test.cpp -o demo

假设有一个程序,只有一个test.cpp文件,要编译连接该文件后,生成可执行文件demo,并且既产生gdb调试时所需要的符号信息,又产生gprof性能分析工具所需要的性能采集点信息,可以输入如下命令:
g++ -g -pg test.cpp -o demo

要想运行该可执行文件demo,使用如下命令:
./demo__________________________________
╭∩╮(︶︿︶)╭∩╮


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-1 19:17:22 | 显示全部楼层
4.2        gdb
指令名称:        gdb
使用权限:        所有使用者
使用方式:        gdb <program>
program也就是你的执行文件,一般在当前目录下。

gdb <program> core
用gdb同时调试一个运行程序和core文件,core是程序非法执行后core dump后产生的文件。

gdb <program> <PID>
如果你的程序是一个服务程序,那么你可以指定这个服务程序运行时的进程ID。gdb会自动attach上去,并调试他。program应该在PATH环境变量中搜索得到。
说    明:        GDB是GNU开源组织发布的一个强大的Linux下的程序调试工具。具体的使用方法请参考相应的手册。
参    数:        请参考相应的手册
范    例:        调试4.1节所编译的demo程序,使用如下命令:
gdb demo

假如demo程序在运行时,产生了致命的错误,比如内存访问违例等异常,并生成了内存转储文件,要想调试该内存转储文件,使用如下命令:
gdb demo core

假如demo程序是服务性质的程序,长驻内存,那么我们可以先使用如下命令查看demo程序的pid:
ps –ef | grep demo
得到该进程的pid后,使用如下命令,attach进该程序,进行调试:
gdb demo [pid]

或者这样使用,先直接输入
gdb
进入gdb调试环境后,输入
attach [pid]
进行调试

【注意】
在Linux下,缺省的设置是不产生内存转储文件,要想程序异常时产生内存转储文件,请使用如下命令:
ulimit -c unlimited
在Windows下要想产生内存转储文件,请先在Dos命令行使用输入命令:
drwtsn32 –i
然后在Dos命令下输入“drwtsn32”命令,在弹出的对话框中,勾选“Create Crash Dump File”,并设置内存转储文件所存放的路径。

还有一点就是如果core文件产生得比较久了,你搞不清楚是哪个文件产生的core文件,可以使用如下命令进行查询:
gdb –core core.filename
该命令会返回如下信息:
Core was generated by `./demo'.
其中“./demo”就是产生该core文件的可执行文件名__________________________________
╭∩╮(︶︿︶)╭∩╮


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-1 19:17:47 | 显示全部楼层
4.3        gprof
指令名称:        gprof
使用权限:        所有使用者
使用方式:        请参考相应的手册
说    明:        使用gprof包括三个步骤:
1、编译你的程序,让它能够使用gprof,参见4.1节所述
2、执行程序,产生一个分析的结果文件。
3、运行gprof,分析结果。
参    数:        
范    例:        假设有一个程序,只有一个test.cpp文件,要编译连接该文件后,生成可执行文件demo,并且产生gprof性能分析工具所需要的性能采集点信息,可以输入如下命令:
g++ -pg test.cpp -o demo

然后运行该可执行文件demo,使用如下命令:
./demo

使用gprof工具分析程序运行的性能采集结果:
gprof demo gmon.out

可以把结果重定向到一个文件中,以便于使用别的软件进行查看和分析:
gprof demo gmon.out > demo.txt

在Windows下,VC自带的性能分析工具为“Profile.Exe”

4.4        addr2line
指令名称:        addr2line
使用权限:        所有使用者
使用方式:        addr2line [option(s)] [addr(s)]
说    明:        将程序的线性地址转换成实际代码中哪一行的命令
参    数:        -e 可执行文件名
-f 显示函数名称
-C 使用用户可识别的名称报名符号信息
范    例:        假设有一个程序名叫demo,要想查看该程序的地址0x080488bc处于哪个源文件的哪一行,函数名称叫什么,可如下使用该命令:

addr2line -e demo -C -f 0x41e4660f__________________________________
╭∩╮(︶︿︶)╭∩╮


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-1 19:17:59 | 显示全部楼层
4.5        nm
指令名称:        nm
使用权限:        所有使用者
使用方式:        nm [option(s)] [file(s)]
说    明:        将程序中所有的符号表信息导出的命令
参    数:        -a 显示调试符号信息
-l 显示文件名及行号信息
-n 按排地址排序符号信息
-C 使用用户可识别的名称报名符号信息
范    例:        假设有一个程序名叫demo,可以使用如下命令将该程序所有符号信息输出到文本文件symbols.txt中:

nm -a -l -n -C demo.so > symbols.txt

5        操作技巧
5.1        通配符
通配符标识        含义
?        完全匹配任一字符
*        匹配任意数目的字符
[set]        匹配在方括号中指定的字符组中的任一字符,这里用字符串“set”表示字符组
[!set]        匹配“set”标识符之外的任一字符。__________________________________
╭∩╮(︶︿︶)╭∩╮


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 03:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表