iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >UNIX的10个好习惯是什么
  • 714
分享到

UNIX的10个好习惯是什么

2023-06-16 12:06:15 714人浏览 独家记忆
摘要

这篇文章主要介绍“UNIX的10个好习惯是什么”,在日常操作中,相信很多人在UNIX的10个好习惯是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”UNIX的10个好习惯是什么”的疑惑有所帮助!接下来,请跟

这篇文章主要介绍“UNIX的10个好习惯是什么”,在日常操作中,相信很多人在UNIX的10个好习惯是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”UNIX的10个好习惯是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1. 文件名自动补全

文件名自动补全功能让你无需在命令提示符处键入各种又臭又长的文件名,避免输入错误,提高效率。这个功能在各个 shell 中的工作方式略有不同,所以首先请确定自己用的是哪种shell。

我正在运行哪种 Shell?

可以使用 echo $0 或 ps -p $$ 命令显示您正在使用的 Shell。

List1:确定你的shell

$ echo $0 -bash $ ps –p $$ PID TTY           TIME CMD 6344 ttys000    0:00.02 –bash

C Shell

C Shell 支持最直接文件名补全功能。设置 filec 变量即可启用该功能(使用命令 set filec)。在您开始键入文件名后,可以按 Esc 键,Shell 将补全文件名或者补全尽可能多的部分。例如,假设有名为 file1、file2 和 file3 的文件。如果键入 f,然后按 Esc 键,将填充 file,之后你需要输入 1、2 或 3 来完成相应的文件名。

Bash

Bash Shell 也提供了文件名补全功能,但它使用 的是Tab 键。您在 Bash Shell 中不需要设置任何选项即可启用文件名补全功能,该选项是缺省设置的。Bash 还实现了其他功能。键入文件名的一部分后,按 Tab 键,如果有多个文件满足您的请求,并且您需要添加文本以选择其中一个文件,那么您可以多按 Tab 键两次,以显示与您目前键入的内容相匹配的文件的列表。

用之前名为 file1、file2 和 file3 的文件示例,首先键入 f。当按一次 Tab 键时,Bash 自动补全显示file;再按一次 Tab 键时,将展开列表 file1 file2 file3。

Korn Shell

对于 Korn Shell 用户,文件名补全功能取决于 EDITOR 变量的值。如果 EDITOR 设置为 vi,那么您键入部分名称,然后按 Esc 键后跟反斜杠 (\) 字符。如果 EDITOR 设置为 eMacs,那么您键入部分名称,然后按两次 Esc 键以补全文件名。

2. 使用历史扩展

如果你的一系列命令都用了相同的文件名,会发生什么情况?有一种快捷方式可以快速获得你上次使用的文件名。如List 2 所示,!$ 命令返回前一个命令使用的文件名。

从文件 this-is-a-long-lunch-menu-file.txt 中搜索单词 pickles 的出现位置。搜索结束后,用 vi 命令来编辑 this-is-a-long-lunch-menu-file.txt 文件,而不需要重新键入文件名。用感叹号 (!) 来访问历史,然后使用美元符号 ($) 返回前一命令的***字段。如果你需要反复用到长文件名,那么这是一个非常好的工具

List2:用 !$ 获得前一个命令使用的文件名

$ grep pickles this-is-a-long-lunch-menu-file.txt  pastrami on rye with pickles and oNIOns  $ vi !$

3. 重用以前的参数

!$ 命令返回某个命令使用的上一个文件名参数。但如果某个命令使用多个文件名,而您只希望重用其中一个文件名,该如何做?

!:1 操作符返回某个命令使用的***个文件名。

List 3 中的示例显示可以如何将此操作符与 !$ 运算符组合使用。在***个命令中,将一个文件重新命名为更有意义的名称,但为了保持原始文件名可用,创建了一个符号链接。重新命名文件 kxp12.c 以提高可读性,然后使用 link 命令来创建到原始文件名的符号链接,以防在其他位置使用该文件名。!$ 操作符返回 file_system_access.c 文件名,而 !:1 操作符返回 kxp12.c 文件名,该文件名是上个命令的***个文件名。

List3:组合使用 !$ 和 !:1

$ mv kxp12.c file_system_access.c  $ ln –s !$ !:1

4. 使用 pushd 和 popd 管理目录导航

UNIX 支持各种目录导航工具,我最喜欢的两款提高工作效率的工具是 pushd 和 popd。您肯定知道 cd 命令用于更改当前目录。如果要在多个目录中导航,但希望能够快速返回某个位置,该如何做?

pushd 和 popd 命令创建一个虚拟目录堆栈,pushd 命令用来更改您的当前目录并将其存储在堆栈中,而 popd 命令用来从堆栈的顶部移除目录并使您返回该位置。可以使用 dirs 命令来显示当前目录堆栈。

List4:使用 pushd 和 popd 在目录树中导航

$ pushd .  ~ ~  $ pushd /etc  /etc ~ ~  $ pushd /var  /var /etc ~ ~  $ pushd /usr/local/bin  /usr/local/bin /var /etc ~ ~  $ dirs  /usr/local/bin /var /etc ~ ~  $ popd  /var /etc ~ ~  $ popd  /etc ~ ~  $ popd  ~ ~  $ popd

pushd 和 popd 命令还支持使用参数处理目录堆栈。使用 +n 或 -n 参数,其中 n 是一个数字,可以向左或向右移动堆栈:

List5:旋转目录堆栈

$ dirs  /usr/local/bin /var /etc ~ ~  $ pushd +1  /var /etc ~ ~ /usr/local/bin  $ pushd -1  ~ /usr/local/bin /var /etc ~

5. 查找大型文件

有时候需要找出磁盘空间到底被什么占用了?可以使用以下几个工具来管理存储设备。df 命令显示每个可用卷上已使用的块的总数以及空闲空间的百分比。

List6:确定各卷的使用情况

$ df  Filesystem                            512-blocks      Used  Available Capacity  Mounted on  /dev/disk0s2                         311909984 267275264   44122720    86%    /  devfs                                                224             224                 0   100%    /dev  fdesc                                                2                     2                 0   100%    /dev  map -hosts                                       0                     0                 0   100%    /net  map auto_home                               0                     0                 0   100%    /home

要查找大型文件?用 find 命令时附带 -size 参数。List 7 显示了如何使用 find 命令来查找大于 10MB 的文件。注意,-size 参数以 KB 为单位计量大小。

List7:查找大于10MB的所有文件

$ find / -size +10000k –xdev –exec ls –lh {}\;

6. 不要用编辑器创建临时文件

下面是个简单示例:需要快速创建一个简单临时文件,但不想启动编辑器。使用带有 > 文件重定向操作符的 cat 命令。

如List 8所示,使用不带文件名的 cat 命令只回显向标准输入键入的任何内容;> 重定向将该输入捕获到指定的文件中。注意,在结束输入时必须提供文件结束字符,一般是 Ctrl-D。

List8:快速创建临时文件

$ cat > my_temp_file.txt  This is my temp file text  ^D  $ cat my_temp_file.txt  This is my temp file text

要执行相同操作,但是附加到现有文件而不是创建新文件。如List 9 所示,改用 >> 操作符。>> 文件重定向操作符向现有文件附加内容。

List9:快速向文件附加内容

$ cat >> my_temp_file.txt  More text  ^D  $ cat my_temp_file.txt  This is my temp file text  More text

7. 使用 curl 命令行实用工具

想从命令行访问 WEB?用 curl 命令!curl 命令使您可以使用 Httphttps、FTP、FTPS、Gopher、DICT、TELNET、LDAP 或 FILE 协议从服务器检索数据。

例如,用 curl 命令来下载 HTTP 托管的文件。使用 -o 参数来指定保存输出的位置“

List10:用 curl 下载文件

$ curl -o arcHive.tar http://www.somesite.com/archive.tar

curl命令非常强大,可以通过man curl了解更多它的功能 。

8. 最有效的利用正则表达式

大量 UNIX 命令使用正则表达式作为参数。从技术角度而言,正则表达式是表示某种模式的字符串(也就是说,由字母、数字和符号组成的字符序列),用于定义零或更长的字符串。正则表达式使用元字符(例如,星号 [*] 和问号 [?])来匹配其他字符串的部分或全部内容。正则表达式不一定包含通配符,但通配符可以使正则表达式在搜索模式和处理文件时发挥更大的作用。表 1 显示了一些基本正则表达式序列。

表 1. 正则表达式序列

序列说明

脱字符 (^)匹配出现在行首的表达式,例如 ^A

美元符号 ($)匹配出现在行末的表达式,例如 A$

反斜杠 (\)取消下一个字符的特殊含义,例如 \^

方括号 ([])匹配括起来的任一字符,例如 [aeiou](使用连字符 [-] 表示范围,例如 [0-9])。

[^ ]匹配除括起来字符以外的任一字符,例如 [^0-9]

句点 (.)匹配除行尾之外的任意单个字符

星号 (*)匹配零个或多个前驱字符或表达式

\{x,y\}匹配出现过 x 到 y 个和前面相同的内容

\{x\}精确匹配出现过 x 个和前面相同的内容

\{x,\}匹配出现过 x 个或更多和前面相同的内容

以下是经常与 grep 命令一起使用的一些基本正则表达式:

List11:使用正则表达式和 grep

$ # Lists your mail  $ grep '^From: ' /usr/mail/$USER     $ # Any line with at least one letter    $ grep '[a-zA-Z]'  search-file.txt  $ # Anything not a letter or number  $ grep '[^a-zA-Z0-9] search-file.txt  $ # Find phone numbers in the fORM 999-9999   $ grep '[0-9]\{3\}-[0-9]\{4\}' search-file.txt  $ # Find lines with exactly one character  $ grep '^.$' search-file.txt  $ #  Find any line that starts with a period "."            $ grep '^\.' search-file.txt   $ # Find lines that  start with a "." and 2 lowercase letters  $ grep '^\.[a-z][a-z]' search-file.txt

9. 确定当前用户

有时查找问题是,需要确定某个特定用户是否运行过您的管理脚本。为找出答案,您可以使用 whoami 命令来返回当前用户的名称:

List12:从命令行使用 whoami

$ whoami  John

List13:用 whoami 确保当前用户不是根用户的 Bash 脚本

if [ $(whoami) = "root" ]  then     echo "You cannot run this script as root."     exit 1  fi

10. 用awk处理数据

awk 命令似乎始终处在 Perl 的阴影下,但它对于简单、基于命令行的数据处理来说是一个快速、实用的工具。List 14 展示了如何开始使用 awk 命令。

若要获取文件中每行文本的长度,用 length() 函数。若要查看字符串 ing 是否出现在文件文本中,请用 index() 函数,该函数返回 ing ***出现的位置,这样您就可以使用它来进行进一步的字符串处理。若要 tokenize(也就是说,将一行拆分为单词长度的片段)某个字符串,请使用 split() 函数。

List14:基本awk处理

$ cat text  testing the awk command  $ awk '{ i = length($0); print i }' text  23  $ awk '{ i = index($0,”ing”); print i}' text  5  $ awk 'BEGIN { i = 1 } { n = split($0,a," "); while (i <= n) {print a[i]; i++;} }' text  testing   the  awk  command

打印文本文件中的指定字段是一项简单的 awk 任务。在List 15中,sales 文件包含每个销售人员的姓名,后跟每月销售数字。可以使用 awk 命令来快速获得每个月的销售总额。缺省情况下,awk 将每个以逗号分隔的值视为不同的字段。用 $n 操作符来访问每个字段。

List15:用awk对数据进行汇总

$cat sales  Gene,12,23,7  Dawn,10,25,15  Renee,15,13,18  David,8,21,17  $ awk -F, '{print $1,$2+$3+$4}' sales  Gene 42  Dawn 50  Renee 46  David 46

到此,关于“UNIX的10个好习惯是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: UNIX的10个好习惯是什么

本文链接: https://www.lsjlt.com/news/283586.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • UNIX的10个好习惯是什么
    这篇文章主要介绍“UNIX的10个好习惯是什么”,在日常操作中,相信很多人在UNIX的10个好习惯是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”UNIX的10个好习惯是什么”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-16
  • 18个编写JavaScript好习惯是怎样的
    18个编写JavaScript 好习惯是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在我多年的编程生涯中,我会优先考虑编写代码的方...
    99+
    2024-04-02
  • 写Python时的5个坏习惯分别是什么
    写Python时的5个坏习惯分别是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。注意:示例代码在 Python 3.6 环境下编写1 用列表作函数的默认参数...
    99+
    2023-06-17
  • 为什么在 MySQL 中使用两位数年份的日期值不是一个好习惯?
    众所周知,YEAR(2) 以 2 位数字格式存储年份。例如,我们可以写 69 将 1969 存储为年份。在 YEAR (2) 中,年份可以指定为 1970 到 2069(70 到 69)。MySQL 借助以下规则解释 2 位年份值 -00-...
    99+
    2023-10-22
  • 习题10:那是什么?
    练习代码# coding: utf-8__author__ = 'www.py3study.com'tabby_cat = "\tI'm tabbed in."persian_cat = &quo...
    99+
    2023-01-30
    习题 那是什么
  • 10个提高效率的UNIX和Linux技巧分别是什么
    这期内容当中小编将会给大家带来有关10个提高效率的UNIX和Linux技巧分别是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。如果您的服务也部署在 Linux 机器上,并且您每天有...
    99+
    2023-06-28
  • 优秀的web程序员所具备哪7个好习惯
    本篇内容介绍了“优秀的web程序员所具备哪7个好习惯”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 良好的时间管理迟到对于任何一家公司都...
    99+
    2023-06-17
  • Python 的 list.pop() 方法的 Go 习惯用法是什么?
    Golang不知道大家是否熟悉?今天我将给大家介绍《Python 的 list.pop() 方法的 Go 习惯用法是什么?》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发...
    99+
    2024-04-05
  • web开发项目有害的编程习惯是什么
    这篇文章主要介绍“web开发项目有害的编程习惯是什么”,在日常操作中,相信很多人在web开发项目有害的编程习惯是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”web开发项目有害的编程习惯是什么”的疑惑有所...
    99+
    2023-06-17
  • 在发生错误时省略 mongodb 事务回滚是一个好习惯吗
    问题内容 我正在使用golang驱动程序go.mongodb.org/mongo-driver/mongo学习mongodb事务。我正在 github 上关注这个 so 答案和这个示例...
    99+
    2024-02-06
  • 10个好用的Web日志安全分析工具分别是什么
    本篇文章为大家展示了10个好用的Web日志安全分析工具分别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。经常听到有朋友问,有没有比较好用的web日志安全分析工具首先,我们应该清楚,日志文件不但...
    99+
    2023-06-17
  • 10个艰难的Java面试题是什么
    本篇内容介绍了“10个艰难的Java面试题是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.为什么等待和通知是在 Object 类而不...
    99+
    2023-06-16
  • 10款好用的MySQL GUI工具分别是什么
    这篇文章将为大家详细讲解有关10款好用的MySQL GUI工具分别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。MySQL是 比较广泛使用和流行的开源...
    99+
    2024-04-02
  • 10个非常危险的Linux命令是什么
    这篇文章主要介绍“10个非常危险的Linux命令是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“10个非常危险的Linux命令是什么”文章能帮助大家解决问题。计算机操作系统是管理计算机软硬件资源...
    99+
    2023-06-05
  • unix的socket是什么
    unix的socket是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。起因:大平在进行unix运维的时候,总是发现后缀是sock的文件,因此想,这是啥文件呢...
    99+
    2023-06-06
  • 10大好用的Linux实用工具分别是什么
    这篇文章将为大家详细讲解有关10大好用的Linux实用工具分别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Linux系统中有许多实用工具可以辅助我们管理自己的Linux系统,包括网络...
    99+
    2023-06-28
  • 被遗忘的10 个Linux命令分别是什么
    这篇文章主要为大家分析了被遗忘的10 个Linux命令分别是什么的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“被遗忘的10 个Linux命令分别是什么”的知...
    99+
    2023-06-28
  • 10个增加UNIX/Linux Shell脚本趣味的工具分别是哪些
    本篇文章为大家展示了10个增加UNIX/Linux Shell脚本趣味的工具分别是哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。有些误解认为 shell 脚本仅用于 CLI 环境。实际上在 KD...
    99+
    2023-06-16
  • Python API vs. UNIX vs. NPM:哪一个是最好的工具?
    在当今的技术世界中,有许多不同的工具和技术可供选择。当涉及到Python API、UNIX和NPM时,许多人会感到困惑,不知道哪种工具是最好的。在本文中,我们将比较这三种工具的优缺点,以及它们适用的情况。 Python API Pytho...
    99+
    2023-06-26
    api unix npm
  • 强化Linux安全的10个技能分别是什么
    这篇文章将为大家详细讲解有关强化Linux安全的10个技能分别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.找出不必要的服务很明显,服务器上跑的服务,并不是每个都有用的。强烈建议检...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作