linux特殊字符
‘壹’ linux 什么命令能查看到文件中的特殊字符
方法1:
vim命令模式下利用 :/ 要搜索的内容
如 ":/keyword" 在vim中搜索keyword
方法2:
使用less命令
less passwd
然后输入:
/keyword
回车
此时如果有keyword字符串,linux会把该字符已高亮方式显示。 可看下”Linux命令大全“了解详细命令介绍
‘贰’ linux中创建目录时哪些属于特殊字符,哪些特殊字符不能创建成功
. 事实上除了'/'字符外都是可以的,只要你mkdir的时候用单引号把它括起来就好了,但是并不建议这么做,否则这些含有特殊字符(如*、\、$、[、]、+、-、&、%、#、!、~、`、空格、回车符等)的文件或目录名以后的任何引用就只能通过外包单引号实现,十分麻烦。这个麻烦倒不是内核的问题,而是Shell解析的时候回转义这些特殊的字符(所以需要用单引号防止shell解析),导致出错。
'/'字符不能出现的原因是它是内核编码中就确定的目录分隔符,比如对于指令
mkdir 'p1/p2'
系统会认为你想 “在当前目录下的p1文件夹下新建一个叫p2的文件夹”,而不是 “在当前目录下新建一个叫 'p1/p2'的文件夹”。
你应该养成一个好的习惯:只用字母、数字、下划线的组合命名目录或文件。
你可以自己尝试一下。
‘叁’ 如何在linux中不可见的特殊字符
1. 使用cat命令就可以
cat -A 文件名 就可以显示特殊字符
2. 使用vim命令
用vim命令打开要查看的文件,然后使用末行模式输入 :set list
‘肆’ Linux中echo命令输出特殊字符的问题
一些特殊字符,需要同时:
使用""
加转义
举例来说,如果试图在文件中输入console.log("Hello World");
echo "console.log("Hello World");" > test.js
参考链接:
网页链接
‘伍’ linux/unix 如何设置特殊字符
把密码用单引号引起来。
或者用这个命令,取消感叹号的特殊意义:
set +o history
‘陆’ 现在 linux 下特殊字符 比如^M 是通过ctrl+ v + m 表示出来的 ,但是linux那么多特殊字符......
这个问题没有必要如此。问题的关键还是你对linux了解的不够,所以,你总是觉得linux下什么都陌生,什么都奇怪,连一些字符的输入都是问题。你在windows下,一下特殊字符如何输入,到了linux也是一样。例如 "!"无论是windows下还是linux都是按住shift再按数字1,"|"是按住shift再按。如果说有某一种软件工具对于一些特殊字符的输入方式有所不同的话,那也只是少数。目前,还正没有看到还有人会专门为此写文档的。
‘柒’ linux下 怎样删除文件名中包含特殊字符的文件
1、如果文件名是第一个字符不是特殊符号,可以按一下第一个字母,通过tab键补全删除。
2、如果文件名第一个字符是特殊符号,考虑转义。比如 rm -rf \(123
删除以(开头的文件
‘捌’ linux cd后可以接特殊字符转义
可以接。
文件名包含下划线。文件名包含等号。处理反斜杠。包含斜杠的特殊情形。文件名包含点。文件名包含逗号。文件名包含冒号。文件名包含引号。文件名包含波浪号。文件名包含空格。
cd是进入下一层软件的意思可以直接在虚拟机中打开下一项但是需要添加文件名称。
‘玖’ linux 特殊符号怎样用sed替换
sed替换的基本语法为:
复制代码
代码如下:
sed 's/原字符串/替换字符串/'
单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义,但是单引号”‘”是没有办法用反斜线”\”转义的,这时候只要把命令中的单引号改为双引号就行了,例如:
复制代码
代码如下:
sed "s/原字符串包含'/替换字符串包含'/" //要处理的字符包含单引号
命令中的三根斜线分隔符可以换成别的符号,这在要替换的内容有较多斜线是较为方便,只需要紧跟s定义即可,例如换成问号”?”:
复制代码
代码如下:
sed 's?原字符串?替换字符串?' //自定义分隔符为问号
可以在末尾加g替换每一个匹配的关键字,否则只替换每行的第一个,例如:
复制代码
代码如下:
sed 's/原字符串/替换字符串/' //替换所有匹配关键字
上箭头”^”表示行首,美元”$”符号如果在引号中表示行尾,但是在引号外却表示末行(最后一行),这里犯二了,搜了半天哪个符号表示首行,半天才想起来,首行就是数字”1″啊.那么在行首和行尾添加字符串就是把行尾和行首替换,例如:
复制代码
代码如下:
sed 's/^/添加的头部&/g' //在所有行首添加
sed 's/$/&添加的尾部/g' //在所有行末添加
sed '2s/原字符串/替换字符串/g' //替换第2行
sed '$s/原字符串/替换字符串/g' //替换最后一行
sed '2,5s/原字符串/替换字符串/g' //替换2到5行
sed '2,$s/原字符串/替换字符串/g' //替换2到最后一行
替换样式可以多个在同一条命令中执行,用分号”;”分隔,例如:
复制代码
代码如下:
sed 's/^/添加的头部&/g;s/$/&添加的尾部/g' //同时执行两个替换规则
sed处理过的输出是直接输出到屏幕上的,要保存可以将输出重定向,或者使用参数”i”直接在文件中替换:
复制代码
代码如下:
sed -i 's/原字符串/替换字符串/g' filename //替换文件中的所有匹配项
‘拾’ 求助Linux下带特殊字符的字符串查找方法!
查找目录下的所有文件中是否含有某个字符串
find .|xargs grep -ri "IBM"
查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名
find .|xargs grep -ri "IBM" -l
推荐使用正则表达式
(1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如/、*、?等)组成。
(2)基本元字符集及其含义
^ :只匹配行首。 如^a 匹配以a开头的行abc,a2e,a12,aaa,......
$ :只匹配行尾。 如^a 匹配以a结尾的行bca,12a,aaa,.......
* :匹配0个或多个此单字符。 如(a)* 匹配 空,a,aa,aaa,....
[] :只匹配[]内字符。可以是一个单字符,也可以是字符序列,用","将里面要匹配的不同字符串分开。也可以使用-来表示[]内字符序列的范围,如[1-5]表示[12345]
\ :只用来屏蔽一个元字符的特殊含义。 如\*,\',\",\|,\+,\^,\. 等
.:(点)只匹配任意单字符。
pattern\{n\}:只用来匹配前面pattern出现的次数.n为次数。如a\{2\}匹配aa.
pattern\{n,\}:含义同上,但次数最少为n.如a\{2,\}匹配aa,aaa,aaaa,.....
pattern\{n,m\}:含义同上,但次数在n和m之间。如a\{2,4\}匹配aa,aaa,aaaa三个
(3)举例说明:
^$ :匹配空行
^.$ :匹配包含一个字符的行
\*\.pas :匹配以*.pas结尾的所有字符或文件
[0123456789]或[0-9] :假定要匹配任意一个数字
[a-z] :任意小写字母
[A-Za-z] :任意大小写字母
[S,s] :匹配大小写S
[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\} :匹配IP地址 [0-9]\{3\}三个0-9组成的字符串;\. :匹配点(注意这里点是特殊的字符,所以要用"\"来屏蔽其含义)