導航:首頁 > 編程系統 > linuxd命令shell

linuxd命令shell

發布時間:2023-03-15 18:09:59

1. linux命令和shell命令有什麼區別啊

shell翻譯成殼的意思,它是包裹在Linux內核外層的,一個可通過一系列的Linux命令對操作系統發出相關指令的人機界面。shell可以通過其條件語句和循環語句等,把一系列Linux命令結合在一起,形成一個相當於面向過程的程序,即shell
script,從而實現一些復雜的功能。
shell可以說是Linux命令集的概稱,屬於命令行的人機界面。shell是一個用C語言編寫的程序,它是用戶使用Linux的橋梁。shell既是一個命令語言,也是一個程序設計語言;其次,shell也指一種應用程序,這個應用程序提供了一個界面,用戶通過這個界面訪問操作系統內核的服務。
由此可見,shell相當於經過裝飾的命令行,它與命令行一樣,都能操作Linux;但是shell是森顫面向過程的,相當於有了一定的邏輯和過程,而命令行只是單一的操作。
linux命令是對Linux系統進行管理的命令。對於Linux系統來說,無論是中央處理器、內存、磁碟驅動器、鍵盤、滑鼠,還是用戶等都是文件,Linux系統管理的命令是它正常運肆春配行的核心,與之前的DOS命令類似。linux命令在系統中有兩種類型:內置Shell命令和Linux命令。
shell與linux命令的區別
1、直接在命令行執行,就是在當前的shell環境下執行,比如涉及到一些環境變數的時候,必須在當前shell環境里執行。
2、在腳本執行的話,會fork一個子進程,所有操作都在子進程中進行。如果涉及到一些在腳本里設置環境變數的東西,腳本結束了,環境變數就消失了,如果是修改環境變數的話,需要特別注意。
3、shell可以重復或批量地進行一些命令,你裂指也可以把自己要重復執行的命令寫到腳本裡面執行,而命令行的話就需要一個一個的輸入命令,比較麻煩。

2. Linux shell常用命令

Linux shell常用命令匯總

對於經常使用linux系統的博主岩罩來說,基本常用的shell命令是少不了的,下面為大家總結了Linux shell的常用命令,希望對大家有所幫寬棗租助!

1.檢查遠程埠是否對bash開放:

echo >/dev/tcp/8.8.8.8/53 && echo "open"

2.讓進程轉入後台慎兆:

Ctrl + z

3、將進程轉到前台:

fg

4.產生隨機的十六進制數,其中n是字元數:

openssl rand -hex n

5.在當前shell里執行一個文件里的命令:

source /home/user/file.name

6.截取前5個字元:

${variable:0:5}

7.SSH debug 模式:

ssh -vvv user@ip_address

8.SSH with pem key:

ssh user@ip_address -i key.pem

9.用wget抓取完整的網站目錄結構,存放到本地目錄中:

wget -r --no-parent --reject "index.html*" http://hostname/ -P /home/user/dirs

10.一次創建多個目錄:

mkdir -p /home/user/{test,test1,test2}

11.列出包括子進程的進程樹:

ps axwef

12.創建 war 文件:

jar -cvf name.war file

13.測試硬碟寫入速度:

dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img

14.測試硬碟讀取速度:

hdparm -Tt /dev/sda

15.獲取文本的md5 hash:

echo -n "text" | md5sum

16.檢查xml格式:

xmllint --noout file.xml

17.將tar.gz提取到新目錄里:

tar zxvf package.tar.gz -C new_dir

18.使用curl獲取HTTP頭信息:

curl -I http://www.example.com

19.修改文件或目錄的時間戳(YYMMDDhhmm):

touch -t 0712250000 file

20.用wget命令執行ftp下載:

wget -m ftp://username:password@hostname

21.生成隨機密碼(例子里是16個字元長):

LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;

22.快速備份一個文件:

cp some_file_name{,.bkp}

23.訪問Windows共享目錄:

smbclient -U "DOMAIN\user" //dc.domain.com/share/test/dir

24.執行歷史記錄里的命令(這里是第100行):

!100

25.解壓:

unzip package_name.zip -d dir_name

26.輸入多行文字(CTRL + d 退出):

cat > test.txt

27.創建空文件或清空一個現有文件:

\> test.txt

28.與Ubuntu NTP server同步時間:

ntpdate ntp.ubuntu.com

29.用netstat顯示所有tcp4監聽埠:

netstat -lnt4 | awk '{print $4}' | cut -f2 -d: | grep -o '[0-9]*'

30.qcow2鏡像文件轉換:

qemu-img convert -f qcow2 -O raw precise-server-cloudimg-amd64-disk1.img \precise-server-cloudimg-amd64-disk1.raw

31.重復運行文件,顯示其輸出(預設是2秒一次):

watch ps -ef

32.所有用戶列表:

getent passwd

33.Mount root in read/write mode:

mount -o remount,rw /

34.掛載一個目錄(這是不能使用鏈接的情況):

mount --bind /source /destination

35.動態更新DNS server:

nsupdate < <eof p=""> </eof>

update add $HOST 86400 A $IP

send

EOF

36.遞歸grep所有目錄:

grep -r "some_text" /path/to/dir

37.列出前10個最大的文件:

lsof / | awk '{ if($7 > 1048576) print $7/1048576 "MB "$9 }' | sort -n -u | tail

39.打開Vim並跳到文件末:

vim + some_file_name

40.Git 克隆指定分支(master):

git clone [email protected]:name/app.git -b master

41.Git 切換到其它分支(develop):

git checkout develop

42.Git 刪除分支(myfeature):

git branch -d myfeature

43.Git 刪除遠程分支

git push origin :branchName

44.Git 將新分支推送到遠程伺服器:

git push -u origin mynewfeature

45.列印歷史記錄中最後一次cat命令:

!cat:p

46.運行歷史記錄里最後一次cat命令:

!cat

47.找出/home/user下所有空子目錄:

echo >/dev/tcp/8.8.8.8/53 && echo "open"

1.檢查遠程埠是否對bash開放:

find /home/user -maxdepth 1 -type d -empty

48.獲取test.txt文件中第50-60行內容:

< test.txt sed -n '50,60p'

49.運行最後一個命令(如果最後一個命令是mkdir /root/test, 下面將會運行: sudo mkdir /root/test):

sudo !!

50.創建臨時RAM文件系統 – ramdisk (先創建/tmpram目錄):

mount -t tmpfs tmpfs /tmpram -o size=512m

51.Grep whole words:

grep -w "name" test.txt

52.在需要提升許可權的.情況下往一個文件里追加文本:

echo "some text" | sudo tee -a /path/file

53.列出所有kill signal參數:

kill -l

54.在bash歷史記錄里禁止記錄最後一次會話:

kill -9 $$

55.掃描網路尋找開放的埠:

nmap -p 8081 172.20.0.0/16

56.設置git email:

git config --global user.email "[email protected]"

57.To sync with master if you have unpublished commits:

git pull --rebase origin master

58.將所有文件名中含有”txt”的文件移入/home/user目錄:

find -iname "*txt*" -exec mv -v {} /home/user \;

59.將文件按行並列顯示:

paste test.txt test1.txt

60.shell里的進度條:

pv data.log

61.使用netcat將數據發送到Graphite server:

echo "hosts.sampleHost 10 `date +%s`" | nc 192.168.200.2 3000

62.將tabs轉換成空格:

expand test.txt > test1.txt

63.Skip bash history:

< space >cmd

64.去之前的工作目錄:

cd -

65.拆分大體積的tar.gz文件(每個100MB),然後合並回去:

split –b 100m /path/to/large/archive /path/to/output/files

cat files* > archive

66.使用curl獲取HTTP status code:

curl -sL -w "%{http_code}\\n" www.example.com -o /dev/null

67.設置root密碼,強化MySQL安全安裝:

/usr/bin/mysql_secure_installation

68.當Ctrl + c不好使時:

Ctrl + \

69.獲取文件owner:

stat -c %U file.txt

70.block設備列表:

lsblk -f

71.找出文件名結尾有空格的文件:

find . -type f -exec egrep -l " +$" {} \;

72.找出文件名有tab縮進符的文件

find . -type f -exec egrep -l $'\t' {} \;

73.用”=”列印出橫線:全選復制放進筆記

printf '%100s\n' | tr ' ' = ;

3. linux下的 shell到底是什麼啊

在計算機科學中,是指「提供用戶使用界面」的軟體,通常指的是命令行界面的解析器。一般來說,是指操作系統中,提供訪問內核所提供之服務的程序。

4. linux shell 指令 諸如-d, -f, -e之類的判斷表達式

文件比較運算符-e filename

/boot/bzImage ]字元串比較運算符 (請注意引號的使用,這是防止空格擾亂代碼的好方法)

算術比較運算符num1-eq num2 等於 [ 3 -eq $mynum ]

拓展資料:

Linux操作系統

是基於UNIX操作系統發展而來的一種克隆系統,它誕生於1991 年的 [Linux桌面] 10 月5 日(這是第一次正式向外公布的時間)。以後藉助於Internet網路,並通過全世界各地計算機愛好者的共同努力,已成為今天世界上使用最多的一種UNIX 類操作系統,並且使用人數還在迅猛增長。

5. linux系統操作 shell命令里 ls 命令 中的選項 -d 命令 表示輸出什麼

這個選項輸出的是目錄。ls
是列出文件或者目錄的命令,在linux下使用man
ls
查閱命令參數
看樣看到譽態-d的意思慶皮源是顯示目錄,並且不顯示握大呼號鏈接

6. Linux中shell命令相關問題求助大佬

Linux Shell常用shell命令
一、文件、目錄操作命令
1、ls命令
功能:顯示文件和目錄的信息
ls以默認方式顯示當前目錄文件列表
ls -a 顯示所有文件包括隱藏文件
ls -l 顯示文件屬性,包括大小,日期,符號連接,是否可讀寫及是否可執行
ls -lh 顯示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M2G)
ls -lt 顯示文件,按照修改時間排序
2、cd命令
功能:改名目錄
cd dir切換到當前目錄下的dir目錄
cd /切換到根目錄
cd ..切換到到上一級目錄
cd ../..切換到上二級目錄
cd ~切換到用戶目錄,比如是root用戶,則切換到/root下
根目錄與家目錄的區別:
根目錄是系統的一級文件結構,家目錄只是非root用戶控制目錄。相當於windows我的文檔,非root用戶只能完會控制家目錄的文件,不能控制根目錄下其它的文件。
根目錄是設備的最頂層目錄,用 / 表示
家目錄是每個用戶登錄系統後所在的目錄,通常在 /home 下,以用戶名作為目錄,可以用 ~ 表示。
cd / 進入根目錄
cd ~/ 進入家目錄
當然,也可以用 /home/someone 進入someone的家目錄

3、cp命令
功能:文件
cp source target將文件source復制為target
cp /root /source .將/root下的文件source復制到當前目錄
eg:cp /home/open_038_dev/external_files/test/test.sh .
cp –av soure_dir target_dir將整個目錄復制,兩目錄完全一樣
4、rm命令
功能:刪除文件或目錄
rm file刪除某一個文件
rm -f file 刪除時候不進行提示。可以於r參數配合使用
rm -rf dir刪除當前目錄下叫dir的整個目錄
5、mv命令
功能:將文件移動走,或者改名,在uinx下面沒有改名的命令,如果想改名,可以使用該命令
mv source target將文件source更名為target
命令參數:
-b :若需覆蓋文件,則覆蓋前先行備份。
-f :force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋;
-i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋!
-u :若目標文件已經存在,且 source 比較新,才會更新(update)
-t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目標目錄,該選項適用於移動多個源文件到一個目錄的情況,此時目標目錄在前,源文件在後。
實例一:文件改名
命令:
mv test.log test1.txt
實例二:移動文件
命令:
mv test1.txt test3

將文件log1.txt,log2.txt,log3.txt移動到目錄test3中。
mv log1.txt log2.txt log3.txt test3
將文件log1.txt log2.txt log3.txt異動到/opt/soft/test/test4目錄下
mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt
移動當前文件夾下的所有文件到上一級目錄
mv * ../
6、diff
功能:比較文件內容
diff dir1 dir2比較目錄1與目錄2的文件列表是否相同,但不比較文件的實際內容,不同則列出
diff file1 file2比較文件1與文件2的內容是否相同,如果是文本格式的文件,則將不相同的內容顯示,如果是二進制代碼則只表示兩個文件是不同的
comm file1 file2比較文件,顯示兩個文件不相同的內容
7、ln命令
功能:建立鏈接。windows的快捷方式就是根據鏈接的原理來做的
ln source_path target_path 硬連接
ln -s source_path target_path 軟連接
ln是linux中又一個非常重要命令,它的功能是為某一個文件在另外一個位置建立一個同不的鏈接,這個命令最常用的參數是-s,具體用法是:ln –s 源文件 目標文件。
當我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在某個固定的目錄,放上該文件,然後在 其它的目錄下用ln命令鏈接(link)它就可以,不必重復的佔用磁碟空間。例如:ln –s /bin/less /usr/local/bin/less
http://www.cnblogs.com/joeblackzqq/archive/2011/03/20/1989625.html
二、查看文件內容命令
1、cat命令
顯示文件的內容,和DOS的type相同
cat file
2、more命令
功能:分頁顯示命令
morefile
more命令也可以通過管道符(|)與其他的命令一起使用,例如:
ps ux|more
ls|more
3、tail 命令
功能:顯示文件的最後幾行
tail -n 100 aaa.txt 顯示文件aaa.txt文件的最後100行
4、vi命令
vi file編輯文件file
vi 原基本使用及命令:
輸入命令的方式為先按[ESC]鍵,然後輸入:w(寫入文件),:w!(不詢問方式寫入文件),:wq保存並退出,:q退出,q!不保存退出
5、touch命令
功能:創建一個空文件
touch aaa.txt 創建一個空文件,文件名為aaa.txt
三、基本系統命令
1、man命令
功能:查看某個命令的幫助,如果你不知道某個命令的用法不懂,可以問他,他知道就回告訴你
例如:
man ls 顯示ls命令的幫助內容
2、w命令
功能:顯示登錄用戶的詳細信息
例如:
Sarge:~# w
22:06:51 up 43 min, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
zhoulj pts/0 10.140.0.109 21:24 0.00s 0.85s 0.09s sshd: zhoulj [priv]
3、who命令
功能:顯示登錄用戶
例如:
Sarge:~# who
zhoulj pts/0 Mar 13 21:24 (10.140.0.109)
4、last命令
功能:查看最近那些用戶登錄系統
例如:
Sarge:~# last
zhoulj pts/0 10.140.0.109 Mon Mar 13 21:24 still logged in
reboot system boot 2.6.8-2-386 Mon Mar 13 21:23 (00:43)
zhoulj pts/0 10.140.0.105 Sun Mar 12 22:51 - down (00:00)
zhoulj pts/0 10.140.0.105 Sun Mar 12 22:51 - 22:51 (00:00)
root tty1 Sun Mar 12 22:50 - down (00:01)
root tty1 Sun Mar 12 22:46 - 22:48 (00:02)
root tty1 Sun Mar 12 22:43 - 22:46 (00:02)
reboot system boot 2.6.8-2-386 Mon Mar 13 06:34 (-7:-41)
wtmp begins Mon Mar 13 06:34:11 2006
5、date命令
功能:系統日期設定
date顯示當前日期時間
date -s 20:30:30設置系統時間為20:30:30
date -s 2002-3-5設置系統時期為2003-3-5
date -s "060520 06:00:00"設置系統時期為2006年5月20日6點整。
6、clock命令
功能:時鍾設置
clock –r對系統Bios中讀取時間參數
clock –w將系統時間(如由date設置的時間)寫入Bios
7、uname命令
功能:查看系統版本
uname -R顯示操作系統內核的version
例如:
Sarge:~# uname -a
Linux Sarge 2.6.8-2-386 #1 Tue Aug 16 12:46:35 UTC 2005 i686 GNU/Linux
8、關閉和重新啟動系統命令
reboot 重新啟動計算機
shutdown -r now 重新啟動計算機,停止服務後重新啟動計算機
shutdown -h now 關閉計算機,停止服務後再關閉系統
halt 關閉計算機
一般用shutdown -r now,在重啟系統是,關閉相關服務,shutdown -h now也是如此。
9、su命令
功能:切換用戶
su - 切換到root用戶
su - zhoulj 切換到zhoulj用戶,
注意:- ,他很關鍵,使用-,將使用用戶的環境變數
http://man.linuxde.net/su
四、監視系統狀態命令
1、top命令
功能:查看系統cpu、內存等使用情況
2、free命令
功能:查看內存和swap分區使用情況
例如:
Sarge:~# free -tm
total used free shared buffers cached
Mem: 187 42 145 0 6 16
-/+ buffers/cache: 19 167
Swap: 243 0 243
Total: 430 42 388
3、uptime
功能:現在的時間 ,系統開機運轉到現在經過的時間,連線的使用者數量,最近一分鍾,五分鍾和十五分鍾的系統負載
例如:
Sarge:~# uptime
21:54:46 up 31 min, 1 user, load average: 0.00, 0.00, 0.00
4、vmstat命令
功能:監視虛擬內存使用情況
例如:
# vmstat
procs memory swap io system cpu
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 0 63704 8100 32272 0 0 8 3 103 17 0 1 98 1
5、ps命令
功能:顯示進程信息
ps ux 顯示當前用戶的進程
ps uxwww 顯示當前用戶的進程的詳細信息
ps aux 顯示所有用戶的進程
ps ef 顯示系統所有進程信息
6、kill命令
功能:幹掉某個進程,進程號可以通過ps命令得到
kill -9 1001將進程編號為1001的程序幹掉
kill all -9 apache將所有名字為apapche的程序殺死,kill不是萬能的,對僵死的程序則無效。
五、磁碟操作命令
1、df命令
功能:檢查文件系統的磁碟空間佔用情況。可以利用該命令來獲取硬碟被佔用了多少空間,目前還剩下多少空間等信息。
參數 功能
-a 列出全部目錄
-Ta 列出全部目錄,並且顯示文件類型
-B 顯示塊信息
-i 以i節點列出全部目錄
-h 按照日常習慣顯示(如:1K、100M、20G)
-x [filesystype] 不顯示[filesystype]
例如:
# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 ext3 265M 64M 187M 26% /
tmpfs tmpfs 94M 0 94M 0% /dev/shm
/dev/sda6 ext3 714M 8.1M 667M 2% /home
/dev/sda8 ext3 956M 215M 691M 24% /usr
/dev/sda7 ext3 714M 57M 619M 9% /var
2、命令
功能:檢測一個目錄和(遞歸地)所有它的子目錄中的文件佔用的磁碟空間。
參數 功能
-s [dirName] 顯示目錄佔用總空間
-sk [dirName] 顯示目錄佔用總空間,以k為單位
-sb [dirName] 顯示目錄佔用總空間,以b為單位
-sm [dirName] 顯示目錄佔用總空間,以m為單位
-sc [dirName] 顯示目錄佔用總空間,加上目錄統計
-sh [dirName] 只統計目錄大小
例如:
# -sh /etc
1.3M /etc
3、mount命令
功能:使用mount命令就可在Linux中掛載各種文件系統。
格式:mount -t 設備名 掛載點
(1)、mount /dev/sda1 /mnt/filetest
mount -t vfat /dev/hda /mnt/fatfile
mount -t ntfs /dev/hda /mnt/ntfsfile
mount -t iso9660 /dev/cdrom /mnt/cdrom
mount -o 設備名 掛載點
(2)、使用usb設備
modprobe usb-storage
mkdir /mnt/usb
mount -t auto /dev/sdx1 /mnt/usb
umount /mnt/usb
4、mkswap命令
功能:使用mkswap命令可以創建swap空間,如:
debian:~# mkswap -c /dev/hda4
debian:~# swapon /dev/hda4 #啟用新創建的swap空間,停用可使用swapoff命令
5、fdisk命令
功能:對磁碟進行分區
fdisk /dev/xxx 格式化xxx設備(xxx是指磁碟驅動器的名字,例如hdb,sdc)
fdisk -l 顯示磁碟的分區表
6、mkfs命令
功能:格式化文件系統,可以指定文件系統的類型,如ext2、ext3、fat、ntfs等
格式1:mkfs.ext3 options /dev/xxx
格式2:mkfs -t ext2 options /dev/xxx
參數 功能
-b 塊大小
-i 節點大寫
-m 預留管理空間大小
例如:
debian:~#mkfs.ext3 /dev/sdb1
7、e2fsck命令
功能:磁碟檢測
e2fsck /dev/hda1檢查/dev/hda1是否有文件系統錯誤,提示修復方式
e2fsck -p /dev/hda1檢查/dev/hda1是否有錯誤,如果有則自動修復
e2fsck -y /dev/hda1檢查錯誤,所有提問均於yes方式執行
e2fsck -c /dev/hda1檢查磁碟是否有壞區
8、tune2fs命令
功能:調整ext2/ext3文件的參數
參數 功能
-l 查看文件系統信息
-c 設置強制自檢的掛載次數
-i 設置強制自檢的間隔時間,單位天
-m 保留塊的百分比
-j 將ext2文件系統轉換成ext3格式
# tune2fs -l /dev/sda1
9、dd命令
功能:功能:把指定的輸入文件拷貝到指定的輸出文件中,並且在拷貝過程中可以進行格式轉換。
跟DOS下的disk命令的作用類似。
dd if=/dev/fd0 of=floppy.img將軟盤的內容復製成一個鏡像
dd if=floppy.img of=/dev/fd0將一個鏡像的內容復制到軟盤,做驅動盤的時候經常用。
六、用戶和組相關命令
1、groupadd命令
功能:添加組
groupadd test1 添加test1組
groupadd -g 1111 test2 添加test2組,組id為1111
2、useradd命令
功能:添加用戶
useradd user1 添加用戶user1,home為/home/user1,組為user1
useradd -g test1 -m -d /home/test1 test1 添加用戶test1,home為/home/test1,組為test1
user list顯示已登陸的用戶列表
3、passwd命令
功能:更改用戶密碼
passwd user1修改用戶user1的密碼
passwd -d root將root用戶的密碼刪除
4、userdel命令
功能:刪除用戶
userdel user1刪除user1用戶
5、chown命令
功能:改變文件或目錄的所有者
chown user1 /dir將/dir目錄設置為user1所有
chown -R user1.user1 /dir將/dir目錄下所有文件和目錄,設置為user1所有,組為user1。-R遞歸到下面的每個文件和目錄
6、chgrp命令
功能:改變文件或目錄的所有組
chgrp user1 /dir將/dir目錄設置為user1所有
7、chmod命令
功能:改變用戶的許可權
chmod a+x file將file文件設置為可執行,腳本類文件一定要這樣設置一個,否則得用bash file才能執行
chmod 666 file將文件file設置為可讀寫
chmod 750 file 將文件file設置為,所有者為完全許可權,同組可以讀和執行,其他無許可權
8、id命令
功能:顯示用戶的信息,包括uid、gid等
# id zhoulj
uid=500(zhoulj) gid=500(zhoulj) groups=500(zhoulj)
9、finger命令
功能:顯示用的信息
注意:debian下沒有該命令。
# finger zhoulj
Login: zhoulj Name:
Directory: /home/zhoulj Shell: /bin/bash
On since Sun May 21 07:59 (CST) on pts/0 from 192.168.1.4
No mail.
No Plan.
七、壓縮命令
1、gzip格式命令
功能:壓縮文件,gz格式的
注意:生成的文件會把源文件覆蓋
gzip -v 壓縮文件,並且顯示進度
-d 解壓縮
gunzip -f 解壓縮
例如:
# gzip a.sh
#ll
-rwxr-xr-x 1 root root 71 12月 18 21:08 a.sh.gz
# gzip -d a.sh.gz
#ll
-rwxr-xr-x 1 root root 48 12月 18 21:08 a.sh
2、zip格式命令
功能:壓縮和解壓縮zip命令
zip
unzip
例如:
將/home/Blinux/html/這個目錄下所有文件和文件夾打包為當前目錄下的html.zip:
zip -q -r html.zip /home/Blinux/html
(-q:不顯示指令執行過程 -r:遞歸處理,將指定目錄下的所有文件和子目錄一並處理)
# zip a.sh.zip a.sh
adding: a.sh (stored 0%)
# ll
-rw-r--r-- 1 root root 188 5月 21 10:37 a.sh.zip
# unzip a.sh.zip
Archive: a.sh.zip
replace a.sh? [y]es, [n]o, [A]ll, [N]one, [r]ename: r
new name: a1.sh
extracting: a1.sh
# ll
-rwxr-xr-x 1 root root 48 12月 18 21:08 a1.sh
3、bzip2根式命令
功能:bzip2格式壓縮命令,
注意:生成的文件會把源文件覆蓋
bzip2
bunzip2
例如:
# bzip2 a.sh
# ll
-rwxr-xr-x 1 root root 85 12月 18 21:08 a.sh.bz2
# bunzip2 a.sh.bz2
# ll
-rwxr-xr-x 1 root root 48 12月 18 21:08 a.sh
4、tar命令
功能:歸檔、壓縮等,比較重要,會經常使用。
-cvf 壓縮文件或目錄
-xvf 解壓縮文件或目錄
-zcvf 壓縮文件或,格式tar.gz
-zxvf 解壓縮文件或,格式tar.gz
-zcvf 壓縮文件或,格式tgz
-zxvf 解壓縮文件或,格式tgz
舉例:
# tar cvf abc.tar *.sh
# tar xvf abc.tar
# tar czvf abc.tar.gz *.sh
# ll
-rw-r--r-- 1 root root 20480 5月 21 10:50 abc.tar
-rw-r--r-- 1 root root 1223 5月 21 10:53 abc.tar.gz
# tar xzvf abc.tar.gz

八、網路相關命令
1、ifconfig命令
功能:顯示修改網卡的信息
ifconfig 顯示網路信息
ifconfig eth0 顯示eth0網路信息
修改網路信息:
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 設置網卡1的地址192.168.1.1,掩碼為255.255.255.0
ifconfig eth0:1 192.168.1.2 捆綁網卡1的第二個地址為192.168.1.2
ifconfig eth0:x 192.168.1.n 捆綁網卡1的第n個地址為192.168.1.n
例如:
# ifconfig eth0:1 192.168.1.11
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:06:9C:24
inet addr:192.168.1.5 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4220 errors:0 dropped:0 overruns:0 frame:0
TX packets:3586 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:342493 (334.4 Kb) TX bytes:469020 (458.0 Kb)
Interrupt:9 Base address:0x1400
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:06:9C:24
inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:9 Base address:0x1400
2、route命令
功能:顯示當前路由設置情況
route 顯示當前路由設置情況,比較慢一般不用。
route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254 添加靜態路由
route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254 添加靜態路由
route add default gw 192.168.1.1 metric1 設置192.168.1.1為默認的路由
route del default 將默認的路由刪除
舉例:
# route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254
# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.0.0 192.168.1.254 255.255.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
# route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254
# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
3、netstat命令
功能:顯示網路狀態
netstat -an 查看網路埠信息
netstat -nr 查看路由表信息,比route快多了,
4、啟動網路的命令
redhat族的命令:
/etc/init.d/network
debian命令:
/etc/init.d/networking
例如:
/etc/init.d/network stop 停止網路,
/etc/init.d/network start 啟動網路,
5、手工修改網路配置
(1)、debian系統
配置文件位置為:/etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0 eth1
iface eth0 inet static
address 10.4.5.6
netmask 255.255.255.0
network 10.4.5.0
broadcast 10.4.5.255
iface eth1 inet static
address 219.25.5.60
netmask 255.255.255.192
network 219.25.5.0
broadcast 219.25.5.63
gateway 219.25.5.30
修改後保存配置後,運行
/etc/init.d/networking restart
網路配置就改變了
(2)、redhat系統
配置文件位置為:/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.1.5
NETMASK=255.255.255.0
NETWORK=192.168.1.0
GATEWAY=192.168.1.254
ONBOOT=yes
TYPE=Ethernet
修改後保存配置後,運行
/etc/init.d/network restart
或者
service network restart
網路配置就改變了。
默認DNS的文件的位置為:/etc/resolv.conf
#cat /etc/resolv.conf
search test.com.cn
nameserver 192.168.1.11
6、網路排錯
(1)、ping命令
功能:不說了,不知道就用干這行了。
ping
(2)、traceroute命令
功能:路由跟蹤
traceroute
traceroute 207.68.173.7
(3)、nslookup命令
功能:域名解析排錯
例如:
$ nslookup
Note: nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead. Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
>
Server: 192.168.1.11
Address: 192.168.1.11#53
Non-authoritative answer:
Name:
Address: 202.118.66.66
> server 202.118.66.6
Default server: 202.118.66.6
Address: 202.118.66.6#53
>
Server: 202.118.66.6
Address: 202.118.66.6#53
Non-authoritative answer: canonical name =
.
Name:
Address: 202.108.22.5
九、其他命令
1、ssh命令
功能:遠程登陸到其他UNIX主機
ssh -l user1 192.168.1.2 使用用戶名user1登陸到192.168.1.2
ssh
使用用戶名user1登陸到192.168.1.2
2、scp命令
功能:安全
例如:
scp abc.tar.gz
:~ 將本地的abc.tar.gz 復制到 192.168.1.5的user1用戶的根(/home/user1)下。
3、telnet命令
功能:登陸到遠程主機
例如:
telnet 192.168.1.5
————————————————
版權聲明:本文為CSDN博主「Sunshine~L&H」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/LH0912666/article/details/87897629

7. 如何運行linux shell程序

如何運行shell程序,如何在shell程序以及後續腳本中使用同一個變數,這些在工作中經常用到, 我找到如下的文章,再加深復習一下。
1 source命令用法:
source FileName
作用:在當前bash環境下讀取並執行FileName中的命令。該filename文件可以無"執行許可權"
註:該命令通常用命令「.」來替代。
如:source .bash_profile
. .bash_profile兩者等效。
source(或點)命令通常用於重新執行剛修改的初始化文檔。
source命令(從 C Shell 而來)是bash shell的內置命令。
點命令,就是個點符號,(從Bourne Shell而來)。
source的程序主體是bash,腳本中的$0變數的值是bash,而且由於作用於當前bash環境,腳本中set的變數將直接起效

2 sh, bash的命令用法:
sh/bash FileName

作用:打開一個子shell來讀取並執行FileName中命令。該filename文件可以無"執行許可權"

註:運行一個shell腳本時會啟動另一個命令解釋器.
每個shell腳本有效地運行在父shell(parent shell)的一個子進程里.
這個父shell是指在一個控制終端或在一個xterm窗口中給你命令指示符的進程.
shell腳本也可以啟動他自已的子進程.
這些子shell(即子進程)使腳本並行地,有效率地地同時運行腳本內的多個子任務.
在ubuntu中sh只是bash的一個鏈接。
由於是在子shell中執行,腳本設置的變數不會影響當前shell。

3 ./的命令用法:
./FileName
作用:打開一個子shell來讀取並執行FileName中命令。該filename文件需要"執行許可權"
註:運行一個shell腳本時會啟動另一個命令解釋器.
每個shell腳本有效地運行在父shell(parent shell)的一個子進程里.
這個父shell是指在一個控制終端或在一個xterm窗口中給你命令指示符的進程.
shell腳本也可以啟動他自已的子進程.
這些子shell(即子進程)使腳本並行地,有效率地地同時運行腳本內的多個子任務.
由於是在子shell中執行,腳本設置的變數不會影響當前shell。

4 export:
一個變數創建時,它不會自動地為在它之後創建的shell進程所知。而命令export可以向後面的shell傳遞變數的值。當一個shell腳本調用並執行時,它不會自動得到原為腳本(調用者)里定義的變數的訪問權,除非這些變數已經被顯式地設置為可用。export命令可以用於傳遞一個或多個變數的值到任何後繼腳本
5. 舉例
比如您在一個腳本里export $KKK=111 ,假如您用./a.sh執行該腳本,執行完畢後,您運行 echo $KKK ,發現沒有值,假如您用source來執行 ,然後再echo ,就會發現KKK=111。因為調用./a.sh來執行shell是在一個子shell里運行的,所以執行後,結構並沒有反應到父shell里,但是 source不同他就是在本shell中執行的,所以能夠看到結果.
小測試
1 建立test.sh
#!/bin/bash
export s=/home/jboss/
2 執行命令: source test.sh
echo $s
結果輸出: /home/jboss/
3 新開個shell
執行命令: ./test.sh
echo $s
結果: 沒有輸出s值

結論:
1、執行腳本時是在一個子shell環境運行的,腳本執行完後該子shell自動退出。
2、一個shell中的系統環境變數才會被復制到子shell中(用export定義的變數);
3、一個shell中的系統環境變數只對該shell或者它的子shell有效,該shell結束時變數消失(並不能返回到父shell中)。3、不用 export定義的變數只對該shell有效,對子shell也是無效的。

直接執行一個腳本文件是在一個子shell中運行的,而source則是在當前shell環境中運行的。
source可以讓腳本影響它們的父shell環境,這和export去影響子shell環境相反.

8. linux操作系統的shell命令有哪些

1 文件與目錄操作命令

1.1文件內容查詢命令 grep、fgrep、egrep

語法:[選項][查找模式][文件名1,文件名2,……]

選項:

-E 每個模式作為一個擴展的正則表達式對待

-F 每個模式作為一組固定字元串對待,而不作為正則表達式

-i 比較時不區分大小寫

-l 顯示首次匹配匹配串所在的文件名並用換行符將其分開。當在文件中多次出現匹配串時,不重復顯示次文件名;

-x 只顯示整行嚴格匹配的行

1.2文件查找命令 find、locate

語法:

find 起始目錄 尋找條件 操作以名稱和文件屬性查找

選項: -name『字串『 查找文件名匹配所給字串的所有文件,字串內可用通配符*、?、[]。

-lname『字串『 查找文件名匹配所給字串的所有符號鏈接文件,字串內可用通配符*、?、[]。

-gid n 查找屬於ID號為n的用戶組的所有文件。

-uid n 查找屬於ID號為n的用戶的所有文件。

-group『字串『 查找屬於用戶組名為所給字串的所有的文件。

-user『字串『 查找屬於用戶名為所給字串的所有的文件。

-path『字串『 查找路徑名匹配所給字串的所有文件,字串內可用通配符*、?、[]。

-perm 許可權 查找具有指定許可權的文件和目錄,許可權的表示可以如711、644。

-type x 查找類型為 x的文件,

語法:locate 相關字

1.3文件的復制、刪除和移動命令 文件復制命令

[選項] 源文件或目錄 目標文件或目錄

選項:

- a 通常在拷貝目錄時使用

-d 拷貝時保留連接

-f 刪除已經存在的目標文件而不提示

-i 和f選項相反

-p 此時cp除復制源文件內容外,還將其修改的時間和訪問許可權也復制到新文件中

-r 若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下的所有的子目錄和文件,此時目標文件必須為一個目錄名;

-l 不作拷貝,只是鏈接文件文件移動命令

mv[選項] 源文件或目錄 目標文件或目錄

-i 互動式操作

-f 禁止互動式操作文件刪除命令

[選項] 文件…

-f 忽略不存在的文件,從不給出提示

-r 指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除

-i 進行互動式刪除 1.4文件鏈接命令

ln [選項] 目標 [鏈接名] 或 ln [選項] 目標 目錄

選項:

- s 建立符號鏈接

1.5目錄的創建和刪除命令 mkdir 創建一個目錄

語法: [選項] dirname

選項: - m 對新建目錄設置存取許可權

-p 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。

rmdir 刪除空目錄

語法: rmdir [選項] dirname

選項:

- p 遞歸刪除目錄dirname,當子目錄刪除後其父目錄為空時,也一同被刪除。

1.6改變工作目錄,顯示目錄內容命令

1、改變工作目錄: cd [directory]

2、顯示當前工作的目錄的絕對路徑: pwd

3、顯示目錄內容: ls [選項] [目錄或是文件]

選項:

- a 顯示指定目錄下所有子目錄與文件,包括隱藏文件;

-c 按照文件的修改時間排序

-C 分成多列顯示各項

-d 如果參數是目錄,只顯示其名稱而不顯示其下的個文件

-F 在目錄名後面標記「/」,可執行文件後面標記「*」,符號鏈接後面標記「@」,管道(或FIFO)後面標記「|」,socket文件後面標記「=」。

-l 以長格式來顯示文件的詳細信息

-L 若指定的名稱為一個符號鏈接,則顯示鏈接所指向的文件

-t 顯示時按修改時間而不是名字排序

-u 顯示時按文件上次存取的時間而不是名字排序

4、改變文件或目錄的訪問許可權命令chmod [who] [+| - | = ] [mode] 文件名?

Who選項:

- u表示用戶,即文件和目錄的所有者

-g表示同組用戶

-o(other)表示其他用戶

-a (all)表示所有用戶

操作符號: + 添加某個許可權 - 取消某個許可權 = 賦予給定許可權並取消其他所有的許可權(如果有的話)

mode 選項:

- r 可讀

-w 可寫

-x 可執行 chgrp [-R] group filename? 改變目錄或文件所屬的組

chown [-Rv] 用戶或組 文件

1.7備份與壓縮命令

1、tar命令 為文件和目錄創建檔案語法:

tar [主選項+輔助選項] 文件或者目錄 : u 主選項

-c 創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,則選此項

-r 把要存檔的文件追加到檔案文件的末尾

-t 列出檔案文件的內容,查看已經備份了哪些文件;

-u 更新文件

-x 從檔案文件中釋放文件;

-u 輔助選項

-b 該選項為磁帶機設定的,其後跟一位數字,用來說明區塊的大小,系統預設值為20

-f 使用檔案文件或設備,這個選項通常是必選的

-k 保存已經存在的文件。例如把某個文件還原,在還原的過程中,遇到相同的文件,不會進行覆蓋;

-m 在還原文件時,把所有文件的修改時間設定為現在;

-M 創建多卷的檔案文件,以便在幾個磁碟中存放;

-v 詳細報告tar處理的文件信息

-w 每一步都要求確認

-z 用gzip來壓縮/解壓縮文件

2、gzip命令 壓縮/解壓縮命令

語法:gzip [選項] 壓縮(解壓縮)的文件名

選項:

-c 將輸出寫到標准輸出上,並保留原有文件

-d 將壓縮文件解壓

-l 顯示每個壓縮文件的詳細信息

-r 遞歸式地查找指定目錄並壓縮其中的所有文件或者是解壓縮

-t 測試、檢查壓縮文件是否完整

-v 對每一個壓縮和解壓的文件,顯示文件名和壓縮比

3、unzip 命令 用MS windows下的壓縮軟體winzip壓縮的文件在linux系統下展開

語法:unzip [選項] 壓縮文件名.zip

選項: -x 文件列表 解壓縮文件,但不包括指定的file文件

-v 查看壓縮文件目錄,但不解壓

-t 測試文件有無損壞 ,但不解壓

-d 目錄 將壓縮文件解到指定目錄下

-z 只顯示壓縮文件的註解

-n 不覆蓋已經存在的文件

-o 覆蓋已經存在的文件且不要求用戶確認

-j 不重建文檔的目錄結構,把所有文件解壓到同一目錄下

1.8在LINUX環境下運行DOS命令 linux系統提供了一組稱為mtools的可移植工具,可以讓用戶輕松地從標準的DOS軟盤上讀寫文件和目錄。

mcd 目錄名 改變MSDOS目錄 m 源文件 目標文件 在MSDOS和UNIX之間復制文件;

mdel 目錄名 刪除MSDOS目錄 mdir 目錄名 顯示MSDOS目錄 mformat 驅動器號 在低級格式化的軟盤上創建MSDOS文件系統 rnlabel 驅動器號 產生MSDOS卷標 mmd 目錄名 刪除MSDOS目錄 mren 源文件 目標文件 重新命名已存在的MSDOS文件 mtype 文件名 顯示MSDOS文件的內容

2 設備管理命令

1)linux採用下面的形式定義一個IDE硬碟:/dev/hd[drive][partition]

2)SCSI硬碟使用同樣的機製表示: /dev/sd[drive][partition]

3)對於一般的LINUX分區,可以用mkfs將其格式化並生成文件系統,命令如下: mk2fs –c ;

4)裝載文件系統:

mount –t ext2 [-o optioms] partition mountpiont 其中,

-t為指定裝載文件系統的類型;

-o指定一些選項,如只讀ro,可讀可寫rw等等; partition定義分區名稱; mountpiont定義文件系統被裝載的目錄名稱。

5)裝載CD-ROM文件系統:mount –t iso9660 –r /dev/cdrom /mnt/cdrom

6)裝載軟碟機文件系統: CODE:[Copy to clipboard]mount –t msdos –rw /dev/fd0 /dev/mnt/floppy

7)卸載文件系統 CODE:[Copy to clipboard]umount /mnt/cdrom 磁帶設備的安裝要注意以下幾點:

1、 首先要選擇一個唯一的SCSI ID號,然後再將設備鏈接到適當的位置

2、 選擇驅動程序。

3、 生成設備文件。SCSI磁帶設備的主要設備號是9,次要設備號是0。設備文件名通常是/dev/nrst0(不支持回繞的磁帶設備)或/dev/nst0(支持回繞的磁帶設備) 用 ls /dev/*rst* 檢查磁帶設備文件是否存在,如果不存在,用 mknod –m 666 /dev/nrst0 c 9 9 mknod –m 666 /dev/rst0 c 9 0 生成

4、 可以對塊長度、緩存、磁帶密度等參數進行一些設置,例如 mt setblk 20 將塊長度指定為20 mt setblk 0 指定塊程度沒有限制

5、 通過檢查系統的啟動信息可以確定系統是否識別了新的磁帶設備。用dmesg命令,查看是否有以下類似的信息: aha274x:target 4now synchronous at 4.4Mb/s Vendor:TANDBERG Model:TDC 3800 Rev: =05: Type: Sequential-Access ANSI SCSI revision: 02 Detected scsi tape st0 at scsi0, id4, lun0 Scsi : detected 1 SCSI tape 1 SCSI crom 1 SCSI disk total

3 軟體包管理命令

3.1軟體安裝的步驟 在LINUX系統上安裝軟體的步驟有:

1、 查找所要安裝軟體的源文件

2、 把源文件解開放到一個目錄中,命令如下: tar zxvf <源文件名>;

3、 針對本操作系統配置源文件。可以是編輯make文件或其他文件,也可能是運行該軟體自帶的自動配置工具,如./configure

4、 make源文件,通常是運行make命令,即執行 make

5、 安裝二進制文件和其他支撐文件,運行命令: make install

6、 最後,完成所有其他必須的配置

3.2軟體包管理命令 QUOTE: rpm –ivh <軟體包>; // 安裝指定的軟體包,並在安裝過程中用#表示安裝的進度 rpm –Uvh <軟體包>; // 更新一個已經存在的或還沒安裝好的軟體包,並刪除所有該軟體包的舊版本。 rpm –e //卸載一個rpm軟體包 rpm –qa // 查看系統中已經安裝的軟體包 rpm –q <軟體包>; // 查看系統中某個軟體包的版本號; rpm –qlp <軟體包>; //列出某個軟體包中的所有文件 rpm –qf <軟體包>; //找出一個文件屬於哪個軟體包

4 LINUX系統常用命令

4.1 與系統管理有關的命令 Wall (Write All) 對全部已 登錄的用戶發送信息,用戶可以先反要發送的信息寫好存入一個文件中,然後輸入: # wall < FileName 例:Wall 『Thank you !』 Write 向某一用戶發送信息。 Write xxq hello 輸入Ctrl+C組合即可終止 Shutdown命令 Shutdown [選項] [時間] [警告信息]

-k 並不真正關機,而只是發出警告信息給所有的用戶。

-r 關機後立即重新啟動。

-h 關機後不重新啟動。

-f 快速關機,啟動時跳過fsck。

-n快速關機,不經過init程序。

-c 取消一個已經運行的shutdown 例:系統馬上關機:Shutdown –h now Free命令查看當前系統內存的使用情況, CODE:[Copy to clipboard]Free [-b] [-k] [-m] CODE:[Copy to clipboard]-b 以位元組為單位顯示。

-k 以K位元組為單位顯示。

-m 以M位元組為單位顯示。 Uptime QUOTE: 顯示系統已經運行了多長的時間:現在時間、系統已經運行的時間、目前有多少登錄用戶、系統在過去的1分鍾、5分鍾和15分鍾內的平均負載。

4.2與用戶有關的命令 Passwd命令設置、更換用戶口令。

Passwd [用戶名] Su 使一個普通的用戶具有超級用戶的權利,離開可用EXIT命令。 4.3其它命令 Echo命令在顯示器上顯示一段文字,一般起到一個提示的作用。

echo [-n] 字元串 Cal命令顯示某年某月的日歷。

cal [選項] [月[年]]

選項的含義:

-j 顯示也給定月中的每一天是一年中的和幾天(從1月1日算起)。

-y 顯示也整年的日歷。 Date命令 date命令的功能是顯示和設置系統日期和時間。 4.4磁碟管理 磁碟空間管理 df命令檢查文件系統的磁碟空間佔用局部。

Df [選項]

-a 顯示所有文件系統的磁碟使用情況,包括0塊(block)的文件系統,如/proc文件系統。

-k 以K位元組為單位顯示。

-i 顯示i節點信息,而不是磁碟塊。

- t 顯示各指定類型的文件系統的磁碟空間使用情況。

-x 列出不是某一指定類型文件系統的磁碟窨使用情況(與t相反)。

-T 顯示文件系統類型。 命令 的英文原意為disk usage,含義為顯示磁碟空間的使用情況。功能是統計目錄(或文件)所佔磁碟空間的大小。

[選項] [Names…]

-s 對每人Names 參數只給也佔用的數據塊總數。

-a 遞歸地顯示指定目錄中各文件用子孫目錄中的各文件佔用的數據塊總數。

-b 以位元組為單位列也磁碟窨使用情部(預設以K位元組為單位)

-k 以1024位元組為單位列也磁碟空間使用情況。

-c 最後再加上一個總計(系統預設)

-l 計算所有的文件大小,對硬鏈接文件,則計算多次。

-x 跳過在不同文件系統上的目錄不予統計。 dd命令把指定的輸入文件拷貝到指定的輸出文件中,並且在拷貝的過程中可以進行格式轉換。

語法: dd 〔選項〕 if =輸入文件(或設備名稱)。 of =輸出文件(或設備名稱)。 ibs = bytes 一次讀取bytes位元組,即讀入緩沖區的位元組數。 skip = blocks 跳過讀入緩沖區開頭的ibs*blocks塊。 obs = bytes 一次寫入bytes位元組,即寫 入緩沖區的位元組數。 bs = bytes 同時設置讀/寫緩沖區的位元組數(等於設置obs和obs)。 cbs = bytes 一次轉換bytes位元組。 count = blocks 只拷貝輸入的blocks塊。 conv = ASCII 把EBCDIC碼轉換為ASCII碼。 conv = ebcdic 把ASCII碼轉換為EBCDIC碼。 conv = ibm 把ASCII碼轉換為alternate EBCDIC碼。 conv = blick 把變動位轉換成固定字元。 conv = ublock 把固定們轉換成變動位 conv = ucase 把字母由小寫變為大寫。 conv = lcase 把字母由大寫變為小寫。 conv = notrunc 不截短輸出文件。 conv = swab 交換每一對輸入位元組。 conv = noerror 出錯時不停止處理。 conv = sync 把每個輸入記錄的大小都調到ibs的大小(用ibs填充)。 fdformat命令低級格式化軟盤。

format [-n] device QUOTE: -n 格式化後不做檢驗

4.5常用的網路命令 FTP命令 Telnet命令。

Netstat命令

-a 顯示所有的scoket,包括正在監聽和。

-c 每隔1秒就重新顯示一遍,直到用戶中斷它。

-i 顯示所有網路介面的信息,格式同」ifconfig –e」

-n 以網路IP地址代替名稱,顯示也網路連接情形。

-r 顯示核心路由表,格式同」route –e:。

-t 顯示TCP協議的連接情況。

-u 顯示UDP協議的連接情況。

-v 顯示正在進行的工作。 nslookup命令。 finger命令,功能是查詢用戶的信息。 ping命令。(用戶和組的管理可以使用工具:TurboUserCfg或是XturboUserCfg。)

4.6有關進程的命令。 進程和啟動 at [-V] [-q] [-f文件名] [-mldbv]時間 at –c 作業 [作業….] AT命令啟動的進程系統只執行一次。 batch [-V] [-q 隊列] [-f 文件名] [-mv] [時間] 在系統負載較小時,資源比較空閑時執行。 cron命令按一定的時間間隔執行命令。 crontab命令用於安裝、刪除或列出用於驅支cron後台進程的表格。進程查看

who命令。 w命令是一個比who命令更強大的命令 w

–[husfV] [user] -h 不顯示標題。

-u 當列出當前進程和CPU時間時忽略用戶名。

-s 使用短模式。不顯示登錄時間JCPU和PCPU時間。

-f 切換顯示FROM項,也就是遠程主機名項。

-V 顯示版本信息。 user 只顯示指定用戶的情況。 ps命令。

-e 顯示所有進程。

-f 全格式

-h 不顯示標題。

-l 長格式。

-w 寬輸出。 a 顯示終端上所有進程,包括其他用戶的進程。 r 只顯示正在運行的進程。 x 顯示沒有控制終端的進程。 top 命令動態顯示系統當前的進程和其他狀況。 5系統的啟動過程。

9. 求助:LINUX常用SHELL命令

分類: 電腦/網路 >> 操作系統/系統故障
問題描述:

歡迎大家的投稿!!!!!!!

解析:

LINUX常用命令

1 文件與目錄操作命令

1.1文件內容查詢命令

grep、fgrep、egrep

CODE:[Copy to clipboard]語法:grep[選項][查找模式][文件名1,文件名2,……]

選項:

QUOTE:

-E 每個模式作為一個擴展的正則表達式對待

-F 每個模式作為一組固定字元串對待,而不作為正則表達式

-i 比較時不區分大小寫

-l 顯示首次匹配匹配串所在的文件名並用換行符將其分開。當在文件中多次出現匹配串時,不重復顯示次文件名;

-x 只顯示整行嚴格匹配的行

1.2文件查找命令 find、locate

語法:

CODE:[Copy to clipboard]find 起始目錄 尋找條件 操作

以名稱和文件屬性查找

QUOTE:

-name『字串『 查找文件名匹配所給字串的所有文件,字串內可用通配符*、?、[]。

-lname『字串『 查找文件名匹配所給字串的所有符號鏈接文件,字串內可用通配符*、?、[]。

-gid n 查找屬於ID號為n的用戶組的所有文件。

-uid n 查找屬於ID號為n的用戶的所有文件。

-group『字串『 查找屬於用戶組名為所給字串的所有的文件。

-user『字串『 查找屬於用戶名為所給字串的所有的文件。

-path『字串『 查找路徑名匹配所給字串的所有文件,字串內可用通配符*、?、[]。

-perm 許可權 查找具有指定許可權的文件和目錄,許可權的表示可以如711、644。

-type x 查找類型為 x的文件,

語法:locate 相關字

1.3文件的復制、刪除和移動命令

文件復制命令

CODE:[Copy to clipboard]cp [選項] 源文件或目錄 目標文件或目錄

選項:

QUOTE:

- a 通常在拷貝目錄時使用

-d 拷貝時保留連接

-f 刪除已經存在的目標文件而不提示

-i 和f選項相反

-p 此時cp除復制源文件內容外,還將其修改的時間和訪問許可權也復制到新文件中

-r 若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下的所有的子目錄和文件,此時目標文件必須為一個目錄名;

-l 不作拷貝,只是鏈接文件

文件移動命令

CODE:[Copy to clipboard]mv[選項] 源文件或目錄 目標文件或目錄

QUOTE:

-i 互動式操作

-f 禁止互動式操作

文件刪除命令

CODE:[Copy to clipboard]rm[選項] 文件…

QUOTE:

-f 忽略不存在的文件,從不給出提示

-r 指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除

-i 進行互動式刪除

1.4文件鏈接命令

CODE:[Copy to clipboard]ln [選項] 目標 [鏈接名] 或 ln [選項] 目標 目錄

QUOTE:

選項:

- s 建立符號鏈接

1.5目錄的創建和刪除命令

mkdir 創建一個目錄

語法:

CODE:[Copy to clipboard]mkdir [選項] dirname

選項:

- m 對新建目錄設置存取許可權

-p 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。

rmdir 刪除空目錄

語法:

CODE:[Copy to clipboard]rmdir [選項] dirname

QUOTE:

選項:

- p 遞歸刪除目錄dirname,當子目錄刪除後其父目錄為空時,也一同被刪除。

1.6改變工作目錄,顯示目錄內容命令

1、改變工作目錄:

CODE:[Copy to clipboard]cd [directory]

2、顯示當前工作的目錄的絕對路徑:

CODE:[Copy to clipboard]pwd

3、顯示目錄內容:

CODE:[Copy to clipboard]ls [選項] [目錄或是文件]

QUOTE:

選項:

- a 顯示指定目錄下所有子目錄與文件,包括隱藏文件;

-c 按照文件的修改時間排序

-C 分成多列顯示各項

-d 如果參數是目錄,只顯示其名稱而不顯示其下的個文件

-F 在目錄名後面標記「/」,可執行文件後面標記「*」,符號鏈接後面標記「@」,管道(或FIFO)後面標記「|」,socket文件後面標記「=」。

-l 以長格式來顯示文件的詳細信息

-L 若指定的名稱為一個符號鏈接,則顯示鏈接所指向的文件

-t 顯示時按修改時間而不是名字排序

-u 顯示時按文件上次存取的時間而不是名字排序

4、改變文件或目錄的訪問許可權命令

CODE:[Copy to clipboard]chmod [who] [+| - | = ] [mode] 文件名?

QUOTE:

Who選項:

- u表示用戶,即文件和目錄的所有者

-g表示同組用戶

-o(other)表示其他用戶

-a (all)表示所有用戶

QUOTE:

操作符號:

+ 添加某個許可權 - 取消某個許可權

= 賦予給定許可權並取消其他所有的許可權(如果有的話)

QUOTE:

mode 選項:

- r 可讀

-w 可寫

-x 可執行

CODE:[Copy to clipboard]chgrp [-R] group filename? 改變目錄或文件所屬的組

CODE:[Copy to clipboard]chown [-Rv] 用戶或組 文件

1.7備份與壓縮命令

1、tar命令 為文件和目錄創建檔案

語法:

CODE:[Copy to clipboard]tar [主選項+輔助選項] 文件或者目錄

QUOTE:

u 主選項

c 創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,則選此項

r 把要存檔的文件追加到檔案文件的末尾

t 列出檔案文件的內容,查看已經備份了哪些文件;

u 更新文件

x 從檔案文件中釋放文件;

u 輔助選項

b 該選項為磁帶機設定的,其後跟一位數字,用來說明區塊的大小,系統預設值為20

f 使用檔案文件或設備,這個選項通常是必選的

k 保存已經存在的文件。例如把某個文件還原,在還原的過程中,遇到相同的文件,不會進行覆蓋;

m 在還原文件時,把所有文件的修改時間設定為現在;

M 創建多卷的檔案文件,以便在幾個磁碟中存放;

v 詳細報告tar處理的文件信息

w 每一步都要求確認

z 用gzip來壓縮/解壓縮文件

2、gzip命令 壓縮/解壓縮命令

語法:

CODE:[Copy to clipboard]gzip [選項] 壓縮(解壓縮)的文件名

QUOTE:

選項:

-c 將輸出寫到標准輸出上,並保留原有文件

-d 將壓縮文件解壓

-l 顯示每個壓縮文件的詳細信息

-r 遞歸式地查找指定目錄並壓縮其中的所有文件或者是解壓縮

-t 測試、檢查壓縮文件是否完整

-v 對每一個壓縮和解壓的文件,顯示文件名和壓縮比

3、unzip 命令

用MS windows下的壓縮軟體winzip壓縮的文件在linux系統下展開

語法:

CODE:[Copy to clipboard]unzip [選項] 壓縮文件名.zip

QUOTE:

選項:

-x 文件列表 解壓縮文件,但不包括指定的file文件

-v 查看壓縮文件目錄,但不解壓

-t 測試文件有無損壞 ,但不解壓

-d 目錄 將壓縮文件解到指定目錄下

-z 只顯示壓縮文件的註解

-n 不覆蓋已經存在的文件

-o 覆蓋已經存在的文件且不要求用戶確認

-j 不重建文檔的目錄結構,把所有文件解壓到同一目錄下

1.8在LINUX環境下運行DOS命令

linux系統提供了一組稱為mtools的可移植工具,可以讓用戶輕松地從標準的DOS軟盤上讀寫文件和目錄。

QUOTE:

mcd 目錄名 改變MSDOS目錄

m 源文件 目標文件 在MSDOS和UNIX之間復制文件;

mdel 目錄名 刪除MSDOS目錄

mdir 目錄名 顯示MSDOS目錄

mformat 驅動器號 在低級格式化的軟盤上創建MSDOS文件系統

rnlabel 驅動器號 產生MSDOS卷標

mmd 目錄名 刪除MSDOS目錄

mren 源文件 目標文件 重新命名已存在的MSDOS文件

mtype 文件名 顯示MSDOS文件的內容

2 設備管理命令

1)linux採用下面的形式定義一個IDE硬碟:

CODE:[Copy to clipboard]/dev/hd[drive][partition]

2)SCSI硬碟使用同樣的機製表示:

CODE:[Copy to clipboard]/dev/sd[drive][partition]

3)對於一般的LINUX分區,可以用mkfs將其格式化並生成文件系統,命令如下:

CODE:[Copy to clipboard]mk2fs –c <partition>; <size>;

4)裝載文件系統:

CODE:[Copy to clipboard]mount –t ext2 [-o optioms] partition mountpiont

其中,

QUOTE:

-t為指定裝載文件系統的類型;

-o指定一些選項,如只讀ro,可讀可寫rw等等;

partition定義分區名稱;

mountpiont定義文件系統被裝載的目錄名稱。

5)裝載CD-ROM文件系統:

CODE:[Copy to clipboard]mount –t iso9660 –r /dev/cdrom /mnt/cdrom

6)裝載軟碟機文件系統:

CODE:[Copy to clipboard]mount –t msdos –rw /dev/fd0 /dev/mnt/floppy

7)卸載文件系統

CODE:[Copy to clipboard]umount /mnt/cdrom

磁帶設備的安裝要注意以下幾點:

QUOTE:

1、 首先要選擇一個唯一的SCSI ID號,然後再將設備鏈接到適當的位置

2、 選擇驅動程序。

3、 生成設備文件。SCSI磁帶設備的主要設備號是9,次要設備號是0。設備文件名通常是/dev/nrst0(不支持回繞的磁帶設備)或/dev/nst0(支持回繞的磁帶設備)

用 ls /dev/*rst*

檢查磁帶設備文件是否存在,如果不存在,用

mknod –m 666 /dev/nrst0 c 9 9

mknod –m 666 /dev/rst0 c 9 0 生成

4、 可以對塊長度、緩存、磁帶密度等參數進行一些設置,例如

mt setblk 20 將塊長度指定為20

mt setblk 0 指定塊程度沒有限制

5、 通過檢查系統的啟動信息可以確定系統是否識別了新的磁帶設備。用dmesg命令,查看是否有以下類似的信息:

aha274x:target 4now synchronous at 4.4Mb/s

Vendor:TANDBERG Model:TDC 3800 Rev: =05:

Type: Sequential-Access ANSI SCSI revision: 02

Detected scsi tape st0 at scsi0, id4, lun0

Scsi : detected 1 SCSI tape 1 SCSI crom 1 SCSI disk total

3 軟體包管理命令

3.1軟體安裝的步驟

在LINUX系統上安裝軟體的步驟有:

QUOTE:

1、 查找所要安裝軟體的源文件

2、 把源文件解開放到一個目錄中,命令如下:

tar zxvf <源文件名>;

3、 針對本操作系統配置源文件。可以是編輯make文件或其他文件,也可能是運行該軟體自帶的自動配置工具,如./configure

4、 make源文件,通常是運行make命令,即執行 make

5、 安裝二進制文件和其他支撐文件,運行命令: make install

6、 最後,完成所有其他必須的配置

3.2軟體包管理命令

QUOTE:

rpm –ivh <軟體包>;

安裝指定的軟體包,並在安裝過程中用#表示安裝的進度

rpm –Uvh <軟體包>;

更新一個已經存在的或還沒安裝好的軟體包,並刪除所有該軟體包的舊版本。

rpm –e

卸載一個rpm軟體包

rpm –qa

查看系統中已經安裝的軟體包

rpm –q <軟體包>;

查看系統中某個軟體包的版本號;

rpm –qlp <軟體包>;

列出某個軟體包中的所有文件

rpm –qf <軟體包>;

找出一個文件屬於哪個軟體包

4 LINUX系統常用命令

4.1 與系統管理有關的命令

Wall (Write All)

QUOTE:

對全部已 登錄的用戶發送信息,用戶可以先反要發送的信息寫好存入一個文件中,然後輸入:

# wall < FileName

例:Wall 『Thank you !』

Write

向某一用戶發送信息。

Write xxq

hello

輸入Ctrl+C組合即可終止

Shutdown命令

CODE:[Copy to clipboard]Shutdown [選項] [時間] [警告信息]

QUOTE:

-k 並不真正關機,而只是發出警告信息給所有的用戶。

-r 關機後立即重新啟動。

-h 關機後不重新啟動。

-f 快速關機,啟動時跳過fsck。

-n快速關機,不經過init程序。

-c 取消一個已經運行的shutdown

例:系統馬上關機:Shutdown –h now

Free命令

查看當前系統內存的使用情況,

CODE:[Copy to clipboard]Free [-b] [-k] [-m]

CODE:[Copy to clipboard]-b 以位元組為單位顯示。

-k 以K位元組為單位顯示。

-m 以M位元組為單位顯示。

Uptime

QUOTE:

顯示系統已經運行了多長的時間:現在時間、系統已經運行的時間、目前有多少登錄用戶、系統在過去的1分鍾、5分鍾和15分鍾內的平均負載。

4.2與用戶有關的命令

Passwd命令

設置、更換用戶口令。

CODE:[Copy to clipboard]Passwd [用戶名]

Su

使一個普通的用戶具有超級用戶的權利,離開可用EXIT命令。

4.3其它命令

Echo命令

在顯示器上顯示一段文字,一般起到一個提示的作用。

CODE:[Copy to clipboard]echo [-n] 字元串

Cal命令

顯示某年某月的日歷。

CODE:[Copy to clipboard]cal [選項] [月[年]]

QUOTE:

選項的含義:

-j 顯示也給定月中的每一天是一年中的和幾天(從1月1日算起)。

-y 顯示也整年的日歷。

Date命令

date命令的功能是顯示和設置系統日期和時間。

4.4磁碟管理

磁碟空間管理

df命令

檢查文件系統的磁碟空間佔用局部。

CODE:[Copy to clipboard]Df [選項]

QUOTE:

-a 顯示所有文件系統的磁碟使用情況,包括0塊(block)的文件系統,如/proc文件系統。

-k 以K位元組為單位顯示。

-i 顯示i節點信息,而不是磁碟塊。

- t 顯示各指定類型的文件系統的磁碟空間使用情況。

-x 列出不是某一指定類型文件系統的磁碟窨使用情況(與t相反)。

-T 顯示文件系統類型。

命令

的英文原意為disk usage,含義為顯示磁碟空間的使用情況。功能是統計目錄(或文件)所佔磁碟空間的大小。

CODE:[Copy to clipboard] [選項] [Names…]

QUOTE:

-s 對每人Names 參數只給也佔用的數據塊總數。

-a 遞歸地顯示指定目錄中各文件用子孫目錄中的各文件佔用的數據塊總數。

-b 以位元組為單位列也磁碟窨使用情部(預設以K位元組為單位)

-k 以1024位元組為單位列也磁碟空間使用情況。

-c 最後再加上一個總計(系統預設)

-l 計算所有的文件大小,對硬鏈接文件,則計算多次。

-x 跳過在不同文件系統上的目錄不予統計。

dd命令

把指定的輸入文件拷貝到指定的輸出文件中,並且在拷貝的過程中可以進行格式轉換。語法:

CODE:[Copy to clipboard]dd 〔選項〕

QUOTE:

if =輸入文件(或設備名稱)。

of =輸出文件(或設備名稱)。

ibs = bytes 一次讀取bytes位元組,即讀入緩沖區的位元組數。

skip = blocks 跳過讀入緩沖區開頭的ibs*blocks塊。

obs = bytes 一次寫入bytes位元組,即寫 入緩沖區的位元組數。

bs = bytes 同時設置讀/寫緩沖區的位元組數(等於設置obs和obs)。

cbs = bytes 一次轉換bytes位元組。

count = blocks 只拷貝輸入的blocks塊。

conv = ASCII 把EBCDIC碼轉換為ASCII碼。

conv = ebcdic 把ASCII碼轉換為EBCDIC碼。

conv = ibm 把ASCII碼轉換為alternate EBCDIC碼。

conv = blick 把變動位轉換成固定字元。

conv = ublock 把固定們轉換成變動位

conv = ucase 把字母由小寫變為大寫。

conv = lcase 把字母由大寫變為小寫。

conv = notrunc 不截短輸出文件。

conv = swab 交換每一對輸入位元組。

conv = noerror 出錯時不停止處理。

conv = sync 把每個輸入記錄的大小都調到ibs的大小(用ibs填充)。

fdformat命令

低級格式化軟盤。

CODE:[Copy to clipboard]format [-n] device

QUOTE:

-n 格式化後不做檢驗

4.5常用的網路命令

FTP命令

Tel命令。

Netstat命令

QUOTE:

-a 顯示所有的scoket,包括正在監聽和。

-c 每隔1秒就重新顯示一遍,直到用戶中斷它。

-i 顯示所有網路介面的信息,格式同」ifconfig –e」

-n 以網路IP地址代替名稱,顯示也網路連接情形。

-r 顯示核心路由表,格式同」route –e:。

-t 顯示TCP協議的連接情況。

-u 顯示UDP協議的連接情況。

-v 顯示正在進行的工作。

nslookup命令。

finger命令,功能是查詢用戶的信息。

ping命令。

(用戶和組的管理可以使用工具:TurboUserCfg或是XturboUserCfg。)

4.6有關進程的命令。

進程和啟動

CODE:[Copy to clipboard]at [-V] [-q] [-f文件名] [-mldbv]時間

at –c 作業 [作業….]

AT命令啟動的進程系統只執行一次。

batch [-V] [-q 隊列] [-f 文件名] [-mv] [時間]

在系統負載較小時,資源比較空閑時執行。

cron命令

按一定的時間間隔執行命令。

crontab命令

用於安裝、刪除或列出用於驅支cron後台進程的表格。

進程查看

CODE:[Copy to clipboard]who命令。

w命令

是一個比who命令更強大的命令

w –[husfV] [user]

-h 不顯示標題。

-u 當列出當前進程和CPU時間時忽略用戶名。

-s 使用短模式。不顯示登錄時間JCPU和PCPU時間。

-f 切換顯示FROM項,也就是遠程主機名項。

-V 顯示版本信息。

user 只顯示指定用戶的情況。

ps命令。

-e 顯示所有進程。

-f 全格式

-h 不顯示標題。

-l 長格式。

-w 寬輸出。

a 顯示終端上所有進程,包括其他用戶的進程。

r 只顯示正在運行的進程。

x 顯示沒有控制終端的進程。

top 命令

動態顯示系統當前的進程和其他狀況。

5系統的啟動過程。

5.1初始啟動

在PC機啟動時,BIOS從指定的啟動設備中讀入「主引導記錄」(MBR)。MBR的格式是:

地址偏移量 內容 大小

+00 h 可執行的代碼(啟動模塊) 可能變化

+1BE h 第一分區表項 16位元組

+1CE h 第二分區表項 16位元組

+1DE h 第三分區表項 16位元組

+1EE h 第四分區表項 16位元組

+1FE h 可執行的標記(AA55 h) 2位元組

啟動模塊包含足以裝入操作系統的代碼,或者是第二步的載入代碼的位置。啟動模塊需要使用BIOS調用來從磁碟裝入數據,而這些中斷調用,如INT 13h等,限制了最大磁碟柱面號為1023。這也就是說啟動模塊需要載入的一切內容,如初始內存磁碟、內核、啟動的時間信息等,必須存放在1024個柱面以內。

在MBR中只有四個分區表項,每個表項的格式如下:

地址偏移 內容 大小

+00h 分區狀態:00代表非啟動分區,80h代表啟動分區 1位元組

+01h 分區的起始位置 磁頭 1位元組

+02h 分區的起始位置 柱面和扇區 1位元組

+04h 分區的類型 1位元組

+05h 分區的結束位置 磁頭 1位元組

+06h 分區的結束位置 柱面和扇區 1位元組

+08h 在主引導區和本分區的第一個扇區間的扇區數目 4位元組

+0Ch 分區內的扇區數目 4位元組

5.2 Linux的啟動過程

1啟動的命令行參數

在Linux啟動時,它處理所有傳遞給它的命令行參數。這可以影響Linux的運行方式。命令行參數包括:

QUOTE:

mem=xxxM:定Linux可以使用的內存大小。這在用戶的計算機系統有超過64MB的內存時才需要。因為從前的主板只對第一個64MB內存進行緩存,使用超過64MB的內存會使整個計算機的性能下降,所有內存均按無緩存的速度運行。

single:使Linux按單用戶方式啟動,預設方式是多用戶方式。

root=/dev/xxx:指定Linux要安裝為根文件系統的設備。

init=<file>;:指定作為初始化進程的文件。

initrd=<dev>;:指定作為初始內存磁碟的設備。

ro:指定根文件系統為只讀。

rw:指定根文件系統為可讀可寫。

2 Init進程

在內核初始化自身和找到的硬體設備後,在後台啟動進程init(/ *** in/init),init進程號1運行。

在UNIX世界中有許多啟動過程的版本,一些是基於系統V,一些是基於BSD。大多數Linux版本使用系統V的實現方法,在這里描述的就是這樣。

init是由文件/etc/inittab內容和功能控制的,隨啟動模式是單用戶或多用戶而不同。

QUOTE:

單用戶模式:init進程忽略/etc/inittab文件,在執行少數幾個腳本程序後調用/dev/console shell。這樣,用戶就可以有了一個shell,而且可以執行一定限度的任務。

多用戶模式:init進程把系統帶入/etc/inittab文件指定的運行級別。Init通過標準的Linux方法進入一個指定的進行級別。

3.進行級別

Linux與其他UNIX操作系統一樣,可以任何時刻處於任何一個運行級別。這些運行級別提供的功能不同,為主要是由於其運行的服務方程序(後台daemon)的不同造成的。Linux共有6種運行級別。

QUOTE:

0:關閉計算機或終止計算機運行,這個級別就是系統停止運行。

1:單用戶啟動級別,系統只有一個用戶,就是root,該用戶在控制台登錄。

2:多用戶運行級別,但無網路功能。在這個運行級別,網路功能沒有啟動,但是系統允許多個用戶登錄,可以通過虛擬控制台或串列線路。

3:多用戶模式,有網路功能。在這個運行級別,所有標准網路服務均被啟動。

4:目前沒有實現。

5:X11運行級別,在這個運行級別,X伺服器軟體運行,提供圖形界面的登錄方式。

6:系統重新啟動。

查詢當前運行級別:runlevel;

4在啟動過程中運行的腳本

在init進程運行時,它負責查看預設的運行級別,並進入該運行級別。這是通過運行在/etc/rc.d/rcX.d目錄下的腳本程序來實現的,其中X代表運行的級別,即一個運行級別對應一個目錄。不同的字母開頭的文件有不同的作用。其中:

以K開頭的腳本程序是系統離開某個運行級別時執行的,作用是停止某種服務。當系統從某個支持級別變為其他級別時,首先要進行原運行級別所對應的所有K程序。

以S開頭的腳本程序是系統進入某個運行級別時所執行的,作用是啟動某種服務。當系統改變為某個運行級別時,就要運行新運行級別所對應的所有S程序。

5增加啟動腳本程序

用戶可能有一些特定的硬體設備要初始化,或需要在系統啟動時初始化一些其他應用程序,用戶可以增加自己的初始化腳本程序來完成這些工作。通常步驟是:

復制一個已經存在的腳本,這樣可以得到一個通用的框架格式。

修改這個腳本,以完成自己的需求,要注意使程序可以處理啟動和關閉的參數,盡管可能關閉處理什麼也不需要干。

把這個肢本拷貝到/etc/rc.d/init.d目錄下,命名為」serv」。

按下面的方法在相應的目錄下建立運行控制鏈接:

CODE:[Copy to clipboard]ln –s ../init.d/serv/etc/rc.d/rc3.d/s99 serv

進行測試。

6 LILO和其他的啟動模塊

要啟動Linux,啟動模塊是必須的。一般用於Linux的啟動模塊是LILO,LILO用自己的主引導區代替一般的主引導區。LILO可以通過修改/etc/lilo.conf文件內容來進行配置,對引導區內容的更新通過lilo命令來完成。

下面給也了一個裝有DOS,TurboLinux3.4.0和RedHat 5.2系統的計算機的lilo.conf文件。在例子中的數字標號是用戶加上去並要在文中詳細解釋的。

CODE:[Copy to clipboard]# more /etc/lilo.conf

boot=dev/had

map=/boot/map

instll/boot/boot.b

prompt

#表示啟動盤是/dev/had,這是主IDE硬碟。

timeout=50

#表示等待用戶輸入的時間是50秒。

default=TL3.4

other=dev/hda1

#表示如果在上述的時間內沒有輸入,預設的啟動系統是TL3.4,即TurboLinux 3.4.0

label=dos

table=dev/had

#表示如果在LILO提示用戶輸入啟動系統時,用戶按了<Tab>;鍵,各個系統將以label的內容顯示出來,供用戶選擇。

image=/mnt/tl3.4/boot/vmlinuz

label=TL3.4

root=/dev/hda3

read-only

TurboLinux的啟動文件,/mnt/tl3.4/boot/vmlinuz被確定,根文件系統在/dev/hda3,根文件系統是只讀方式的。

CODE:[Copy to clipboard]image=/mnt/rh5.2/boot/vmlinuz-2.0.36-0.7

label=RH5.2

root=/dev/hda4

read-only

RedHat的啟動文件,/mnt/rh5.2/boot/vmlinuz-2.0,36-0.7被確定,根文件系統在/dev/hda4,根文件系統可讀寫。

10. Linux shell 命令,-d, !-d + dirName。解釋一下,謝謝。具體如下:

1、cd,使用「cd」命令跳轉到相應目錄。使用時要確認後面的目標目錄是否存在。

閱讀全文

與linuxd命令shell相關的資料

熱點內容
maya粒子表達式教程 瀏覽:84
抖音小視頻如何掛app 瀏覽:283
cad怎麼設置替補文件 瀏覽:790
win10啟動文件是空的 瀏覽:397
jk網站有哪些 瀏覽:134
學編程和3d哪個更好 瀏覽:932
win10移動硬碟文件無法打開 瀏覽:385
文件名是亂碼還刪不掉 瀏覽:643
蘋果鍵盤怎麼打開任務管理器 瀏覽:437
手機桌面文件名字大全 瀏覽:334
tplink默認無線密碼是多少 瀏覽:33
ipaddgm文件 瀏覽:99
lua語言編程用哪個平台 瀏覽:272
政采雲如何導出pdf投標文件 瀏覽:529
php獲取postjson數據 瀏覽:551
javatimetask 瀏覽:16
編程的話要什麼證件 瀏覽:94
錢脈通微信多開 瀏覽:878
中學生學編程哪個培訓機構好 瀏覽:852
榮耀路由TV設置文件共享錯誤 瀏覽:525

友情鏈接