1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
相關命令:
目錄管理:
pwd:顯示當前工作目錄
cd: 目錄間跳轉
cd – :在上一個目錄和當前目錄間跳轉
cd 或 cd ~ :回當前用戶的家目錄
ls:顯示當前目錄下的內容
ls -l: 長格式顯示 drwxr-xr-x. 3 root root 443 15 6月 12 12:01 opt
drwxr-xr-x :最左側代表文件類型
-:普通文件
d:目錄
l:鏈接文件
b:塊設備
c:字符設備
p:管道文件
s:套接字文件
rwxr-xr-x:每三位分別對應屬主屬組其他用戶的讀寫執行權限。
3:文件被硬鏈接次數
root:文件的屬主
root:文件的屬組
數字:文件大小
date:文件最后一次被修改的時間
ls -h (human-readable): 單位換算,人可讀
ls -d : 顯示目錄自身的相關屬性
ls -r : 逆序顯示
ls -R : 遞歸顯示
mkdir:創建目錄
-p: 自動創建所需的各目錄
-v: 顯示細節
-m: 創建時直接指定權限
rmdir:刪除空目錄
tree: 樹狀顯示目錄下內容
-d:只顯示目錄
-L #:level 顯示幾個層級
-P pattern :只顯示由指定pattern匹配到的路徑
文件查看類命令:
cat:查看文件
tac:逆序查看文件
more,less:查看文件 可翻頁查看
head:
-c #:截取前#個字節
-n #:截取前n行
tail:
-c #: 截取后#個字節
-n #:截取后n行
文件時間戳管理命令:
touch :
三個時間戳:
access time:訪問時間,簡寫為atime,讀取文件內容時改變
modify time: 修改時間,簡寫為mtime,修改文件內容時改變
change time:改變時間,簡寫ctime,元數據發生改變時改變
-a:only access time
-m: only mtime
-c: 如果文件不存在,則不給予創建
文件管理:
cp:拷貝 cp SRC DEST
SRC是文件:
DEST:不存在:新建,拷貝填充
文件存在:覆蓋
DEST是目錄:則在其下創建新的,拷貝填充
SRC是多文件:
DEST必須是目錄且存在
SRC是目錄:
必須使用-r選項
DEST不存在:則創建指定目錄,復制SRC目錄中的所有文件到DEST中去
DEST存在,且必須是目錄,否則報錯
常用選項:
-r:遞歸復制
-i:交互式
-a:歸檔式復制
-p:–preserve=mode,ownership,timestamp
-v: 可見
-f: force
mv:移動
mv SRC DEST
rm:刪除
-i:交互式刪除
-r: 遞歸刪除
-f: 強制刪除
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
工作特性:
(1)命令歷史:
history:內容存儲在~/.bash_history
history #: 顯示命令歷史中最近的#條
history -a:追加當前回話緩沖區的命令歷史至歷史文件
調用命令歷史中的命令:
!#:調用哪一條命令
?。。荷弦粭l命令
!string:匹配上一次string的命令
調用上一次的最后一個參數:
!$:
ESC, .
Alt+.
(2) 命令補全 Tab鍵
(3) 路徑補全
(4)命令行展開
(5)命令的執行結果狀態
(6)命令別名 alias NAME="value"
僅對當前用戶:~/.bashrc
對所有用戶有效:/etc/bashrc
(7)glob
1.通配符:*,?,[],[^]
2.專用字符集和:
[:digit:],[:lower:],[:upper:],[:alpha:],[:alnum:],[:grapha:]
(8)bash快捷鍵
(9)bash的IO重定向及管道
3、請使用命令行展開功能來完成以下練習:
(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d
touch /tmp/{a,b}_{c,d}
(2)、創建/tmp/mylinux目錄下的:
mylinux/
├── bin
├── boot
│ └── grub
├── dev
├── etc
│ ├── rc.d
│ │ └── init.d
│ └── sysconfig
│ └── network-scripts
├── lib
│ └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│ └── local
│ ├── bin
│ └── sbin
└── var
├── lock
├── log
└── run
mkdir /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}
4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
[root@localhost test]# stat sort.sh
文件:"sort.sh"
大小:63 塊:8 IO 塊:4096 普通文件
設備:fd01h/64769d Inode:104058236 硬鏈接:1
權限:(0755/-rwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
環境:unconfined_u:object_r:user_tmp_t:s0
最近訪問:2016-06-14 21:48:14.750364346 +0800
最近更改:2016-06-14 21:48:32.367570367 +0800
最近改動:2016-06-14 21:48:32.367570367 +0800
創建時間:-
touch -a: 只改變訪問時間
touch -m:只改變修改時間
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
alias name="command"
$(command)或者`command`
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
ls /var/ | grep "^1.*[[:digit:]]\+.*[[:lower:]]$"
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
ls /etc/ | grep "^[[:digit:]].*[^[:digit:]]$"
8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
ls /etc/ | grep "^[^[:alpha:]][[:alpha:]].*"
9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
cd /tmp/
touch tfile-$(date +%F-%H-%M-%S)
10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
cp -r $(ls /etc | grep "^p.*[^[:digit:]]$") /tmp/mytest1
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
cp -r $(ls /etc/ | grep "\(\.d\)$") /tmp/mytest2
12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
cp $(ls /etc/ | grep "^[1,m,n].*\(\.conf\)$") /tmp/mytest3
原創文章,作者:love_in_linux,如若轉載,請注明出處:http://www.www58058.com/18301
寫的很棒,cp的時候是不是可以直接支持正則表達式那?可以嘗試一下