linux进阶学习笔记

一、Linux进阶补充

1.wc命令

语法:wc [选项] 文件…
说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。

wc -l file 统计行数
wc -w file 统计单词数
cat file | wc -c 统计字符数
wc file 分别打印出文件的行数、单词数和字符数
find test/ -name "*.js" |wc -l 统计test目录下,js文件数量

2.输入/输出重定向

命令 说明
> file 将输出重定向到另一个文件file
>> file 将输出以追加的方式重定向到file
< file 将输入重定向到file

3.文件描述符

文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,当某个程序打开文件时,操作系统返回相应的文件描述符,程序为了处理该文件必须引用此描述符。程序刚刚启动的时候,0是标准输入,1是标准输出,2是标准错误。如果此时去打开一个新的文件,它的文件描述符会是3。
标准文件描述符号如下:

文件描述符 用途 POSIX名称 stdio流
0 标准输入(数据输入到程序中) STDIN_FILENO stdin
1 标准输出(程序打印的数据,默认为终端) STDOUT_FILENO stdout
2 标准出错(对于错误消息,也默认为终端) STDERR_FILENO stderr

在这里插入图片描述
举例:
(1)把当前的标准输出重定向到test文件中

[root@localhost ~]# echo 'test01' 1> test
[root@localhost ~]# cat test
test01

(2)把当前的标准输入重定向到test文件中

#接上面操作
[root@localhost ~]# read user 0< test
[root@localhost ~]# echo $user
test01  #user变量输入为test里的文本内容

(3)把当前标准出错输入到重定向test文件

[root@localhost ~]# ls -l test111
ls: 无法访问test111: 没有那个文件或目录
[root@localhost ~]# ls -l test111 2> error.txt #STDERR是流号2,使用该种数字来标识流。如果在>运算符之前放置一个数字,则它将重定向该流(如果不使用那样使用数字,则默认为流1)。
[root@localhost ~]# cat error.txt 
ls: 无法访问test111: 没有那个文件或目录

(4)分配其他的文件描述符

[root@localhost ~]# exec 6>test #文件描述符6指向test文件
[root@localhost ~]# echo 'test 6' 1>&6  #不像描述符1,所有的输出都会自然找它,所以像找描述符6的时候要用&来引用它。
#这条命令就将输出指向到了描述符6,然后描述符6又将内容重定向到test文件。
[root@localhost ~]# cat test
test 6

详细可参考:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值