文件系統操做命令-目錄node
ls查看文件或目錄的工具linux
用法:ls
[選項]...[文件]...shell
-l
出文件名以外,列出文件的類型、權限、全部者、所屬組、文件大小、修改時間等詳細信centos
-a
顯示全部以.開關的項目安全
-A
列出除.及..之外的斜體項目app
-R
遞歸列出目錄內容,若目錄下有文件或子目錄,則如下全部文件皆按序列出工具
-n
相似-l
,但列出UID及GID號oop
-F
在列出的文件名後加一個符號,去區分文件類型;例如*
表明可執行文件;/
表明是目錄;@
表明連接文件;普通文件以後不加符號ui
實例:命令行
[root@etcd01 opt]# ls -alF total 4415492 drwxr-xr-x. 5 root root 88 Mar 19 01:41 ./ dr-xr-xr-x. 20 root root 4096 Mar 13 20:49 ../ -rw-r--r-- 1 root root 4521459712 Dec 6 17:25 CentOS-7.4-x86_64-DVD-1708.iso drwx--x--x 4 root root 26 Feb 27 22:38 containerd/ drwxr-xr-x 5 root root 36 Mar 13 11:17 etcd drwxr-xr-x 5 root root 36 Mar 19 01:41 kubernetes/
cd
更改目錄,切換目錄
用法:cd
目標目錄
【選項】:
. 當前目錄
..父目錄
cd .. 切換到父目錄,切換到上一級目錄
cd 切換到當前用戶家目錄
cd ~ 切換到當前用戶家目錄
cd - 返回上一次所處的目錄
cd 相似於cd 「test」 命令中的雙引號(也能夠是單引號);切換到名稱帶有空格的目錄
實例:
[root@etcd01 ~]# cd /opt/ [root@etcd01 opt]# cd kubernetes/ [root@etcd01 kubernetes]# cd - /opt
pwd
顯示當前所處的目錄
【選項】
pwd -p
顯示實際的工做目錄,而非使用連接路徑
[root@etcd01 opt]# pwd -P /opt
mkdir
1建立目錄
【選項】
mkdir
只能在已存在的目錄下建立目錄
mkdir -p
幫助你直接將所需的目錄遞歸建立起來。(在一個不存在的上級目錄裏面建立目錄)
rmdir
刪除空目錄
【選項】
rmdir
只能刪除空目錄
rmdir -p
遞歸刪除空目錄
rm
刪除文件或目錄
【選項】
rm
只能刪除文件
rm -r
刪除目錄及目錄下的項目(文件和目錄)
rm -f
不提示強制刪除
【實例1】
rm -rf *
強制刪除全部文件,可是不包含隱藏文件。謹慎使用!!!!
【實例2】
同時刪除多個文件或目錄
每一個項目以空格隔開
[root@etcd01 tmp]# rm -rf {a,b,c}
mv
移動文件或目錄
mv
原文件路徑 目標文件路徑 移動
【選項】
-f
不提示並覆蓋文件
-n
不覆蓋已存在文件
-b
覆蓋以前把原文件作備份,備份的文件在文件名以後有個~符號
-u
只有原文件比覆蓋的文件新的時候才能夠覆蓋文件;舊文件不能覆蓋新文件
du
顯示目錄的磁盤使用狀況
du
查看目錄或文件大小
-a
或--all
顯示目錄中個別文件的大小
-b
或--bytes
顯示目錄或文件時,以byte爲單位.
-c
或--total
除了顯示個別目錄或文件的大小外,同時民顯示全部目錄或文件的總和
-D
或--dereference-args
顯示指定符號鏈接的源文件大小
-h
或--human-readable
以K,M,G爲單位,提升信息的可讀性
-H
或--si
與-h
參數相同,可是K,M,G是以1000爲換算單位
-k
或--kilobytes
以1024 bytes爲單位
-l
或--count-links
重複計算硬件鏈接的文件
-L
<符號鏈接> 或 --dereference
<符號鏈接> 顯示選項中指定符號鏈接的源文件
-m
或--megabytes
以1MB爲單位
-s
或--summarize
僅顯示總計
-S
或--separate-dirs
顯示個別目錄的大小時,並不含其子目錄的大小
-x
或--one-file-xystem
以一開始處理時的文件系統爲準,若趕上其它不一樣的文件系統目錄則略過
-X
<文件> 或 --exclude-from=<文件>
在 <文件> 指定目錄或文件
--exclude=<目錄或文件>
略過指定的目錄或文件
--max-depth=<目錄層數>
超過指定層數的目錄後,予以忽略。
--help
顯示幫助
--version
顯示版本信息
實例
[root@etcd01 kubernetes]# ls bin cfg ssl [root@etcd01 kubernetes]# du -h --exclude=bin 16K ./cfg 16K ./ssl
df
查看全部已掛載磁盤使用狀況
實例
[root@etcd01 kubernetes]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 46G 29G 18G 62% / devtmpfs 7.8G 0 7.8G 0% /dev tmpfs 7.8G 0 7.8G 0% /dev/shm tmpfs 7.8G 704M 7.1G 9% /run tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup /dev/sda1 497M 158M 340M 32% /boot /dev/loop0 4.3G 4.3G 0 100% /mnt/cdrom tmpfs 1.6G 0 1.6G 0% /run/user/0
註解
第一列: 文件系統對應的磁盤分區 第二列:分區的總空間大小,含的數據塊的數據 第三列:已使用空間大小 第四列:未使用空間大小 第五列:用戶空間使用的百分比 第六列: 文件系統的掛載點
/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b
,在/tmp
目錄下建立目錄:x_y, x_z, q_y, q_z
實例
[root@etcd03 /]# mkdir -pv /tmp/a{1/{a,b},2} mkdir: created directory ‘/tmp/a1’ mkdir: created directory ‘/tmp/a1/a’ mkdir: created directory ‘/tmp/a1/b’ mkdir: created directory ‘/tmp/a2’ [root@etcd03 /]# mkdir -pv /tmp/{x,q}_{y,z} mkdir: created directory ‘/tmp/x_y’ mkdir: created directory ‘/tmp/x_z’ mkdir: created directory ‘/tmp/q_y’ mkdir: created directory ‘/tmp/q_z’
元數據信息:
file
:文件名;
size
:文件大小
block
:文件佔了多少個數據塊
IO Block
:文件所佔數據塊的塊大小
Device
:硬件,既說明該文件在硬盤的那個柱面
Inode
:文件Inode號,文件的索引節點號
links
:連接
Access
:文件權限
Uid
:該文件所屬的屬主
Gid
:該文件所屬的屬組
context
:安全上下文
Access
(第二個):文件上一次的訪問時間
Modify
:文件上一次修改的時間
Change
:文件上一次屬性更改的時間
查看文件元數據的方法:
stat命令:
stat [OPTION]... FILE... [root@etcd03 ~]# stat /etc/issue File: ‘/etc/issue’ Size: 23 Blocks: 8 IO Block: 4096 regular file Device: fd01h/64769d Inode: 67192987 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2019-04-08 09:42:19.438089565 +0800 Modify: 2017-08-30 23:53:07.000000000 +0800 Change: 2018-04-16 15:26:42.557988341 +0800 Birth: -
修改文件的時間戳方法:
touch命令:用於改變文件時間戳,若是文件不存在則建立一個空文件
touch [OPTION]... FILE... -c:指定的文件路徑不存在時不予建立: -a:僅修改access time: -m:僅修改modify time: -t STAMP: [[CC]YY]MMDDhhmm[.ss] 年月日時分秒 touch -m -t 200212010303.03
/tmp
目錄下建立以tfile開頭,後跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22
。實例
[root@etcd03 tmp]# touch `date +%Y-%m-%d-%H-%M-%S` [root@etcd03 tmp]# ls 2019-04-08-18-14-06
/etc
目錄下全部以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1
目錄中。實例
[root@etcd03 tmp]# mkdir mytest1 [root@etcd03 tmp]# cp -rv /etc/p*[^0-9] mytest1/
/tmp/tom
, 指定shell爲/bin/zsh
, 指定基本組爲tom
,附加組爲jack
實例
[root@etcd03 tmp]# groupadd jack [root@etcd03 tmp]# useradd -u 5001 -d /tmp/tom/ -s /bin/zsh -G jack tom [root@etcd03 tmp]# cat /etc/passwd grep tom [root@etcd03 tmp]# cat /etc/passwd |grep tom tom:x:5001:5001::/tmp/tom/:/bin/zsh [root@etcd03 tmp]# id tom uid=5001(tom) gid=5001(tom) groups=5001(tom),1003(jack)
useradd、userdel、usermod、passwd、groupadd、groupdel、groupmod、gpasswd、chage、chsh、id、su
useradd
命令:建立用戶
useradd [OPTION] USER -u, --uid UID:指定UID; -g, --gid GROUP:指定基本組ID,此組得事先存在; -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用戶所屬的附加組,多個組之間用逗號分隔; -c, --comment COMMENT:指明註釋信息; -d, --home HOME_DIR:以指定的路徑爲用戶的家目錄;經過複製/etc/skel此目錄並重命名實現;指定的家目錄路徑若是事先存在,則不會爲用戶複製環境配置文件; -s, --shell SHELL:指定用戶的默認shell,可用的全部shell列表存儲在/etc/shells文件中; -r, --system:建立系統用戶;
userdel
命令:刪除用戶
userdel [OPTION] USER -r:刪除用戶時一併刪除其家目錄;
usermod
命令:修改用戶屬性
usermod [OPTION] USER -u, --uid UID:修改用戶的ID爲此處指定的新UID; -g, --gid GROUP:修改用戶所屬的基本組; -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用戶所屬的附加組;原來的附加組會被覆蓋; -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:解鎖用戶的密碼;
passwd
命令:修改用戶密碼
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username] (1) passwd:修改用戶本身的密碼; (2) passwd USERNAME:修改指定用戶的密碼,但僅root有此權限; -l, -u:鎖定和解鎖用戶; -d:清除用戶密碼串; -e DATE: 過時期限,日期; -i DAYS:非活動期限; -n DAYS:密碼的最短使用期限; -x DAYS:密碼的最長使用期限; -w DAYS:警告期限; --stdin: echo "PASSWORD" | passwd --stdin USERNAME
groupadd
命令:添加組
groupadd [OPTION] group_name -g GID:指定GID;默認是上一個組的GID+1; -r: 建立系統組;
groupdel
命令:刪除組
groupdel [OPTION] GROUP
groupmod
命令:修改組屬性
groupmod [OPTION] GROUP -g GID:修改GID; -n new_name:修改組名;
gpasswd
命令:管理組
組密碼文件:/etc/gshadow gpasswd [OPTION] group -a USERNAME:向組中添加用戶 -d USERNAME:從組中移除用戶
chage
命令:更改用戶密碼過時信息
chage [OPTION] 登陸名 -d -E -W -m -M
id
命令:顯示用戶和所屬羣組的實際與有效ID
id [OPTION]... [USER] -u: 僅顯示有效的UID; -g: 僅顯示用戶的基本組ID; -G:僅顯示用戶所屬的全部組的ID; -n: 顯示名字而非ID;
su
命令:切換用戶
登陸式切換:會經過讀取目標用戶的配置文件來從新初始化 su - USERNAME su -l USERNAME 非登陸式切換:不會讀取目標用戶的配置文件進行初始化 su USERNAME 注意:管理員可無密碼切換至其它任何用戶; -c 'COMMAND':僅以指定用戶的身份運行此處指定的命令;