LINUX11 24讀書筆記

2021-09-29 21:52:47 字數 3672 閱讀 6790

11.24

輸入輸出重定向

輸入重定向就是把檔案匯入到命令中

輸出重定向就是把輸出到螢幕的資料匯入到指定的檔案中

輸出重定向分為標準輸出重定向和錯誤輸出重定向兩種技術 清空寫入和追加寫入兩種模式

➢ 標準輸入重定向(stdin,檔案描述符為 0):預設從鍵盤輸入,也可從其他檔案或命 令中輸入。

➢ 標準輸出重定向(stdout,檔案描述符為 1):預設輸出到螢幕。

➢ 錯誤輸出重定向(stderr,檔案描述符為 2):預設輸出到螢幕。

管道命令符

命令a|命令b 把前乙個命令原本要輸出的標準正常資料當做是後乙個命令的標準輸入

ep: grep 「/etc/log」 |wc -l

ls -l /etc/ |more

echo 「123456」 |passwd –stdin root

mail -s 「readme」 [email protected] 命令列的萬用字元

*代表所有零個或多個字元

?代表單個字元

[0-9]代表匹配0~9之間的單個數字字元 [135]就匹配1、3、5

[abc]表示匹配a,b,c三個字元中的任意乙個字元

轉義字元

4 個最常用的轉義字元如下所示。

➢ 反斜槓(\):使反斜槓後面的乙個變數變為單純的字串。

➢ 單引號(』』):轉義其中所有的變數為單純的字串。

➢ 雙引號(""):保留其中的變數屬性,不進行轉義處理。

➢ 反引號(``):把其中的命令執行後返回結果。

[root@linuxprobe ~]# price=5

[root@linuxprobe ~]# echo 「price is $$price」

price is 3767price

[root@linuxprobe ~]# echo 「price is $$price」

price is $5

[root@linuxprobe ~]# echouname -a

linux linuxprobe.com 3.10.0-123.el7.x86_64 #1 smp mon may 5 11:16:57 edt 2017 x86_64 x86_64 x86_64 gnu/linux

環境變數

alias 別名=命令 建立乙個屬於自己的命名別名

unalias 取消乙個命名別名

type 命令名稱 判斷使用者輸入的命令是內部命令還是外部命令

變數會因為不同使用者的身份而產生變化

但這樣的變數莫不是全域性的除了root使用者不能被其他使用者使用

可以用export 變數 使得它變成全域性變數

vim中常用命令

按了esc後用的命令

主機名稱 放在 /etc/hostname 可以修改裡面內容達到修改主機名

或者 hostnamectl set-hostname name 設定主機名

網絡卡配置在 /etc/sysconfig/network-scripts

yum倉庫在 /etc/yum.repos.d/

其中字尾檔案必須是.repo

第一步進入到 /etc/yum.repos.d

第二步 使用vim編輯乙個配置檔案

➢ [rhel-media]:yum 軟體倉庫唯一識別符號,避免與其他倉庫衝突。

➢ name=linuxprobe:yum 軟體倉庫的名稱描述,易於識別倉庫用處。

➢ baseurl=file:///media/cdrom:提供的方式包括 ftp(ftp://…)、 http(http://…)、本地

(file:///…)

➢ enable=1:設定此源是否可用;1 為可用,0 為禁用。

➢ gpgcheck=1:設定此源是否校驗檔案;1 為校驗,0 為不校驗。

➢ gpgkey=file:///media/cdrom/rpm-gpg-key-redhat-release:若上面引數開啟校驗,

那麼請指定公鑰檔案位址

第三步 按配置引數的路徑掛載光碟,並把光碟掛載資訊寫入到/etc/fstab 中

第四步 使用 yum install httpd -y 檢查倉庫是否已經可用

shell 指令碼命令的工作方式有兩種:互動式和批處理。

➢ 互動式(interactive):使用者每輸入一條命令就立即執行。

➢ 批處理(batch):由使用者事先編寫好乙個完整的 shell 指令碼,shell 會一次性執行指令碼 中諸多的命令

[root@linuxprobe ~]# vim example.sh

#!/bin/bash 解釋使用哪種shell直譯器來執行指令碼

#for example by linuxprobe.com 對指令碼功能和命令的介紹

pwdls -al

[root@linuxprobe ~]# bash example.sh 除了這種還能直接./example.sh(為可執行檔案)

/root/desktop

total 8

drwxr-xr-x. 2 root root 23 jul 23 17:31 .

dr-xr-x—. 14 root root 4096 jul 23 17:31 …

接收使用者輸入的引數

[root@linuxprobe ~]# vim example.sh

#!/bin/bash

echo 「當前指令碼名稱為0"e

cho"

總共有0" echo "總共有

0"echo

"總共有

#個引數,分別是$*。」 echo 「第 1 個引數為$1,第 5 個為$5。」 [root@linuxprobe ~]# sh example.sh one two three four five six

當前指令碼名稱為 example.sh

總共有 6 個引數,分別是 one two three four five six。

第 1 個引數為 one,第 5 個為 five。

測試語句格式:[條件表示式]

[root@linuxprobe ~]# echo $? $? 顯示上一條命令執行後的返回值

1[root@linuxprobe ~]# [ -e /dev/cdrom ] && echo 「exist」 &&同時執行

exist

Linux讀書筆記

type echo unset set export 環境變數 home shell histsize mail path lang random ps1 影響結果的語系變數 locale 變數鍵盤讀取 陣列與申明 read array declare 與檔案系統及程式的限制關係 ulimit 變數...

Linux讀書筆記(1)

作業系統的作用 作業系統的功能就是溝通使用者與硬體之間的訊息傳遞。也就是使用者面對作業系統 而作業系統 操作的是硬體 作業系統包含的內容 作業系統分為兩個東西 核心 和一對核心提供的工具 核心是用來掌管硬體的 如果核心不認識硬體那麼這個硬體就無法被呼叫 kernel kernel 管理事項有 1.s...

linux讀書筆記4

函式和引數 f f 1 2 cmd ls cm dif eq 0 代 表返回值 then echo cmd executed successfully else echo cmd terminated unsuccessfully fi 將命令序列的輸出讀入變數 將多個檔案的輸出組合起來 ls ca...