linux文件管理命令:
ls
全名list(列表)查看當前所有文件
-a:顯示所有文件
-l:列出文件詳細信息
-t:按時間進行文件的排序
-s:在每個文件后面打印出文件的大小
pwd
顯示當前目錄
cd為切換目錄
cd.. 切換到上一層目錄
touch
創(chuàng)建一個空文件夾
-d:使用指定日期時間
-r:把指定的文檔或目錄的日期時間設(shè)成參考文檔或目錄的日期時間相同
-t:指定時間,并不是現(xiàn)在的時間
--help 尋求幫助
mkdir
創(chuàng)建新目錄
-p 遞歸創(chuàng)建目錄
rmdir
刪除目錄
chomd
修改權(quán)限
-rw-------(600)只有所屬者有讀寫權(quán)限
-rw-r--r--(644)只有所屬者有讀寫權(quán)限,而所屬組用戶和其他用戶只有讀權(quán)限
-rwx------(700)只有所屬者有讀、寫、執(zhí)行權(quán)限
-rw-rw-rw-(666)所有用戶都有文件讀寫權(quán)限
-rwxrwxrwx(777)所有用戶都有讀、寫、執(zhí)行權(quán)限
chgrp:改變文件所屬組
chown:改變文件所屬者
chmod:改變文件屬性
mv
移動文件與目錄
cp
copy 復(fù)制文件或目錄
參數(shù):
-a 或 --archive 此參數(shù)的效果和同時指定"-dpR"參數(shù)相同
-b 或 --backup 刪除、覆蓋目的文件先備份,備份的文件或目錄亦建立為符號鏈接,并指向源文件或目錄鏈接的源文件或目錄。假如沒有加上這個參數(shù),在復(fù)制過程中若遇到符號鏈接,則會直接復(fù)制源文件或目錄
-f 或 --force 強行復(fù)制文件或目錄, 不論目的文件或目錄是否已經(jīng)存在
-i 或 --interactive 覆蓋文件之前先詢問用戶
-l 或 --link 對源文件建立硬鏈接,而非復(fù)制文件
-p 或 --preserve 保留源文件或目錄的屬性,包括所有者、所屬組、權(quán)限與時間
-P 或 --parents 保留源文件或目錄的路徑,此路徑可以是絕對路徑或相對路徑,且目的目錄必須已經(jīng)豐在
-r 遞歸處理,將指定目錄下的文件與子目錄一并處理。若源文件或目錄的形態(tài),不屬于目錄或符號鏈接,則一律視為普通文件處理
-R 或 --recursive 遞歸處理,將指定目錄下的文件及子目錄一并處理
-s 或 --symbolic-link 對源文件建立符號鏈接,而非復(fù)制文件
-S <備份字尾字符串> 或 --suffix=<備份字尾字符串> 用"-b"參數(shù)備份目的文件后,備份文件的字尾會被加上一個備份字符串。默認的備份字尾符串是符號"~"
-u 或 --update 使用這項參數(shù)之后,只會在源文件的修改時間(Modification Time)較目的文件更新時,或是名稱相互對應(yīng)的目的文件并不存在,才復(fù)制文件
-v 或--verbose 顯示執(zhí)行過程
-V <備份方式> 或 --version-control=<備份方式> 指定當備份文件時,備份文件名的命名方式,有以下3種:
1.numbered或t, 將使用備份編號,會在字尾加上1字符串,其數(shù)字編號依次遞增
2.simple或never 將使用簡單備份,默認的備份字尾字符串是~, 也可通過-S來指定
3.existing或nil將使用當前方式,程序會先檢查是否存在著備份編號,若有則采用備份編號,若無則采用簡單備份
-x 或 --one-file-system 復(fù)制的文件或目錄存放的文件系統(tǒng),必須與cp指令執(zhí)行時所處的文件系統(tǒng)相同,否則不復(fù)制,亦不處理位于其他分區(qū)的文件
find
查找某文件
pathname: find命令所查找的目錄路徑。例如用.來表示當前目錄,用/來表示系統(tǒng)根目錄。
-print: find命令將匹配的文件輸出到標準輸出。
-exec: find命令對匹配的文件執(zhí)行該參數(shù)所給出的shell命令。相應(yīng)命令的形式為'command' { } ;,注意{ }和\;之間的空格。
-ok: 和-exec的作用相同,只不過以一種更為安全的模式來執(zhí)行該參數(shù)所給出的shell命令,在執(zhí)行每一個命令之前,都會給出提示,讓用戶來確定是否執(zhí)行。
-print 將查找到的文件輸出到標準輸出
-exec command {} ; —–將查到的文件執(zhí)行command操作,{} 和 ;之間有空格
-ok 和-exec相同,只不過在操作前要詢用戶
因為find命令會根據(jù)我們給的option,也就是尋找條件從我們給出的目錄開始對其中文件及其下子目錄中的文件進行遞歸搜索,所以我覺的這個地方說是“起始目錄”是非常好的。
grep
全稱:
Global Regular Expression Print 表示全局正則表達式版本,使用權(quán)限為所有用戶
主要參數(shù)
-c:只輸出匹配行的計數(shù)
-I:不區(qū)分大小寫(只適用于單字符)
-h:查詢多文件是只輸出包含匹配字符的文件名
-n:顯示匹配行及行號
-s:不顯示不存在或無匹配文本的錯誤信息
-v:顯示不包含匹配文本的所有行
bash的工作特性:
全稱為Bourne-Again Shell。它是一個命令處理器,屬于shell的一種,通常運行于文本窗口中,并能執(zhí)行用戶直接輸入的命令。
在我們每次輸入命令之后,系統(tǒng)都會把命令執(zhí)行的狀態(tài)結(jié)果保存在一個變量中,我們稱這個變量是特殊變量,用$?來表示
獲取方式 echo $?
程序執(zhí)行的有兩類結(jié)果:程序的返回值和程序的執(zhí)行狀態(tài)結(jié)果
環(huán)境變量:
HISTSIZE:命令歷史記錄的條數(shù)
HISTFILE:~/.bash_history
HISTFILESIZE:命令歷史文件記錄歷史的條數(shù)
調(diào)用歷史命令的方式:
!#:重復(fù)執(zhí)行第#條指令
!!:執(zhí)行上一條命令
!string 調(diào)用最近以string開頭的命令
!$:調(diào)用上一條命令的最后一個參數(shù)
ESC,.:調(diào)用上一條命令的最后一個參數(shù)
快捷鍵
ctrl+L:清屏,相當于clear
ctrl+i:跳轉(zhuǎn)值命令首部
ctrl+e:跳轉(zhuǎn)至命令尾部
ctrl+c:取消命令執(zhí)行
ctrl+U:刪除命令首至光標所在處的內(nèi)容
ctrl+K:刪除光標所在處至命令行尾部的所有內(nèi)容
創(chuàng)建/tmp目錄下的:a_c, a_d, b_c, b_d
[root@foundation0 tmp]#mkdir /tmp/{a,b}_{c,d}
創(chuàng)建/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
[root@foundation0 mylinux]# mkdir -p /tmp/mylinux/[bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/moules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var,lock,log,run}
文件的元數(shù)據(jù)信息:
文件的大小,文件的所有者,文件的權(quán)限
access time:訪問時間,atime
modify time:修改時間,mtime
change time:改變時間,ctime
使用stat命令查詢文件的元數(shù)據(jù)信息
修改文件的時間戳信息
touch命令
參數(shù)
-a:更改訪問時間
-c:-no-create 不創(chuàng)建任何文件
-m :修改時間
定義一個命令的別名,在命令中引用另一個命令執(zhí)行結(jié)果
alias:通過alias命令實現(xiàn):shell的內(nèi)嵌命令
alias jin=‘VALUE’:定義別名為jin,相當于執(zhí)行value
對當前用戶有效:~/.bashrc
對所有用戶有效:/etc/bashrc
bash進程重新讀取配置文件:source /path/to/config_file 或 ./ path/to/config_file
撤銷別名:unalias [-a] name [name...]
顯示/var目錄下所有以l開頭,以一個小寫字母結(jié)尾,且中間至少出現(xiàn)一位數(shù)字(可以有其它字符)的文件或目錄。
[root@foundation0 tmp]# touch /var/like123321like
[root@foundation0 tmp]# ls -d /var/l[[:digit:]][[:lower:]]
/var/like123321like
或者
[root@foundation0 tmp]# ls -d /var/l[0-9][a-z]
/var/like123321like
顯示/etc目錄下 以任意一個數(shù)字開頭 且以非數(shù)字結(jié)尾的文件或目錄:
[root@foundation0 tmp]# touch /etc/{1..3}.txt
[root@foundation0 tmp]# mkdir /etc/{4..5}note
[root@foundation0 tmp]# ls -d /etc/[0-9][^0-9]
/etc/1.txt /etc/2.txt /etc/3.txt /etc/4note /etc/5note
顯示/etc目錄下,以非字母開頭 后面跟了一個字母以及其他任意長度任意字符的文件或目錄:
[root@foundation0 tmp]# ls -ld /etc/[[1]][[:alpha:]]
drwxr-xr-x. 2 root root 6 Sep 25 00:19 /etc/4note
drwxr-xr-x. 2 root root 6 Sep 25 00:19 /etc/5note
或者
[root@foundation0 tmp]# ls -dl /etc/[^a-z][a-z]*
drwxr-xr-x. 2 root root 6 Sep 25 00:19 /etc/4note
drwxr-xr-x. 2 root root 6 Sep 25 00:19 /etc/5note
[root@foundation0 tmp]# mkdir /etc/4NOTE #新創(chuàng)建一個第二個字符是大寫字母的目錄
[root@foundation0 tmp]# ls -dl /etc/[^a-z][a-z]* #不管是[a-z]還是[A-Z],結(jié)果并不區(qū)分大小寫
drwxr-xr-x. 2 root root 6 Sep 25 00:19 /etc/4note
drwxr-xr-x. 2 root root 6 Sep 25 00:37 /etc/4NOTE
drwxr-xr-x. 2 root root 6 Sep 25 00:19 /etc/5note
在/tmp 目錄下創(chuàng)建以tfile 開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22:
[root@foundation0 tmp]# touch tfile-date +%Y-%m-%d-%H-%M-%S
[root@foundation0 tmp]# ls tfile*
tfile-2016-09-25-00-53-04
復(fù)制/etc 目錄下所有以p 開頭 以非數(shù)字結(jié)尾的文件或目錄到/tmp/mytest1目錄中:
[root@foundation0 tmp]# mkdir mytest1 #復(fù)制多個文件到目錄時,該目錄必須已經(jīng)存在。
[root@foundation0 tmp]# cp -r /etc/p[^0-9] mytest1/
[root@foundation0 tmp]# ls !$
ls mytest1/
pam.d passwd- pki pm postfix prelink.conf.d profile protocols purple
passwd pinforc plymouth popt.d ppp printcap profile.d pulse python
復(fù)制/etc目錄下所有以.d結(jié)尾的文件或目錄至/tmp/mytest2目錄中:
[root@foundation0 tmp]# mkdir mytest2
[root@foundation0 tmp]# cp -r /etc/.d mytest2
復(fù)制/etc/目錄下所有以l或m或n開頭,以.conf結(jié)尾的文件至/tmp/mytest3目錄中。
[root@foundation0 tmp]# cp -an /etc/[lmn]*.conf /tmp/test3
[root@foundation0 tmp]# tree /tmp/mytest3