Linux学习之——Bash及基本命令

1、shell分类

  • Bourne shell :简称,Bsh,是最早的诞生于贝尔实验室,因编写作者是Stephen  Bourne而得名
  • C shell :简称Csh ,与C语言很相似而得名
  • Korn Shell :简称Ksh,因编写作者是Daviad Korn而得名,来自贝尔实验室,扩展了Bsh集成了Csh的特性,同时新增了数学运算、行内编辑等功能
  • Bourne Again Shell:简称Bash,是GNU的一个项目,是目前最流行的Shell,很好的兼容Bsh。
  • Z Shell:简称Zsh,出现于20世纪90年代,拥有强大的功能,融合了众多shell的优点。

2、更改默认shell

系统安装的shell存放在“/etc/shells”文件中,可以使用"bash -- version",查看版本。Linux系统新建用户的时候,就规定了该用户可以使用的shell,存放在“/etc/passwd”文件中,如:gerp user1  /etc/passwd
user1:x:500:500::/home/user1:/bin/bash
表示可以使用的是bash这种shell。
usermod -s  /bin/ksh  user1    #更改user1的默认shell为ksh
useradd  -s  /bin/ksh  user2    #创建user2用户的时候设置默认shell为ksh

Bash同时支持Vi和Emacs两种方式的编辑,默认是使用Emacs编辑器风格,修改编辑模式使用如下命令:
set -o vi     #设置首选编辑模式为vi

3、基本功能

快捷键: 
Ctrl+B   向前移动一个字符    Ctrl+F  向后移动一个字符            Ctrl+A  快速移动到行首           Ctrl+E  快速移动到行尾
Ctrl+D   删除当前光标处字符 Ctrl+H  删除当前光标前一个字符     Ctrl+U  删除光标到行首的字符      Ctrl+K  删除光标到行尾的字符
命令补全:输入一个命令或目录文件名的前缀时,按tab键会自动查找当前字符为前缀的命令或文件,如果按两次tab,会提示是否显示所有命令。
历史记录:使用方向键上和下查找历史命令,如果有很多历史命令可以使用history命令,输出的命令前有一个数字,代表序号,最多可以输出1000个,使用  ” !序号 “可以应用历史命令。清空历史命令,使用history -c命令。
命名别名:alias type='cat'        unalias type 
 管道和输入输出:管道符 ”|“    ,command1  |   command2  |  command3,前一个命令的输出会作为后一个命令的输入这样串接起来。
标准输入(默认为键盘):文件描述符是0
标准输出(默认为显示器):文件描述符是1
标准错误(默认为显示器):文件描述符是2
  " > "  、">>"分别为写入和追加到指定的文件中。
” < “ 、 ”<<“分别为从文件读取和here document。
rm  abcd 2>error  错误重定向要显式支持文件描述符,标准输入和标准输出可以省略。

4、基本命令

切换工作目录:cd [dir]      
显示当前工作目录:pwd     
查看列表:ls  [-ldakSh]  filename      #a  显示隐藏文件,k 显示文件大小用kb为单位,h 配合l使用更直观方式查看
文件链接:ln [options]   target   link_name 
最常用选项是 s ,表示创建软链接,也就是一个快捷方式。否则就是硬链接,表示目标文件的副本,只是两者的存储位置相同,任何一个发生变化都会更改另一个文件。
文件操作:touch    mkdir   [-p创建多级目录]      mv   file1[,file2,...]  destination  可以重命名文件
cp  [-R递归复制目录中所有文件]   source  destination    
rm  [-r删除目录 f 忽略不存在的子目录且不提示用户]  file/dir     rmdir  dir  仅删除空目录
file   filename   查看文件类型
cat  查看行数较少的文件
tail  -n  file  查看最后n行
head  -n file  查看前面n行
more   分屏显示文件   less   与more类似,但是扩展了一些功能
diff   [  ] file1  file2
wc  [-c统计文件字节数  m 统计文件字符数  l 统计文件行数  L 显示文件中最长行的长度  w 统计输出文件的字数]  file 
切换用户:su  用户名
输入输出: 
echo [-E 禁用转义字符  e 启用转义字符  n 输出结束后不换行]  string
read  [-a 输入文本放在数组中  d 指定结束符  n 指定读取字符数   p 输出到标准错误  s  先锁住屏幕后从标准输入读取字符 r 将读取到的字符串按字段放到不同变量  t 用户在指定的时间内没有输入就结束读取状态  u 从指定的文件描述符读取 ]  name    #读取可以来自标准输入或者是文件

邮件:mail [-n 不读入设置文件/etc/mail.rc    s 设置文件主题  c 使用一个密件抄送列表  b 使用一个抄送列表] -s subject  -c c_address   -b b_address  user -a file ...
    mail [-h 查看邮件标题  f 查看当前光标指向的邮件 n 跳到指定序号的邮件 ] 查看邮件

你可能感兴趣的:(bash)