Linux的入門命令_Linux教程

      編輯Tag賺U幣
      教程Tag:linux命令添加

        我們在開始學習之前,規定一下符號的意義:

        #表示是root 的shell.$表示一般用戶的shell.

        首先介紹一些在Linux下的基本命令:

        (1) man

        中文描述: man的作用是對你熟悉或者不熟悉的命令提供詳細的幫助.

        安裝的默認文檔的路徑在/usr/man目錄下面.

        示例:

        [bkbll@market man]$ man ls

        LS(1) FSF LS(1)

        NAME

        ls - list directory contents

        SYNOPSIS

        ls [OPTION]... [FILE]...

        DESCRIPTION

        List information about the FILEs (the current directory by

        default). Sort entries alphabetically if none of -cftuSUX

        nor --sort.

        …………………………………………………………………….

        按空格鍵翻頁,輸入/后面加查詢內容 可以查詢.

        按q鍵或者ctrl+c退出.隨便說一句,在linux下可以使用ctrl+c終止當前程序運行.

        當然,這需要你的英語比較好.

        (2) ls

        中文描述:查看目錄或者文件的屬性,列舉出任一目錄下面的文件.

        示例:

        [bkbll@market man]$ ls /usr/man

        man1 man2 man3 man4 man5 man6 man7 man8 man9 manl mann share whatis

        還可以這樣:

        [bkbll@market bkbll]$ ls -l

        total 704

        drwxr-xr-x  5 bkbll bkbll 4096 Feb 21 11:24 Desktop

        -rw-r--r--  1 bkbll bkbll 34545 Jul 18 16:41 Filter-1.23.tar.gz

        -rw-r--r--  1 bkbll bkbll 3805 Mar 20 1996 Makefile

        drwxrwxr-x 2 bkbll bkbll 4096 Mar 8 19:19 Net

        -rw-r--r--  1 bkbll bkbll 60834 Mar 21 1996 README

        -rwxrwxr-x 1 bkbll bkbll 18239 Jul 27 22:07 a.out

        -rwxr-xr-x  1 bkbll bkbll 2463 Jul 16 19:34 apache3.pl

        -rw-rw-r-- 1 bkbll bkbll 10320 Jul 16 09:16 bind.c

        -rw-rw-r-- 1 bkbll bkbll 25 Jul 9 11:56 cool.t

        -rwxrwxr-x 1 bkbll bkbll 12052 Mar 1 12:02 crypt

        -rw-rw-r-- 1 bkbll bkbll 174 Mar 1 12:02 crypt.c

        drwxrwxr-x 2 bkbll bkbll 4096 Jul 16 10:59 data

        下面詳細介紹一下上面的含義.

        drwxrwxr-x 2 bkbll bkbll 4096 Jul 16 10:59 data

        | --------- | ---- ---- ---- ------------ -----

        1 2 3 4   5   6  7   8

        1 表示文件結構.比如d表示目錄(directory),如果是一個”-“表示是文件,如果是l則表示是一個連接文件(link) .

        2.表示文件或者目錄許可權限.分別用可讀(r),可寫(w),可運行(x).

        rwx rwx r-x

        --- --- ----

        u  g  o

        u表示文件主人,既上面列表第4項表示,文件主人為bkbll,

        g 表示文件文件所在組.上面第5項表示,文件組為bkbll

        o 表示其他人.

        上面的意思就是:允許文件主人bkbll有可讀,可寫,可執行的權限.

        允許文件組bkbll里面的所以成員對其有可讀,可寫,可執行的權限

        允許其他人有可讀以及可執行的權限.

        可以用一個8進制位表示.

        0000 右起第一位表示x,第二位表示w,第三位表示r.

        比如:rwx就可以用7表示.bin(111)=oct(7).

        那么上面的屬性就可以用775表示.

        所以如果你想讓其他文件也具有類似data的權限,可以使用chmod 775 文件名來轉換.

        3. 表示目錄層次結構.比如: 2表示data目錄下面還有一層的子目錄.所以文件都是1了.

        4. 表示文件(或目錄)屬主.

        5. 表示文件(或目錄)所屬組.

        6. 文件或目錄大小.以字節為單位.

        7. 文件或目錄建立日期.

        8. 文件或者目錄名字

        (3) . cp

        中文描述:拷貝文件.

        用法:cp filename1 filename2

        把filename1拷貝成filename2

        舉例:

        [bkbll@market bkbll]$ cp fing.c lpd/fing2.c

        [bkbll@market bkbll]$ ls lpd/

        fing2.c qib qib.tgz

        [bkbll@market bkbll]$

        把當前目錄下面的fing.c拷貝成lpd目錄下面的fing2.c文件.

        提示:拷貝目錄加一個-r參數

        (4).rm

        中文描述:刪除文件和目錄.

        用法:rm 文件名或目錄名.

        舉例:

        [bkbll@market bkbll]$ ls lpd/

        fing2.c qib qib.tgz

        [bkbll@market bkbll]$ cd lpd

        [bkbll@market lpd]$ ls

        fing2.c qib qib.tgz

        [bkbll@market lpd]$ rm fing2.c /*** 刪除fing2.c文件

        [bkbll@market lpd]$ ls

        qib qib.tgz

        [bkbll@market lpd]$ rm qib -r /**刪除目錄qib

        [bkbll@market lpd]$ ls

        qib.tgz

        [bkbll@market lpd]$

        注意:刪除之后不會象windows那樣容易恢復.

        (5).mv

        中文描述:移走目錄或者改文件名.

        用法:mv filename1 filename2

        舉例:

        [bkbll@market lpd]$ mv qib.tgz qi.tgz /** 改名

        [bkbll@market lpd]$ ls /**列舉

        qi.tgz /** 成功改名了

        [bkbll@market lpd]$ mv qib.tgz ../qib.tgz /**移到上一級目錄

        mv: qib.tgz: No such file or directory /** qib.tgz文件不存在,抱錯

        [bkbll@market lpd]$ mv qi.tgz ../qib.tgz /**重新來

        [bkbll@market lpd]$ ls -l ../qib.tgz /**列舉,成功移動.

        -rw-r--r-- 1 bkbll bkbll 13321 Feb 28 20:20 ../qib.tgz

        [bkbll@market lpd]$

        (6).cd ,pwd

        中文描述:cd 改變當前目錄 pwd 查看當前所在目錄完整路徑

        用法:cd 路徑名 ;pwd

        舉例:

        [bkbll@market bkbll]$ pwd /**查看當前所在目錄路徑

        /home/bkbll

        [bkbll@market bkbll]$ cd ftp /**切換到ftp目錄

        [bkbll@market ftp]$ pwd /**成功切換,查看現在的路徑

        /home/bkbll/ftp /**和上面的pwd有什么不同?

        [bkbll@market ftp]$

        cd ,pwd的用法.現在我們繼續. 注意:上次用的html格式,紅色格式表示我們輸入的命令,例如:

        [bkbll@market lpd]$ mv qi.tgz ../qib.tgz /**重新來.

        由于我的失誤,把整行都轉成了紅色. 所以給各位同志的閱讀帶來了難度,讓別人誤解了.其實正確的格式應該是:

        [bkbll@market lpd]$ mv qi.tgz ../qib.tgz /**重新來藍色表示的是用戶的shell環境,其中bkbll表示當前用戶名,如果你是用xieshou進來的,那么就 是[xieshou@**** ***]$了.后面的”@”表示”在”的意思.后面緊接著的是當前機器的名字,比如,現在這臺機器的名字是market,他在/etc/hosts文件里面定義了.您可以通過cat /etc/hosts 來查看文件.比如:

        [bkbll@market bkbll]$ cat /etc/hosts

        127.0.0.1 localhost localhost

        202.202.50.40 market.eschool.edu market

        [bkbll@market bkbll]$

        注意這個”market”.表示的就是機器名字. 后面的lpd代表當前目錄名字.后面的”$”上一節講了,是普通用戶的shell,

        如果是root(既超級 管理員)的.

        7.cat,more命令 中文描述:將某個文件的內容顯示出來.兩個命令所不同的是:cat把文件內容一直打印出來,而 more則分屏顯示.

        用法:cat filename ;more filename 舉例:

        [bkbll@market bkbll]$ cd own /**切換到own目錄

        [bkbll@market own]$ ls /**列舉目錄內容

        1.c 1.h 2.c

        [bkbll@market own]$ cat 1.c /** 顯示1.c文件內容

        main() {

        int i;

        i=6;

        printf("%d",i);

        }

        [bkbll@market own]$ /**等待用戶命令輸入.

       8.chmod 命令

        中文描述: 改變文件保護,文件保護控制用戶對文件的訪問權,有三個安全級別,所有者級別,組訪問級別,其他用戶訪問級別,在這三個級別中,又有三種權限:讀(r),寫(w),執行(x)。(用戶可以ls-lg來觀看某一文件的所屬的group)對于文件來說讀權限意味著可以看文件的內容,寫文件可以修改或刪除文件,執行權限則可以執行它(類似于DOS下的EXE,COM, BAT文件)。對于目錄來說,讀權限意味著可以查看目錄下的內容,寫權限意味著能在目錄下建立新文件,并可以從目錄中刪除文件,執行權限意味著可以從一個目錄轉變到另一個目錄。 用法:chmod 一位8進制數 filename. 這個8位二進制就是上篇文章寫的0000東西. 比如:如果你想讓某個文件有運行的權限,但是只想給自己運行,別人只能讀,那么可以使用 chmod u+x filenmame 其中u表示文件屬組.x表示有x權限,(r代表可讀,w代表可寫,x代表可以運行) 如果想讓同組的人來執行;那么就是: chmod g+x filename 舉例:

        [bkbll@market own]$ ls -l

        total 12

        -rw-rw-r-- 1 bkbll bkbll 39 Jul 30 20:29 1.c

        -rw-rw-r-- 1 bkbll bkbll 43 Jul 18 13:58 1.h

        -rw-rw-r-- 1 bkbll bkbll 88 Jul 18 14:03 2.c

        [bkbll@market own]$ chmod u+x 1.c

        [bkbll@market own]$ ls -l 1.c

        -rwxrw-r-- 1 bkbll bkbll 39 Jul 30 20:29 1.c

        [bkbll@market own]$ chmod g+x 1.c

        [bkbll@market own]$ ls -l 1.c

        -rwxrwxr-- 1 bkbll bkbll 39 Jul 30 20:29 1.c

        [bkbll@market own]$ chmod o+w 1.c

        [bkbll@market own]$ ls -l 1.c

        -rwxrwxrw- 1 bkbll bkbll 39 Jul 30 20:29 1.c

        [bkbll@market own]$

        注意上面的權限位.

        第一次是664(rw rw r)

        第二次就成為:764 (rwx rw r)

        第三次成為774 (rwx rwx r)

        第四次成為:775(rwx rwx rx)呵呵;)頭大了嗎? 慢慢來,其實弄懂了權限位就很清楚了.

        9. clear,date命令

        中文描述:clear:清屏,相當與DOS下的cls;date:顯示當前時間. 用法:clear;date; clear舉例:就不用了吧?J

        date舉例:

        [bkbll@market own]$ date

        Mon Jul 30 21:10:41 HKT 2001

        [bkbll@market own]$

        10.mount 命令

        中文描述:加載一個硬件設備.

        用法:mount [參數] 要加載的設備 載入點. 舉例: 加載軟盤(在linux下軟盤一第要mount上去才能用,和windows不同.) 要運行這個程序,您必須切換到root狀態(忘記說su命令了) 先用 root登陸.(用ALT+F1,ALT+F2,…………ALT+F6切換終端).

        [root@market /root]# mkdir /a /**建立一個目錄,下節補講

        [root@market /root]# mount /dev/fd0H1440 /a

        備注:如果mount /dev/fd0H1440 /a不成功 那么可以運行

        mount -t msdos /dev/fd0H1440 /a 先建立一個目錄,比如:/a表示根目錄下的a.這樣你mount成功后,可以直接象操作目錄,文件一樣 ,操作/a目錄.

        [root@market /a]# ls

        1.jpg 2.pl 4.pl encrypt eschool.so test.pl 1.pl 3.pl decrypt eschool.bs facilities.cgi.bak 上面的就都是軟盤里面的東西. 在取下軟盤之前,必須先umount掉 umount掉之前,請先退出/a目錄. 然后

        [root@market /a]# cd ..

        [root@market /]# umount /a

        [root@market /]# ls /a

        [root@market /]#

        這樣就把軟盤umount掉了.

        光盤就比較容易了:

        [root@market /]# mount /dev/cdrom

        [root@market /]# cd /mnt/cdrom

        [root@market cdrom]# ls

        CONTENTS.TXT Dos IE50 TOOLS WINDOWS handbook.doc

        [root@market cdrom]#

        缺省是mount到了/mnt的cdrom目錄

        10:su命令

        中文描述:在不退出登陸的情況下,切換到另外一個人的身份.

        用法:su -l 用戶名(如果用戶名缺省,則切換到root狀態)

        舉例:

        [bkbll@market own]$ whoami

        bkbll

        [bkbll@market own]$ su -l lltxyz

        Password: /**這里輸入用戶lltxyz的密碼

        [lltxyz@market lltxyz]$ whoami

        lltxyz

        [lltxyz@market lltxyz]$

        切換到root:

        [bkbll@market own]$ whoami

        bkbll

        [bkbll@market own]$ su -l

        Password:

        [root@market /root]# whoami

        root

        [root@market /root]#

        然后可以用exit和ctrl+d退出.

        11.whoami,whereis,which,id

        中文描述:確認自己在終端機上的身份以及查找應用命令程序等的路徑以及幫助文檔所在目錄.

        whoami:確認自己身份.

        whereis:查詢命令所在目錄以及幫助文檔所在目錄.

        which:查詢該命令所在目錄(類似whereis)

        id:打印出自己的UID以及GID.(UID:用戶身份唯一標識.GID:用戶組身份唯一標識.每一個用戶只能有一個唯一的UID和GID.)

        用法:whoami;whereis 命令 ;which 命令;id

        舉例,當你從一臺機器登陸到(telnet)到另外一臺機器上面去的時候,如果登陸過多,您就可能忘記自己的身份了,

        這會給你的工作帶來一些不必要的麻煩.不過使用whoami可以知道自己是誰:

        [bkbll@market bkbll]$ whoami

        bkbll  /*這里就是你登陸的用戶名

        [bkbll@market bkbll]$

        當你在使用一條命令的時候,是否想知道該條命令具體是放在哪個目錄呢?whoami以及whereis提供了查詢的功能.

        所不同的是whereis會在整個的命令目錄下面查找:具體包括:/bin,/usr/bin/,/usr/sbin/等.而且還會查找出該條命令的源碼,

        幫助等文件所在的目錄.(前提是你要裝了所有的源碼).而which則只會簡單的查找一些固定的目錄.舉例:

        [bkbll@market bkbll]$ whereis bin

        bin: /usr/local/bin

        [bkbll@market bkbll]$ which bin

        /usr/bin/which: no bin in (~HOME/./:/bin:/usr/bin:/usr/sbin/:/usr/local/bin:/bin :/usr/bin:/usr/X11R6/bin:/home/bkbll/bin)

        從這里就能看出whereis比which搜索全面吧?

        [bkbll@market bkbll]$ whereis man

        man: /usr/bin/man /etc/man.config /usr/local/man /usr/man/man1/man.1.gz /usr/man /man7/man.7.gz

        [bkbll@market bkbll]$ which man

        /usr/bin/man

        whereis命令能查找出和該命令相關的所有信息,比如配置文件(man.config),幫助文件路徑:/usr/man/man1/man.1.gz

        12.grep,find

        中文描述:最有效的linux搜索軟件.grep:文本內容搜索;find:文件或者目錄名以及權限屬主等匹配搜索.

        基本用法: grep 搜索的字符串 目錄 (-r 如果想在該目錄的子目錄下面查找);find 目錄名 -name 文件名 -print

        舉例:

        [bkbll@market myown]$ grep success * /*查找當前目錄下面所有文件里面含有success字符的文件

        1.pl:print "success$i!\n";}  /*文件1.pl中有success字符串

        3.pl:print "success$i!\n";} /* 文件3.pl中有success字符串

        decrypt: print "encrypted $file to $target success!\n" ; /*文件decrypt有.

        en: print "encrypted $file to $target success!\n" ; /*文件en滿足條件

        encrypt: print "encrypted $file to $target success!\n" ;

        總的說來,每一行均是符合要求的文件內容片段.在第一個冒號的前面就是符合要求的文件名.這個在你在文件數量很大的時候,查找顯得特別有用,

        對我當年學習以及熟悉bbs的源碼取了很大的作用.

        [bkbll@market myown]$ find /etc -name inittab -print /*格式是:find 目錄名(/etc根目錄下etc目錄) -name 文件名(inittab) -print

        find: /etc/X11/xdm/authdir: Permission denied  /*權限不夠,不能瀏覽這個目錄.

        find: /etc/default: Permission denied  /*權限不夠

        /etc/inittab  /*查到這個文件,路徑是/etc/inittab

        find: /etc/webmin: Permission denied   /* 權限不夠.

        [bkbll@market myown]$

        如果沒有找到符合要求的內容,文件,將會直接返回,沒有任何輸出.

        13.kill

        中文描述:可以殺死某個正在進行或者已經是dest狀態的進程.(關于進程的理解,您可以認為是一個程序,但是是程序的最小單位.)

        比如你正在運行的程序已經僵死了,可以形容成為"死機 "狀態,在win98下你只有重啟,但是在這里你可以使用kill命令來殺死你的這個程序進程 ,回到正常的界面.

        比如:

        [bkbll@market /bin]$ ftp download.microsoft.com

        光標就死在那里不動了,這個時候該怎么處理呢?如果你有多個終端,你連上去,把你運行的這個進程給kill掉就好了.

        比如:我用alt+F2,3,4,5 鍵切換到另一個終端console,進去后:

        運行:

        [bkbll@market /bin]$ ps ax

        PID TTY STAT TIME COMMAND

        1 ? S 0:05 init [3]

        2 ? SW 0:00 [kflushd]

        3 ? SW 0:00 [kupdate]

        4 ? SW 0:00 [kpiod]

        5 ? SW 0:00 [kswapd]

        ............................

        12890 pts/0 S 0:00 login -- bkbll

        12891 pts/0 S 0:00 -bash

        13138 pts/0 T 0:00 ftp download.microsoft.com

        13159 pts/0 R 0:00 ps ax

        其中第一列的數字就是我們需要的PID,進程ID,這個在系統上是唯一的,然后從COMMAND列里面找到對應的PID,比如:剛才我們 ftp 那個進程的PID就是

        13138,那我運行:

        [bkbll@market /bin]$ kill -9 13138

        [1]+ Killed ftp download.microsoft.com

        [bkbll@market /bin]$

        其中-9表示強制執行,如果你直接kill 13138沒有反映,那么請加上-9參數.

        執行完了,再用ps -ax命令查看進程:

        bkbll@market /bin]$ ps ax

        PID TTY STAT TIME COMMAND

        1 ? S 0:05 init [3]

        2 ? SW 0:00 [kflushd]

        3 ? SW 0:00 [kupdate]

        4 ? SW 0:00 [kpiod]

        5 ? SW 0:00 [kswapd]

        ............................

        12889 ? S 0:00 in.telnetd: 202.202.50.201

        12890 pts/0 S 0:00 login -- bkbll

        12891 pts/0 S 0:00 -bash

        13163 pts/0 R 0:00 ps ax

        [bkbll@market /bin]$

        其中剛才的那個ftp.進程就已經被殺了.你再切換回來發現終端已經恢復正常.

      來源:網絡搜集//所屬分類:Linux教程/更新時間:2011-12-08
      相關Linux教程