常用命令
ls命令
ls -a
#輸出包括.
開頭的隱藏文件ls -F
#給條目追加文件類型標識符,若是目錄,會有目錄名/
ls -R
#遞歸地列出子目錄內容ls -l
#按長列表輸出格式顯示ls -i
#顯示每個文件的索引值ls -s
#輸出每個文件的塊大小顯示指定文件
myprog
ls -l myprog
顯示指定文件
mypro?
(問號代表一個字符)ls -l mypro?
顯示指定文件
mypro*
(星號代表零個或多個字符)ls -l mypro*
touch命令
touch test1
#創建文件test1
cp命令
cp test1 test2
# test1複製到test2,test2有新的創建時間和修改時間cp -p test1 test2
# 保留原文件的訪問時間和修改時間cp -R dir1 dir2
#遞歸複製整個目錄cp -f test1 test2
#強制複製,不提示用戶
mv命令
mv test1 test2
# test1重命名(移動)爲test2- 移動有軟鏈接指向的文件時,軟鏈接可能會失效。
- rm命令
rm -i test1
#交互式刪除test1rm -f test1
#強制刪除test1
- mkdir命令
mkdir dir1
#創建目錄
- rmdir命令
rmdir dir1
#刪除目錄,默認只能刪除空目錄rmdir --ignore-fail-on-non-empty
#強制刪除
- cat命令
cat test1
#顯示test1中的內容cat -n test1
#顯示test1中的內容時加上行號cat -b test1
#顯示行號但忽略空白行cat -s test1
#多個空白行壓縮到單個空白行
- more命令
- more命令會顯示文本文件的內容,但會在顯示每頁數據之後停下來
- less命令
- less命令實爲more命令的升級版,可顯示文件的內容,而不用讀取整個文件
- tail命令
- tail命令會顯示文件末尾部分的內容
tail -f test1
#實時監測test1的內容
- head命令
- head命令會顯示文件開頭部分的內容
2. 更多的bash shell命令
監測程序
- ps命令
- 默認情況下,ps命令只會顯示運行在當前控制檯下的屬於當前用戶的進程
ps -ef
#查看系統上運行的所有進程ps -efH
#查看系統上運行的所有進程,組織成一個層級格式
- top命令
- top命令用於實時監測進程
- kill命令
- 默認情況下,kill命令會發送一個TERM(儘可能終止)信號,但可能會被進程忽略
- kill命令只能通過PID而不能通過進程名來停止進程
kill -s HUP 3940
#掛起pid爲3940的進程
- killall命令
- killall命令可以使用進程名停止進程
killall http*
#停止所有http開頭的進程
監測磁盤空間
mount命令
- 默認情況下,mount命令會輸出當前系統上掛在的設備列表
- 媒體設備掛在到了虛擬目錄後,root用戶就有了對該設備的所有訪問權限
mount -t vfat /dev/sdb1 /media/disk
#將設備/dev/sdb1掛在到/media/disk,設備的文件類型爲vfat- mount命令可以將CD鏡像.iso文件當作真實CD來掛載,用戶就能訪問該.iso的文件系統了
mkdir mnt su mount -t iso9660 -o loop MEPIS_KDE4-LIVE-DVD_32.iso mnt ls -l mnt cd mnt/boot ls -l
- umount命令
- 從Linux系統上移除一個可移動設備時,不能直接從系統上移除,而應該先卸載它。
- umount命令支持通過設備文件或是掛載點來指定要卸載的設備
umount /home/rich/mnt
- df命令
df
#用來查看所有已掛載磁盤的使用情況df -h
#以人類可讀的形式顯示
- du命令
- 默認情況下,du命令會顯示當前目錄下所有文件、目錄和子目錄的磁盤使用情況。
du Desktop/pythonworkspace/
#顯示Desktop/pythonworkspace磁盤使用情況du -c Desktop/pythonworkspace/
#顯示所以已列出文件總的大小du -h Desktop/pythonworkspace/
#按人類可度的形式顯示du -s Desktop/pythonworkspace/
#只顯示輸出參數的總計
處理數據文件
- sort命令
sort file1
#按字符排序file1文件中的內容並打印sort -n file1
#按數值排序sort -M file1
#按月份排序,sort可以識別三個字符的月份sort -t':' -k 3 -n /etc/passwd
#-t指定字段分隔符,-k指定排序的字段du -sh * | sort -nr
#將系統文件按磁盤使用大小排序,-r爲降序
- grep命令
- grep命令會到輸入中或你指定的文件中查找包含匹配製定模式的字符的行
grep t file1
#file1中查找包含字符t的行grep -v t file1
#在file1中反向查找grep -n t file1
#顯示匹配的行號grep -c t file1
#統計有多少行匹配grep -e t -e f file1
#指定多個模式,匹配任意一個即可grep [tf] file1
#正則匹配,t或f中的任意一個匹配
- bzip2命令
bzip2 myprog
#bzip2命令嘗試壓縮myprog文件,並用壓縮文件替換原始文件bunzip2 myprog.bz2
#bunzip2解壓文件
- gzip命令
gzip myprog
# gzip壓縮myprog文件gzip my*
#通配符會壓縮目錄中匹配的每個文件,每個文件都產生一個單獨的壓縮文件
- zip命令
- zip的強大之處在於能夠將整個目錄下的文件都壓縮進單個文件
zip -r testzip test
#創建testzip.zip,並遞歸test的每個目錄和文件,都壓縮加進該zip文件
- tar命令
tar -cvf test.tar test/ test2/
#創建一個含有test和test2目錄內容的叫test.tar的歸檔文件tar -tf test.tar
# 列出test.tar的內容,但不解壓tar -xvf test.tar
#解壓test.tar
問題
- zip , gzip的區別
gzip是一種文件壓縮工具(或該壓縮工具產生的壓縮文件格式),它的設計目標是處理單個的文件。gzip在壓縮文件中的數據時使用的就是zlib。我們在UNIX/Linux上經常看到的壓縮包後綴都是.tar.gz或.tgz,也就是先用tar把多個文件打包成單個文件,再用gzip壓縮的結果。
zip只是一種數據結構,跟rar同類型。zip是適用於壓縮多個文件的格式(相應的工具有PkZip和WinZip等),因此,zip文件還要進一步包含文件目錄結構的信息,比gzip的頭信息更多。但需要注意,zip格式可採用多種壓縮算法,我們常見的zip文件大多不是用zlib的算法壓縮的,其壓縮數據的格式與gzip大不一樣。