
正文
linux命令截断 linux截频
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Linux cat命令作用是什么?
将passwd文件的内容读到$home/passwd这个文件下
$home代表路径
注意下下面加粗部分语法
cat
命令
用途
连接或显示文件。
cat
[
-
q
]
[
-r
]
[
-
s
]
[
-
s
]
[
-
u
]
[
-
n
[
-
b
]
]
[
-
v
[
-
e
]
[
-
t
]
]
[
-
|
file
...
]描述
cat
命令按顺序读取每个
file
参数并将它写至标准输出。如果未指定文件名linux命令截断,cat
命令会从标准输入读取。也为标准输入可以指定
-(短划线)的文件名。注意:
不要使用符号重定向符号
(caret)将输出重新定向到输入文件之一。如果这么做了linux命令截断,会丢失输入文件中的原始数据,因为
shell
在
cat
命令可读取该文件之前先将它截断了。有关更多信息,请参阅
《aix
5l
v5.2
系统用户指南linux命令截断:操作系统与设备》
中的
“korn
命令解释程序中重新定向输入和输出”。标志
-b
当与
-n
标志一起指定时,省略来自空行的行号。
-e
当与
-v
标志一起指定时,在每行末尾显示一个
$(美元符号)。
-n
显示在行号之后的输出行,按顺序从
1
开始编号。
-q
如果
cat
命令无法找到输入文件,则不显示消息。该标志等同于
-s
标志。
-r
以一个空行来替代多个连续的空行。该标志等同于
-s
标志。
-s
如果
cat
命令无法找到输入文件,则不显示消息。该标志等同于
-q
标志。
注:
以前由
-s
标志处理的任务现在指定给
-s
标志。
-s
以一个空行来替代多个连续的空行。该标志等同于
-r
标志。
-t
如果与
-v
标志一起指定,则将跳格字符显示为
^i。
-u
不要缓冲输出。缺省值为缓冲的输出。
-v
将非打印字符显示为可视字符,除了跳格符、换行符和换页符。ascii
控制字符(八进制
000-037)打印成
^n,其中
n
是八进制范围
100-137
(
@,
a,
b,
c,...,
x,
y,
z,
[,
\,
],
^,
和
_)
内对应的
ascii
字符linux命令截断;而
del
字符(八进制
0177)则打印成
^?。其它非打印字符打印成
m-x,其中
x
是由最低七位指定的
ascii
字符。
当与
-v
选项一起使用时,可使用以下选项linux命令截断:
-e
在新行之前的每行末尾将打印一个
$
字符。
-t
跳格符打印成
^i
而换页符打印成
^l
如果未指定
-v
选项,会忽略
-e
和
-t
选项。
-
允许
cat
命令的标准输入。
相关问答
Q1: 如何用linux命令彻底删除文件
1. shred – 覆盖文件以隐藏内容
shred可覆盖文件以隐藏内容,另外还可以删除文件。
$ shred -zvu -n 5 passwords.list
这个命令包括的几个选项有:
-z – 最后一次覆盖添加0,以隐藏覆盖操作
-v – 能够显示操作进度
-u – 覆盖后截断并删除文件
-n – 指定覆盖文件内容的次数(默认值是3次)
shred – 覆盖文件以隐藏内容。
你可以在shred的参考手册页找到更多的使用选项和信息:
$ man shred
2. wipe – 安全地擦除Linux下的文件
Linux的wipe命令,可安全地删除磁存储器中的文件,后续无法恢复已删除文件或目录的内容。
首先,你需要安装wipe工具才能使用它,运行下面命令:$ sudo apt-get install wipe [在Debian及其衍生版上]
$ sudo yum install wipe [在基于RedHat的系统上]
下面这个命令将擦除目录private下面的一切内容。
$ wipe -rfi private/*
相关标志的用法如下:
-r – 告诉wipe递归查询子目录
-f – 启用强行删除,并禁用确认查询
-i – 显示删除过程的进度
wipe – 安全地删除Linux下的文件
注意:wipe只能适用于磁存储器,对于固态磁盘要使用其他方法。
仔细阅读wipe的参考手册页,了解更多的使用选项和使用说明:
$ man wipe
3. 面向Linux的secure-deletetion工具包
secure-delete是一套安全文件删除工具,包含SRM(secure_deletion)工具,它是用来安全地删除文件。
首先,你要安装它,为此使用下面这个相关命令:$ sudo apt-get install secure-delete [在Debian及其衍生版上]
$ sudo yum install secure-delete [在基于RedHat的系统上]
一旦安装完毕,你可以使用srm工具,在Linux系统上安全地删除文件或目录,如下所示。
$ srm -vz private/*
使用的选项如下:
-v – 启用详细信息模式
-z – 用0而不是随机数据擦除上一次写入的内容
srm – 安全删除Linux下的文件
仔细阅读srm的参考手册页,了解更多的使用选项和信息:
$ man srm
4. sfill –安全免费的磁盘/索引节点空间擦除工具
ffill是secure-deletetion工具包的一部分,它是一种安全免费的磁盘和索引节点空间擦除工具,可以安全地删除闲置磁盘空间上的文件。sfill可检查指定分区上的闲置空间,并用来自/dev/urandom的随机数据来填充。
下面这个命令将在我的根分区上执行sfill,-v参数选项符启用详细信息模式:
$ sudo sfill -v /home/aaronkilik/tmp/
假设你创建了一个单独的分区,/home用来存储平常的系统用户主目录,那么你可以在该分区上指定一个目录,对它进行sfill操作:
$ sudo sfill -v /home/username
sfill有几个局限性,参考手册页中有说明,你还能找到另外的使用标志和操作说明:
$ man sfill
注意:secure-deletetion工具包中的下面两个工具(sswap和sdmem)与本文并不直接有关,不过我们会介绍它们,也许将来用得着。
5. sswap – 安全交换分区擦除工具
这是一个安全分区擦除工具,sswap删除的数据驻留在交换分区上的数据。
警告:记得在使用sswap之前先卸载掉你的交换分区!不然系统可能会崩溃!
只要确定你的交换分区(并使用swapon命令,核实分页和交换设备/文件是否开启),下一步,使用swapoff命令,禁用分页和交换设备/文件。
然后,在交换分区上运行sswap命令:
$ cat /proc/swaps
$ swapon
$ sudo swapoff /dev/sda6
$ sudo sswap /dev/sda6 #这个命令需要一段时间才能完成,默认情况下执行38趟
sswap – 安全交换分区擦除工具
确保仔细阅读sswap的参考手册页,了解更多的使用选项和信息:
$ man sswap
6. sdmem – 安全内存擦除工具
sdmem是安全内存擦除工具,它旨在安全地删除驻留在内存中的数据。
它原先名叫smem,但是在Debain系统上,有另一个程序包名叫smem(报告每个进程和每个用户的内存使用情况),于是开发人员将它改名为sdmem。
$ sudo sdmem -f -v
想了解更多的使用信息,请仔细阅读sdmem的参考手册页:
$ man sdmem
Q2: 请教:linux终端显示内容不全,长的字符串被截断
管道
管道简单理解就是linux命令截断,使用管道意味着第一个命令linux命令截断的输出会作为第二个命令linux命令截断的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。
这样在ls命令的时候如果现实的内容很多,可以利用管道技术将其分页显示linux命令截断:
1. ls | less
2. ls | more
我这里是遇到objdum -d反汇编命令时,终端显示不全。参照上面的ls命令,可以在命令后边加上“ | more ”
如果对less和more掌握不熟练的话,使用man命令查一下他们的详细用法和区别。
Q3: linux下文件名过长,导致cp命令时,新生成的目标文件文件名被截断,有什么解决办法使文件名一致呢?
先mv改名字linux命令截断,然后cp完之后linux命令截断,用mv把名字改回来...
Q4: Linux Shell的提速技巧
本文整理自 My 5 Favorite Linux Shell Tricks for SPEEEEEED (and efficiency) 。这里列出的小技巧可以让你在使用shell的时候更加高效~
设想这样一个场景:你输入了 apt-get update ,然后发现需要 sudo 权限才能运行。除了通常的按下向上箭头,然后移动到行首添加 sudo 再运行,你可以输入
按下回车后,shell会生成 sudo apt-get update ,也就是说, !! 被替换为上一条命令的内容。
翻译过来可以理解为截断命令,并且重新粘贴截断内容。这个操作类似于emacs中的快捷键。我们可以使用 ctrl + K 来截断光标后方的命令内容,然后用 ctrl + Y 来重新粘贴截断的内容。
例如:
注意 ctrl + Y 可以多次粘贴。
而如果想要截断光标之前的内容,可以用 ctrl + U 。(事实上很多emacs的快捷键都可以直接在shell环境下使用)
在开发和调试过程中,我们常常会使用 tail -f 命令来追踪日志的输出。这种方式有一个问题,即我们无法回溯更早的日志内容。因此我推荐之后都使用 less +F 命令来追踪日志内容。这个命令同样是从文件的尾部开始输出,然后在文件内容更新时输出更新内容。在使用这个命令时,可以按下 ctrl + C 组合键,然后用上下箭头就可以遍历整个文件了。之后按下 shift + F 来回到尾部追踪的模式。
ctrl + x + e (按住ctrl,然后先按下x,再按下e),就可以弹出一个编辑器来编辑你当前的命令。
设想如下的情形:
我们要对一个host进行多次操作,而每次我们都要重新输入一遍这个host的!这在调试和维护过程中是非常繁琐的。 alt + . 就为我们提供了一个非常便捷的功能!按下这个命令可以粘贴上一条命令的参数。
Q5: linux ">" ">>" "
输出/输入重导向
: 2 2 2
文件描述符(File Descriptor)linux命令截断,用一个数字(通常为0-9)来表示一个文件。
常用linux命令截断的文件描述符如下:
文件描述符 名称 常用缩写 默认值
0 标准输入 stdin 键盘
1 标准输出 stdout 屏幕
2 标准错误输出 stderr 屏幕
linux命令截断我们在简单地用或时linux命令截断,相当于使用 0 或 1(下面会详细介绍)。
* cmd file
把cmd命令的输出重定向到文件file中。如果file已经存在linux命令截断,则清空原有文件,使用bash的noclobber选项可以防止复盖原有文件。
* cmd file
把cmd命令的输出重定向到文件file中,如果file已经存在,则把信息加在原有文件後面。
* cmd file
使cmd命令从file读入
* cmd text
从命令行读取输入,直到一个与text相同的行结束。除非使用引号把输入括起来,此模式将对输入内容进行shell变量替换。如果使用- ,则会忽略接下来输入行首的tab,结束行也可以是一堆tab再加上一个与text相同的内容,可以参考後面的例子。
* cmd word
把word(而不是文件word)和後面的换行作为输入提供给cmd。
* cmd file
以读写模式把文件file重定向到输入,文件file不会被破坏。仅当应用程序利用了这一特性时,它才是有意义的。
* cmd | file
功能同,但即便在设置了noclobber时也会复盖file文件,注意用的是|而非一些书中说的!,目前仅在csh中仍沿用!实现这一功能。
: filename 把文件"filename"截断为0长度.# 如果文件不存在, 那么就创建一个0长度的文件(与'touch'的效果相同).
cmd n把输出送到文件描述符n
cmd mn 把输出 到文件符m的信息重定向到文件描述符n
cmd -关闭标准输出
cmd n 输入来自文件描述符n
cmd mn m来自文件描述各个n
cmd -关闭标准输入
cmd n-移动输入文件描述符n而非复制它。(需要解释)
cmd n-移动输出文件描述符 n而非复制它。(需要解释)
注意: 实际上复制了文件描述符,这使得cmd file 21与cmd 21 file的效果不一样。更多Linux知识可参考《Linux就该这么学》。
linux命令截断的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux截频、linux命令截断的信息别忘了在本站进行查找喔。







