`
guoxinzz
  • 浏览: 431186 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

使用 UNIX 的 10 个良好习惯

 
阅读更多

The Linux Cookbook 一书的作者 Michael Stutz 凭借自己多年使用 UNIX 的经验,总结了 10 个良好习惯,个人认为真的很受用,现摘要如下与大家分享。

建立层级目录:使用 mkdir 的 -p 选项,如 mkdir -p tmp/a/b/c。
解包到指定的目录:使用 tar 的 -C 选项,如 tar xvf newarc.tar.gz -C tmp/a/b/c。
联合命令:使用 ;、&&、|| 等控制运算符,如 cd tmp/a/b/c && tar xvf ~/archive.tar。
小心使用变量:把变量放到 “” 中,如
~ $ ls tmp/
a b
~ $ VAR="tmp/*"
~ $ echo $VAR
tmp/a tmp/b
~ $ echo "$VAR"
tmp/*
~ $ echo $VARa

~ $ echo "$VARa"

~ $ echo "${VAR}a"
tmp/*a
~ $ echo ${VAR}a
tmp/a
~ $

长命令的输入:使用 / 分行折断,如
~ $ cd tmp/a/b/c || /
> mkdir -p tmp/a/b/c && /
> tar xvf -C tmp/a/b/c ~/archive.tar
分组命令:使用 ()、{} 来分组命令,如
~ $ ( cd tmp/a/b/c/ || mkdir -p tmp/a/b/c && /
> VAR=$PWD; cd ~; tar xvf -C $VAR archive.tar ) /
> | mailx admin -S "Archive contents"
使用 xargs:可以过滤输出,如
~/tmp $ ls -l | xargs
-rw-r--r-- 7 joe joe 12043 Jan 27 20:36 December_Report.pdf -rw-r--r-- 1 /
root root 238 Dec 03 08:19 README drwxr-xr-x 38 joe joe 354082 Nov 02 /
16:07 a -rw-r--r-- 3 joe joe 5096 Dec 14 14:26 archive.tar -rwxr-xr-x 1 /
joe joe 3239 Sep 30 12:40 mkdirhier.sh
~/tmp $
使用 grep 的 -c 选项可以计算输出的行数,它比使用管道的 wc -l 更快,如
~ $ time grep and tmp/a/longfile.txt | wc -l
2811

real 0m0.097s
user 0m0.006s
sys 0m0.032s
~ $ time grep -c and tmp/a/longfile.txt
2811

real 0m0.013s
user 0m0.006s
sys 0m0.005s
~ $

匹配输出的字段:使用 awk,如
~/tmp $ ls -l | awk '$6 == "Dec"'
-rw-r--r-- 3 joe joe 5096 Dec 14 14:26 archive.tar
-rw-r--r-- 1 root root 238 Dec 03 08:19 README
~/tmp $
停用 cat 的管道输出:可用 grep 代替,如
~ $ time cat tmp/a/longfile.txt | grep and
2811

real 0m0.015s
user 0m0.003s
sys 0m0.013s
~ $ time grep and tmp/a/longfile.txt
2811

real 0m0.010s
user 0m0.006s
sys 0m0.004s
~ $

分享到:
评论

相关推荐

    unix10个习惯

    he Linux Cookbook 一书的作者 Michael Stutz 凭借自己多年使用 UNIX 的经验,总结了 10 个良好习惯,个人认为真的很受用,现摘要如下与大家分享。

    Unix高手的10个习惯

    Unix高手的10个习惯,养成良好的习惯很重要

    Unix编程艺术.pdf

    unix是什么,它是一个操作系统,汇聚了很多黑客的智慧,他是一个开放,自由,KISS,单一的系统 它包含了一些哲学基础 模块原则:使用简洁的接口拼接的部件 清晰原则:清晰透明,容易理解 组合原则:这个基于模块原则...

    经典c语言练习题及教程

    它的结构化的特征有助于培养良好的编程习惯。 C 语言将是八十年代至九十年代最重要的语言之一。它被计算机系的学生和其它热心者在微机和个人机上使用如果你想成为一名软件工程师, 你应该有能力回答的首要问题是 --...

    经典C语言教程

    C 正迅速成为一种最重要, 也是最流行的程序设计语言。它的使用一直在增长是因为人们一用它, 就将喜欢它。当你学习 C 语言时, 你也会认识到它有许多优点。...它的结构化的特征有助于培养良好的编程习惯。

    C语言经典编程(语音版)

    它的结构化的特征有助于培养良好的编程习惯。 C 语言将是八十年代至九十年代最重要的语言之一。它被计算机系的学生和其它热心者在微机和个人机上使用如果你想成为一名软件工程师, 你应该有能力回答的首要问题是 -- ...

    java学习记录 php转行java基础学习.rar

    培养良好的企业级编程习惯。 第三步 掌握java语言基础后接下来就是面向对象语言的共性:Java面向对象面向对象特性:封装、继承、多态等。掌握面向对象的基本原则以及在编程实践中的意义;掌握Java面向对象编程基本...

    gopass:团队更出色的标准UNIX密码管理器

    设计原则Gopass是基于命令行的通用密码管理器,在开发时会牢记以下原则: 容易:对于技术用户(即习惯于命令行的用户),gopass入门应该很容易。 安全:安全性很难。 我们的目标是使它尽可能容易,同时仍能为普通...

    高质量C++编程指南

    这是一本关于C++编程习惯的书,对我们形成良好的编程习惯挺有帮助的,值得一看——适用于有一些C++基础的读者 详细目录: 第1章 文件结构 11 1.1 版权和版本的声明 11 1.2 头文件的结构 12 1.3 定义文件的结构 13 1.4...

    非常苛刻的java工作要求

    7、具备良好的编码风格和开发习惯,熟练掌握UML设计工具; 8、熟悉linux或unix操作系统文件系统以及常用命令; 9. 熟悉Tomcat等应用服务器的使用,熟悉LINUX操作系统,熟悉TCP/IP、HTTP等网络协议,掌握多线程编程,...

    github-sem-mimimi:许多人以它复杂为借口停止参与 Github。 事实上,这很简单并且被一些人误解了

    为了方便不习惯使用命令行或Unix操作系统的同学,与Github资源交互的一个不错的选择是使用Eclipse IDE,提供友好的图形界面,兼容多种操作系统,全面足以在不同的编程语言中使用。菜单课程菜单可见:方法将使用 ...

    计算机病毒-计算机基础及应用教程-[共2页].pdf

    计算机安全的威肋主要来至于病毒、黑客及软件系统的不健全,对于不同的情况采取不同的 措施,提高个人的网络安全意识和网络礼仪道德,具有良好的安全习惯,使我们的网络环境更和 谐美好。 1.5.2 计算机病毒 1....

    WINCVS和CVSNT安装包

    CVS缺省会对文件进行keyword(宏)替换,在文件中加入这些关键字是个良好的工作习惯 $Id$ 关键字是用文件名、版本、时间、作者及代码性质替换,如果使用-l选项取出,在Exp后 面会加上登录用户的名称。除了$Id$...

    网管教程 从入门到精通软件篇.txt

    Axx:ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字) A3L:Authorware 3.x库文件 A4L:Authorware 4.x库文件 A5L:Authorware 5.x库文件 A3M,A4M:Authorware Macintosh...

    Ghost 8.3 系统备份软件

     Ghost 对现有的操作系统都有良好的支持,包括 FAT16、FAT32、NTFS、HPFS、UNIX、NOVELL 等文件存储格式。同以前版本不同的是,Ghost 2001 加入了对 Linux EX2的支持(FIFO 文件存储格式),这也就意味着 Linux 的...

    Ghost 8.3 Enterprise

     Ghost 对现有的操作系统都有良好的支持,包括 FAT16、FAT32、NTFS、HPFS、UNIX、NOVELL 等文件存储格式。同以前版本不同的是,Ghost 2001 加入了对 Linux EX2的支持(FIFO 文件存储格式),这也就意味着 Linux 的...

    java系统软件技术架构设计方案.docx

    xxxxx 一方面强调对用户要好用,满足用户的使用习惯和思维习 惯,同时要满足用户对成本控制、可管理性以及安全方面的要求,尽 管两者时有冲突,但是,从产品的角度来看,对这两点的整合能力也 是衡量一个软件产品...

    wireshark源码

    将所有不打算对外输出的全局变量和函数声明为"static"是一个良好的习惯,因为这可以保证命名空间不被污染。通常这是容易做到的,除非您的解析器非常庞大以致跨越多个文件。 之后的模块变量"TCP_PORT_RDP"则包含了...

    正弦信号的matlab代码-hpce-2015-cw2:hpce-2015-cw2

    该原理通常还允许大量的并行处理,这可以在多个处理器上实现令人惊讶的良好缩放。 本课程的总体目标是: 对于那些习惯于基于GUI的编程的人,请获取使用命令行和shell脚本的经验。 这将有助于多核,GPU和AWS编程。 在...

    学生成绩信息管理系统论文 JSP 完整版

    数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。 MySQL作为一种开放源码数据库,以其...

Global site tag (gtag.js) - Google Analytics