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 跳到指定序号的邮件 ] 查看邮件

你可能感兴趣的:(Linux学习之——Bash及基本命令)