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-5行hello被替換成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 -r(read讀) -w(write寫) -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