Debian/类Unix工作环境

来自站长百科
跳转至: 导航、​ 搜索

Debian | Debian安装 | Debian使用 | Debian系统升级 | Debian常见问题

尽管 MC 让您能够做绝大多数的事情,但是利用 shell 来学习命令行工具,和熟悉类 Unix 系统 的工作环境还是很重要的。

特殊的按键组合[ ]

在类 Unix 环境里,有一些按键有特殊的意思.

  • Ctrl-U: 擦除一行光标前面的部分。
  • Ctrl-H: 擦除光标前面的一个字符。
  • Ctrl-D: 终止输入。(退出 shell,如果您正在使用 shell 的话)。
  • Ctrl-C: 终止当前正在运行的程序
  • Ctrl-Z: 暂停程序。
  • Ctrl-S: 停止向屏幕输出。
  • Ctrl-Q: 重新激活向屏幕输出。
  • 默认的 shell,bash, 有历史编辑和 tab 补齐功能。
  • up-arrow: 开始历史命令搜索。
  • Ctrl-R: 开始增量历史命令搜索。
  • TAB: 完整的把文件名输入到命令行。
  • Ctrl-V TAB: 输入 TAB 而不是扩展命令行。

其他一些需要记住的按键组合。

  • Ctrl-Alt-Del:挂起或者重新启动系统 初始化安装完成后再安装其他软件包
  • Left-click-and-drag mouse: 选择并且拷贝到剪贴板。
  • Click middle mouse button: 使用剪贴板的内容粘贴。
  • Meta-key (Emacs terminology) 传统的是使用 Left-Alt-key. 但是有些系统使用 Windows-key 实现 Meta-key.

这里,为了在 Linux 字符界面下使用鼠标,您需要使用 gpm 服务.

基本 Unix 命令[ ]

让我们来学习基本的 Unix 命令。使用非特权用来执行下面的所有的命令,penguin :

  • pwd

显示当前工作路径。

  • whoami

显示当前用户名。

  • file foo

显示 foo 文件的属性。

  • type -p commandname

显示命令 commandname 所的的地方。which commandname 也可以用来做这个 .

  • type commandname

显示命令 commandname 的信息。

  • apropos key-word

找到和 key-word 相关的命令。man -k key-word 也可以做到

  • whatis commandname

显示该命令的一句话帮助。 commandname.

  • man -a commandname

显示命令的解释信息。 commandname. (Unix style)

  • info commandname

显示很长的命令解释 commandname. (GNU style)

  • ls

列出目录内容 (非以.开始的文件和目录)

  • ls -a

列出目录内容(所有的文件和目录)

  • ls -A

列出目录内容。(几乎所有的文件和目录,略去“..”和“.”)

  • ls -la

列出目录所有文件和目录的详细信息。

  • ls -d *

列出当前目录下的目录名称,而不是目录下的内容。

  • lsof foo

显示文件 foo 的打开状态。

  • mkdir foo

在当前目录下创建一个新的目录 foo。

  • cd foo

切换到当前目录下或者在变量 CDPATH 中列出来的目录 foo。在 builtins(7) 查看命令 cd。

  • cd /

切换到根目录。

  • cd

切换到用户主目录。

  • cd /foo

切换到绝对路径 /foo 所指定的目录。

  • cd ..

切换到上一级目录。

  • cd ~foo

切换到用户主目录下的 foo 目录去。

  • cd -

切换到上一次所去的目录。

  • </etc/motd pager

使用默认的分页程序查看文件 /etc/motd 的内容,

  • touch junkfile

创建一个空文件 junkfile。

  • cp foo bar

拷贝一个已有的文件 foo 到新文件 bar。

  • rm junkfile

删除文件junkfile

  • mv foo bar

把已有的文件 foo 重命名为 bar

  • mv foo bar/baz

把已有的文件 foo 移动到新位置并重命名为 bar/baz。目录 bar 必须存在。

  • chmod 600 foo

让已经存在的文件 foo 其他人不能读写。(所有人都不能执行)。

  • chmod 644 foo

使文件 foo 其他的人可以读,但是不能写。(所有人都不能执行)

  • chmod 755 foo

使文件 foo 其他的人能读不能写。(所有人都可以执行)

  • top

全屏显示进程信息。输入”q”退出。

  • ps aux | pager

用 BSD 风格输出所有正在运行的进程的信息。

  • ps -ef | pager

用 system-V 风格来输出所有正在运行的进程的信息。

  • ps aux | grep -e "[e]xim4*"

显示 exim4 进程,或者运行 exim 的进程。输入 man grep 可以从 grep(1) 的手册页学习正则表达式

  • ps axf | pager

用 ASCII 艺术形式来显示运行所有进程信息。

  • kill 1234

杀死进程号为 1234 的进程。

  • grep -e "pattern" *.html

找到当前目录下面所有以 .html 结尾的文件中含有"pattern"的行,并显示它们。

  • gzip foo

用Lempel-Ziv(LZ77)压缩算法压缩foo,生成foo.gz。

  • gunzip foo.gz

将文件 foo.gz 解压缩生成 foo。

  • bzip2 foo

将文件 foo.bz2 解压缩生成 foo。

  • tar -xvvf foo.tar

从打包文件 foo.tar 解出文件来。

  • tar -xvvzf foo.tar.gz

从打包压缩的文件 foo.tar.gz 中解开文件。

  • tar -xvvf --bzip2 foo.tar.bz2

从文件 foo.tar.bz2 解压缩文件。

  • tar -cvvf foo.tar bar/

把目录 bar/ 的内容打包存放到 foo.tar 存档中。

  • tar -cvvzf foo.tar.gz bar/

把目录 bar/ 的内容打包并且压缩存放到 foo.tar.gz 存档中。

  • tar -cvvf --bzip2 foo.tar.bz2 bar/

把目录 bar/ 中的内容打包存放到 foo.tar.bz2 存档里面。

  • zcat README.gz | pager

实用默认的分页显示程序 pager 来显示压缩文件 README.gz 中的内容。

  • zcat README.gz > foo

使用文件 README.gz 解开后的内容创建一个文件 foo。

  • zcat README.gz >> foo

把文件 README.gz 解开后的内容追加到文件 foo 的后面(如果文件不存在的话,就会创建一个)。

  • find . -name pattern

用 shell 找到匹配 pattern 的文件名(慢一些)。

  • locate -d . pattern

用 shell 找到匹配 pattern 的文件名(使用已有的规则的数据库,快一些)。

命令执行和环境变量[ ]

典型的使用 shell 来执行命令情况如下:

     $ date
     Sun Oct 26 08:17:20 CET 2003
     $ LC_ALL=fr_FR date
     dim oct 26 08:17:39 CET 2003

这里 date 程序是在前台执行的。环境变量 LC_ALL 是:取消设置 (系统默认的和 C)作为第一个命令,设置为 fr_FR (French locale) 作为第二个命令。

绝大多数的命令并没有预先定义各种环境变量。像上面的例子选择如下方式:

     $ LC_ALL=fr_FR
     $ date
     dim oct 26 08:17:39 CET 2003

正如您所看到的,命令的输出和环境变量设置有关,上面产生的是法语输出。如果您 想这个环境变量在子进程中也能够得到继承的话(e.g.,执行 shell 脚本的时候),您需要使用下面的方式。

$ export LC_ALL

命令搜索路径[ ]

当您在 shell 提示符里面输入一个命令的时候,shell 就会在 PATH 环境变量所列出的目录里面去查找。PATH 环境变量的值也被叫做 shell 的查找目录。

在默认安装的 Debian 中,用户的 PATH 环境变量里面也许没有包含 /sbin/。因此如果您想运行一些命令比如 /sbin/ 目录下的 ifconfig,您就必须在 PATH 环境变量里面包含它。PATH 环境变量一般是在初始化文件 ~/.bash_profile 里面设置的。

命令行选项[ ]

一些命令带有参数,参数部分以-或者--开始的被称做选项。可以用来控制命令的行为。

     $ date
     Mon Oct 27 23:02:09 CET 2003
     $ date -R
     Mon, 27 Oct 2003 23:02:40 +0100

这里命令行参数 -R 改变了命令 date 的表现以让它输出符合 RFC-2822 的日期字符串

Shell 通配符[ ]

通常您需要用命令来处理一组文件,但是您又不想输出所有的文件名。shell 通配符使得这个成为可能。

这个匹配 0 个或者多个字符。它不会匹配以"."开始的文件名.

  • ?

这个仅匹配一个字符。

  • [...]

这个匹配[]里面的某个字符。

  • [a-z]

这个匹配字符 a 到 z 之间的某个字符。

  • [^...]

这个匹配任意不包含在 [] 里面的字符(不包含字符"^").

命令返回值[ ]

每个命令都返回一个值和它返回的状态。

返回 0 表示命令被正确执行

返回非 0 的值表示命令没有正确执行。

返回值可以在命令执行后马上用 shell 用变量 $? 来访问。

     $ [ 1 = 1 ] ; echo $?
     0
     $ [ 1 = 2 ] ; echo $?
     1

请注意,在 shell 中的逻辑上下文中使用这些返回值的时候 success 被看做逻辑值 TRUE。这个多少有一点不直观,因为 success 等价于值 zero。

Debian使用手册导航

Debian安装

安装Debian GNU/Linux前准备 | 获取系统安装介质 | 使用Debian安装程序 | 启动进入新 Debian 系统 | 内核及其它信息 | 为Debian准备分区 | 安装指南 | 在Debian上安装Apache+Mysql+PHP

Debian使用

Debian 文件 | Debian基本操作 | Midnight Commander (MC) | 类Unix工作环境 | 类Unix文本处理 | 类Unix文件系统 | Debian生存命令 | Debian进阶 | Debian其他特性 | Debian下的Linux内核 | 启动系统 | Debian/活动记录及拷贝、创建子目录 | 差量备份、数据同步与系统冻结恢复 |常用命令与典型错误| 系统初始化 | 访问限制(Restricting access) | 刻录机 | 本地化

Debian升级

Debian系统升级 | 发行版升级到stable、testing或unstable

Debian技术支持

Debian技术支持

Debian常见问题

定义与概述 | 兼容性问题 | Debian 的软件系统 | Debian 的 FTP | Debian 的包管理系统 |Debian 的包管理工具 |更新系统 | Debian 与内核 | 定制 Debian GNU/Linux 的安装 |获取 Debian GNU/Linux 的支持 | 为 Debian 项目捐赠 | 作为商品销售Debian以及对其的展望

参考来源[ ]

http://www.debian.org/doc/manuals/debian-reference/ch-tutorial.zh-cn.html#s-mc