8.1-用戶和組(命令篇)

1、標準輸入輸出

我們知道,執行一個shell命令行時通常會自動打開三個標準文件,
    即標準輸入文件(stdin),通常對應終端的鍵盤;
    標準輸出文件(stdout)
    標準錯誤輸出文件(stderr),這兩個文件都對應終端的屏幕。
進程將從標準輸入文件中得到輸入數據,將正常輸出數據輸出到標準輸出文件,而將錯誤信息送到標準錯誤文件中。
    
>默認為標準輸出重定向,與 1>相同
2>&1意思是把 標準錯誤輸出 重定向到 標準輸出.
&>file意思是把 標準輸出 和 標準錯誤輸出 都重定向到文件file中
2>&1 > file 把錯誤輸出定向到標準輸出(此時標準輸出為終端,所以輸出到終端), 標準輸出定位到文件
> file 2>&1 把標準輸出定位到文件,錯誤輸出到標準輸出(此時標準輸出指向文件,所以輸出到文件)

():合并多個程序的STDOUT
( cal 2007 ; cal 2008 ) > all.txt

2、tr命令

tr  轉換和刪除字符
? tr [OPTION]... SET1 [SET2]
? 選項:
        [root@localhost ~]# tr ‘a-z’ ‘A-Z’< /etc/issue
        CENTOS RELEASE 6.8 (FINAL)
        KERNEL \R ON AN \M

-c或--complerment:取字符集的補集
-d或--delete:刪除所有屬于第一字符集的字符
        [root@localhost ~]# echo "0123asdf..**-" |tr -cd '[0-9]'
        0123
-s或--squeeze-repeats:把連續重復的字符以單獨一個字符表示
-t或--truncate-set1:將第一個字符集對應字符轉化為第二字符集對應的字符

3、此處文檔(Here documents)

用法:1、多行傳遞文本
[root@localhost ~]# cat << EOF
> nihao
> hello
> EOF
nihao
hello
EOF為標識符字符,可隨意寫。
用法:2、傳遞參數給需要參數的腳本或程序
vi $1 <<CLOUD
 i                  #    進入vim編輯模式
 This is line 1
 This is line 2
^[                  #    ^[ 一個特殊轉義符用于返回命令行模式。寫腳本時按ctrl+v再按<Esc>就能自動打出這個字符。
ZZ                  #    保存退出vim
CLOUD               #    結束標識符

 

4、管道

管道命令 操作符是:| ,它只能處理經由前面一個指令傳出的正確輸出信息,對錯誤信息信息沒有直接處理能力。然后,傳遞給下一個命令,作為標準的輸入。

“錯誤輸出”默認不能通過管道轉發,可利用2>&1 或 |& 實現
[root@localhost ~]# cat /e |& tr 'a-z' 'A-Z'
CAT: /E: 沒有那個文件或目錄

#set -C :禁止覆蓋輸出重定向至已存在文件,僅對當前shell有效
      >|:強制覆蓋輸出
#set +C:關閉上述特性

5、重定向到多個目標:tee命令

[root@localhost ~]# ls /root/ |tee a.txt|tr 'a-z' 'A-Z'
ANACONDA-KS.CFG
INSTALL.LOG
INSTALL.LOG.SYSLOG
公共的
模板
視頻
圖片
[root@localhost ~]# cat a.txt
anaconda-ks.cfg
install.log
install.log.syslog
公共的
模板
視頻
圖片

把命令1的STDOUT保存在文件名中,然后管道輸入給命令2使用

-a:追加至文件而非覆蓋



用戶和組

用戶和組.png





原創文章,作者:M20-1--孔祥文,如若轉載,請注明出處:http://www.www58058.com/27275

(0)
M20-1--孔祥文M20-1--孔祥文
上一篇 2016-08-04
下一篇 2016-08-04

相關推薦

  • Linux mdadm命令解析

    mdadm命令解析 一,在Linux系統中目前MD(Multiple Devices)虛擬塊設備的方式實現軟件RAID,利用多個底層的塊設備虛擬出一個新的虛擬設備,并且利用條帶化(stripping)技術將數據塊均勻分布到多個磁盤上來提高虛擬設備的讀寫性能,利用不同的數據冗余算法來保護用戶數據不會因為某個塊設備的故障而完全丟失,而且還能在設備被替換后將丟失的…

    Linux干貨 2017-08-31
  • 馬哥教育網絡班21期+第2周課程練習

    第二周練習 1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 cp、mv、rm、touch cp:copy,復制    SYNOPSIS        cp [OPTION]… [-T] SOURC…

    Linux干貨 2016-07-07
  • LAMP三個主機的簡單配置和php-admin,wordpress

    LAMP:組合應用httpd2.4:yum install httpd.2.4php-fpm:yum install php-fpm php-mysqlmysql: yum install mysql 注意:在做實驗時,一定要將iptables和selinux給關了。 http:只需在httpd上寫一個必須的文件/etc/httpd/conf.d/fcgic…

    2017-06-06
  • LAMP 編譯安裝基于2.4

    一 安裝前準備 說明:     操作系統:CentOS 6.7 64位     MySQL數據庫版本:mariadb-5.5.48-linux-x86_64.tar.gz     Apache 版本:httpd-2.4.12.tar.bz2…

    Linux干貨 2016-11-21
  • Linux-start

    學習計劃:參見N24學習時間與線路圖. 目標:完成作業,考試過關。 宣言:人但有追求,世界亦會讓路。

    Linux干貨 2016-10-24
  • 實驗:配額、RAID、LVM

    實驗:在centos7實現光盤yum源 1yum install autofs 2現在啟動systemctl start autofs 3開機啟動systemctl enable autofs 4 cat /etc/yum.repos.d/base.repo[centos7]name=centos7 repobaseurl=file:///misc/cdgp…

    Linux干貨 2017-04-25
欧美性久久久久