1 什麼是Bash 什麼是Shell
Bash 是 GNU Bourne-Again SHell,是目前大多數Linux發行版采用的Shell。
Shell 是 *nix提供給用戶使用的界面。
一個操作系統的底層是獨立運行的,用戶界面和底層分開,可以最大限度的保證系統穩定。Shell就是一個特殊的程序,負責接受用戶的命令,並把系統的響應返回給用戶。
Bash Shell一般不需要自己安裝,在安裝發行版的同時都會安裝好。
Shell的存在是和登陸相關的,從用戶名密碼驗證通過以後,Shell就啟動了,知道你退出,Shell就結束了運行。
除了Bash Shell之外,還有很多其他的Shell。
2 Linux的文件、目錄、程序
Linux的文件、目錄、程序是使用bash操作的主要對象。有必要事先了解一下文件、目錄和程序的概念
文件
Linux中一切都是文件、普通的文件、設備文件、管道也是文件的形式。一切操作都是文件為基礎的。DOS操作系統早期也是模擬這種方式,不過有很多漏洞(比如C:\con\con會藍屏)
文件是有屬性的,有一個屬性表示這個文件是不是目錄,有3個屬性表示這個文件的訪問權限,還有一些表示從這個文件派生出的文件屬性。
目錄
目錄是管理文件的手段,不同的文件要分門別類才容易找到。嚴格的說,目錄也是一種文件,是具有目錄屬性的文件。
文件和目錄都有所有者和所有組。叫UID和GID,對應的,有3個屬性表示相應的權限。後面寫到ls和chmod有詳細地說明。
程序
程序是可以執行的代碼,有些是直接交給內核或者CPU執行的,有些是通過其他程序執行的(解釋腳本),可以運行的程序都有一個可執行的屬性。
3 簡單的命令 ls cp mv mkdir rm chown chmod
前面說了一些枯燥的概念,現在趁著看官還沒有煩躁,開始實際操作的例子。
QUOTE:
Last login: Mon Aug 14 21:52:47 2006 from 61.149.202.143
[root@CERNET ~]#
這就是bash登陸後的樣子。#井號是root特權用戶的提示符號,一般用戶提示符是$符號。
現在輸入ls,列出當前目錄的內容
QUOTE:
[root@CERNET ~]# ls
anaconda-ks.cfg install.log.syslog log4cplus-1.0.2 MceMonitor-install-files.tgz.md5sum vmstat_monitor
Ice-3.0.1 jwsmtp-1.32.11 log4cplus-1.0.2.tar.gz memcached-1.1.12 wuhan.sh
Ice-3.0.1.tar.gz jwsmtp-1.32.11.tar.gz login_keepalived memcached-1.1.12.tar.gz
ids.sh libevent-0.8 MceMonitor sar.log
install.log libevent-0.8.tar.gz MceMonitor-install-files.tgz tmp
再輸入cd /,把當前目錄改為根目錄
QUOTE:
[root@CERNET /]# ls
bin data etc home lib media mnt proc sbin srv tmp var
boot dev eth1.route initrd lost+found misc opt root selinux sys usr
相信你的Linux一定是有顏色的,呵呵。
現在回到原來的目錄(剛登陸的時候那個目錄叫用戶主目錄),然後新建一個目錄叫aaa。
QUOTE:
[root@CERNET /]# cd ~
[root@CERNET ~]# mkdir aaa
[root@CERNET aaa]#
~表示用戶的主目錄,mkdir是建立目錄的命令,還可以這樣用
mkdir {aaa,bbb,ccc,ddd} 會同時建立4個目錄
mkdir -p ~/aaa/bbb/ccc/ddd/eee 這樣在前面目錄不存在的時候,會自動建立。