?
du [-abcDhHklmsSx] [-L <符號連接>][-X <文件>][--block-size][--exclude=<目錄或文件>] [--max-depth=<目錄層數>][--help][--version][目錄或文件]
常用參數:
-a或-all? 為每個指定文件顯示磁盤使用情況,或者為目錄中每個文件顯示各自磁盤使用情況。
-b或-bytes 顯示目錄或文件大小時,以byte為單位。
-c或–total 除了顯示目錄或文件的大小外,同時也顯示所有目錄或文件的總和。
-D或–dereference-args 顯示指定符號連接的源文件大小。
-h或–human-readable 以K,M,G為單位,提高信息的可讀性。
-H或–si 與-h參數相同,但是K,M,G是以1000為換算單位,而不是以1024為換算單位。
-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 顯示版本信息。
linux中的du命令使用示例:
du /home/linux
這在/home/linux目錄及其每個子目錄中顯示了磁盤塊數。
du -k /home/linux
這在/home/linux目錄及其每個子目錄中顯示了 1024 字節磁盤塊數。
du -m /home/linux
這在/home/linux目錄及其每個子目錄中顯示了 MB 磁盤塊數。
du -g /home/linux
這在/home/linux目錄及其每個子目錄中顯示了 GB 磁盤塊數。
“.”代表當前目錄下。也可以換成一個明確的路徑
-h表示用K、M、G的人性化形式顯示
du -sh user
-s表示總結的意思,即只列出一個總結的值
du -h –max-depth=0 user
–max-depth=n表示只深入到第n層目錄,此處設置為0,即表示不深入到子目錄。
du -ah user
-a表示包括目錄和文件
du -h –exclude=’*xyz*’
du -0h user
-0(杠零)表示每列出一個目錄的信息,不換行,而是直接輸出下一個目錄的信息。
?
? ? ? ?ps??? 查看進程??? kill
? ? ? ?查看提交到服務器任務? bjobs [-a]???? bkill + 任務號
?
? ? ? ?chmod -R : 對目前目錄下的所有檔案與子目錄進行相同的權限變更(即以遞回的方式逐個變更)
?
?
? ? ? ?env??? :? 查看當前所有的環境變量設定
?
? ? ? ?sed -i ‘指令1 ’-I ‘指令2’? 文件名
? ? ? ?如: sed? -i ‘1,$s/a/b/g’ *.*???? 將該目錄下如有文件中的a替換為b
?
? head? -n <n> filename > newname
? 如果文件過大,可以通過這種方式取前n行將文件拆分出新文件。
? head –n 5 file? 查看文件前5行
? tail –n 5 file??? 查看文件后5行
?
連接不同ip地址的帳號
例,ftp 10.19.128.1
?? 輸入userid and password
?put? file 直接將當前的帳號下的file傳到指定帳號,如果想傳文件夾,必須要打包
?get file 直接get數據。
圖形界面:gftp
sleep n; a
n秒后執行命令a
將 AAA* 的文件名修改為 DDD*, 使用下面的命令
rename AAA DDD *
Ctrl+D:可以在終端下運行wc命令,然后再胡亂輸入一些字符,再按Ctrl+D就會出現相應效果,也可以退出登陸(只限命令模式下)
Ctrl+Z:可掛起任意前臺進程,需要恢復被掛起進程可使用fg來恢復被掛起的進程 bg去掉入后臺執行
Ctrl+S:可以鎖住屏幕,但操作還在進行的
我們都知道,在 Windows 上面,我們要么讓一個程序作為服務在后臺一直運行,要么停止這個服務。而不能讓程序在前臺后臺之間切換。而 Linux 提供了 fg 和 bg 命令,讓我們輕松調度正在運行的任務。
假設你發現前臺運行的一個程序需要很長的時間,但是需要干其他的事情,你就可以用 Ctrl-Z ,掛起這個程序,然后可以看到系統提示(方括號中的是作業號):
[1]+ Stopped /root/bin/rsync.sh
然后我們可以把程序調度到后臺執行:(bg 后面的數字為作業號)
#bg 1
[1]+ /root/bin/rsync.sh &
用 jobs 命令查看正在運行的任務:
#jobs
[1]+ Running /root/bin/rsync.sh &
如果想把它調回到前臺運行,可以用
#fg 1
/root/bin/rsync.sh
這樣,你在控制臺上就只能等待這個任務完成了。
fg、bg、jobs、&、ctrl + z都是跟系統任務有關的,雖然現在基本上不怎么需要用到這些命令,但學會了也是很實用的
一。& 最經常被用到
這個用在一個命令的最后,可以把這個命令放到后臺執行
二。ctrl + z
可以將一個正在前臺執行的命令放到后臺,并且暫停
三。jobs
查看當前有多少在后臺運行的命令
四。fg
將后臺中的命令調至前臺繼續運行
如果后臺中有多個命令,可以用 fg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的后臺正在執行的命令的序號(不是pid)
五。bg
將一個在后臺暫停的命令,變成繼續執行
如果后臺中有多個命令,可以用bg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的后臺正在執行的命令的序號(不是pid)
也可以用kill %jobnumber kill掉這些進程 option -9 強制kill
?
?
mv file1 file2
file1 是檔案原有的名字,file2 是檔案後來的名字。
?
?
?
?
man command
?
?
查看歷史操作,可能是比較重要的,個人感覺不太全
?
Find是一個非常有效的工具,它可以遍歷當前目錄甚至于整個文件系統來查找某些文件或目錄.
一般find ./ -name xxx.xx 就OK了,自遞進去搜索
主要選項:
-name 按照文件名查找文件
-perm 按照文件權限來查找文件
-prune 不在當前指定的目錄中查找
-user 按照文件屬主來查找文件
-group 按照文件所屬的組來查找文件
-mtime -n +n 按照文件的更改時間來查找文件,-n表示文件更改時間距現在n天以內,+ n表示文件更改時間距現在n天以前.
-nogroup 查找無有效所屬組的文件,即該文件所屬的組不存在
-nouser 查找無有效屬主的文件
-newer file1 ! file2 查找更改時間比文件file1新但比文件file2舊的文件
-type 查找某一類型的文件
[ 文件類型:
b 塊設備文件
d 目錄
c 字符設備文件
p 管道文件
l 符號鏈接文件
f 普通文件
]
-size n[c] 查找文件長度為n塊的文件,帶有c時表示文件長度以字節計
-depth 在查找文件時,首先查找當前目錄中的文件,然后再在其子目錄中查找
-mount 在查找文件時不跨越文件系統mount點
-follow 如果find命令遇到符號鏈接文件,就跟蹤到鏈接所指向的文件
-cpio 對匹配的文件使用cpio命令,就將這些文件備份到磁盤設備中
(其余選項,請man find,進一步查看)
對find命令選項的一些例子:
? $ find /etc -type d #在/ e t c目錄下查找所有的目錄
? $ find /etc -user yaoyuan #在/etc目錄下查找文件屬主為yaoyuan的文件
? $ find . -size +1000000c #在當前目錄下查找文件長度大于1 M字節的文件
whereis命令會在指定的目錄中查找符合條件的文件,文件應的屬性應屬于原始代碼,二進制文件,或是幫助文件.
選項:
-b 只查找二進制文件
-B 只在設置的目錄下查找二進制文件
-f 不顯示文件名前的路徑名稱
-m 只查找說明文件
-M 只在設置的目錄下查找說明文件
-s 只查找原始代碼文件
-S 只在設置的目錄下查找原始代碼文件
-u 查找不包含指定類型的文件
whereis例子
$ whereis mysql
mysql: /usr/bin/mysql /etc/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
locate命令用于查找符合條件的文件,它會去保存文件與目錄名稱的數據庫內,查找符合條件的文件或目錄
選項:
-u 建立數據庫,由根目錄開始
-U 建立數據庫,可以指定開始的位置
-e 將排除在尋找的范圍之外
-f 將特定的檔案系統排除在外
-q 安靜模式,不會顯示任何錯誤訊息
-n 至多顯示n個輸出
-r 使用正規運算式 做尋找的條件
-o 指定數據庫存的名稱
-d 指定數據庫的路徑
-h 顯示輔助訊息
-v 顯示更多的訊息
-V 顯示程序的版本訊息
(locate命令可以在搜尋數據庫時快速找到檔案,數據庫由updatedb程序來更新,updatedb是由cron daemon周期性建立的,locate命令在搜尋數據庫時比由整個由硬盤資料來搜尋資料來得快,但較差勁的是locate所找到的檔案若是最近才建立或剛更名的,可能會找不到,在內定值中,updatedb每天會跑一次,可以由修改crontab來更新設定值。(etc/crontab)
locate指定用在搜尋符合條件的檔案,它會去儲存檔案與目錄名稱的數據庫內,尋找合乎范本樣式條件的檔案或目錄錄,可以使用特殊字元(如"*"或"?"等)來指定范本樣式,如指定范本為kcpa*ner, locate會找出所有起始字串為kcpa且結尾為ner的檔案或目錄,如名稱為kcpartner若目錄錄名稱為kcpa_ner則會列出該目錄下包括子目錄在內的所有檔案。 )
alias new_command 'old_command'
?
?
mkdir directory-name
?
?
diff [-r] name1 name2
name1 name2? 可同時為檔名,或目錄名稱。“-r” 為 recursive 之意
?
?
set var = value
var 為變數名稱,value 為值。
?
?
ls [-atFlgR] [name]
?
?
cd? [path_name]
?
?
cp [-r] source destination?
?
?
rm? [-r ] filename
?
?
chmod [-R] mode name
?
cat 為 concatenate (? 連續 )? 的縮寫,表以連續顯示方式,查看
檔名 filename 之內容。more 則是以分頁的方式,查看檔名? file-
name 之內容。
cat filename 或 more filename
?
?
grep string filename
string 為所要找的字串,filename 為所要找的檔案 (? 可以有很多個 )。
grep正則表達式:
?
常用的shell命令。?
?
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态