which whereis locate find alias file ls cat echo
tar bzip2 gzip history mv cp rm
--------------------------------------------------------------------------------------------------------------------------------------------------
linux下的查找命令which,whereis,locate
which主要是用來查找命令的,並且只是在特定的目錄下查找(PATH 變量指定的路徑下)
[root@teacher lianxi]# which mkdir 查看mkdir命令所在的路徑
/bin/mkdir
[root@teacher lianxi]# which alias 查看alias命令所在的路徑
/usr/bin/which: no alias in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin)
[root@teacher lianxi]#
說明alias在上面路徑下都不存在。同時也說明alias是一個內部命令,安裝好bash這個軟件就能夠使用的,不須要再額外安裝
[root@teacher bin]# locate mkdir 查看全部包含mkdir文件,都查找出來
根據天天更新的數據庫進行查找
不能找到字節新建的文件但會找到已經刪除的文件
手動更新數據庫updatedb
whereis 查找命令的時候,也是在PATH變量的路徑下查找.which查找的文件 必須有可執行權限的才能被which找到,若無可執行權限,就算在PATH變量的路徑下,也查找不到。可是whereis能夠找出來
[root@teacher vnc]# which mkdir 查看mkdir命令的路徑
/bin/mkdir
[root@teacher vnc]# rpm -qf /bin/mkdir 查看/bin/mkdir文件是經過那個軟件安裝過來的
coreutils-8.4-19.el6.i686
[root@teacher vnc]#
[root@teacher vnc]# rpm -qf `which mkdir` 效果等於上面2條命令
coreutils-8.4-19.el6.i686
`` (反引號) 做用:優先執行裏面的命令
-------------------------------------------------------------------------------------------------------------------------------------------------
find命令
用途:用於查找文件或目錄
格式:find [查找範圍] [查找條件] [動做]
經常使用查找條件
-name:按文件名稱查找
-size: 按文件大小查找
-user: 按文件屬主查找
-type: 按文件類型查找
-perm :按文件權限查找
-mtime :按文件更改時間查找
eg:[root@teacher lianxi]# find / -name zhongguohehuoren -exec cp {} /zhou \;
find 是一個查找的命令
/ 查找的範圍和位置
-name 根據名字來查找
zhongguohehuoren 是文件名
-exec 執行後面的命令
cp 是複製的命令
{} 用來存放前面的find命令查找的結果。至關於一個容器,用來存放find找的結果
/zhou 是cp複製內容的目的地
\; 結束標誌
[root@teacher lianxi]# find / -name zhongguohehuoren -ok rm -rf {} \;
< rm ... /bin/zhongguohehuoren > ? y
< rm ... /lianxi/zhongguohehuoren > ? y
< rm ... /zhongguohehuoren > ? y
[root@teacher lianxi]#
-ok選項會提醒你是否要執行後面的刪除命令
[root@teacher boot]# find /boot -size +1024k -o -name "vmlinuz*" |xargs ls -l
-a and
-o or
not !
| 管道符號:將前面一個命令的輸出送給後面一個命令做爲輸入
xargs 是將前面命令的輸出作爲參數送給後面的命令使用
[root@teacher lianxi]# find . ! -type d 查找當前目錄下不是文件夾的文件(非目錄)
find / -name vmlinuz* -a -type f -a -size +1M
-type 類型
f (file) 普通文件
d (directory) 目錄(文件夾)
c 字符設備(character)
b 塊設備 (block)
l (link) 連接文件
p 管道
-mtime (modify time)修改時間
+5 5天以前
-5 5天內
-mmin 根據分鐘來查找
-user 根據用戶來找
atime (access)訪問時間
ctime(change) 改變文件的屬性(時間、大小、屬主、屬組等)
mtime (modify)修改過裏面的內容
-------------------------------------------------------------------------------------------------------------------------------------------------
alias 查看系統裏定義的別名
[root@teacher china_voice]# alias
alias c='clear'
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@teacher china_voice]#
[root@teacher china_voice]# alias cc="rm -rf" 定義cc的別名是實現rm -rf的效果,可是系統從新啓動就沒有做用了
[root@teacher china_voice]# ls
hunantv jiangshutv passwd zhejiangtv
[root@teacher china_voice]# cc zhejiangtv/ 使用
[root@teacher china_voice]# ls
hunantv jiangshutv passwd
[root@teacher china_voice]#
[root@teacher china_voice]# unalias cc 取消別名
===
永久有效,別名
[root@teacher china_voice]# vim ~/.bashrc
[root@teacher china_voice]# cat ~/.bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias c=clear
alias mk=mkdir ---》增長
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
[root@teacher china_voice]#
-------------------------------------------------------------------------------------------------------------------------------------------------
file命令
用途:查看文件類型
- 普通文件
d 目錄 (directory)
l 連接文件(link)
c 字符文件 (charecter)
b 塊設備文件(block)
-------------------------------------------------------------------------------------------------------------------------------------------------
ls (list)
-l use a long listing format 以長格式顯示(詳細的信息顯示)
ls -d
-d, --directory 顯示目錄自己的信息,不顯示目錄裏的內容
ls -a
-a, --all 全部的文件(包括隱藏文件)
ls -R
-R, --recursive 遞歸顯示
list subdirectories recursively
ls -h 以人類可以讀的懂的方式顯示(K M G T P E)
-h, --human-readable
ls -lh 不能查看目錄總的大小
du -sh 能夠查看目錄總的大小
但查看文件時效果同樣
在當前目錄下建立一個叫tv的連接文件指向/hunantv目錄
[root@teacher lianxi]# ln -s /hunantv tv
ln (link)
[root@teacher lianxi]# ll tv 連接文件
lrwxrwxrwx 1 root root 8 Jun 5 20:38 tv -> /hunantv
[root@teacher lianxi]# cd tv 進入連接文件,實際上是進入到來連接目錄裏
[root@teacher tv]# pwd 查看路徑
/lianxi/tv
[root@teacher tv]# pwd -P 查看真正的路徑
/hunantv
------------------------------------------------------------------------------------------------------------------------------------------------
cat 查看文件裏的內容
[root@teacher lianxi]# cat -n aa.txt 顯示行號
[root@teacher lianxi]# cat aa.txt hosts 將2個文件裏的內容合併到屏幕上輸出
[root@teacher lianxi]# cat aa.txt >>bb.txt 查看aa.txt文件裏的內容,而後從新定向到bb.txt文件,若是bb.txt文件不存在,則自動創建
>> 輸出重定向(追加) 做用:把原本應該在屏幕上顯示的內容,輸出到別的地方
> 輸出重定向(覆蓋原來的內容)
------------------------------------------------------------------------------------------------------------------------------------------------
echo
[root@teacher lianxi]# echo $PATH
echo 是一個在屏幕輸出內容的命令
$PATH 是引用一個變量的值
PATH是一個變量名
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
PATH變量的值都是系統裏存放命令的路徑.中間使用:冒號隔開
[root@teacher lianxi]# meinv=diaochan 定義了一個變量叫meinv,她的值爲diaochan
[root@teacher lianxi]# echo $shuaige he $meinv
xiaozhou he diaochan
------------------------------------------------------------------------------------------------------------------------------------------------
history
[root@localhost lianxi]# history 查看歷史記錄,保留最近1000條命令
[root@localhost lianxi]# !1075 執行第1075條命令
touch -d "2014-5-23 19:30:30" qq.exe
[root@localhost lianxi]# !chown 執行最近以chown開頭的命令
chown xiaochen:zhou qq.exe
-----------------------------------------------------------------------------------------------------------------------------------------------
壓縮命令
建立壓縮文件的意義:節約空間,備份數據
windows裏的zip、rar
zip
unzip
[root@teacher lianxi]# zip passwd.zip passwd 將passwd文件打成passwd.zip壓縮包
adding: passwd (deflated 70%)
[root@teacher lianxi]# unzip passwd.zip 解壓縮passwd.zip
[root@teacher lianxi]# gzip -9 shadow 壓縮shadow文件,直接在原來的文件上進行,打包後的文件會多一個.gz的文件名
[root@teacher lianxi]# zcat shadow.gz 查看壓縮後文件裏內容
[root@teacher lianxi]# gzip -d shadow.gz 解壓壓縮文件
[root@teacher lianxi]# gunzip lulu.gz 解壓壓縮文件
gzip --》.gz bzip2 --》.bz2
zcat查看.gz壓縮包裏的內容 bzcat查看.bz2壓縮包裏的內容
tar命令
用途:製做歸檔文件、釋放歸檔文件
格式:tar [選項]... 歸檔文件名 源文件或目錄
tar [選項]... 歸檔文件名 [-C 目標目錄]
經常使用命令選項
-c:建立 .tar 格式的包文件 -c, --create
-x:解開.tar格式的包文件 -x, --extract,
-v:輸出詳細信息 -v, --verbose
-f:表示使用歸檔文件 -f, --file
-t:列表查看包內的文件
-t, --list
list the contents of an archive
-p:保持原文件的原來屬性
-p, --preserve-permissions
-P:保持原文件的絕對路徑
-P, --absolute-names
don’t strip leading ‘/’s from file
names
-j --bzip2 建立壓縮包: -cjvf --->tar.bz2
-z, --gzip -czvf --->tar.gz
將當前目錄下的xiaozhou打成壓縮包叫xiaozhou.tar.gz
[root@teacher lianxi]# tar czvf xiaozhou.tar.gz xiaozhou
[root@teacher lianxi]# tar cjvf xiaozhou.tar.bz2 xiaozhou
查看壓縮文件裏的內容
[root@teacher lianxi]# tar tvf xiaozhou.tar.gz
-tx 是解壓文件
不管是.tar.gz 仍是.tar.bz2均可以解壓
[root@teacher bak]# tar xf hosts-2.tar.bz2 -P
-P 在建立tar包文件的時候使用,會保留文件的絕對路徑,在解壓的時候使用,會按照絕對路徑去釋放壓縮包的內容,會替換原來的文件。
注意,儘可能不使用-P選項
解壓後替換原來存在的文件
[root@teacher bak]# tar xf hosts.tar.gz
默認狀況下,解壓文件,會解壓到當前目錄下
解壓時指定路徑使用-C
建立壓縮文件時不使用-C,使用絕對路徑
-C 指定解壓路徑
[root@teacher bak]# tar xf hosts-2.tar.bz2 -C /zhou
tar: Removing leading `/' from member names
[root@teacher bak]# ls /zhou
bak
------------------------------------------------------------------------------------------------------------------------------------------------
cp命令
用途:複製(Copy)文件或目錄
格式:cp [選項]... 源文件或目錄… 目標文件或目錄
-r:遞歸複製整個目錄樹
-a: 複製時保留連接、文件屬性,並遞歸地複製目錄
[root@teacher tar]# cp /etc/hosts /etc/passwd ./
將/etc/hosts和/etc/passwd都複製當前目錄下
目的地只有一個,被複制的文件能夠有不少個
------------------------------------------------------------------------------------------------------------------------------------------------
mv命令
用途:移動(Move)文件(剪切)或目錄和重命名
mv - move (rename) files
—— 若若是目標位置與源位置相同,則至關於更名
格式:mv [選項]... 源文件或目錄… 目標文件或目錄
[root@localhost lianxi]# mv hunan/ /uuu/
[root@localhost lianxi]# ls
a wudangshan
[root@localhost lianxi]# ls /uuu/
hunan
[root@localhost lianxi]#
[root@localhost lianxi]# mv wudangshan/ hubei-wudang 重命名
[root@localhost lianxi]# ls
a hubei-wudang
[root@localhost lianxi]#
當後面接的文件和目錄存在的時候,就是移動。可是文件夾不能移動到文件裏
當後面接的文件和目錄不存在的時候,就是重命名
------------------------------------------------------------------------------------------------------------------------------------------------
more命令
用途:全屏方式分頁顯示文件內容
交互操做方法:
按Enter鍵向下逐行滾動
按空格鍵向下翻一屏、按b鍵向上翻一屏
按q鍵退出
less命令
用途:與more命令相同,但擴展功能更多
交互操做方法:
與more命令基本相似,但個別操做會有些出入
【page down】【page up】上翻下翻頁
head命令
用途:查看文件開頭的一部份內容(默認爲10行)
格式:head -n 文件名
tail命令
用途:查看文件結尾的少部份內容(默認爲10行)
格式:tail -n 文件名
[root@teacher lianxi]# tail -2 hosts 顯示尾2行
tail -f 動態的監測某個文件的變化
tail命令高級用法
格式:tail -n 數字 文件名
數字:數字前有 +(加號),從文件開頭指定的單元 數開始輸出;數字前有 -(減號),從文件末尾指定的單元 數開始輸出;沒有 +或 -,從文件末尾指定的單元 數開始輸出。
例如:
tail -n +3 /etc/passwd 從第三行開始顯示
tail -n -3 /etc/passwd 顯示最後三行
head -n -3 /etc/passwd 不顯示最後三行
head -n +3 /etc/passwd 顯示前三行
[root@teacher lianxi]# cat -n hosts|head -3|tail -1 顯示第3行的內容
3 10.0.0.253 teacher.sxkeji.com teacher
[root@teacher lianxi]# cat -n hosts |head -4|tail -2顯示第3,4行內容
3 10.0.0.253 teacher.sxkeji.com teacher
4 zhou jun jie
------------------------------------------------------------------------------------------------------------------------------------------------
rm 刪除文件和目錄
rm - remove files or directories
-f, --force 強制刪除
-r, -R, --recursive 遞歸刪除
remove directories and their contents
recursively
-i prompt before every removal 刪除任何文件前進行提醒linux