linux基礎命令1

內容包含:文件管理、重定向和管道、用戶組和權限管理、文本處理工具

文件管理

mkdir ??? 創建目錄

-p #創建子目錄,若父目錄不存在,則創建父目錄

例: mkdir -p /app/dir1/dir2

rmdir ??? 刪除空目錄

-p #刪除空目錄,若父目錄為空則同時刪除

 

ln ????????? 創建硬鏈接 (不能跨分區創建)

-s 創建軟鏈接 (可以跨分區)

重點:源文件相對路徑是相對于目標文件的路徑(不是相對于當前工作目錄的路徑)

 

file????????? 判斷文件類型

-b 只顯示結果不顯示文件名

-f 批量判斷文件列表中的文件類型

-F 用指定符號替代:(默認輸出格式 文件名:文件類型)

-L 判斷軟連接指向的真實文件的類型

##額外知識點##????

df -i? #查看分區支持的節點編號數

watch -n 1 命令?? 1秒執行一次命令

目錄里存的是文件名和節點號inode

readlink 顯示軟連接的原始文件路徑

重定向和管道

標準輸入0??? 標準輸出1??? 標準錯誤 2

> ? 標準輸出重定向

2>?? 標準錯誤重定向

&>? 所有輸出重定向 等同于 2>&1

 

tr ?? 替換或刪除字符

-t 字符對應替換

-d 刪除字符

-s 去重(連續重復)

-c 取反 相當于非

 

cat > f1 單行重定向

cat > f1 <<EOF?? 多行重定向? EOF是結束語(可以是任意字符)

 

| ??? 管道(默認傳輸標準輸出)

|&?? 傳輸標準輸出和標準錯誤

|tee 屏幕輸出同時存入文件

 

##額外知識點##

set -C 文件存在禁止覆蓋 (單獨執行)

set +C 取消禁止

/dev/null? 輸出信息重定向到此文件 相當于垃圾箱

mail -s 主題 用戶 <

郵件正文加命令或變量必須是多行重定向

tar -cvf – /home | tar -xvf –

seq -s + 1 10 | bc

seq 1 2 100

用戶組和權限管理

用戶的組:主組、附加組

/etc/passwd 用戶及屬性信息

/etc/group? 組及屬性信息

/etc/shadow 用戶密碼及相關屬性

/etc/gshadow 組密碼及相關屬性

/etc/skel? #創建用戶家目錄模板

/etc/login.defs #創建用戶相關配置

 

getent ? 查看文件內容(passwd、shadow、gpasswd、gshadow)

+用戶名 ?#查看文件內指定用戶信息

例: getent passwd root

 

chsh ???? -s ?#更改用戶的shell??????? 例:chsh -s /sbin/nologin zhang

-l??? 列出所有的shell

 

id 不加用戶名 #顯示當前用戶登陸后的信息(不顯示登陸后更改的信息)

id 用戶名? #從文件中讀取用戶的信息

 

newgrp 組名 #臨時更換主組,不改文件

 

vipw? ??? #單獨執行,相當于vi /etc/passwd

vigr ?????? #單獨執行,相當于vi /etc/group

pwck? ?? #檢查passwd文件錯誤

grpck ??? #檢查gshadow文件錯誤

 

useradd #添加用戶(默認鎖定不能登陸)

-c #添加描述信息

-g #指定主組

-d #指定家目錄

-s #指定shell

-G #指定輔助組

-D 查看創建用戶默認配置文件內容 等同于cat /etc/default/useradd

-s 指定shell

示例:useradd -r -m -d /app/zabbix -s /sbin/nologin zabbix

 

usermod -d 指定新家目錄路徑

-m 移動家目錄

-s? 更改shell

-L ?#鎖定用戶

-U 取消用戶鎖定 ?。。ㄐ陆ㄓ脩羧∠i定只有centos5可以)

-G 添加輔助組(默認覆蓋)? -aG #追加輔助組

-l ?修改用戶名

-g 修改主組

#刪除附加組??????? usermod -G ” 用戶名? 或者 usermod -G 主組名 用戶名

userdel?? 刪除用戶(只刪除賬號,不刪除其他文件)

-r 刪除用戶及相關文件

passwd? 更改用戶密碼(默認更改當前登陸用戶,加用戶名則更改指定用戶)

groupadd #創建組

 

su ???????? #切換用戶(非登陸式切換,環境沒變)

su – ????? #登陸式切換

su -root -c ‘命令’? 切換為root執行命令,然后退出root

 

passwd -e? ? #用戶密碼即時失效(密碼更改時間為0)

chage ????????? #更改用戶口令相關時間

chfn????????????? 添加用戶的描述信息(部門、電話等)

finger??????????? 查看用戶的描述信息

 

groupadd ??? 創建組

-r 創建系統組

-g 指定組id號

groupdel?????? 刪除組

groupmod ?? 更改組相關屬性

-n 指定新名字

-g 指定新的gid

gpasswd ?????? -a 用戶名 組名? #把用戶加入組(組管理員操作)

-d 用戶名 組名? #把用戶從組里移除

-A 用戶名 組名? #把用戶設置為組管理員

groupmems -l -g 組名 ????????? #查看組內成員

-a 用戶 -g 組???? #把用戶添加到組

-d 用戶 -g 組???? #從組中刪除用戶

-p ????????????????????? #把組內的成員清空

groups ? #查看當前用戶的組

 

文件權限? r w x (和文件系統有關)

r,w權限對root無效,x有效

acl 訪問控制列表(對多個用戶或組單獨設置權限

 

小x:所有文件都可以加執行權限

大X:只對目錄和有執行權限的文件加執行權限

chmod ? ? who ? ? ? ? ? ?opt ? ? ? ? ? ? ? ? 文件名

u,g,o,a ? +,-,=?? r,w,x

例:chmod u=rw,g=r,o= 文件名

 

chown 更改文件所屬組

例: chown bin.ftp f1? 把f1所有者改為bin,所屬組改為ftp

其他:chown –reference f1 f2? 按照f1權限設置f2

chgrp 更改文件所屬組

 

目錄權限

x:可以進入目錄,基礎權限

r:列出目錄文件列表(需要x)

w:可以在目錄中建或刪除文件(需要x)

 

umask 影響用戶創建的文件或目錄的權限

目錄:777-umask

文件權限:666-umask=結果奇數位+1??? 或 666-(umask-1)

umask 266 設置umask為266

.bashrc 在文件中更改umask值

umask ?? -p輸出可被調用

-S模式方式顯示

文件中更改umask值:全局 /etc/bashrc 單用戶 ~/.bashrc

 

suid? 4(u s)? 覆蓋x權限? 權限號4????? #4777

只能作用在二進制程序,不能作用在腳本

用戶執行s權限的程序將繼承所有者的權限

sgid? 2(g s)

二進制程序:用戶執行s權限的程序將繼承所屬組的權限

作用在目錄:目錄下生成的新文件自動繼承目錄所屬組

對于目錄的suid和sgid,只能用 u-s,g-s 去掉

 

*sticky 1(o t)? #只作用在目錄才有意義

作用在目錄:不能刪除別人的文件

 

chattr +i/-i 文件名/目錄??? #文件/目錄將不可被更改、刪除、防止誤操作

+a/-a????????????? #只可以追加內容

+A/-A? ???????? #不更新讀時間

lsattr 文件/目錄 顯示特定屬性

 

ACL 系統中有沒有這個功能取決于文件系統

設置acl之后,g權限位置顯示的是mask權限

setfacl ?? -m u:用戶名:權限 文件名??? #u用戶 g組

group::權限????????? ? #更改文件所屬組權限

mask::權限

-x 同上??????????????? ? #刪除權限

-X 批量文件 文件名?? ? #批量刪除權限

-b 文件名??????????? ? #清空acl

-R

-M 權限文件 文件名? ? #文件中按照格式

-d #默認包含指定權限(新生成文件和舊)等同于d:

-k 目錄名 #刪除默認權限

getfacl 文件名? #查看文件權限

 

例子:備份恢復acl權限

getfacl -R html > html.acl

setfacl -R -b html

setfacl –restore html.acl

 

ACL權限生效順序

所有者,自定義用戶,所屬組|自定義組,其他

{???? 權限不能超過mask????? }

 

例:getfacl f1 | setfacl –set-file=- f2????????????? #f2按照f1的acl權限設置

setfacl -R –set-file=文件名 f2? ?????? #從文件中恢復權限

setfacl –set u::r,u:lqd:rw,g::r,o::- f2??? #對f2文件重新設置權限

 

mask 限定了自定義用戶和組的最高權限

##額外知識點##

pwunconv??? pwconv ??????????????????? #密碼存放轉換

auth –passalgo=sha256 –update???? #更改加密算法

echo 密碼 | passwd –stdin wang? ?#設置用戶密碼

批量創建賬號和修改密碼

newusers 文件名 #,文件內容格式按照passwd

cat 文件名 | chpasswd? 文件內容格式 用戶名:密碼

 

文本處理工具

cat -n 加行號

-b 加行號,空行不加? 等價于 nl

-A 顯示所有控制符

-s 壓縮連續空行為一行

-E 顯示結束符

-V win文本能看到^M

tac 反向顯示行

rev 反向顯示列

 

more 分頁顯示 到底退出 空格下翻 b上翻(管道不起作用)

less 分頁顯示 到底不退出

/文本 搜索文本

 

head 文件?? #默認讀取前十行

-n 3? 或者 -3???? #顯示前3行

-c3 取前3個字節

 

tail ???#默認讀取后十行

-f 跟蹤文件后10行 (常做觀察日志文件使用)

-f 文件 &? 在后臺監控文件后10行

-f 文件 -n0 &? #只顯示新增加的行并在后臺運行

-F 跟蹤文件后10行并監控文件名

tailf 等同于 tail -f #性能更好,文件不增長時不訪問文件

 

cut 剪切內容-以列為單位,默認tab作為分隔符

-d 指定分隔符

-f 指定列

例:? cut -d: -f1-3,7??? –output-delimiter=”分隔符” 文件

#以:作為分隔符取第1和3列?? ??? 更改顯示分隔符

例子:df | cut -c44-46? #取第44到46個字符

 

paste 將多個指定文件按行合并 默認分隔符為tab

-d’分隔符’? 指定合并后的分隔符

-s 把單個文件合并為一行,并把多個文件追加合并

 

wc?? 統計? 顯示格式: 行 單詞 字節

-l 行數

-w 單詞數

-L 最長行的字符數

 

sort 排序 默認第一列

-n 按數字從小到大排序

-r 倒序

-u 去重(去掉重復內容的行)

例子:sort -nr -t: -k1 /etc/passwd

 

uniq ????? -u 只顯示不重復的行

-c 顯示每行重復出現的次數

-d 只顯示重復的行

##額外知識點##

dd if=/dev/zero of=/boot/bigfile bs=1M count=500???? #創建指定大小的文件

inputfile ? ? ? ? ? outputfile ? ?blocksize ? ?大小

 

~tab鍵? 查看所有用戶

 

openssl rand -bash64 100 #生成100位隨機數

(超過100)

lsof | grep deleted ?#查看進程占用的已經刪除的文件(哪些文件被刪除 還沒有釋放空間)

批量創建文件

touch 參數有數量限制

echo f{1..500000}|xargs touch

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/88615

(0)
oranixoranix
上一篇 2017-11-18 20:54
下一篇 2017-11-19 16:30

相關推薦

  • 從Linux小白到大?!c狼共舞的日子6

    馬哥教育網絡班21期+第6周課程練習 請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; [root@localhost ~]# cp /etc/rc.d/rc.sysinit …

    Linux干貨 2016-10-31
  • 20160804課堂作業

    grep正則表達式課堂作業 1、用正則表達式表示IP地址 #grep -E "(\<[1-9]|[1-9][[:digit:]]|1[[:digit:]][[:digit:]]|2[0-4][[:digit:]]|25[0-5]\>)\.(\<[[:digit:]]|[1-9][[:digit:]]|1[[:digit:]] [[…

    Linux干貨 2016-08-05
  • N-28作業第一周

    N-28作業第一周小結:以前看存儲視頻里面講存儲架構里不清楚的部分居然開始清晰。基礎命令需要多花時間熟悉。

    2017-12-05
  • DNS服務

    名字解析,DNS服務,實現主從服務器,實現子域

    2018-01-22
  • PXE自動化安裝Centos7

    一、PXE介紹     PXE: Preboot Excution Environment,由Intel公司研發,可以使沒有任何操作系統的主機能夠基于網絡完成系統的安裝工作,實現服務器的自動化安裝系統 二、PXE工作原理 Client向PXE Server上的DHCP發送IP地址請求消息,DHCP檢測Client是否合…

    2017-07-24
  • 8月3日課堂練習及課后作業

    課堂練習 1、創建用戶gentoo,附加組為bin和root,默認shell為/bin/csh,注釋信息為“Gentoo Distribution” useradd -G bin,root -s /bin/csh -c "Gentoo Distribution" gentoo  2、創建下面的用戶、組和組成員關系,名字為admi…

    Linux干貨 2016-08-04
欧美性久久久久