linux的基本shell命令
學(xué)習(xí)linux shell編程最好的方式就是要掌握基本命令,下面由學(xué)習(xí)啦小編為大家整理了linux的基本shell命令總結(jié),希望對(duì)大家有幫助!
Linux基本shell命令總結(jié)
Linux基本shell命令一、文件、目錄操作命令
1、ls命令
功能:顯示文件和目錄的信息
ls 以默認(rèn)方式顯示當(dāng)前目錄文件列表
ls -a 顯示所有文件包括隱藏文件
ls -l 顯示文件屬性,包括大小,日期,符號(hào)連接,是否可讀寫及是否可執(zhí)行
ls -lh 顯示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M2G)
ls -lt 顯示文件,按照修改時(shí)間排序
2、cd命令
功能:改名目錄
cd dir 切換到當(dāng)前目錄下的dir目錄
cd / 切換到根目錄
cd .. 切換到到上一級(jí)目錄
cd ../.. 切換到上二級(jí)目錄
cd ~ 切換到用戶目錄,比如是root用戶,則切換到/root下
3、cp命令
功能:copy文件
cp source target 將文件source復(fù)制為target
cp /root /source. 將/root下的文件source復(fù)制到當(dāng)前目錄
cp –av soure_dir target_dir 將整個(gè)目錄復(fù)制,兩目錄完全一樣
4、rm命令
功能:刪除文件或目錄
rm file 刪除某一個(gè)文件
rm -f file 刪除時(shí)候不進(jìn)行提示??梢杂趓參數(shù)配合使用
rm -rf dir 刪除當(dāng)前目錄下叫dir的整個(gè)目錄
5、mv命令
功能:將文件移動(dòng)走,或者改名,在uinx下面沒(méi)有改名的命令,如果想改名,可以使用該命令
mv source target 將文件source更名為target
6、diff
功能:比較文件內(nèi)容
diff dir1 dir2 比較目錄1與目錄2的文件列表是否相同,但不比較文件的實(shí)際內(nèi)容,不同則列出
diff file1 file2 比較文件1與文件2的內(nèi)容是否相同,如果是文本格式的文件,則將不相同的內(nèi)容顯示,如果是二進(jìn)制代碼則只表示兩個(gè)文件是不同的
comm file1 file2 比較文件,顯示兩個(gè)文件不相同的內(nèi)容
7、ln命令
功能:建立鏈接。windows的快捷方式就是根據(jù)鏈接的原理來(lái)做的
ln source_path target_path 硬連接
ln -s source_path target_path 軟連接
Linux基本shell命令二、查看文件內(nèi)容命令
1、cat命令
顯示文件的內(nèi)容,和DOS的type相同
cat file
2、more命令
功能:分頁(yè)顯示命令
more file
more命令也可以通過(guò)管道符(|)與其他的命令一起使用,例如:
ps ux|more
ls|more
3、tail 命令
功能:顯示文件的最后幾行
tail -n 100 aaa.txt 顯示文件aaa.txt文件的最后100行
4、vi命令
vi file 編輯文件file
vi 原基本使用及命令:
輸入命令的方式為先按[ESC]鍵,然后輸入:w(寫入文件),:w!(不詢問(wèn)方式寫入文件),:wq保存并退出,:q退出,q!不保存退出
5、touch命令
功能:創(chuàng)建一個(gè)空文件
touch aaa.txt 創(chuàng)建一個(gè)空文件,文件名為aaa.txt
Linux基本shell命令三、基本系統(tǒng)命令
1、man命令
功能:查看某個(gè)命令的幫助,如果你不知道某個(gè)命令的用法不懂,可以問(wèn)他,他知道就回告訴你
例如:
man ls 顯示ls命令的幫助內(nèi)容
2、w命令
功能:顯示登錄用戶的詳細(xì)信息
例如:
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命令
功能:查看最近那些用戶登錄系統(tǒng)
例如:
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命令
功能:系統(tǒng)日期設(shè)定
date 顯示當(dāng)前日期時(shí)間
date -s 20:30:30 設(shè)置系統(tǒng)時(shí)間為20:30:30
date -s 2002-3-5 設(shè)置系統(tǒng)時(shí)期為2003-3-5
date -s "060520 06:00:00" 設(shè)置系統(tǒng)時(shí)期為2006年5月20日6點(diǎn)整。
6、clock命令
功能:時(shí)鐘設(shè)置
clock –r 對(duì)系統(tǒng)Bios中讀取時(shí)間參數(shù)
clock –w 將系統(tǒng)時(shí)間(如由date設(shè)置的時(shí)間)寫入Bios
7、uname命令
功能:查看系統(tǒng)版本
uname -R 顯示操作系統(tǒng)內(nèi)核的version
例如:
Sarge:~# uname -a
Linux Sarge 2.6.8-2-386 #1 Tue Aug 16 12:46:35 UTC 2005 i686 GNU/Linux
8、關(guān)閉和重新啟動(dòng)系統(tǒng)命令
reboot 重新啟動(dòng)計(jì)算機(jī)
shutdown -r now 重新啟動(dòng)計(jì)算機(jī),停止服務(wù)后重新啟動(dòng)計(jì)算機(jī)
shutdown -h now 關(guān)閉計(jì)算機(jī),停止服務(wù)后再關(guān)閉系統(tǒng)
halt 關(guān)閉計(jì)算機(jī)
一般用shutdown -r now,在重啟系統(tǒng)是,關(guān)閉相關(guān)服務(wù),shutdown -h now也是如此。
9、su命令
功能:切換用戶
su - 切換到root用戶
su - zhoulj 切換到zhoulj用戶,
注意:- ,他很關(guān)鍵,使用-,將使用用戶的環(huán)境變量
Linux基本shell命令四、監(jiān)視系統(tǒng)狀態(tài)命令
1、top命令
功能:查看系統(tǒng)cpu、內(nèi)存等使用情況
2、free命令
功能:查看內(nèi)存和swap分區(qū)使用情況
例如:
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
功能:現(xiàn)在的時(shí)間 ,系統(tǒng)開(kāi)機(jī)運(yùn)轉(zhuǎn)到現(xiàn)在經(jīng)過(guò)的時(shí)間,連線的使用者數(shù)量,最近一分鐘,五分鐘和十五分鐘的系統(tǒng)負(fù)載
例如:
Sarge:~# uptime
21:54:46 up 31 min, 1 user, load average: 0.00, 0.00, 0.00
4、vmstat命令
功能:監(jiān)視虛擬內(nèi)存使用情況
例如:
# 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命令
功能:顯示進(jìn)程信息
ps ux 顯示當(dāng)前用戶的進(jìn)程
ps uxwww 顯示當(dāng)前用戶的進(jìn)程的詳細(xì)信息
ps aux 顯示所有用戶的進(jìn)程
ps ef 顯示系統(tǒng)所有進(jìn)程信息
6、kill命令
功能:干掉某個(gè)進(jìn)程,進(jìn)程號(hào)可以通過(guò)ps命令得到
kill -9 1001 將進(jìn)程編號(hào)為1001的程序干掉
kill all -9 apache 將所有名字為apapche的程序殺死,kill不是萬(wàn)能的,對(duì)僵死的程序則無(wú)效。
Linux基本shell命令五、磁盤操作命令
1、df命令
功能:檢查文件系統(tǒng)的磁盤空間占用情況??梢岳迷撁顏?lái)獲取硬盤被占用了多少空間,目前還剩下多少空間等信息。
參數(shù) 功能
-a 列出全部目錄
-Ta 列出全部目錄,并且顯示文件類型
-B 顯示塊信息
-i 以i節(jié)點(diǎn)列出全部目錄
-h 按照日常習(xí)慣顯示(如: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、du命令
功能:檢測(cè)一個(gè)目錄和(遞歸地)所有它的子目錄中的文件占用的磁盤空間。
參數(shù) 功能
-s [dirName] 顯示目錄占用總空間
-sk [dirName] 顯示目錄占用總空間,以k為單位
-sb [dirName] 顯示目錄占用總空間,以b為單位
-sm [dirName] 顯示目錄占用總空間,以m為單位
-sc [dirName] 顯示目錄占用總空間,加上目錄統(tǒng)計(jì)
-sh [dirName] 只統(tǒng)計(jì)目錄大小
例如:
# du -sh /etc
1.3M /etc
3、mount命令
功能:使用mount命令就可在Linux中掛載各種文件系統(tǒng)。
格式:mount -t 設(shè)備名 掛載點(diǎn)
(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 設(shè)備名 掛載點(diǎn)
(2)、使用usb設(shè)備
modprobe usb-storage
mkdir /mnt/usb
mount -t auto /dev/sdx1 /mnt/usb
umount /mnt/usb
4、mkswap命令
功能:使用mkswap命令可以創(chuàng)建swap空間,如:
debian:~# mkswap -c /dev/hda4
debian:~# swapon /dev/hda4 #啟用新創(chuàng)建的swap空間,停用可使用swapoff命令
5、fdisk命令
功能:對(duì)磁盤進(jìn)行分區(qū)
fdisk /dev/xxx 格式化xxx設(shè)備(xxx是指磁盤驅(qū)動(dòng)器的名字,例如hdb,sdc)
fdisk -l 顯示磁盤的分區(qū)表
6、mkfs命令
功能:格式化文件系統(tǒng),可以指定文件系統(tǒng)的類型,如ext2、ext3、fat、ntfs等
格式1:mkfs.ext3 options /dev/xxx
格式2:mkfs -t ext2 options /dev/xxx
參數(shù) 功能
-b 塊大小
-i 節(jié)點(diǎn)大寫
-m 預(yù)留管理空間大小
例如:
debian:~#mkfs.ext3 /dev/sdb1
7、e2fsck命令
功能:磁盤檢測(cè)
e2fsck /dev/hda1 檢查/dev/hda1是否有文件系統(tǒng)錯(cuò)誤,提示修復(fù)方式
e2fsck -p /dev/hda1 檢查/dev/hda1是否有錯(cuò)誤,如果有則自動(dòng)修復(fù)
e2fsck -y /dev/hda1 檢查錯(cuò)誤,所有提問(wèn)均于yes方式執(zhí)行
e2fsck -c /dev/hda1 檢查磁盤是否有壞區(qū)
8、tune2fs命令
功能:調(diào)整ext2/ext3文件的參數(shù)
參數(shù) 功能
-l 查看文件系統(tǒng)信息
-c 設(shè)置強(qiáng)制自檢的掛載次數(shù)
-i 設(shè)置強(qiáng)制自檢的間隔時(shí)間,單位天
-m 保留塊的百分比
-j 將ext2文件系統(tǒng)轉(zhuǎn)換成ext3格式
# tune2fs -l /dev/sda1
9、dd命令
功能:功能:把指定的輸入文件拷貝到指定的輸出文件中,并且在拷貝過(guò)程中可以進(jìn)行格式轉(zhuǎn)換。
跟DOS下的diskcopy命令的作用類似。
dd if=/dev/fd0 of=floppy.img 將軟盤的內(nèi)容復(fù)制成一個(gè)鏡像
dd if=floppy.img of=/dev/fd0 將一個(gè)鏡像的內(nèi)容復(fù)制到軟盤,做驅(qū)動(dòng)盤的時(shí)候經(jīng)常用。
Linux基本shell命令六、用戶和組相關(guān)命令
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目錄設(shè)置為user1所有
chown -R user1.user1 /dir 將/dir目錄下所有文件和目錄,設(shè)置為user1所有,組為user1。-R遞歸到下面的每個(gè)文件和目錄
6、chgrp命令
功能:改變文件或目錄的所有組
chgrp user1 /dir 將/dir目錄設(shè)置為user1所有
7、chmod命令
功能:改變用戶的權(quán)限
chmod a+x file 將file文件設(shè)置為可執(zhí)行,腳本類文件一定要這樣設(shè)置一個(gè),否則得用bash file才能執(zhí)行
chmod 666 file 將文件file設(shè)置為可讀寫
chmod 750 file 將文件file設(shè)置為,所有者為完全權(quán)限,同組可以讀和執(zhí)行,其他無(wú)權(quán)限
8、id命令
功能:顯示用戶的信息,包括uid、gid等
# id zhoulj
uid=500(zhoulj) gid=500(zhoulj) groups=500(zhoulj)
9、finger命令
功能:顯示用的信息
注意:debian下沒(méi)有該命令。
# 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.
Linux基本shell命令七、壓縮命令
1、gzip格式命令
功能:壓縮文件,gz格式的
注意:生成的文件會(huì)把源文件覆蓋
gzip -v 壓縮文件,并且顯示進(jìn)度
-d 解壓縮
gnuzip -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
例如:
# 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格式壓縮命令,
注意:生成的文件會(huì)把源文件覆蓋
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命令
功能:歸檔、壓縮等,比較重要,會(huì)經(jīng)常使用。
-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
Linux基本shell命令八、網(wǎng)絡(luò)相關(guān)命令
1、ifconfig命令
功能:顯示修改網(wǎng)卡的信息
ifconfig 顯示網(wǎng)絡(luò)信息
ifconfig eth0 顯示eth0網(wǎng)絡(luò)信息
修改網(wǎng)絡(luò)信息:
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 設(shè)置網(wǎng)卡1的地址192.168.1.1,掩碼為255.255.255.0
ifconfig eth0:1 192.168.1.2 捆綁網(wǎng)卡1的第二個(gè)地址為192.168.1.2
ifconfig eth0:x 192.168.1.n 捆綁網(wǎng)卡1的第n個(gè)地址為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命令
功能:顯示當(dāng)前路由設(shè)置情況
route 顯示當(dāng)前路由設(shè)置情況,比較慢一般不用。
route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254 添加靜態(tài)路由
route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254 添加靜態(tài)路由
route add default gw 192.168.1.1 metric1 設(shè)置192.168.1.1為默認(rèn)的路由
route del default 將默認(rèn)的路由刪除
舉例:
# 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命令
功能:顯示網(wǎng)絡(luò)狀態(tài)
netstat -an 查看網(wǎng)絡(luò)端口信息
netstat -nr 查看路由表信息,比route快多了,
4、啟動(dòng)網(wǎng)絡(luò)的命令
redhat族的命令:
/etc/init.d/network
debian命令:
/etc/init.d/networking
例如:
/etc/init.d/network stop 停止網(wǎng)絡(luò),
/etc/init.d/network start 啟動(dòng)網(wǎng)絡(luò),
5、手工修改網(wǎng)絡(luò)配置
(1)、debian系統(tǒng)
配置文件位置為:/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
修改后保存配置后,運(yùn)行
/etc/init.d/networking restart
網(wǎng)絡(luò)配置就改變了
(2)、redhat系統(tǒng)
配置文件位置為:/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
修改后保存配置后,運(yùn)行
/etc/init.d/network restart
或者
service network restart
網(wǎng)絡(luò)配置就改變了。
默認(rèn)DNS的文件的位置為:/etc/resolv.conf
#cat /etc/resolv.conf
search test.com.cn
nameserver 192.168.1.11
6、網(wǎng)絡(luò)排錯(cuò)
(1)、ping命令
功能:不說(shuō)了,不知道就用干這行了。
ping
(2)、traceroute命令
功能:路由跟蹤
traceroute
traceroute 207.68.173.7
(3)、nslookup命令
功能:域名解析排錯(cuò)
例如:
$ 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
Linux基本shell命令九、其他命令
1、ssh命令
功能:遠(yuǎn)程登陸到其他UNIX主機(jī)
ssh -l user1 192.168.1.2 使用用戶名user1登陸到192.168.1.2
ssh
使用用戶名user1登陸到192.168.1.2
2、scp命令
功能:安全copy
例如:
scp abc.tar.gz
:~ 將本地的abc.tar.gz 復(fù)制到 192.168.1.5的user1用戶的根(/home/user1)下。
3、telnet命令
功能:登陸到遠(yuǎn)程主機(jī)
例如:
telnet 192.168.1.5