1. 程式人生 > >linux--基礎第三天

linux--基礎第三天

           檔案描述符     通道名稱    預設連結     用法

標準輸入      0             stdin        鍵盤        僅讀取

標準輸出      1             stdout       顯示屏      僅寫入

標準錯誤      2             stderr       顯示屏      僅寫入

2.輸入重定向:符號>

例如:將/etc下的passwd 檔案重定向到file.ok檔案中

find /etc -name passwd 1 > file.ok   //覆蓋重定向

find /etc -name passwd 1 >> file.ok  //追加重定向    像file.ok中不斷地追加輸入

Find /etc -name passwd 2 > file.err  //將錯誤資訊輸入到file.err中

find /etc -name passwd 2>/dev/null //將錯誤資料放入垃圾桶 find /etc -name passwd 2>>file.err find /etc -name passwd 1>file.ok 2>file.err find /etc -name passwd &> file.all find /etc -name passwd > file 2>&1 //重新定義錯誤輸出為正確

3.輸出重定向 tr ‘a-z’ ‘A-Z’ < file   //file檔案中的所有小寫字母轉換為大寫字母

 

管道 符號|

  表示含義:將前一條命令的正確輸出作為管道符後面命令的標準輸入;

例如:將標準錯誤轉化為標準輸出:find /etc/ -name passwd 2>&1 | wc -l

4.tee命令:將輸出另儲存為一檔案,並不影響其顯示屏的顯示 find /etc/ -name passwd | tee file.tee

5.練習:1).顯示當前時間,顯示格式為hh:mm:ss,並儲存到檔案time.txt檔案中;

2).顯示/etc/passwd檔案的第15-18行內容;

3).顯示/bin中檔案包含大寫字母的檔案,儲存到bin_upper_file.txt檔案中, 並統計個數顯示到螢幕;

 

二、vim 快捷鍵

set nu           //設定行號

set nonu         //取消設定的行號

set mouse=a      //新增滑鼠選擇,即滑鼠點哪裡,游標移動到哪裡

set cursorline   //設定行線

上述設定是臨時設定,如果永久設定,修改vim主配置檔案/etc/vimrc 新增設定在最後一行

16   //游標移動到16

wq儲存退出

wq!強制儲存退出S

q退出

q!強制退出

esc /搜尋的關鍵字

n向下搜尋

N向上搜尋

 

vim一般模式

複製

      yl

      yw

      yy

      y3y

剪下

    cl  剪下一個字母

    cw  剪下一個單詞

    cc  剪下一行

    c3c 剪下3

刪除

    dl

    dw

    dd

    d3d

貼上

    p

撤銷

    u

返回撤銷(取消撤銷)

    crtl+r

G 去最後一行

gg 去第一行

dg

 

分屏:     crtl+w(請等待一會再按)  +v   左右分屏

         ctrl+w+s     上下分屏

          ctrl+w  +c      撤銷分屏

          ctrl+w +上下左右   換屏

    

一般模式進入插入模式

  i      當前游標處直接插入

  I      游標所在行行首插入

  o     當前游標下一行

  O     當前游標上一行

  a     當前游標下一格處插入字元

  A     當前游標行尾插入

  s     若有字元,則會刪除此游標處字元再插入,否則直接插入

  S     刪除一行再插入

 

批量新增  ctrl+v 進入視覺化模式  +I(新增自己的內容)   +esc 退出插入模式,即可成功

批量刪除  crtl+v進入視覺化模式 +  上下左右鍵選擇刪除範圍    +delete

批量替換    +%s/被替換的字元/替換的字元/g    (g代表全文替換)不加g則只替換行首的字元

          :%s/hello/redhat/g    全文hello被替換成redhat

          :1,5s/hello/redhat/g  1-5hello被替換成redhat

          :%s/\ //g             全文的空格去除(只能去除一個空格)

             %s/^\ *//g    將行首的所有空格刪除

檢視檔案的幫助:man 5 passwd

   

使用者與使用者組的管理

 file:/etc/passwd

      name:paasswd:uid:gid:別名:家目錄:shell型別

command:

useradd: -u //指定使用者的uid

 -g //指定使用者的gid    groupadd -g 檔名

 -G //指定使用者的附加組

-c //指定使用者的說明

-d //指定使用者的家目錄,預設為/home/username

useradd -d /home/redhat  使用者名稱

-s //指定使用者的shell型別 

                   useraadd -s /sbin/nologin westos

     usermod: -u //修改使用者的uid

-g //修改使用者的gid

-aG //指定使用者的附加組

-c //修改使用者的說明

-md //修改使用者的家目錄,預設為/home/username

-s //修改使用者的shell型別

    userdel     -r westos  刪除

使用者組

  檔案:/etc/group

命令:

grroupadd(-g)

groupdel

 使用者密碼

   vim etc/shadow

       name:passwd:最後一次修改密碼的時間:最短有效時間:最長有效期:警告期:非活躍期:過期時間:保留

   Passwd

passwd -l //Lock,會將/etc/shadow第二欄最前面加上!使密碼失效;

 -u //Unlock的意思!

-S //列出密碼相關引數,亦即shadow檔案內的大部分資訊。

-n //後面接天數,多久不可修改密碼天數

-x //後面接天數,多久內必須要更動密碼

-w //後面接天數,密碼過期前的警告天數 -i //後面接“日期”,密碼失效日期

   chage(-d, -m -M -W -I -E)

chage -l :列出該帳號的詳細密碼引數;

-d :後面接日期,修改shadow 第三欄位,格式YYYY-MM-DD

-E :後面接日期,修改 shadow 第八欄位,格式YYYY-MM-DD

-I :後面接天數,修改 shadow 第七欄位(密碼非活躍期)

-m :後面接天數,修改 shadow 第四欄位(密碼最短有效期)

-M :後面接天數,修改 shadow 第五欄位(密碼最長有效期)

-W :後面接天數,修改 shadow 第六欄位(密碼警告期)

ls -rread讀)  -wwrite寫)  -x(exec執行)

 

檔案許可權:

檢視檔案許可權

      ls -l filename     //檢視檔案許可權資訊

        ls -ld dirname     //檢視目錄許可權資訊

檔案許可權資訊的理解

-rw -r--r-- 1 root root 0 Feb 18 17:15 a

drwxr-xr-x 2 root root  Feb 20 16:51 hello

第一個字元

    -代表檔案型別為普通檔案

   d,代表檔案型別為目錄

2-10個字元

  2-4字元(u):代表該檔案所有人對該檔案的許可權

  5-7字元(g):代表該檔案所屬組成員對該檔案的許可權

  8-10字元(o):代表既不屬於檔案所有人,也不屬於所屬組成員,及其他人的許可權

第四列:檔案所有人

第五列:檔案所屬組

  修改檔案所有人和所屬組

   chown student filename|dirname

   shown student.student filename|dirname

   chgrp student filename|dirname

修改檔案許可權

方法一  chmod    u|g|o    -|+|=      r|w|x    file|dir

三、圖形編輯器gedit

crtl+n //新建視窗

ctrl+s //儲存檔案

ctrl+o //開啟檔案

ctrl+x //剪下

ctrl+v //貼上

ctrl+c //複製

對於giedit軟體幫助的檢視可以用yelp help:gedit

四、Sudo

sudo能把某些超級許可權針對性的下放,並且不需要普通使用者知道root密 碼,所以sudo 相對於許可權無限制性的su來說,還是比較安全的。 sudo 執行命令的流程是當前使用者切換到root,然後以root身份執行命令, 執行完成後,直接退回到當前使用者;而這些的前提是要通過sudo的配置檔案 /etc/sudoers來進行授權;

怎麼去檢視主機名? hostname

怎麼檢視命令useradd所在的檔案? which useradd

怎麼實現第一次無密碼執行命令? NOPASSWD:

下放許可權的使用者怎麼使用 sudo useradd hello