Linux下5个有趣的命令行技巧介绍

Linux下5个有趣的命令行技巧介绍,第1张

你有将Linux物尽其用吗?对很多Linux用户来说,有很多看起来是技巧的有用特性。有些时候你会需要这些技巧。本文会帮助你更好得使用一些命令,发挥其更强大的功能。

图1:5个命令行技巧

我们开始一个新的系列,在这里我们还会写一些技巧,并且用尽量小的篇幅写清楚。

1.

我们可以使用history命令来查看曾经运行过的命令。

这里是一个history命令的示例输出。

代码如下:

#

history

从history命令输出看,很明显,命令的执行时间没有被打出来。有解决方法吗?有的!运行如下命令:

代码如下:

#

HISTTIMEFORMAT="%d/%m/%y

%T

"

#

history

如果你想让这个修改永久生效,添加如下的一行内容到~/.bashrc文件中:

代码如下:

export

HISTTIMEFORMAT="%d/%m/%y

%T

"

然后,在终端中运行:

代码如下:

#

source

~/.bashrc

命令和选项的解释:

history

查看运行过的命令

HISTIMEFORMAT

设置时间格式的环境变量

%d

%m

%y

%T

时间戳

source

简而言之就是将文件内容发送给shell来执行

.bashrc

BASH以交互方式启动时运行的脚本文件

2.

如何测试磁盘写入速度?

一行dd命令脚本就可以实现。

代码如下:

#

dd

if=/dev/zero

of=/tmp/output.img

bs=8k

count=256k

conv=fdatasync

rm

-rf

/tmp/output.img

命令和选项的解释:

dd

转换和复制文件

if=/dev/zero

指定输入文件,默认为stdin(标准输入)

of=/tmp/output.img

指定输出文件,默认为stdout(标准输出)

bs

一次读和写的块大小,最大可以以MB为单位

count

复制次数

conv

使用逗号分隔的策略来转换文件(LCTT

译注:比如将大写字母转换成小写,echo

AA

|

dd

conv=lcase)

rm

删除文件和目录

-rf

(-r)

递归地删除目录和其中的内容,(-f)强行删除而不输出确认信息

3.

你如何获取吃掉你磁盘空间的最大的6个文件?

一个使用du命令的简单单行脚本即可实现,du命令主要用于获取文件的空间使用情况。

代码如下:

#

du

-hsx

*

|

sort

-rh

|

head

-6

命令和选项的解释:

du

估计文件的空间使用情况

-hsx

(-h)更易读的格式,(-s)汇总输出,(-x)跳过其他文件系统的文件

sort

对文本文件按行排序

-rf

(-r)将比较的结果逆序输出,(-f)忽略大小写

head

输出文件的头几行

4.

获取一个文件的详细状态信息

可以使用stat命令

代码如下:

#

stat

filename_ext

(例如:stat

abc.pdf)

5.

显示帮助

最后一个技巧是为那些入门者准备的,如果你是有经验的用户,可能不需要它,除非你想从中寻找乐趣。入门者可能有Linux命令行恐惧症,下面的命令会随机显示一个man手册页。对入门者来说,好处是总会学到新的东西,而且不会厌倦。

代码如下:

#

man

$(ls

/bin

|

shuf

|

head

-1)

命令和选项的解释:

man

Linux

man手册

ls

列出文件

/bin

系统可执行文件的路径

shuf

把输入内容按行随机打乱并输出

head

输出文件的头几行

# # 完全原创 # #

windows上倒是遇见过很多中乱码,但有些部分应该是差不多的。有参考其他资料,但没有直接复制大段文字,是自己一点点总结出来的。希望能够帮到你。影响因素较多,一一列出1. apache的httpd.conf中有默认编码的设置 ,例如 AddDefaultCharset utf-8,这个会有一定影响

2. php的php.ini中也有默认编码的设置,例如default_charset = "utf-8",只能有一个默认编码

3. 数据库字段使用的编码:如果是Latin很容易乱码的

4. php源代码文件的编码:源代码在开发过程中,文本存为文件本身也是有编码方式的。

5. php代码中使用header控制编码(可以省略)

<?php

header(“Content-Type: text/htmlcharset=utf-8")

?>

6. 网页前台的编码

html代码中的meta <meta http-equiv="content-type" content="text/htmlcharset=utf-8">

实际应用中,改变服务器设置不现实,尤其是租服务器,主机提供商不会帮你改的

因此,从3456入手,而且各个部分应该一直、匹配。

也就是说,数据库用了utf-8,那么源码也存成utf-8,网页前台也content="text/htmlcharset=utf-8"附加说明:

第4点:

一般IDE(例如ZendStudio)是可以指定代码编码的,但是有一些例外:

使用Win7的记事本修改后,存为utf-8,会加入windows特有的utf-8标记“BOM”,这是微软为了标记编码在文件头加的额外信息,这样的源代码被执行后,BOM会发往客户端!客户端收到的网页开头是乱的,因为BOM打乱了内容编码的解析

在Mac上使用编辑工具修改源代码后,代码的存储编码会发生较大变化,本人在于团队合作过程中也因此出现较多问题,不推荐使用系统(win/mac)自带的一些文本编辑工具(即使他们有代码高亮或代码提示)

使用成熟的IDE是很不错的办法第5点:

用header控制编码要注意和其他设置头(header)的 *** 作的前后关系,容易导致 “无法修改已发送的头”的错误

用这个其实有时候实属无奈,但很有效第6点:

请把<meta http-equiv="content-type" content="text/htmlcharset=utf-8">放到<title></title>之前!!

因为如果title包含中文,很可能悲剧。本人遇到过两次整站直接空白无法显示出来的问题,就是因为次序问题。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7152928.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-02
下一篇2023-04-02

发表评论

登录后才能评论

评论列表(0条)

    保存