Linux Shell命令

点击访问 Linux 命令大全 >>

本章节将介绍 Linux 基础命令,学会这些命令你就可以在 Linux 中导航到指定目录,查看文件内容等基础操作。主要命令如下:

Shell 简介

我们通常所说的“我玩过Linux”一般指的是用过Shell。一直以来 Shell 以其稳定、高效和灵活成为系统管理员的首选。

命令行和Shell这两个概念常常令人困惑,在很多并不正式的场合,这两个名词代表着相同的概念,即命令解析器。然而从严格意义上讲,命令行指供用户输入命令的界面,其本身只接受输入,然后把命令传递给命令解析器。另外,Shell是一个程序,它在用户和操作系统之间提供了一个面向行的可交互接口。用户在命令行中输入命令,运行在后台的 Shell 把命令转换成指令代码发送给操作系统。

目前,在 Linux 环境下有几种不同类型的 Shell,常用的有 BASH(Bourne Again Shell)、TCSH Shell、Z-Shell 等。不同的 Shell 提供不尽相同的语法和特性,用户可以使用任何一种 Shell。

在 Linux 中,BASH shell 是默认安装和使用的 Shell。

怎样打开 Shell 呢?

如果你安装的是桌面版本 Linux 系统,可以通过在桌面右击,选择“Open in Terminal”打开终端。也可以使用Ctr 快捷键打开控制台。默认情况下,前6个控制台是命令行控制台,第7个则留给 X 服务器(图形服务器)。

如果你安装的Linux是非桌面版本,那么系统启动后,就进入了控制台(输入用户名和密码登录系统)。如下图:

Linux 命令行界面有一个输入行,用于输入命令。在 BASH 中,命令行以一个美元符号“$”作为提示符,表示用户可以输入指令了。如果以 root 用户登录,那么 Shell 提示符将是“#”。

浏览你的硬盘

本节将带领你浏览自己电脑上的文件系统。这里的命令都非常简单,命令详细用法后续章节将介绍。

## 进入根目录
[root@localhost ~]# cd /
## 列出根目录下面所有的文件和目录
[root@localhost /]# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

可以看到,Linux 安装成功后自动在根目录下生成了大量目录和文件。这些目录的具体用途将在后续章节详细介绍。

下面选择 home 目录,该目录中存放着系统中所有用户的主目录(类似Windows的 C:\Users 目录),目录的名称就是用户名称。如下:

## 进入 home 目录
[root@localhost /]# cd home/
## 查看当前目录下面的目录
[root@localhost home]# ls
hxstrive  snow

从上面可以得知,笔者的机器上面有 hxstrive 和 snow 两个用户。用户主目录下面放着一些配置文件和用户私有文件。并且用户主目录默认对其他用户是不可见的,即 hxstrive 是不能够看见 snow 的(但是 root 例外)。

【小技巧】

cd 不带任何参数,将进入当前用户的主目录。例如:

## 查看当前目录
[root@localhost /]# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
## 进入用户主目录
[root@localhost /]# cd
## 查看用户目录
[root@localhost ~]# ls
anaconda-ks.cfg

使用命令行补全和通配符

文件名是命令中最为常见的参数,然而每次完整输入文件名是一件很麻烦的事情,特别是文件名称特别长时。幸运的是,BASH提供了命令行补全功能,使用TAB键触发补全功能。在输入文件名时,只需要输入前几个字符,然后按下TAB键,Shell会自动把文件名补全。例如:

## 进入 etc 目录
[root@localhost etc]# cd /etc/
## 查看 profile 文件详情
[root@localhost etc]# ll pro<Tab>
## 按了 Tab 后将直接补全为 ll profile
[root@localhost etc]# ll profile
-rw-r--r--. 1 root root 1819 10月 31 2018 profile

如果以输入的字符开头的文件不止一个,则连续按两下TAB键,将罗列出所有以输入字符开头的文件列表。例如:

## 进入 etc 目录
[root@localhost etc]# cd /etc/
## 列出所有 g 开头的文件或目录
## 按两下 Tab 键
[root@localhost etc]# ll g<Tab><Tab>
gcrypt/    gnupg/     groff/     group      group-     grub2.cfg  grub.d/    gshadow    gshadow-   gss/

另外,Shell提供了一套通配特殊符号,如下:

  • :用于匹配文件名中任意长度的字符串。例如:ls *.java 将匹配所有以 .java 结束的文件

  • :只匹配任意一个字符。例如:ls text? 将匹配文件名以 text 开头而后跟一个字符的文件

  • [] :用于匹配所有出现在方括号内的字符。例如:ls text[123] 将匹配所有以 text 开头,且以 1、2或3结尾的文件。当然,我们也可以使用“-”指定一个字符集。例如:ls text[1-3] 将匹配所有以 text 开头,且以 1、2或3结尾的文件。ls text[A-C] 将匹配所有以 text 开头,且以 A、B或C结尾的文件。

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号