Shell面试常问指令总结(1)

1.Shell

1.1常用命令

1. ls: 类似于dos下的dir命令

ls最常用的参数有三个: -a -l -F。
ls –a
Linux上的文件以.开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示一般文件名外,连隐藏文件也会显示出来。
ls –l
该参数显示更详细的文件信息。
ls –F
使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-F这个参数。但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。

2. cd: 用于切换用户当前工作目录

cd aaa 进入aaa目录
cd 命令后不指定目录,会切换到当前用户的home 目录
cd ~ 作用同cd后不指定目录,切换到当前用户的home 目录
cd - 命令后跟一个减号,则会退回到切换前的目录
cd .. 返回到当前目录下的上一级目录

3. pwd:用于显示用户当前工作目录

4. mkdir 和 rmdir

midir:创建目录
rmdir:删除目录
两个命令都支持-p参数,对于mkdir命令若指定路径的父目录不存在则一并创建,对于rmdir命令则删除指定路径的所有层次目录,如果文件夹里有内容,则不能用rmdir命令
如下:
mkdir -p 1/2/3
rmdir -p 1/2/3

5. cp:复制命令

复制一个文件到另一目录:cp 1.txt ../test2
复制一个文件到本目录并改名:cp 1.txt 2.txt
复制一个文件夹a并改名为b:cp -r a b

6. mv:移动命令

将一个文件移动到另一个目录:mv 1.txt ../test1
将一个文件在本目录改名:mv 1.txt 2.txt
将一个文件移动到另一个目录并改名:mv 1.txt ../test1/2.txt

7. rm命令

rm命令用于删除文件,与dos下的del/erase命令相似,rm命令常用的参数有三个:-i,-r,-f。
–i :系统在删除文件之前会先询问确认,用户回车之后,文件才会真的被删除。需要注意,linux下删除的文件是不能恢复的,删除之前一定要谨慎确认。
–r:该参数支持目录删除,功能和rmdir命令相似。
–f:和-i参数相反,-f表示强制删除

8. du、df命令

du命令可以显示目前的目录所占用的磁盘空间,df命令可以显示目前磁盘剩余空间。
如果du命令不加任何参数,那么返回的是整个磁盘的使用情况,如果后面加了目录,就是这个目录在磁盘上的使用情况。
du -hs 指定目录 查看指定目录的总大小
du -hs ./* 查看当前目录下的所有文件夹和文件的大小
df -T 查看磁盘分区格式
这两个命令都支持-k,-m和-h参数,-k和-m类似,都表示显示单位,一个是k字节一个是兆字节,-h则表示human-readable,即友好可读的显示方式。

9. cat命令

cat命令的功能是显示或连结一般的ascii文本文件。cat是concatenate的简写,类似于dos下面的type命令。用法如下:
cat file1 显示file1文件内容
cat file1 file2 依次显示file1,file2的内容
cat file1 file2 > file3 把file1, file2的内容结合起来,再“重定向(>)”到file3文件中。
“>”是右重定向符,表示将左边命令结果当成右边命令的输入,注意:如果右侧文件是一个已存在文件,其原有内容将会被清空,而变成左侧命令输出内容。如果希望以追加方式写入,请改用”>>”重定向符。
如果”>”左边没有指定文件,如: cat >file1,将会等用户输入,输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d],就会将用户的输入内容写入file1。

10. echo命令

语法:echo [-ne][字符串]
功能:echo会将输入的字符串送往标准输出,输出的字符串间以空白字符隔开, 并在最后加上换行符。
参数:

    -n 显示字串时在最后自动换行  
    -e 支持以下格式的转义字符
    -E 不支持以下格式的转义字符  

注意事项:
在Linux使用的bash下,单引号’’和双引号是有区别的,单引号忽略所有的转义,双引号不会忽略以下特殊字符:
Dollar signs ($),Back quotes (`),Backslashes (/),Excalmatory mark(!)

参数功能
/a发出警告声
/b删除前一个字符

11. more,less命令

这两个命令用于查看文件,如果一个文件太长,显示内容超出一个屏幕,用cat命令只能看到最后的内容,用more和less两个命令可以分页查看。more指令可以使超过一页的文件内容分页暂停显示,用户按键后才继续显示下一页。而less除了有more的功能以外,还可以用方向键往上或往下的滚动文件,更方便浏览阅读。

less的常用动作命令:

按钮功能
回车键向下移动一行
y向上移动一行
空格键向下滚动一屏
b向上滚动一屏
d向下滚动半屏
hless的帮助
u向上移动半屏
w可以指定显示哪行开始显示,是从指定数字的下一行显示;比如指定的是6,那就从第7行显示
g跳到第一行
G跳到最后一行
v调用vi编辑器
q退出
!command调用SHELL,可以运行命令

12. clear命令

clear命令是用来清除当前屏幕显示的,不需任何参数,和dos下的cls命令功能相同。

13.head,tail命令

head显示文件的头n行,tail显示文件的尾n行,
缺省情况n都为10行。可以通过-n方式指定行数

tail -f命令可以实时查看文件新增内容

14.wc命令

该命令用于统计指定文件中的字节数、字数、行数。该命令各选项含义如下

-l 统计行数
-w 统计字数
-c 统计字节数

15.grep 命令

grep是(global search regular expression(RE) and print out the line的缩写,用于从文件面搜索包含指定模式的行并打印出来,它是一种强大的文本搜索工具,支持使用正则表达式搜索文本。grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被””引用,模板后的所有字符串被看作文件名。搜索结果送到屏幕,不影响原文件内容。
grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。

示例:

$ 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个连续小写字符的字符串的行。
$ grep 'w/(es/)t.*/1' aa
如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着另外一个es(/1),找到就显示该行。如果用egrep或grep -E,就不用"/"号进行转义,直接写成'w(es)t.*/1'就可以了。

16. man

man是manual的缩写,相当于Unix/Linux的联机Help,每个系统命令和调用都有非常详细的说明,绝大多数都是英文。如:man ls即是查看ls命令的使用说明,一般还有另一种方法用来查看帮助,如:ls –help,这种方式绝大多数命令都支持。

17. 管道“|”

利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。
注意:管道左边命令的输出作为管道右边命令的输入(命令的输入是一定的),不是参数,并不是所有命令都支持管道

18.set

不带任何参数的set命令将显示shell的全部变量

19.uname

uname不带参数时,它仅仅显示你的操作系统的名字
用-s参数,显示内核名称
用-r参数,显示内核发行版
v参数uname也能获取更详细的内核版本信息(译注:不是版本号,是指该内核建立的时间和CPU架构等)
参数 -n 会提供给你节点的主机名
-m参数。它将告诉你关于硬件的信息
-i参数会显示你的硬件平台(译注:硬件名称i686是属于硬件平台i386系列的
-p参数查看处理器类型
o参数显示操作系统信息
-a参数,它会显示所有信息

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值