Linux学习笔记(十)常用命令及管道和重定向

1. 日期时间

(1) date命令可以查看或设置当前系统时间,date [+] -s [+] 时间可以用于修改时间,

格式化显示时间为:date +%Y--%m--%--d

(2) 命令hwclock/clock用于显示硬件时钟时间。

(3) cal命令用于查看日历

(4) uptime命令用于查看系统运行时间

2. 输出、查看命令

(1) echo命令用于显示输入的内容

(2) cat命令用于显示文件内容

(3) head命令用于显示文件的头10行,参数:-n + 指定显示的行数

     tail命令用于显示文件的末尾10行,参数:-n + 指定显示的行数,-f 指定显示文件更新

     tail -f /var/log/messages-----tail命令会继续监测该文件,当新的内容添加到文件后,它们会立即出现在屏幕上。直到你输入Ctrl+c。

(4) more命令翻页显示文件内容,但只能向下翻

     less命令翻页显示文件内容,可以上下翻页


3. 查看硬件信息

(1) lscpi命令用于查看PCI设备,参数:-v  可以显示详细信息

(2) lsusb命令用于查看USB设备,参数:-v 可以显示详细信息

(3) lsmod命令用于加载模块,即驱动

4. 关机、重启

(1) 关闭计算机:shutdown  -h重新启动:shutdown -r

      立即关机:shutdown -h now10分钟后启动:shutdown -h +10

      10:00关机:shutdown -h 10:00立即重启:shutdown -r now

(2) 立即关机:poweroff立即重启:reboot

5. 归档和压缩

(1) zip命令用于压缩文件,如:zip temp.zip myfile

(2) unzip命令用于解压缩zip文件,如:unzip temp.zip

(3) gzip命令用于压缩文件,如gzip myfile

(4) tar命令用于归档文件,如:tar -cvf out.tar temp tar -cvf etcbackup.tar /etc

     tar -xvf out.tar用于打开/释放一个归档

     tar -cvzf backup.tar.gz /etc 用于将etc文件夹压缩并归档,参数-z将归档后的归档文件进行gzip压缩

6. 查找

(1) locate命令用于快速查找文件/文件夹,格式为:locate keyboard。系统默认一天更新一次建立的数据库,因此新建立的文件不能查找出来,因为locate命令时数据库并未更新记录该文件,可以使用updatedb工建立更新数据库。

(2) find命令用于高级查找文件/文件夹,格式为:find 查找位置 查找参数

如:find -name *linux*find / -type dfind / -name *.conf

       find -name "a*" -exec ls -l {} \; 该命令是将查找出来a开头的文件或文件夹的详细信息显示出来。

-user指代用户-ctime指代更新时间-size指代大小

7. 通过组合不同功能的命令使用,以达到完成某个复杂功能,多命令协作就是通过管道和重定向完成的,通过管道和重定向,我们可以控制CLI的数据流,及STDIN,STDOUT,STDREE。

重定向用于保存某命令的输出信息或错误信息,可以用来记录执行结果或保存错误信息到一个指定文件。

管道用于组合不同命令,以实现一个复杂的功能。

8. 重定向:

(1) 符号:> 表示将STDOUT重定向到文件(更新时会覆盖)

如:echo "linuxtest" > outfile,将linuxtest保存在文件outfile中;ls -l > outfile ,将会覆盖之前的linux

小技巧:如果我们需要删除一个文件内容(或创建一个新的空文件),可以采用命令'> file'

(2) 符号:>>  表示将STDOUT重定向到文件(更新时会追加),如:echo "linuxtest" >> outfile;

ls -l >> outfile,将会将当前目录的显示信息追加到linuxtest的下一行

注意:对于以上两种情况,两种标准错误STDERR不能写入文件,错误信息仍会显示在终端上

(3) 符号:2> 表示将STDERR重定向到文件,可用于日志中只保存错误信息,如:ls nothere 2> outfile

(4) 符号:2>&1  表示将STDERR与STDOUT结合起来,ls nothere 2>&1 alloutput

注意:"2>&1 file"和 "> file 2>&1"区别
1)cat food 2>&1 >file :错误输出到终端,标准输出被重定向到文件file。
2)cat food >file 2>&1 :标准输出被重定向到文件file,然后错误输出也重定向到和标准输出一样,所以也错误输出到文件file。

如果我们不想要一个命令的输出结果,只想把它们扔掉,系统为我们提供了解决问题的方法,通过重定向输出结果到一个特殊的叫做"/dev/null"的文件。这个文件是系统设备,叫做位存储桶,它可以接受输入,并且对输入不做任何处理。为了隐瞒命令错误信息,我们这样做:

ls -l /bin/usr 2> /dev/null

(5) 符号:<表示重定向STDIN,如grep linuxtest < /etcpasswd,表示将passwd的内容作为标    注输入到linuxtest

9. 管道:

符号:|将一个命令的STDOUT作为另一个命令的STDIN,如find / -user linux | grep video;

find / -user linux 2> /dev/null | grep video

10.type命令用于显示命令的类型。

一般的命令分为四种类型:

(1) 是一个可执行程序,就像我们所看到的位于目录/usr/bin中的文件一样

(2) 是一个内建于shell自身的命令(builtins)。

(3) 是一个shell函数

(4) 是一个命令别名


11. which命令显示一个可执行程序的位置

该命令只对可执行程序有效,不包括内部命令和命令别名,当我们试着使用 shell 内部命令时,例如,cd 命令,我们或者得不到回应,或者是个错误信息

12. apropos命令用于显示适当的命令,基于某个关键字的匹配项搜索参考手册列表。

输出结果每行的第一个字段是手册页的名字,第二个字段展示章节。

13. whatis命令显示匹配特定关键字的手册页的名字和一行命令说明。

14. 用别名(alias)创建自己的命令

alias foo='cd /usr; ls ; cd -',执行foo命令即可执行所指代的命令。注意写别名之前,确认别名指代的命令是否已存在系统中。

删除别名时,使用unalias命令。

15. tee命令将从stdin读取数据,并同时输出到stdout和文件

tee 程序从标准输入读入数据,并且同时复制数据到标准输出(允许数据继续随着管道线流动)和一个或多个文件。当在某个中间处理阶段来捕捉一个管道线的内容时,这很有帮助。

在grep过滤管道线的内容之前,来捕捉整个目录列表到文件ls.txt

16.shell允许算数运算符通过展开来执行,算数表达式展开使用该格式:$((expression)),算数表达式只支持整数,表达式也可以嵌套。


17.花括号展开模式中可以创建多个文本字符串,开头的部分叫报头,结尾部分叫附言。

如:


花括号展开也可以嵌套:

好处:最普遍的应用是创建一系列的文件或目录列表

18.参数展开:

echo $USER,USER变量包含你的用户名

printenv | less,查看有效的变量列表

19. 命令替换

命令替换允许我们把一个命令的输出最为一个展开模式来使用:

管道线的输出结果成为 file 命令的参数列表

20. shell提供了一种叫做引用的机制,来有选择地禁止不需要的展开。

(1) 双引号:如果你把文本放在双引号中,shell使用的特殊字符,除了$,\(反斜杠),和 ' (倒引号)之外,则失去它们的特殊含义,被当作普通字符来看待。这意味着单词分割、路径名展开、波浪线展开和花括号展开都被禁止,然而参数展开、算数展开和命令替换仍然执行。


单词分割机导致这个文件名被看作两个独自的参数,而不是所期望的单个参数。以下是使用双引号得出的结果

在双引号中,参数展开,算术表达式展开,和命令替换仍然有效


事实上,单词分割机制把换行符看作界定符,如下例所示:

(2) 单引号:如果需要禁止所有的展开,我们使用单引号。

21. 转义字符‘\

使用转义字符来消除文件名中一个字符的特殊含义,是很普遍的。注意在单引号中,反斜杠失去它的特殊含义,将被看作普通字符。

echo 命令带上 ‘-e’ 选项,能够解释转义序列。你可以把转义序列放在 $' ' 里面。以下例子,使用 sleep 命令,一个简单的程序,它会等待指定的秒数,然后退出。我们可以创建一个简单的倒数计数器:


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mengrennwpu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值