您的位置:首页 > 运维架构 > Shell

Linux下的常用shell命令

2015-09-22 18:45 507 查看
1.字符界面下的Shell命令操作
(1)查看当前目录。pwd
(2)cat命令:标准的输入、输出,显示文件。参数如下:
-n 输出行编号
-b 对空白行不编号
-s 大于两行的空行换成一行
-v 显示问打印的字符LFD和TAB
-E display $ at end of each line
-T display TAB characters as ^I
-A equivalent to –vET
-e equivalent to –vE
新建文件并输入内容:cat >f1
[使用cat命令进行输入时,而且只能用退格键(Backspace)来删除光标前一位置的字符。并且一旦按下回车键,该行输入的字符就不可修改。按Ctrl+D键结束输入。]

在用户主目录下创建一个名为f1的文本文件,内容为:
Linux is userful for us all.
You can never imganie how great it is.

输入命令“cat f1”,查看f1文件的内容。

在文件末尾增加内容:cat >>f1

(3) wc命令:显示文件信息,参数如下
-c --bytes
-m --chars
-l --lines
-w –word counts
统计f1文件的行数,单词数和字符数,并将统计结果存放在countf1文件。
输入wc <f1> countf1,再查看cat countf1

(4) 分页显示/etc目录中文件及目录(一律按名称排序)
ls /etc|more: 显示第一页,按空格键可查看下一页信息。
ls /etc|head –n 15:显示前15行

2.通配符的使用
最实用的通配符是:
* --可代表任意多个字符
? –代表一个字符

示例:
ls /bin/c*
ls /bin/c??
不常用的:
ls /bin/[c,s,h]* //首字母为c或s或h
ls /bin/[!a-e]* //首字母不是a、b、c、d、e
!! //重复上一步操作。即执行ls /bin/[!a-e]*

3.设置手工启动图形化用户界面
在/etc/inittab文件中:
id:0-6分别代表:0代表关机, 6代表重启,5代表重启到图形界面,其他不用管。

4.操作vi
vi是最老土的文本编辑器,和DOS差不多,用起来非常不方便,vim是vi的加强版,但本质上都一样,只是增强了一些命名功能。vi的三种模式切换如下:
l 文本编辑模式(插入模式):按“i”键。
l 命令模式:按Esc键。
l 最后行模式:先进入命令模式,再按“:”键。
vi编辑模式注意事项:
编辑模式下最好不要使用Backspace,Delete,Insert以及上下左右方向键。若想使用这些键的功能,应退回到命令模式,使用其他快捷命令完成。
vi令一大堆,掌握下面几个常用命令就OK了。
常用的vim(vi一样)命令如下:
(1)保存
:w /root/vim.txt //保存,w!为强制保存
:w //保存(已保存过的)
:w >>file2 //附加保存到文件file2里面
:q! //强制退出,不保存
**下面三个命令均为:保存并退出(已保存过的)
:wq
直接按ZZ
:x
(2)插入
a(光标后插入)
其他: i(光标前) I(行首) A(行尾) r(替换当前字符)
(3)删除与剪切
x //删除当前光标位置的一个或多个字符
:1,16 d //删除1至16行
dd //剪切当前行(包括行尾的回车换行符)
d0 //剪切当前行光标之前所有字符,d后面是数字0
d$ //剪切当前行光标之后所有字符
X //在光标只指向一个字符的情况下,删除光标的前一个字符
(4)选择与复制
v //选定块,从光标处开始选择(可以跨多行选择)
p //粘贴默认缓冲区的内容,在使用p命令之前不能使用x和X命令,否则p失效(本人亲测,原因可能是x或X会将缓冲区的内容也一起删除)
y //复制选定块的内容
yy //复制当前行
:2,5 co 10 //将2至5行的内容复制到第10行后面
说明:vi的复制、粘贴相当复杂,缓冲区就好象windows下的剪切板一样,它有a-z和1-9这么多,例如:要把一行插入a缓冲区,可键入:"ayy,为了把这个文本放回该文件中,键入"ap 。
(5)移动
:1,3 m 5 //将1至3行移动到第5行后面
(6)其他
h、j、k、l //移动光标,j上、k下(用鼠标滑轮也可以上下移动)
u //撤销上一步的操作
小o、大O //在当前行之下、之上新开一行,并且进入编辑模式
:sp [filename] //在同一窗口中打开第二个文件, 在多个编辑文件之间切换,用^ww
:set nu //设置行号
Ctrl+f //向前翻屏
Ctrl+b //向后翻屏

5.编辑文件
在终端中直接输入vi file2打开文件
(1)搜索(注意,不需要输入:号)
/string //向后搜索,从光标处向文件尾搜索,按n键继续搜索下一个
?string //向前搜索
搜索中可使用通配符
(2)替换
常用的三种格式:
:s/p1/p2/g //当前行,p1用p2替代
:n1,n2s/p1/p2/g //n1到n2行之间,注意n2和s之间无空格

6.C程序开发
在vi中编写一个test1.c程序,对程序进行编译、连接、运行。
编译命令如下:
gcc test1.c //默认编译产生的可执行文件为a.out
gcc test1.c -o test1.out //参数-o test1.out用于将生产的可执行文件命名为test1.out

7. 调试C程序
使用gdb调试C程序,步骤如下:
(1)输入命令“gcc test2.c –g –o test2”,重新编译源代码。
(2)输入命令“gdb test2”,使用gdb调试器对test2进行调试。
(3)在gdb提示符(gdb)下输入run运行,输入命令“list”,列出10行源代码,按Enter键将列出下10行代码。
(4)在17行str[size-i] = str[i]处设置断点,输入:break 15,再run运行会停止在第17行。
(5)*输入命令“watch str2[size - i]”,设置观察点来观察str2[size - i]变量的值,不知道为什么,我这里显示不了监视点的值(应该能显示old value和new value的),去掉这一步更好,因为设置监视点代价非常高,而且设置了断点就行了,用不着监视点。
(6)输入命令“next”,单步执行for循环。(也可用step,step能深入调用的函数)
(7)用p显示变量或表达式的值,每次执行n后都要执行p非常麻烦,可以用display expr设置自动显示。例如设置了display a[i]以后就会在代码的后面显示1: a[i] = 17
取消display可以用disable display(恢复用enable display)或者delete display
(8)N步连续执行,用命令:cont N,比如cont 13将从现在开始执行13步后停止。
(9)在gdb提示符(gdb)下,输入命令“quit”退出gdb调试器。
注:调试C程序用图形界面的kdbg或者ddd更好,下面是kdbg的界面:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: