Linux學習筆記3:管道,重定向與用戶管理

1  ---第三天:重定向,管道與用戶管理---

 2  軟鏈接:
 3  ln -s file link_file

 4  特色:支持跨設備,網絡,支持目錄。
 5  相對路徑:相對軟鏈接的路徑

 6  本質:是不一樣文件!節點編號不同。
總結:軟鏈接與硬鏈接有哪些不一樣點?
1,本質區別,硬鏈接是同一文件的不一樣名字,而軟鏈接是不一樣的文件。
    >硬鏈接不能跨越分區和網絡,軟鏈接能夠
    >硬鏈接具備相同的inode號,軟鏈接不相同
    >硬鏈接不支持文件對目錄操做,軟鏈接能夠
    >硬鏈接的連接文件必須存在,軟鏈接能夠不用存在
    >硬鏈接會增長文件鏈接數,軟鏈接不增長
    >硬鏈接和軟鏈接命令不同,軟鏈接文件比源文件大。

 7  ln -s f1 f2     假如f1是文件夾
 8  rm -rf f2/      刪除的是f1目錄裏面的文件

 9  Linux文件系統:

10  file    查看文件類型
如何查看使用vim打開一個文件的fd?
    cd /proc/`pidof vim`/fd
    ll  0,1,2是默認的。

11  pidof tail      查看tail的進程編號

12  打開文件,系統就會分配一個文件描述符(fd):file discriptor

13  標準輸入:STDIN         0
14  標準輸出:STDOUT        1
15  標準錯誤:STDERR        2       0,1,2是3個默認的文件描述符

16  文件描述符存放路徑:/proc/pid/fd

17  I/O重定向:

18  0>
19  1>      能夠省略
20  2>      標準錯誤
21  &>      錯誤+標準輸出合併

22  新浪面試題:
將標準輸出和錯誤輸出一塊兒輸出到文件的三種寫法?
    1,&>
    2, 1 > file.log 2>&1
    3, 2> file.log 1>&2

23  >       標準輸出的重定向

24  < >     是危險操做   cat <file1>file1 等於清空   cat<file1>>file1    等於無限追加file1文件   慎用!

25  tr      替換處理字符      tr -s "abc" <file   ...
26  -t      截斷
27  -d      刪除
28  -c      取補集,須要配合其餘幾個一塊兒使用。
29  -s      壓縮

30  cat >f.txt      單行重定向
31  cat <<EOF       多行重定向
例子:cat >file1<<EOF
    mail -s 'hello' root <file.txt
    mail -s 'hello' root <<EOF
32  |       管道
33  用法:cmd1 | cmd2

34  cmd 2>&1 | tr "a-z" "A-Z"       等價於 |&

35  | tee   既輸出到標準輸出,也重複定向到文件

36  ---------------------用戶,組和權限------------

37  主要配置文件
38  /etc/passwd
39  /etc/shadow
40  /etc/group
41  /etc/gshadow
42  /etc/default/useradd
43  /etc/skel   建立用戶「家目錄」參考模板
44  /etc/login.defs

45  chfn    修改finger
46  chsh -s     修改用戶shell
47  chage   修改shadow
48  vipw    具備語法檢查功能
49  vigr

50  加密算法:
51  $1  MD5
52  $5  sha256
53  $6  sha512

54  getent shadow mage  之查看mage帳戶shadow

55  usermod -L mage     將mage用戶鎖了!!!,等於加了一個!
56  usermod -U mage     解鎖
57  newgrp zhang    臨時加入zhang組,並設置爲主組   不多用,不用記

58  openssl rand -base64 9  生成一個隨即口令

59  useradd
60  -u  指定uid
61  -o  uid能夠重複
62  -g  gid或者組名,設置主組
63  -c  描述
64  -d  家目錄
65  -G  指定附加組
66  -s  shell
67  -r  建立一個系統用戶
68  -M  不建立家目錄

69  rm -rf .[^.]*   刪除全部隱藏文件

70  usermod
71  和useradd選項基本同樣

72  userdel
73  -r  把用戶和數據都刪了

74  groupadd
75  groupmod
76  groupdel

77  id命令

78  su  不徹底切換
79  su -    徹底切換

80  passwd  設置口令
81  echo "magedu" |passwd --stdin wang
82  -e  第一次登錄必須修改口令

================用戶和組===================
用戶名:密碼:uid:gid:描述:家目錄:shellnode

建立用戶:useradd chendafu
建立或者修改密碼:passwd chendafu
uid:centos7普通用戶1000+;centos6普通用戶500+
gid:同上
描述:chfn chendafu
家目錄:useradd -d
shell:  useradd -s

useradd 默認:由/etc/default/useradd    useradd默認文件

cat /etc/default/useradd
[root@chendafu ~]# cat /etc/default/useradd

useradd defaults file

GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

useradd選項:

參考:
rpm -q --scripts postfix

/usr/sbin/groupadd -g 90 -r postdrop 2>/dev/null
/usr/sbin/groupadd -g 89 -r postfix 2>/dev/null
/usr/sbin/groupadd -g 12 -r mail 2>/dev/null
/usr/sbin/useradd -d /var/spool/postfix -s /sbin/nologin -g postfix -G mail -M -r -u 89 postfix 2>/dev/null

-g  指定gid或者組名
-r  建立系統用戶
-d  指定家目錄,不適用默認的/home
-s  指定shell
-m  系統用戶建立家目錄
-M  不建立家目錄
-G  指定附加組
-u  指定uid
2>/dev/null 不顯示標準錯誤

用戶和組相關配置不建議直接修改配置文件,應該用ch相關命令修改:
1,修改用戶:chpasswd修改加密類型,chgrp修改組,chfn修改finger,chsh修改shell,chage修改各類時間。

修改用戶:usermod
    -G  修改附加組
    -g  修改主組
    -c  添加描述
    -f  inactive時間
    -L  鎖定用戶密碼
    -U  解鎖密碼
    -d  修改家目錄   可是須要將/etc/skel/.  拷貝到後指定家目錄裏
    -a  追加,常與-G一塊兒,給用戶添加多個附加組
    -p  修改密碼,是銘文

刪除用戶:userdel
-r  刪除用戶同時刪除文件(/home/usernam, mail spool)
相關文章
相關標籤/搜索