免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: compare2000
打印 上一主题 下一主题

Linux常用命令及基础知识介绍 [复制链接]

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
41 [报告]
发表于 2011-02-25 13:43 |只看该作者
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”标识符之外的任一字符。

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
42 [报告]
发表于 2011-02-25 13:44 |只看该作者
5.2        快键捷
快键捷        功能
[Tab]        命令行自动补全。使用 shell 提示时可使用这一命令。键入命令或文件名的前几个字符,然后按 [Tab] 键,它会自动补全命令或显示匹配你键入字符的所有命令,在gdb调试时也可使用这一功能。
[Tab] [Tab]        连续按两次[Tab]键,会对你所输入的未完成的命令,所有可能的形式进行联想提示。
[Ctrl] + [Alt] + [Fn]        切换屏幕。[Ctrl]+[Alt] + [功能键之一]会显示一个新屏幕。根据默认设置,从 [F1] 到 [F6] 是 shell 提示屏幕,[F7] 是图形化屏幕。
[Ctrl] + [Alt] + [←]        杀死你当前的 X 会话。杀死图形化桌面会话,把你返回到登录屏幕。如果正常退出步骤不起作用,你可以使用这种方法。
[Ctrl] + [Alt] + [Del]        关机和重新引导操作系统。关闭你当前的会话然后重新引导 OS。只有在正常关机步骤不起作用时才使用这种方法。
[Alt] + [Tab]        在图形化桌面环境中切换任务。如果你同时打开了不止一个应用程序,你可以使用 [Alt] + [Tab] 来在打开的任务和应用程序间切换。
[Ctrl] + [a]        把光标移到行首。它在多数文本编辑器和 Mozilla 的 URL 字段内可以使用。
[Ctrl] + [e]        把光标移到行尾。它在多数文本编辑器和 Mozilla 的 URL 字段内都可使用。
[Ctrl] + [u]        清除当前行。如果你在终端下工作,使用这一快捷操作可以清除从光标处到行首的字符。
[Ctrl] + [k]        清除当前行。如果你在终端下工作,使用这一快捷操作可以清除从光标处到行尾的字符。
[Esc] + [l]        将当前光标位置处的字转为小写,不移动光标
[Esc] + [u]        将当前光标位置处的字转为大写,不移动光标
[Esc] + [t]        将当前光标位置前的字与光标位置上的字交换,交将光标移至新的下一字后
[鼠标中间键]        粘贴突出显示的文本。使用鼠标左键来突出显示文本。把光标指向你想粘贴文本的地方。点击鼠标中间键来粘贴它。在两键鼠标系统中,如果你把鼠标配置成模拟第三键,你可以同时点击鼠标的左右两键来执行粘贴。
[↑][↓]        显示命令历史。当你使用 shell 提示时,按[↑]或 [↓]箭头来前后查看你在当前目录下键入的命令历史。当你看到你想使用的命令时,按 [Enter] 键。
[Ctrl] + [l]        清除终端。该快捷操作与在命令行键入 clear 作用相同。

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
43 [报告]
发表于 2011-02-25 13:45 |只看该作者
[Ctrl] + [d]        从 shell 提示中注销(并关闭)。使用该快捷键,你就不必键入 exit 或 logout。
clear        清除 shell 提示屏幕。在命令行下键入它会清除所有这个 shell 提示屏幕中显示的数据。
exit        注销。在 shell 提示中键入它会注销当前的用户或根用户帐号。
history        显示命令历史。在 shell 提示中键入它来显示你所键入的被编号的前 1000 个命令。要显示较短的命令历史,键入histor之后空一格,再键入一个数字。例如:history 20。
reset        刷新 shell 提示屏幕。如果字符不清晰或乱码的话,在 shell 提示下键入这个命令会刷新屏幕。
string+[Home]        输入一个历史命令的前几个字符,再按[Home]可以自动完成包含该字符串的最近的历史命令的输入,多按几次[Home]键,可以在包含该字符串的历史命令里面遍历。
string+[Page UP]
string+[Page Down]        输入一个历史命令的前几个字符,再按[Page UP]和[Page Down]键,可以在包含该字符串的历史命令里面上下遍历。

5.3        命令的别名
适当使用别名,即可以做到让比较长的命令更容易记住,也便于输入,从而可以提高工作效率。
5.3.1        alias
指令名称:        alias
使用权限:        所有使用者
使用方式:        alias [-p] [name[=value] ... ]
说    明:        为你经常使用的命名起个别名,特别是对于那些经常有着指定参数的命令,或者命令的名称及参数很长的命令,可以起一个易记的名字
参    数:        name:是你自己定义的名称
value:表示该别名关联的真实命令名及参数
范    例:        显示系统所定义的所有别名
alias

显示别名“dir”的定义:
alias dir

定义一个新的别名
alias mydir='ls -al'

注意:这儿定义的只是一个临时的别名,下次登录时,该别名便不存在了,要想定义的别名每次登录皆可使用,可以将别名定义在~/.alias文件中

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
44 [报告]
发表于 2011-02-25 13:47 |只看该作者
5.3.2        SuSE8.0内建别名
别名        定义        意义
+        pushd .        将当前目录压入目录栈中
-        popd        将目录栈底的目录弹出,并进入该目录
..        cd ..        进入上一级目录
...        cd ../..        进入上二级目录
dir        ls -l        以列表方式显示当前目录下的文件和文件夹
md        mkdir -p        以指定的路径名,创建目录
o        less        调用less命令查看文档
rd        rmdir        删除空目录的命令

5.3.3        为ims_omu扩展的别名
以下是为我们项目所建的别名,使用时,只需将这儿提供的.alias文件拷贝到/home/ims_omu/目录下,再重新登录,即可使用这些别名,当然你也可以扩充这儿定义的别名。
.alias文件内容如下:
cdbin  () { cd $IMAP_ROOT/bin/${1+"$@"}; }
cdcode  () { cd $IMS_INSTALL_DIR/codes/source/${1+"$@"}; }
alias startsvc='svc_adm -cmd startsvc${1+"$@"}'
alias stopsvc='svc_adm -cmd stopsvc${1+"$@"}'
alias status='svc_adm -cmd status'
alias admin='lem_admin'
alias pids='ps -ef|grep${1+"$@"}'
alias pid='svc_adm -cmd status|grep${1+"$@"}'

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
45 [报告]
发表于 2011-02-25 13:47 |只看该作者
别名        定义        意义
cdbin        cd $IMAP_ROOT/bin/${1+"$@"}        直接进入bin目录
cdcode        cd $IMS_INSTALL_DIR/codes/source/${1+"$@"}        直接进入codes目录
startsvc        svc_adm -cmd startsvc${1+"$@"}        开始某一进程,比如startsvc tm
stopsvc        svc_adm -cmd stopsvc${1+"$@"}        停止某一进程,比如stopsvc tm
status        svc_adm -cmd status        显示所有进程状态
admin        lem_admin        lem_admin别名
pid        svc_adm -cmd status|grep${1+"$@"}        查看某一进程主ID,比如
pid tm
pids        ps -ef|grep${1+"$@"}        查看某一进程所有ID,比如
pids tm
hs        history${1+"$@"}        history命令的别名
pd        pushd${1+"$@"}        pushd命令的别名

5.4        历史命令

5.4.1        history
指令名称:        history
使用权限:        所有使用者
使用方式:        history [选项][文件名]
说    明:        显示或操作历史命令列表
参    数:        N 仅显示历史命令列表中最后N条记录
-c 清空历史命令列表
范    例:        显示完整的历史命令列表
history

显示最后8条命令
history 8

清空历史命令列表
history -c

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
46 [报告]
发表于 2011-02-25 13:48 |只看该作者
5.4.2        history扩展
可以使用以下history扩展方法,操纵和重复执行历史命令:
事件指定符        意义        例子
!N        历史命令列表中第N个事件        !8 命令列表中第8个命令
!-N        当前行之前的第N行        !-6 6行之前的命令
!!        上一次执行的命令        !! 上一次执行的命令
!string        最近用到的以string开始的命令        !grep 最近使用的以字符串grep开始的命令(一般是最后使用的grep命令)
!?string[?]        最近使用的包含string的命令        !?cut? 最近使用包含cut字符串的命令
string +[Home]        自动完成该历史命令的输入。        ls再按[Home]键,自动完成以ls为首的最近的历史命令的输入
5.5        目录栈操作
灵活使用目录栈操作,可以在常用的目录之中漫游,减少目录切换时,过多的输入目录路径的工作量。
5.5.1        dirs
指令名称:        dirs
使用权限:        所有使用者
使用方式:        dirs [options][+n][-n]
说    明:        显示目录堆栈,从左到右列出目录椎栈中目录的绝对路径名,第一个是栈顶的目录(当前目录)
参    数:        +N 显示从栈顶算起的第n个目录项(栈顶的目录项索引号为0)
-N 显示从栈底算起的第n个目录项(栈底的目录项索引号为0)
-c 只将当前目录保留在堆栈中,清除目录堆栈中其余的目录项
-l 显示目录的绝对路径名
-v 显示堆栈项,每行一个,带索引号为
范    例:        显示当前的目录栈
dirs

带绝对路径,每行一个,带索引号的显示目录栈
dirs –l –v

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
47 [报告]
发表于 2011-02-25 13:49 |只看该作者
5.5.2        pushd
指令名称:        pushd
使用权限:        所有使用者
使用方式:        pushd [-n] [directory]
pushd [-n] [+N][-N]
说    明:        第一条语法:将directory压入目录堆栈;如果不带参数,则交换栈顶的两个目录项
第二条语法:循环移动目录堆栈,将第n项移到栈顶
参    数:        +N 循环移动堆栈,把从栈顶算起的第n项移到栈顶(栈顶项的索引号为0)
-N 循环移动堆栈,把从栈底算起的第n项移到栈顶(栈底项的索引号为0)
-n 不让新压入的目录成为当前目录
范    例:        参见5.5.4范例



5.5.3        popd
指令名称:        popd
使用权限:        所有使用者
使用方式:        popd[-n][+N][-N]
说    明:        从目录堆栈中删除目录,并进入到新的栈顶目录,如果不带参数,则删除栈顶目录
参    数:        +N 从目录堆栈中删除第n项目录(栈顶项的索引号为0)
-N从目录堆栈中删除第n项目录(栈底项的索引号为0)
-n 不改变当前目录
范    例:        参见5.5.4范例

5.5.4        范例
1、        创建以下目录
cd (不带参数,直接进入主目录)
mkdir -p a1/a2/a3
mkdir -p b1/b2/b3/b4/b5
mkdir -p c1/c2/c3/c4
2、        依次进入以下目录,并将目录压入栈中
cd a1/a2/a3
pushd . (或者使用别名“+”)
cd ~/b1/b2/b3/b4/b5
pushd . (或者使用别名“+”)
cd ~/c1/c2/c3/c4
pwd (这时当前目录为)
输出示例:
/home/p40068/c1/c2/c3/c4
dirs -l –v (查看目录栈)
输出示例:
0  /home/p40068/c1/c2/c3/c4
1  /home/p40068/b1/b2/b3/b4/b5
2  /home/p40068/a1/a2/a3

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
48 [报告]
发表于 2011-02-25 13:51 |只看该作者
3、        在目录栈中漫游
pushd +2 (或者pushd -0,直接切换到~/a1/a2/a3目录中)
pwd (这时当前目录为)
输出示例:
/home/p40068/a1/a2/a3
dirs -l –v (查看目录栈)
输出示例:
0  /home/p40068/a1/a2/a3
1  /home/p40068/c1/c2/c3/c4
2  /home/p40068/b1/b2/b3/b4/b5
pushd (再次切换到~/c1/c2/c3/c4目录中)
pwd (这时当前目录为)
输出示例:
/home/p40068/c1/c2/c3/c4
dirs -l –v(查看目录栈)
输出示例:
0  /home/p40068/c1/c2/c3/c4
1  /home/p40068/a1/a2/a3
2  /home/p40068/b1/b2/b3/b4/b5
popd (或者使用别名“-”,将当前目录从栈中弹出,并进行栈中下一目录)
pwd (这时当前目录为)
输出示例:
/home/p40068/a1/a2/a3
dirs -l –v(查看目录栈)
输出示例:
0  /home/p40068/a1/a2/a3
1  /home/p40068/b1/b2/b3/b4/b5
popd (或者使用别名“-”,将当前目录从栈中弹出,并进行栈中下一目录)
pwd (这时当前目录为)
输出示例:
/home/p40068/b1/b2/b3/b4/b5
dirs -l –v(查看目录栈)
输出示例:
0  /home/p40068/b1/b2/b3/b4/b5

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
49 [报告]
发表于 2011-02-25 13:51 |只看该作者
6        重定向和管道
6.1        重定向

操作符        作用
< file        输入重定向到文件file
> file        输出重定向到文件file
>> file        追加标准输出到文件file;如果文件不存在,就新建它
0 < file        输入重定向到文件file
1 > file        输出重定向到文件file
2 > file        错误重定向到文件file
1 >> file        追加标准输出到文件file
2 >> file        追加标准错误到文件file
<& m        关联标准加入到文件描述符m
>& m        将标准输出关联到文件描述符m
m >& n        关联文件描述符m到文件描述符n
<&-        关闭标准输入
>&-        关闭标准输出
m <&或m >&-        将文件描述符m关闭
> &file        标准输出和出错输出重定向到文件file
>| file        忽略noclobber变量将标准输出送到文件file
n >| file        忽略noclobber变量将文件描述符n强制输出到文件file
<> file        将标准输入和输出都分配给文件file
n < file        将文件file设为文件描述符n
n > file        将文件描述符n指向文件file
cmd1 | cmd2        将命令“cmd1”的输出送到命令“cmd2”的输入中

例如,如果要将编译和连接TestMap.cpp文件的正常结果输出到result.txt文件,而将编译时产生的错误输出到error.txt文件中,可以使用以下语句:
g++ -g TestMap.cpp -o TestMap 1> result.txt 2> error.txt

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
50 [报告]
发表于 2011-02-25 13:53 |只看该作者
6.2        管道
Linux系统允许一条命令的标准输出成为另外一条命令的标准输入。通过下面的命令句法,可以用管道字符“|”来实现。
语法:command1 | command2 | command3 | ... | commandN
目的:“命令1”的标准输出连接到“命令2”的标准输入,“命令2”的标准输出连接到“命令3”的标准输入,......,“命令N-1”的标准输出连接到“命令N”的标准输入。
所以管道允许用户将一条命令的标准输出作为另外一条命令的标准输入。用管道连接的那些命令叫做过滤器(filter)。一个过滤器是一组Linux的命令,它们从标准输入中得到输入,经过一系列指定方式的处理,将结果送到标准输出。一些经常用到的过滤器是:cat、compress、crypt、grep、gzip、lp、pr、sort、tr、uniq和wc。
7        正则表达式介绍
正则表达式,是linux操作系统比起windows操作系统,在操作易用性方面,占有优势的为数不多的几个特性之一,使用正则表达式的工具有:awk,ed,egrep,grep,sed和vi。不过这些工具对正则表达式的支持程序不尽相同,其中awk和egrep能较好地支持正则表达式,grep对正则表达式的支持则较少,了解正则表达式的定义,不仅可以在实际操作中,减少重复的工作量,在读别人开发的shell脚本时,也有很大的帮助。
7.1        基本元字符集及其含义
名称        操作符        使用举例        意义        支持的工具
析取        |        x|y|z        x、y或者z        awk,egrep
任意字符        .        /L..e/        Love,Live,Lose        所有工具
字符串首字符        ^        ^x        以字符x开始的串        所有工具
连接                xyz        xyz        所有工具
字符串尾字符        $        x$        以字符x结束的串        所有工具
转义字符        \        \*        *        ed,sed,vi
组合        ()或者\(\)        (xy)+        xy,xyxy,xyxyxy,...        所有工具
可选        ?        xy?        x,xy,xyy,xyyy,...        awk,egrep
重复(零次或更多)        *        xy*        xy,xyy,xyyy,...        所有工具
重复(一次或更多)        +        xy+        xy,xyy,xyyy,        所有工具
集合        []        [Hh]ello        Hello,hello        所有工具
补集        [^]        [^A-KM-Z]ove        Love        所有工具
        pattern\{n\}                用来匹配前面pattern出现次数。n为次数        所有工具
        pattern\{n,\}m                含义同上,但次数最少为n        所有工具
        pattern\{n,m\}                含义同上,但pattern出现次数在n和m之间        所有工具
注:其中集合类操作符[],表示匹配[]内任何字符。可以是一个单字符,也可以是字符序列。也可以使用-表示[]内字符序列范围,如用[1-5]代替[12345]。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP