馬哥門徒-N26-邢巖
度過了一個愉快的春節,又到了上班的時候了!我的Linux基礎學習也進行到了瘋狂記命令的階段,痛并快樂著!那就讓我來說一下Linux上的文件管理類命令都有哪些吧。
Linux的文件相關命令還是蠻多的,我不妨簡單的總結一下,歸結為6類常用的命令:
1、目錄切換類命令
pwd命令:顯示工作目錄 print name of current/working directory
使用格式:pwd [OPTION]…
常見用法:
-P:顯示真實路徑(即非快捷鏈接的地址)
cd命令:切換工作路徑 Change the shell working directory
使用格式:cd [/PATH/TO/SMEDIR]
常見用法:
cd: 切換回家目錄
cd ~ : 切換回自己的家目錄
cd ~USERNAME:切換至指定用戶的家目錄
cd -: 在上一個所在目錄與當前目錄之間來回切換
cd .: 當前工作目錄
cd ..: 上一級的工作目錄
ls命令:列出指定目錄下的內容 list directory contents
使用格式: ls [OPTION]… [FILE]…
常見用法:
-a: 顯示所有文件,包括隱藏文件
-A:顯示除.和..之外的所有文件
-l:–long,長格式列表,即顯示文件的詳細屬性信息
-h,–human-readable:對文件容量進行單位換算,換算后的結構可能會非精確值,如k,m,g
-d:查看目錄自身而非其內部的文件列表
-r:reverse, 逆序顯示
-R:recursive,遞歸顯示
2、文件字符通配glogbbing命令:
*:匹配任意長度的任意字符
pa*表示所有以pa開頭的文件
pa, paa, passwd
*pa* 表示文件名中包含pa
*pa 表示pa 在尾部
*p*a* 表示包含p a
?: 匹配任意單個字符
pa?
??pa, p?a, p?a?
[]: 匹配指定范圍內的任意單個字符,有幾種特殊格式:
[a-z], [A-Z], [0-9], [a-z0-9]
[[:upper:]]: 表示所有的大寫字母
[[:lower:]]: 表示所有的小寫字母
[[:alpha:]]: 所有字母
[[:digit:]]: 所有數字
[[:alnum:]]: 所有的字母和數字
[[:space:]]: 所有的空白字符
[[:punct:]]: 所有的標點符號
pa[0-9][0-9] 表示pa 后跟兩個數字
[^]: 匹配指定范圍外的任意單個字符
[^[:uper:]]: 指定大寫字符以外的所有字符
[^0-9]:指定數字以外的所有字符
[^[:alnum:]]:指定字母和數字以外的所有字符
3、文本文件編輯命令
cat:文本文件查看器,正序 concatenate files and print on the standard output
使用格式: cat [OPTION…] [FILE]…
常見用法:
-n: 給顯示的文本行編號
-b: 顯示行號,不包括空行
-E:顯示行結束符$
-A:顯示出“不可見”的符號,如空格、Tab鍵等
tac:文本文件查看器,逆序 concatenate and print files in reverse
tar:用于對文件打包、壓縮或解壓
使用格式: tar [OPTION…] [FILE]…
常見用法:
打包并壓縮文件:tar -czvf NAME.tar.gz FILESNAME
解壓并展開壓縮包:tar -xzvf NAME.tar.gz
-c:創建壓縮文件
-x:解開壓縮文件
-t:查看壓縮包內有哪些文件
-v:顯示壓縮或解壓的過程
-C:指定解壓到的目錄
注意:因為這個命令我親手毀掉了一個CentOS系統,執行這個命令時要慎重,/etc 文件不能隨便壓縮
tr:轉換文本文件中的字符 translate or delete characters
使用格式:tr [OPTION]… SET1 [SET2]
常見用法:常用于大小寫轉換
tr SET1 SET2 < /path/from/somefile
tr -d SET1 < /path/from/somefile
tr -s [a-z] [A-Z] 注意:根據我個人經驗,此處的[ 和 ]要用全角的才可以,半角的不行!
wc:用于統計指定文本的行數、字數、字節數 print newline, word, and byte counts for each file
使用格式:
wc [OPTION]… [FILE]…
wc [OPTION]… –files0-from=F
常見用法:
-l: 只顯示行數
-w: 只顯示單詞數
-c: 只顯示字節數
diff:用于比較兩個文本文件的差異 compare files line by line
使用格式: diff [OPTION]… FILES
常見用法:
-b: 忽略空格引起的差異
-B: 忽略空行引起的差異
-q: 僅報告是否存在差異
tee: tee – read from standard input and write to standard output and files
使用格式: tee [OPTION]… [FILE]…
常見用法: COMMAND | tee /path/to/somefile
4、文件查看、查詢、搜索命令:
stat:顯示文件系統信息 display file or file system status
使用格式: stat [OPTION]… FILE…
常見用法:
時間戳:
access time:2017-02-04 15:30:21.454611619 +0800
modify time:2017-02-04 15:29:57.681410179 +0800
change time:2017-02-04 15:29:57.681410179 +0800
touch:用于創建空白文件或者更改文件的時間戳 change file timestamps
使用格式: touch [OPTION]… FILE…
常見用法:
-c:指定的文件路徑不存在時不予創建
-a:僅修改access time
-m:僅修改modify time
-t STAMP:
[[CC]YY]MMDDhhmm[.ss]
grep:用于對文本進行搜索 print lines matching a pattern
使用格式:grep [OPTIONS] PATTERN [FILE…]
常見用法;
-c:僅顯示找到的次數
-i:忽略大小寫
-n:顯示行號
find:用于查找文件 search for files in a directory hierarchy
使用格式:find [path…] [expression]
常見用法:
-name:匹配名稱
-user:匹配屬主
-group:匹配屬組
alias:定義或顯示別名
tree:文件顯示成樹的格式 list contents of directories in a tree-like format
使用格式:tree [options] [directory]
常見用法:
-L level:指定要顯示的層級
cut:用于通過列來提取文本字符
使用格式:cut [OPTION]… [FILE]…
常見用法:
-d:指定分隔符
-f:指定顯示的列數
od:用于查看特殊格式的文件 dump files in octal and other formats
使用格式: od [OPTION]… [FILE]…
常見用法:
-ta:默認字符
-tc:ASCII字符
-to:八進制
-td:十進制
-tx:十六進制
-tf:浮點數
more和less:分屏查看命令
head:查看文件的前n行
使用格式:head [options] FILE
常見用法:
-n #(#代表一個數字)
-#
tail:查看文件的后n行
使用格式:tail [options] FILE
常見用法:
-n #(#代表一個數字)
-#
-f: 顯示文件尾部內容結束后不退出,跟隨顯示新增的行
file:查看文件內容類型
使用格式:file [ortions] FILE
which:顯示命令的完整路徑 shows the full path of (shell) commands
使用格式:which [options] programname […]
常見用法:
–skip-alias: 忽略別名
whereis:locate the binary, source, and manual page files for a command
使用格式:whereis [options] name…
常見用法:
-b: 僅搜索二進制程序路徑
-m: 僅搜索使用手冊文件路徑
5、文件目錄管理命令:
mkdir:創建目錄 make directories
使用格式: mkdir [OPTION]… DIRECTORY…
常見用法:
-p:可以自動按需創建不存在的目錄
-v:verbose, 顯示詳細過程
-m MODE:直接給定權限
rmdir:remove empty directories 僅用于刪除空目錄
使用格式:rmdir [OPTION]… DIRECTORY…
常見用法:
-p:刪除某目錄后,如果其父目錄為空,則一并刪除之
-v:顯示過程
cp:復制文件或目錄 copy files or directories
使用格式:單源復制: cp [OPTION]… [-T] SOURCE DEST
多源復制:cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
單源復制:cp [OPTION]… [-T] SOURCE DEST
如果DEST不存在:則事先創建此文件,并復制源文件的數據流
如果DEST存在:
如果DEST是非目錄文件:則會覆蓋目標文件
如果DEST是目錄文件:則現在DEST目錄下創建一個與源文件同名的文件,并復制其數據流
多源復制:cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
如果DEST不存在:錯誤
如果DEST存在:
如果DEST是非目錄文件:錯誤
如果DEST是目錄文件:分別復制每個文件至目標目錄中,并保持原名
常見用法:
-i:交互式復制,即覆蓋之前提醒用戶確認
-f:force 強制覆蓋目標文件
-r:recursive 遞歸復制目錄,即復制目錄及目錄中的內容
-d:復制符號符號鏈接文件本身,而非其指向的源文件
-a:-dR –preserve=all, archive, 用于實現歸檔;可以理解為做備份
–preserve=
mode:權限
ownership: 屬主和屬組
timestamps: 時間戳
context:安全標簽
xattr:擴展屬性
links:符號鏈接
all:上述所有屬性
rm:刪除文件或目錄 remove files or directories
使用格式:rm [OPTION]… FILE…
常見用法:
-i:interactive
-f: force
-r: recursive
刪除目錄:rm -rf /PATH/TO/DIR
注意:rm -rf / 或 rm -rf /* 這是自殺
mv:移動文件或改名
使用格式:
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
常見用法:
-i:交互式
-f:force
6、用戶與組、權限管理命令:
useradd:創建用戶 創建一個新用戶或更新默認新用戶信息
使用格式: useradd [options] USER
常見用法:
-u, –uidUID:指定UID
-g,–gid GROUP: 指定基本組ID,此組要事先存在
-G,–groups GROUP1,[GROUP2,…]
-c,–comment COMMENT: 指明注釋信息
-d, –home HOME_DIR: 以指定路徑為用戶的家目錄,通過復制/etc/skel此目錄并重命名實現的;指定的家目錄路徑如果事先存在,則不會為用戶復制環境配置文件;
-s, –shellSHELL:指定用戶的默認shell,可用的所有shell列表為存儲在/etc/shells 文件
-r,–system: 創建系統用戶
-m, –create-home
-M, –no-create-home
useradd -D : 顯示創建用戶的默認配置
passwd: 修改用戶的密碼 update user's authentication tokens
使用格式:passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [–stdin] [username]
常見用法:
-l,-u:鎖定和解鎖用戶
-d: 清除用戶密碼
-e DATE:過期期限,為日期
-i DAYS:非活動期限
-n DAYS:密碼的最短使用期限
-x DAYS:密碼的最長使用期限
-w DAYS: 警告期限
–stdin:
echo "PASSWORD" | passwd –stdin USERNAME
userdel:刪除用戶和相關文件
使用格式:userdel [options] USER
常見用法:
-r: 刪除用戶時一并刪除其家目錄,默認不刪除
usermod:用于修改用戶的屬性
常見用法:
-u,–uid UID: 修改用的ID為此處的指定的新ID
-g,–gid GROUP: 修改用戶所屬的基本組
-G,–group GROUP1[,GROUP2,…]: 修改用戶所屬的附加組,原來的附加組會被覆蓋;
-a,–append: 與-G 一同使用,用于為用戶添加新的附加組
-c,–comment COMMENT: 修改注釋信息
-d, –home HOME_DIR: 修改用戶的家目錄;用戶原有的文件不會被轉移至新位置
-m,–move_home:只能與-d選項一同使用,用于將原來的家目錄移動為新的家目錄
-l, –login NEW_LOGIN:修改用戶名
-s, –shell SHELL:修改SHELL
-L,–lock:鎖定用戶密碼:即在用戶原來的密碼字符串值之前添加一個"!"
-U,–unlock:解鎖用戶的密碼:去掉"!"
groupadd:創建組
常見用法:
-g GID: 指定GID,默認是上一個組的GID+1;
-r : 創建系統組
groupmod:修改組屬性
使用格式:group [選項] GROUP
常見用法:
-g GID:修改GID
-n new_name: 修改組名
groupdel:刪除組
su: 切換用戶 switch user
常見用法:
登錄式切換:會通過重新讀取目標用戶的配置文件來重新初始化
su – USERNAME
su -l USERNAME
非登錄式切換:不會讀取目標用戶的配置文件進行初始化
su USERNAME
注意:管理員可以無密碼切換至其他任何用戶
-c 'COMMAND' : 僅以指定用戶的身份運行此處指定的命令
who:show who is logged on
whoami: print effective userid
newgrp:臨時切換指定的組為基本組
使用格式:newgrp [-] [group]
常見用法:
-:會模擬用戶重新登錄以實現重新初始化其工作環境
chage:更改用戶密碼過期信息
id:顯示用戶的真是和有效ID信息 print real and effective user and group IDs
使用格式:id [OPTION]… [USER]
常見用法:
-u:僅顯示有效的UID
-g:僅顯示用戶的基本組ID
-G:顯示用戶所屬的所有組的ID
-n:顯示名稱而非ID
install: 復制文件或創建空目錄 copy files and set attributes
使用格式:
install [OPTION]… [-T] SOURCE DEST 單源復制
install [OPTION]… SOURCE… DIRECTORY 多源復制
install [OPTION]… -t DIRECTORY SOURCE… 多源復制
install [OPTION]… -d DIRECTORY… 創建目錄
常見用法:
-m,–mode=MODE: 設定目標文件權限,默認為755
-o,–owner=OWNER:設定目標文件的屬主
-g,–group=GROUP: 設定目標文件的屬組
mktemp:創建臨時文件或臨時目錄
常見用法:
-d:創建臨時目錄
umask:文件的權限反向掩碼,遮罩碼
文件: 666-umask
目錄: 777-umask
這么多的命令,都是基礎。用馬哥的話:“這些都是用大腿想出來的”。我還在用我的大腦在記憶,離大腿,還隔著一個上身的距離。Come on,Baby!據說bash是2B青年用的,至于我,還是默默的記下來吧。
由于字數限制,今天的分享還有續集哦,快點擊鏈接查看吧: N26-第二周作業-邢巖(2)
原創文章,作者:jeque,如若轉載,請注明出處:http://www.www58058.com/67764
加油,進入一項新領域一開始總是伴隨著痛苦和不適,只要認定的方向,不斷堅持,這里將是你新舒適區,加油。