Linux基礎知識

1、文件系統

    /boot:系統啓動相關的文件,入內核、initrd,以及grub(bootloader)

    /dev:設備文件

    /etc:配置文件

    /home:用戶的家目錄,每一個用戶的家目錄通常默認爲/home/username

    /root:管理員的家目錄

    /lib:庫文件

        靜態庫,.a

        動態庫,.dll,.so(shared object)

        /lib/modules:內核模塊文件

    /media:掛載點目錄,移動設備

    /mnt:掛載點目錄,額外的臨時文件系統

    /opt:可選目錄,第三方程序的安裝目錄

    /proc:僞文件系統,內核映射文件

    /sys:僞文件系統,跟硬件設備相關的屬性映射文件

    /tmp:臨時文件,/var/tmp

    /var:可變化的文件

    /bin:可執行文件,用戶命令

    /sbin:管理命令

2、用戶類別:

    管理員:0

    普通用戶:1-65535

        系統用戶:1-499

        一般用戶:500-60000

  用戶組類別:

    私有組:創建用戶時,如果沒有爲其指定所屬的組,系統會自動爲其創建一個和用戶組同名的            組。

    基本組:用戶的默認組。

    附加組:額外組,默認組以外的其他組。

  /etc/passwd

  account:登錄名

  password:密碼

  UID:

  GID:基本組ID

  comment:註釋

  HOME DIR:家目錄

  SHELL:用戶的默認shell

  /etc/shadow

  account:登錄名

  encrypted password:加密的密碼


  加密方法:

    對稱加密:加密和解密使用同一個密碼

    公鑰加密:每個密碼都成對兒出現,一個爲私鑰,一個是公鑰

    單向加密:散列加密:提取數據特徵碼,常用於數據完整性校驗

        1、雪崩效應

        2、定長輸出 MD5 SHAl

3、bash的配置文件:

    bash -x file.sh 單步執行

    全局配置

        /etc/profile,/etc/profile.d/*.sh

    個人配置

        ~/.bash_profile, ~/.bashrc 

    profile類的文件:

        設定環境變量

        運行命令或腳本   

    bashrc類的文件:

        設定本地變量

        定義命令別名

    登錄式shell如何讀取配置文件

    /etc/profile-->/etc/profile.d/*.sh-->~/.bash_profile-->~/.bashrc-->/etc/bashrc

    非登錄式shell如何配置文件

    ~/.bashrc-->/etc/bashrc-->/etc/profile.d/*.sh

    1)條件測試的表達式

        [ expression ]

        ` expression `

        test expression

      整數比較

        -eq:測試兩個整數是否相等:比如 $A -eq $B

        -ne:測試兩個整數是否不等:不等爲真,相等爲假

        -gt:測試一個數是否大於另一個數

        -lt:測試一個數是否小於另一個數

        -ge:大於或等於

        -le:小於或等於

        INT1=32

        INT2=23

        [ $INT1 -eq $INT2 ]

        [[ $INT1 -eq $INT2 ]]

        test $INT1 -eq $INT2  

      文件測試

        -e FILE:測試文件是否存在

        -f FILE:測試文件是否爲普通文件

        -d FILE:測試指定路徑是否爲目錄

        -r FILE:測試當前 用戶對指定文件是否有讀權限

        -w

        -x

        [ -e /etc/inittab ]、[ -x /etc/rc.d/rc.sysinit ]

      字符串測試

        ==:測試是否相等,相等爲真,不等爲假 [ $1 = 'q' ]

        !=:測試是否不等,不等爲真,等爲假

        >

        <

        -n string:測試指定字符串是否爲空,空則真,不空則假

        -s string:測試指定字符串是否爲空,不空則真,空則假

        

     2)shell中如何進行算術運算

        let c=$A+$B

        $[算術運算表達式] C=${$A+$B}

        $((算術運算表達式)) C=$(($A+$B))

        expr C=`expr $A + $B`

     3)bash變量的類型

        本地變量(局部變量)

        環境變量

        位置變量:$1、$2...、

            shift前面的參數被踢出,後面的參數變成第一個

        特殊變量:

            $?:上一個命令的執行狀態

            $#:參數的個數

            $*:參數列表

            $@:

4、管道

    前一個命令的輸出當作後一個命令的輸入:echo "redhat" | passwd --stdin user1

        ls /home | tr 'a-z' 'A-Z' 把輸出轉換爲大寫

    既在屏幕上輸出又能輸入到文件中用:echo "hello world" | tee /tmp/hello.out

5、更改centos 7啓動服務運行級別:

 rm /etc/systemd/system/default.target

 ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章