跳至主要内容

Ubuntu使用手札二

详细参见wiki。下面为具体经典比较实用:

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

  • Ctrl-U: 擦除一行光标前面的部分。
  • Ctrl-H: 擦除光标前面的一个字符。
  • Ctrl-D: 终止输入。(退出shell,如果您正在使用shell的话)。
  • Ctrl-C: 终止当前正在运行的程序。
  • Ctrl-Z: 暂停程序。 (把它放到后台运行请看 command &, 第 4.3.10.1 节)
  • Ctrl-S: 停止向屏幕输出。
  • Ctrl-Q: 重新激活向屏幕输出。

默认的shell,bash, 有历史编辑和tab补齐功能。

  • up-arrow: 开始历史命令搜索。
  • Ctrl-R: 开始增量历史命令搜索。
  • TAB: 完整的把文件名输入到命令行。
  • Ctrl-V TAB: 输入TAB而不是扩展命令行。

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

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

  • 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
    • 列出目录内容。(几乎所有的文件和目录,略去".." and ".")
  • ls -la
    • 列出目录所有文件和目录的详细信息。查看 Ubuntu 中的文件系统概念, 第 4.5.2 节。
  • 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的内容,参照 command <>
  • 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风格输出所有正在运行的进程的信息。参照 command1 | command2, 第 4.3.10.2 节。
  • ps -ef | pager
    • 用system-V风格来输出所有正在运行的进程的信息。
  • ps aux | grep -e "[e]xim4*"
    • 显示exim4进程,或者运行exim的进程。输入man grep可以从grep(1)的手册页学习正则表达式。
  • ps axf | pager
    • 用ASCCI艺术形式来显示运行所有进程信息。
  • kill 1234
    • 杀死进程号为1234的进程。 查看 中止一个进程, 第 8.5.1 节。
  • 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的文件名(使用已有的规则的数据库,快一些)。
  • Ctrl-Alt-Del:挂起或者重新启动系统 初始化安装完成后再安装其他软件包, 第 3.8.1 节.
  • Left-click-and-drag mouse: 选择并且拷贝到剪贴板。
  • Click middle mouse button: 使用剪贴板的内容粘贴。
  • Meta-key (Emacs terminology) 传统的是使用 Left-Alt-key. 但是有些系统使用 Windows-key实现 Meta-key.
man 或者 命令 --help都可以查看该命令的内容和使用方法。

shell通配符使得这个成为可能。

  • *
    • 这个匹配0个或者多个字符。
    • 它不会匹配以"."开始的文件名.
  • ?
    • 这个仅匹配一个字符。
  • [...]
    • 这个匹配[]里面的某个字符。
  • [a-z]
    • 这个匹配字符a到z之间的某个字符。
  • [^...]
    • 这个匹配任意不包含在[]里面的字符(不包含字符"^")


您可以给一个命令序列起一个别名。比如:

$ alias la='ls -la'

现在, la就成了 ls -la命令的简写用来列出所有文件的详细信息。

您可以用type来显示命令的详细路径或者其他身份。比如:

$ type ls
ls is hashed (/bin/ls)
$ type la
la is aliased to `ls -la'
$ type echo
echo is a shell builtin
$ type file
file is /usr/bin/file
还没用别名试验过。


在类 Unix 的系统中,有几个文本处理工具经常用到。

  • 非正则表达式的方法有:
    • head 显示文件的开始部分。
    • tail 显示文件的结尾部分。
    • sort 给文件中的每一行排序。
    • uniq 删除文件中重复的行。
    • tr 转换或者删除字符。
    • diff 把文件中的内容一行一行的比较。
  • 基本的正则表达式Basic regular expression (BRE) :
    • grep 按模式匹配文本。
    • ed 一个原始的行编辑器。
    • sed 一个流编辑器。
    • vi 一个屏幕编辑器。
    • emacs 一个屏幕编辑器。
  • 扩展的正则表达式Extended regular expression (ERE) is used:
    • egrep 按模式匹配文本。
    • awk 进行简单的文本处理。
    • perl做非常难以想像的文本处理。

评论

此博客中的热门博文

4 steps to delete account in Gerrit DB

4 steps to delete account in DB. Delete from accounts where preferred_email=’’; delete from account_ssh_keys where account_id=''; delete from account_external_ids where external_id='gerrit:*’; delete from account_external_ids where external_id='username:*’; whatever it was in H2 database and postgres db . H2: ssh -p 24198 localhost gerrit gsql Postgres: psql

男人35岁前成功的12条黄金法则

第一章:一个目标 一艘没有航行目标的船,任何方向的风都是逆风 1、你为什么是穷人,第一点就是你没有立下成为富人的目标 2、你的人生核心目标是什么? 杰出人士与平庸之辈的根本差别并不是天赋、机遇,而在于有无目标。 3、起跑领先一步,人生领先一大步:成功从选定目标开始 4、贾金斯式的人永远不会成功 为什么大多数人没有成功?真正能完成自己计划的人只有5%,大多数人不是将自己的目标舍弃,就是沦为缺乏行动的空想 5、 如果你想在35岁以前成功,你一定在25至30岁之间确立好你的人生目标 6、 每日、每月、每年都要问自己:我是否达到了自己定下的目标 第二章:两个成功基点 站好位置,调正心态,努力冲刺,35岁以前成功 (一)人生定位 1、 人怕入错行:你的核心竞争力是什么? 2、 成功者找方法,失败者找借口 3、 从三百六十行中选择你的最爱 人人都可以创业,但却不是人人都能创业成功 4、 寻找自己的黄金宝地 (二)永恒的真理:心态决定命运,35岁以前的心态决定你一生的命运 1、 不满现状的人才能成为富翁 2、 敢于梦想,勇于梦想,这个世界永远属于追梦的人 3、 35岁以前不要怕,35岁以后不要悔 4、 出身贫民,并非一辈子是贫民,只要你永远保持那颗进取的心。中国成功人士大多来自小地方 5、 做一个积极的思维者 6、 不要败给悲观的自己 有的人比你富有一千倍,他们也会比你聪明一千倍么?不会,他们只是年轻时心气比你高一千倍。 人生的好多次失败,最后并不是败给别人,而是败给了悲观的自己。 7、 成功者不过是爬起来比倒下去多一次 8、 宁可去碰壁,也不要在家里面壁 克服你的失败、消极的心态 (1) 找个地方喝点酒 (2) 找个迪厅跳跳舞 (3) 找帮朋友侃侃山 (4) 积极行动起来 第三章:三大技巧 1、管理时间:你的时间在哪里,你的成就就在哪里。 把一小时看成60分钟的人,比看作一小时的人多60倍 2、你不理财,财不理你 3、自我管理,游刃有余 (1) 创业不怕本小,脑子一定要好 (2) 可以开家特色店 (3) 做别人不愿做的生意 第四章:四项安身立命的理念 35岁以前一定要形成个人风格 1、做人优于做事 做事失败可以重来,做人失败却不能重来 (1) 做人要讲义气 (2) 永不气馁 2、豁达的男人有财运,豁达的女人有帮夫运 35岁以前搞定婚姻生活 3、忠诚的原则: