A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 韩前成 中级黑马   /  2013-5-5 01:11  /  2081 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

什么是shell?
图解....
shell是Linux的一个外壳,它包在Linux内核的外面,为用户和内核之间的交互提供了一个接口。
当用户下达指令给操作系统的时候,实际上是指把指令告诉shell,经过shell解释,处理后让内核做出相应的动作。
而系统的回应和输出的信息也由shell处理,然后显示在用户的屏幕上。


shell的优越性
字符操作
为什么使用字符操作
.高效完成所有任务,系统管理
.字符远程
.节省系统资源
区分大小写
shell的功能
>通配符
>补全、历史
>重定向
>管道
>shell编程

  关机、重启命令
.poweroff--关机
.shutdown -h now
.shutdown -h 10(10分钟后关机)
.shutdown -h 20:20(定时关机)
.shutdown -r now(重启=reboot)
.reboot--重启
  文件目录类命令
.浏览目录命令:cd  dir ls ll
.浏览文件命令:cat  more  less
.目录操作命令:mkdir   rmdir
.文件操作命令:touch  rm  cp  mv  ln  tar gzip  gunzip  whereis  whatis
  列出文件列表的ls命令
ls(list)是一个非常有用的命令,用来显示当前目录下的内容。配合参数的使用,能以不同的方式显示目录内容。范例如下:
格式:ls[参数]  [路径或文件名]

检查本机IP -----cmd----ipconfig---准备远程登录
----ping---远程主机ip--

#ls -a=dir(windows下面此命令可显示隐藏文件哦!).代表隐藏文件和目录。
-l---更为详细的信息
--历史记录---上下箭头滚翻
--清屏--clear
---pwd--显示当前所在目录
--ls -l /etc详细显示哪一个目录的信息

  切换目录的cd命令
cd(change direcrory)命令可以让用户切换到当前目录。范例如下:
#cd oo ---切换到oo目录
#cd.---切换到上一层目录
#cd /---切换到根目录
#cd---切换到用户家目录
#cd /usr/bin---切换到/usr/bin目录


创建目录的dir、删除目录的rmdir
mkdir(make directory)命令可以用来创建子目录
格式:mkdir  [参数]    <目录名>
#mkdir dir---在当前目录下创建dir目录
#mkdir -p dir1/dir2---在当前目录下创建dir1目录,并在dir1目录下创建dir2目录,也就是连续创建两个目录(dir1/和dir1/dir2)
rmdir(remove directory)命令可用来删除"空"的子目录:
格式:rmdir   [参数]  <命令名>
#rmdir dir----删除"空"的子目录dir
#rmdir  -p dir1/dir2删除dir1下的dir2目录,若dir1目录为空也删除它。

复制文件的cp命令
cp(copy)命令可以将文件从一处复制到另一处。一般在使用cp命令时将一个文件复制成另一个文件或复制到某目录时,需要制定源文件名和目录目标文件名或目录。
格式:cp [参数]  <源文件路径>  <目标文件路径>
#cp test1.txt  test2.txt---将test1.txt复制成test2.txt

#cp test3.txt /tmp---将test3.txt复制到/tmp目录中


删除文件或目录rm命令
功能:删除文件或目录
格式:rm [参数]  <目标文件或目录>
#rm test---删除test文件
#rm *---删除当前目录下的所有文件
-f----加上此参数意为:强迫删除文件。
#rm -f  *.txt--强迫删除所有后缀名为.txt文件。

        rm命令参数-i使用
-i参数:删除文件时询问
#rm -i *----删除当前目录下的所有文件
.....
....遇到目录会略过
....删除文件时会询问,可按Y或N键表示允许或拒绝删除文件。
注意:在系统的默认状态下,rm命令会对每个删除的文件一一询问。如果用户确定要删除这些文件,则,可以使用参数-f来避免询问。

  rm命令参数-r、-f的使用
-r参数:递归删除(连同子目录一同删除,这是一个相当常用的参数)。
#rm - r  test--(删除test目录--含test目录下所有文件和子目录)
#rm -rf test--强行删除、不加询问。

  cat命令
功能:用于显示文件的内容,也可以将数个文件合并成一个文件。
格式:cat [选项]  <参数>
#cat   test.txt---显示test.txt文件内容
#cat test.txt |more----逐页显示test.txt文件中的内容。
#cat test.txt >>test1.txt---将test.txt的内容附加到test1.txt文件之后。
#cat test.txt  test2.txt >readme.txt--将test.txt 和test2.txt文件合并成readme.txt文件。


#dmesg(显示计算机启动信息) >dm.txt
  more命令
more命令是一般用于要显示的内容会超过一个画面的长度的情况。为了避免画面显示瞬间就闪过去,用户可以使用 more命令,让画面在显示满一页时就暂停。此时可以按空格键继续显示下一个画面,或按Q键停止显示。
#more /etc/named.conf----显示/etc/named.conf文本文件的内容。
当使用ls命令查看文件列表,如果文件过多,则可配合more命令使用:
#ls -la |more---以长格式显示etc目录下的文件列表,显示满一个画面便暂停,可按空格键继续吸纳是下一画面,或按Q键退出。


  less命令
less命令的用法与more命令类似,也可以使用来浏览超过一页的文件。所不同的是less命令除了可以按空格键向下显示文件以外,还可以利用上下键来卷动文件。当要结束浏览时,只要在less命令的提示符下":"下按Q键即可。
#less /etc/named.conf---显示/etc/named.conf的文本文件内容。
#ls -la | less----以长格式形式列出/etc目录中的所有内容。用户可以按上下键浏览或按Q键跳离。
   
  显示命令head、tail
1、head功能:用于显示文件前几行的内容
格式:head [参数]  <文件名>
#head -10 /etc/passwd---显示/etc/passwd文件的前10行内容。
2、tail功能:用于显示文件后几行的内容
格式:tail [参数]  <文件名>
#tail -10 /etc/passwd---显示/etc/passwd文件的倒数10行内容。
#tail +10 /etc/passwd---显示/etc/passwd文件的从第十行开始到末尾的内容。

移动或更改文件、目录名称的mv

功能:可以将文件或目录移到另一目录下,或更改文件及目录的名称。
格式:mv [参数] <源文件或目录> <目标文件或目录>
#mv a.txt ../---将a.txt文件移动到上层目录。
#mv a.txt b.txt--将a.txt 改名为b.txt。
#mv dir2 ../---将dir2目录上移一层。

  显示当前目录的pwd命令
功能:显示用户正在工作或当前所在的目录
格式:pwd
#pwd---显示当前用户所在的当前目录。

find命令
find功能:用来寻找文件或目录
格式:find [<路径>]  [匹配条件]
#find / -name httpd.conf--搜索系统根目录下名为httpd.cong的文件。
#find /etc -name httpd.cong--搜索/etc目录下名为httpd.conf的文件并显示结果。

  grep命令
功能:在文件中搜索匹配的字符并进行输出
格式:gpep [参数] <要找的字串> <要寻找字串的源文件>
# grep linux test.txt--搜索test.txt文件中字符串linux并输出。
#rpm -qa | grep httpd--搜索rpm包中含有httpd包的文件名。
如who | grep tty


  touch命令
功能:生成一个空文件或修改文件的存取/修改的时间记录值。
格式:touch [参数] <文件名>
#touch *--将当前下的文件时间修改为系统的当前时间。
#touch -d 20130504 test--将test文件的日期改为20130504.

#touch abc--若abc文件存在,则修改为系统的当前时间;若不存在,则生成一个为当前时间的 空文件。
# stat +文件名 查看文件的状态。
#touch  heima  
#echo"i love linux" >> heima


  who或w命令
功能:查看当前系统中有哪些用户登录。
格式:who/w [参数]
#who ---root tty(代表的是本地用户)
#pts/0(代表的是远程登录用户)

ln命令
功能:在文件和目录之间建立链接。
格式:ln [参数] <源文件或目录> <目标文件或目录>
链接分为"软链接"和"硬链接"
1、软链接
#ln -s /usr/share/doc doc--创建一个链接文件doc,并指向目录/usr/share/doc。
2、硬链接
#ln /usr/share/test hard--
创建一个硬链接文件hard,这时对于test文件对应的存放存储区域来说,又多了一个文件指向它。  
  软件包管理命令(RPM)

shell图解.PNG (19.8 KB, 下载次数: 0)

shell图解.PNG

5 个回复

倒序浏览
RPM的全称是Red Hat Package Manger,它是由Red Hat公司所开发的一个开放性软件包管理系统。其优点是:
.易于安装、升级、删除
.强大的查询功能
.软件包校验
.支持代码形式的软件包
  软件包的安装
使用RPM命令的安装模式可以将软件包内所有的组件放到系统的正确路径,安装软件包的命令是:
#rpm -ivh wu-ftpd-2.6.2.8.i386.rpm
i--作用rpm的安装模式
v--校验文件信息
h--以#号显示安装进度
  软件包的删除
删除模式会将指定软件包内的全部内容删除,但并不包括更改过的配置文件,删除RPM包的命令如下:
#rpm -e+软件名
软件包升级
升级模式会安装用户所指定的更新版本,并删除已安装在系统中的相同软件包,升级命令如下:
#rpm -Uvh wu-ftpd-2.6.2-.8.i386
软件包更新
更新模式下,rpm命令会检查在命令行中所指定的软件包是否比系统中原有的软件包更新。如果情况属实,rpm命令会自动更新指定的软件包;反之,若系统中没有指定软件包的较旧版本,rpm命令并不会安装此软件包。而在升级模式下,不
管系统中是否有较旧的版本,rpm命令并都会安装指定的软件包。

#rpm -Fvh wu-ftpd---更新参数。

  打包命令tar
tat命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般linux上常用的压缩方法是选用tar将许多文件打包成一个文件,再以GZIP压缩命令压缩成xxx.tar.gz
注意:tar不仅可以打包文件,也可以将硬盘备
常用参数:
.--c:创建一个新tar文件
.---v:显示运行过程的信息
.---f:指定文件名
.-z:调用gzip压缩命令压缩
.-t查看压缩文件的系统
.-x:解开tar文件
tar命令范例
# tar -cvf test.tar *--将所有文件打包成test.tar,扩展名.tar需自行加上。
# tar -zcvf test.tar.gz *--将所有文件打包成test.tar,再用gzip压缩命令压缩。
# tar -tf test.tar--查看test.tar文件中包括了哪些文件
#tar -xvf test.tar--
将test.tar解开。
gzip和gunzip
除了.zip文件的压缩格式外,在linux系统下更常见的是.gz的压缩格式,这种文件一般是由gzip命令所产生。
zip命令具有将许多个文件压缩成一个文件的功能,但gzip却不能!所以gzip一般会和tar一起使用。目前,大部分看到或见到的压缩文件都是用tar将所有文件打包成一个大文件,再用gzip进行压缩,所以我们所看到的扩展名为.tar.gz或.tgz的文件,大多数就是这种类型的文件。

#gzip test.txt--压缩文件时,不需要任何参数。
#gzip -l test.txt.gz--显示压缩比
#gunzip test.txt.gz--解压缩
date、cal、clock
date-显示/修改当前日期时间
#date 0504132013--将时间更改为05月04日2013年啊
#cal--显示日历
#clock--显示日期时间

显示日历或年历的cal命令
cal(calendar)
功能:显示一个日历
格式:cal [参数] 月
#cal---显示当月的日历
#cal 5 2013--显示2013年5月份的日历。

#cal -y 2013--显示2013年的日历。
#
系统信息类命令
.dmesg命令
.df命令
.du命令
.free命令
.w命
dmesg
功能:显示系统诊断信息、操作系统版本号、物理内存的大小以及其他东西。

df命令
功能:用于查看文件系统的各个分区的占用情况。
du命令
功能:查看某个目录中各级子目录所使用的硬盘空间数。
格式:du [参数] <目录名>
free命令(top更详细)
功能:用于查看系统内存,虚拟内存(交换空间)的大小占用情况。
本章小结:了解系统中都有哪些shell---#echo $SHELL(查看当前系统中有哪些shell)。
TAB---命令、文件名的补全。
重定向--#history > his.txt
以及一些常用的命令,在此不意义演示!
#last--显示用户登录的详细
信息。
RPM包的管理。

# cd /var/log---系统日志存放地。

回复 使用道具 举报
求加分 啊    困困啊 睡觉去{:soso_e147:}
回复 使用道具 举报
了解一下,有备无患!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马