系統版本:
[root@node1 ~]# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
[root@node1 ~]# uname -r
3.10.0-229.el7.x86_64
目錄操作命令
ls
列出指定目錄下的內容。
語法:
ls [OPTION]... [FILE]...
選項:
- -a: 顯示所有文件,包括隱藏文件
- -A: 顯示除.和..之外的所有文件
- -l: --long,長格式列表,即顯示文件的詳細屬性信息
- -h, --human-readable: 對文件大小單位換算,換算後結果可能會是非精確值
- -d: 查看目錄自身而非其內部的文件列表
- -r: reverse,逆序顯示
- -R: recursive,遞歸顯示
示例:
[root@node1 ~]# ls -l /var/log
....
-rw-r--r--. 1 root root 6340 May 23 14:51 boot.log
....
以上各字段含義:
- -rw-r--r--
- rw-: 文件屬主的權限
- r--: 文件屬組的權限
- r--: 其它用戶(非屬主、屬組)的權限
- 1: 數字表示文件被硬鏈接的次數
- 第一個root: 文件的屬主
- 第二個root: 文件的屬組
- 6340: 數字表示文件的大小,單位是字節
- May 23 14:51: 文件最近一次被修改的時間
- boot.log: 文件名
cd
切換目錄。
語法:
cd [/PATH/TO/SOMEDIR]
選項:
- cd: 切換回家目錄
- cd ~: 切換回自己的目錄
- cd ~USERNAME: 切換至指定用戶的家目錄
- cd ..: 進入上一層目錄
- cd -: 在上一次所在目錄與當前目錄之間來回切換
pwd
顯示當前目錄。
語法:
pwd [OPTION]...
選項:
- -P: 顯示出真實的路徑,而非使用鏈接 (link) 路徑
示例:
[root@node1 ~]# cd /var/mail
[root@node1 mail]# pwd -P
/var/spool/mail
mkdir
創建目錄。
語法:
[OPTION]... DIRECTORY...
選項:
- -p: 自動按需創建父目錄
- -v: verbose,顯示詳細過程
- -m MODE: 直接給定權限
示例:
[root@node1 ~]# mkdir -pv /tmp/m/n/p
mkdir: created directory ‘/tmp/m’
mkdir: created directory ‘/tmp/m/n’
mkdir: created directory ‘/tmp/m/n/p’
rmdir
刪除空目錄。
語法:
rmdir [OPTION]... DIRECTORY...
選項:
- -p: 刪除某目錄後,如果其父目錄爲空,則一併刪除
- -v: 顯示過程
目錄與文件的複製、刪除、移動命令
cp
拷貝文件和目錄。
單源複製:
cp [OPTION]... [-T] SOURCE DEST
- 如果DEST不存在:則先創建此文件,並複製源文件的數據流至DEST中
- 如果DEST存在:
- 如果DEST是非目錄文件:覆蓋目標文件
- 如果DEST是目錄文件:先在DEST目錄下創建一個與源文件同名的文件,並複製其數據流
多源複製:
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
- 如果DEST不存在:錯誤
- 如果DEST存在:
- 如果DEST是非目錄文件:錯誤
- 如果DEST是目錄文件:分別複製每個文件至目標目錄中,並保持原名
選項:
- -i: 交互式複製,即覆蓋之前提醒用戶確認
- -f: 強制覆蓋目標文件
- -r, -R: 遞歸複製目錄
- -d: 複製符號鏈接文件本身,而非其指向的源文件
- -a: -dR --preserve=all, archive, 用於實現歸檔(備份)
- --preserve=
- mode: 權限
- ownership: 屬主和屬組
- timestamps: 時間戳
- context: 安全標籤
- xattr: 擴展屬性
- links: 符號鏈接
- all: 上述所有屬性
示例:
[root@node1 ~]# cp -r /var/log/ /tmp/
[root@node1 ~]# ll /tmp/log/
total 3508
drwxr-xr-x. 2 root root 4096 Jun 2 16:28 anaconda
drwxr-x---. 2 root root 22 Jun 2 16:28 audit
-rw-r--r--. 1 root root 6397 Jun 2 16:28 boot.log
-rw-------. 1 root root 0 Jun 2 16:28 btmp
-rw-------. 1 root root 384 Jun 2 16:28 btmp-20180601
....
mv
移動(重命名)文件。
語法:
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
選項:
- -i: 交互式
- -f: 強制
rm
刪除文件或目錄。
語法:
rm [OPTION]... FILE...
選項:
- -i: 交互式
- -f: 強制
- -r: 遞歸
刪除目錄: rm -rf /PATH/TO/DIR
建議不要使用rm直接刪除數據,而是先使用mv將數據統一移動到一個目錄下,再定期清理。
文件的新建與查看命令
touch
更改文件時間戳或創建空文件。
語法:
touch [OPTION]... FILE...
選項:
- -c: 指定的文件路徑不存在時不予創建
- -a: 僅修改access time
- -m: 僅修改modify time
- -t [[CC]YY]MMDDhhmm[.ss]: 指定時間戳
示例:
[root@node1 ~]# touch /tmp/functions
#創建functions空文件
[root@node1 ~]# ll /tmp/functions
-rw-r--r-- 1 root root 0 Jun 2 18:04 /tmp/functions
[root@node1 ~]# touch -m -t 0212010303.03 /tmp/functions
#修改modify time爲2002年12月1日3點3分3秒
[root@node1 ~]# stat /tmp/functions
#使用stat命令顯示文件時間戳信息
File: ‘/tmp/functions’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 101524444 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-06-02 18:04:01.035507593 +0800
Modify: 2002-12-01 03:03:03.000000000 +0800
Change: 2018-06-02 18:05:18.605411488 +0800
Birth: -
cat
查看文本文件的內容。
語法:
cat [OPTION]... [FILE]...
選項:
- -n: 給顯示的文本行編號
- -E: 顯示行結束符$
示例:
[root@node1 ~]# cat -n /etc/fstab
1
2 #
3 # /etc/fstab
4 # Created by anaconda on Tue May 22 11:36:12 2018
5 #
6 # Accessible filesystems, by reference, are maintained under '/dev/disk'
7 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
8 #
9 /dev/mapper/centos-root / xfs defaults 0 0
10 UUID=05a06e03-2c09-49d2-9e38-915bd43eba31 /boot xfs defaults 0 0
11 /dev/mapper/centos-swap swap swap defaults 0 0
more
一頁一頁翻屏查看文件。
快捷鍵:
- space: 向下翻一行
- Enter: 代表向下翻一行
- /keyword: 代表在這個顯示的內容當中,向下搜尋字串這個關鍵字
- :f: 立刻顯示出檔名以及目前顯示的行數
- q: 代表立刻離開 more ,不再顯示該文件內容
- b或Ctrl+b: 代表往回翻頁,不過這動作只對文件有用
less
一頁一頁翻屏查看文件。less與more區別:使用more命令,不能向前翻,只能往後翻,但less可以使用 [pageup] [pagedown] 等按鍵翻看文件。
快捷鍵:
- 空格鍵:向文件尾翻一屏
- b:向文件首部翻一屏
- ctrl+d:向文件尾部翻半屏
- ctrl+u:向文件首部翻半屏
- 回車鍵:向文件尾部翻一行
- k:向文件首部翻一行
- G:跳轉至最後一行
- g:跳轉至第一行
- #G:跳轉至指定行
- 1G:跳轉至文件首部
- q: 退出
文本搜索:
- /keyword: 從文件首部向文件尾部依次查找
- ?keyword: 從文件尾部向文件首部依次查找
- n: 與查找命令方向相同
- N: 與查找命令方向相反
head
顯示文件開頭的內容。
語法:
head [OPTION]... [FILE]...
選項:
- -n #或-#: 顯示指定行數的內容
示例:
[root@node1 ~]# head -n 5 /etc/rc.d/init.d/functions
# --Shell-script--
#
# functions This file contains functions to be used by most or all
# shell scripts in the /etc/init.d directory.
#
tail
顯示文件結尾的內容。
語法:
tail [OPTION]... [FILE]...
選項:
- -n #或-#: 顯示指定行數的內容
- -f: 查看文件尾部內容結束後不退出,跟隨顯示新增的行
查看文件類型的命令
file
查看文件內容類型。
示例:
[root@node1 ~]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0xec333a104e045327c5e3d0ca6dda16c610a210f3, stripped