shell基本命令

shell简介

命令行指供用户输入命令的界面,其本身只是接受输入,然后把命令行传递给命令解释器(即shell)。

shell本质上是一个程序,在用户和os之间提供了一个面向行的可交互接口。shell将用户输入的命令转换成指令代码发送给操作系统。

Linux环境下BASH (Bourne Again Shell) shell是默认安装和使用的shell。

图形界面下的终端实际上是一个终端模拟器。

Linux默认有7个控制台,可以通过按快捷键Ctrl+alt+F1~F7进入。默认情况下,前6个是命令行控制台,第7个则留给X服务器。

BASH中,”$”是命令行提示符,表示可以输入命令;如果以root身份运行,提示符为”#”。(命令和文件名都区分大小写)。

不带参数的cd命令表示进入主目录。

/etc目录下存放了系统和绝大部分应用软件的配置文件。Linux使用纯文本文件来配置文件。

/etc/fstab文件定义了个硬盘分区所挂载到的目录路径。

命令行使用(含常用命令)

命令行/文件名补全:输入开头,按tab键,shell会自动将文件名补全。如果文件名/命令不止一个,连按tab键两次列出所有符合的文件名。

hints:系统命令本质上就是一些可执行文件,在/usr/bin/目录下找到。

通配符(不同于正则表达式):

*:用于匹配文件名中任意长度的字符串,如ls *.md;

?:只匹配一个字符,如ls text?;

[]:用于匹配出现在方括号内的字符,如ls text[1A];

-:指定字符集范围(上下界包含)。与[]搭配使用,如ls text[1-9]。

pwd: print working directory,打印当前目录。

ls : 列出文件。

ls:目录为蓝色;普通文件为白色;可执行文件为草绿色;连接文件为淡蓝色。

ls -F:在无法显示颜色的终端上使用,目录后加/,在可执行文件后加*,在链接文件加上@。

ls -a:显示所有文件,包括.开头的隐含文件。

ls -l:用于查看文件的各种属性(包括最后一次被修改的时间);

ls -ld:查看目录的各种属性。

cat:一次性显示文件内容,后可跟多个文件名做参数,也可使用通配符。

cat -n 文件名:显示行号。

more:逐页显示文件内容,空格翻页,Enter滚动一行。

less:功能更强大。比more更像是一个文本编辑器(有检索、高亮操作)。

head和tail:查看文件的头和尾,可接多个文件。用-n指定显示的行数。如head -n 2 shell.md。

grep:查找文件中的文本内容,用法grep [OPTIONS] PATTERN [FILE...]。其中的PATTERN是”基础正则表达式”。egrep使用扩展的正则表达式。

find:find会深入到指定路径(绝对路径)的每一个子目录中去查找文件,-name指定文件名(可以使用通配符),如find /usr/bin/ -name zip。

locate:更快速地定位文件。通过搜索文件名数据库来确定文件的位置(locate命令会自动建立整个文件名数据库)。

&:firefox执行时,当前终端会被挂起。如果要在后台运行,后面加上&。

whereis:用于查找程序文件。提供该文件的二进制可执行文件、源代码文件和使用手册页存放的位置。whereis搜索的子目录是固定的,包括/usr/bin、usr/sbin和/usr/share/man。

who:查看当前系统中有哪些人登录,以及工作在哪个控制台上。

whoami:查看当前以什么身份登陆。

uname:显示当前系统的版本信息。uname -a给出所有有用信息,uname -r给出内核信息。

man:显示程序使用手册(实际调用了less程序显示)。

whatis:一句话说明一个程序大概可以做什么。

apropos:查找简介中含有关键词的命令,输出。