基础命令(二)

date -s “2018-4-3”

1、file ,检查文件的类型
   file [options] <filename>...
   常用选项:
   -b,显示检查文件类型结果时,不显示文件名称
---->file  /etc/fstab
L3L2S9YMVQ4`4M4MTB3W}5D
    -F,指定分隔符代替输出文件名后默认的:分隔符
---->file -F /etc/fstab
L2G8K6``[6J9F)G{BKN`WDM
    -L,查看软链接文件对应文件的文件类型
---->file -L /etc/rc5.d/S02sudo
32X]PPY6N7QD44JMSYVE016
另:查看链接文件的源文件命令readlink
---->readlink /etc/rc5.d/S02sudo
(5E7H(K_$26D7[_9PQI1)RT
2、文件描述符File Description,fd
2.1 linux中文件打开都存在一个文件描述符,查看打开文件设备列表
---->ll /proc/$$/fd
9AMQ`@Y_K}(1NDEY8S@XZE8
2.2 手动设定打开文件的描述符
---->exec 254 <>/data/test.fd
2.3 删除设定的描述符
---->exec 254 >&- 
3、输出、输入重定向
3.1 标准输入(STDIN)-0 默认接受来自键盘的输入 
    标准输出(STDOUT)-1 默认输出到终端窗口 
    标准错误(STDERR)-2 默认输出到终端窗口 
3.2 I/O重定向:改变默认位置
    > 把STDOUT重定向到文件 
   2> 把STDERR重定向到文件 
   &> 把所有输出重定向到文件
   >> 原有内容基础上,追加内容 
   2> 覆盖重定向错误输出数据流 
   2>> 追加重定向错误输出数据流 
---->ls /data /error >all.log 2>zero.log
WU5SRKL]AJ[GM%{TCTYO
注:>重定向文件会被覆盖,set -C禁止将内容覆盖已存在文件,但可追加;set +C允许覆盖
4、tr,转换和删除字符
   tr [OPTION]... SET1 [SET2]
   -c –C --complement:取第一个字集的补集,
   -d --delete:删除所有属于第一字符集的字符,-d,-c经常一起使用,表示删除第一个字符集外所有字符
---->tr -dc 'abc\n' <fstab,\n表示换行符,tr -dc一起使用会删除linux默认的换行符,为了美观,我们经常会加上换行符
9[~E87XROT(_UFGL9J6839U
    -s --squeeze-repeats:把连续重复的字符以单独一个字符表示,此命令可以处理一些命令结果,得到需要的数据
---->df -h |tr -s '' ':' 
%XPVB49O4{{V%}V2]{F_R{J
    -t --truncate-set1:将第一个字符集对应字符转化为第二字符集对应的字符,前后转换字符长度对应相同
---->echo abc |tr -t 'abc' 'xy'
DO4IYIHN{4BD72BUS]82ACA
注:通过管道向tr传来的结果一定是标准输出结果
---->ls /boot /error |tr 'a-z' 'A-Z'
`$}]V1H`_P}2WX`FBZE8PDD
这里错误输出结果的字符没有转换
---->ls /boot /error 2>&1 |tr 'a-z' 'A-Z' or ls /boot /error |& tr 'a-z' 'A-Z'(|&属于新写法,centos6以前不能识别)
6O)8KIXK~H4HC8]$NY@`]KD
此时,错误输出结果也被转换,有时我们也可以通过tr方便实现一些运算
---->echo {1..100} |tr ' ' '+' |bc
EH9W[3KX%F$XBQ24H}}CQ9A
6、取随机数
---->openssl rand -base64 num,num为取随机数位数
J18F6RYJADDHZWRT)%][]QA
如果需要输出的随机数只是[:alnum:](数字和字母),可以通过上面tr命令处理
---->openssl rand -base64 12 |tr -dc 'a-zA-Z0-9\n'
8V6@%PIX2_AROD[Y4}NIDVB
7、cat重定向的特殊用法,使用“<<终止词”命令从键盘把多行重导向给STDIN直到终止词位置的所有文本都发送给STDIN,有时被称为就地文本(heretext) 
7.1 有时需要向配置文件加入内容时,我们可以不用打开文件
---->cat << EOF >> /data/yum.resource.repo
H(I8M{K~@R4%LAN}[W_RCYC
7.2 如果需要向一个空文件或者不存在文件中写入内容
---->cat > file_not.exist,写入输入内容回车后,ctrl+d就可以实现
N4OGT]]CTHHJW6V$]M6MBHA
8、tee
   命令1 | tee [-a ] 文件名 | 命令2:把命令1的STDOUT保存在文件中,做为命令2的输入 
   -a 追加 
---->ls /boot |tee -a f1 | tr 'a-z' 'A-Z'
X`[%N8@Y)4XXLZLDOA_UZGI

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/94809

(0)
上一篇 2018-04-03 13:18
下一篇 2018-04-03 13:35

相关推荐