Linux基本操作命令
首先介紹一個名詞“控制台(console)”,它就是我們通常見到的使用字符操作界面的人機接口,例如dos。我們說控制台命令,就是指通過字符界面輸入的可以操作系統的命令,例如dos命令就是控制台命令。我們現在要了解的是基於Linux操作系統的基本控制台命令。有一點一定要注意,和dos命令不同的是,Linux的命令(也包括文件名等等)對大小寫是敏感的,也就是說,如果你輸入的命令大小寫不對的話,系統是不會做出你期望的響應的。
1、 由字符到圖型#startx或#init 5
2、 由圖形到字符#logout或init 3
3、 注銷#logout或exit或ctrl+d
4、 關機#poweroff或init 0或shutdown now或 halt -p
5、 重啟#reboot或init 6或shutdown -r now
#help提供內部命令的幫助#man或info提供外部命令的幫助。
如果你的英文足夠好,那完全可以不靠任何人就精通linux,只要你會用man。Man實際上就是察看指令用法的help,學習任何一種UNIX類的操作系統最重要的就是學會使用man這個輔助命令。man是manual(手冊)的縮寫字,它的說明非常的詳細,但是因為它都是英文,看起來非常的頭痛。建議大家需要的時候再去看man,平常嗎,記得一些基本用法就可以了。
這個命令就相當於dos下的dir命令一樣,這也是Linux控制台命令中最為重要幾個命令之一。ls最常用的參數有三個: -a -l -F。
ls -a
Linux上的文件以“.”開頭的文件被系統視為隱藏文件,僅用ls命令是看不到他們的,而用ls -a除了顯示 一般文件名外,連隱藏文件也會顯示出來。
ls -l(這個參數是字母L的小寫,不是數字1)
這個命令可以使用長格式顯示文件內容,如果需要察看更詳細的文件資料,就要用到ls -l這個指令。例如我在某個目錄下鍵入ls -l可能會顯示如下信息(最上面兩行是我自己加的):
位置1 2 3 4 5 6 7
文件屬性 文件數 擁有者 所屬的group 文件大小 建檔日期 文件名
drwx------ 2 Guest users 1024 Nov 21 21:05 Mail
-rwx--x--x 1 root root 89080 Nov 7 22:41 tar*
-rwxr-xr-x 1 root bin 5013 Aug 15 9:32 uname*
lrwxrwxrwx 1 root root 4 Nov 24 19:30 zcat->gzip
-rwxr-xr-x 1 root bin 308364 Nov 29 7:43 zsh*
-rwsr-x--- 1 root bin 9853 Aug 15 5:46 su*
下面,我為大家解釋一下這些顯示內容的意義。
第一個欄位,表示文件的屬性。Linux的文件基本上分為三個屬性:可讀(r),可寫(w),可執行(x)。但是這里有十個格子可以添(具體程序實現時,實際上是十個bit位)。第一個小格是特殊表示格,表示目錄或連結文件等等,d表示目錄,例如drwx------;l表示連結文件,如lrwxrwxrwx;如果是以一橫“-”表示,則表示這是文件。其余剩下的格子就以每3格為一個單位。因為Linux是多用戶多任務系統,所以一個文件可能同時被許多人使用,所以我們一定要設好每個文件的權限,其文件的權限位置排列順序是(以-rwxr-xr-x為例):
rwx(Owner)r-x(Group)r-x(Other)
這個例子表示的權限是:使用者自己可讀,可寫,可執行;同一組的用戶可讀,不可寫,可執行;其它用戶可讀,不可寫,可執行。另外,有一些程序屬性的執行部分不是X,而是S,這表示執行這個程序的使用者,臨時可以有和擁有者一樣權力的身份來執行該程序。一般出現在系統管理之類的指令或程序,讓使用者執行時,擁有root身份。
第二個欄位,表示文件個數。如果是文件的話,那這個數目自然是1了,如果是目錄的話,那它的數目就是該目錄中的文件個數了。
第三個欄位,表示該文件或目錄的擁有者。若使用者目前處於自己的Home,那這一欄大概都是它的賬號名稱。
第四個欄位,表示所屬的組(group)。每一個使用者都可以擁有一個以上的組,不過大部分的使用者應該都只屬於一個組,只有當系統管理員希望給予某使用者特殊權限時,才可能會給他另一個組。
第五欄位,表示文件大小。文件大小用byte來表示,而空目錄一般都是1024byte,你當然可以用其它參數使文件顯示的單位不同,如使用ls –k就是用kb來顯示一個文件的大小單位,不過一般我們還是以byte為主。
第六個欄位,表示創建日期。以“月,日,時間”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。
第七個欄位,表示文件名。我們可以用ls –a顯示隱藏的文件名。
ls –F(注意,是大寫的F)
使用這個參數表示在文件的后面多添加表示文件類型的符號,例如*表示可執行,/表示目錄,@表示連結文件,這都是因為使用了-F這個參數。但是現在基本上所有的Linux發行版本的ls都已經內建了-F參數,也就是說,不用輸入這個參數,我們也能看到各種分辨符號。
這個命令是用來進出目錄的,它的使用方法和在dos下沒什么兩樣,所以我覺得沒什么可說的,但有兩點我補充一下。首先,和dos不同的是Linux的目錄對大小寫是敏感的,如果大小寫沒拼對,你的cd操作是成功不了的。其次,cd如果直接輸入,cd后面不加任何東西,會回到使用者自己的Home Directory。假設如果是root,那就是回到/root.這個功能同cd ~是一樣的。
mkdir命令用來建立新的目錄,rmdir用來刪除已建立的目錄,這兩個指令的功能不再多加介紹,他們同dos下的md,rd功能和用法都是基本一樣的。
這個命令相當於dos下面的copy命令,具體用法是:cp –r 源文件(source) 目的文件(target)
參數r是指連同源文件中的子目錄一同拷貝。熟悉dos的讀者用起這個命令來會覺得更方便,畢竟比在dos下面要少敲兩下鍵盤。
這個命令是用來刪除文件的,和dos下面的rm(刪除一個空目錄)是有區別的,大家千萬要注意。rm命令常用的參數有三個: -i,-r,-f。
比如我現在要刪除一個名字為test的一個文件:rm –i test
系統會詢問我們:“rm:remove ‘test’?y”,敲了回車以后,這個文件才會真的被刪除。之所以要這樣做,是因為linux不象dos那樣有undelete的命令,或者是可以用pctool等工具將刪除過的文件救回來,linux中刪除過的文件是救不回來的,所以使用這個參數在刪除前讓你再確定一遍,是很有必要的。
rm –r 目錄名:這個操作可以連同這個目錄下面的子目錄都刪除,功能上和rmdir相似。
rm –f 文件名(目錄名):這個操作可以進行強制刪除。
這個命令的功能是移動目錄或文件,引申的功能是給目錄或文件重命名。它的用法同dos下面的move基本相同,這里不再多講。當使用該命令來移動目錄時,他會連同該目錄下面的子目錄也一同移走。如果你想給一個文件或目錄重命名時可以用以下方法:mv 原文件(目錄)名 新的文件(目錄)名。
du命令可以顯示目前的目錄所占的磁盤空間,df命令可以顯示目前磁盤剩余的磁盤空間。如果du命令不加任何參數,那么返回的是整個磁盤的使用情況,如果后面加了目錄的話,就是這個目錄在磁盤上的使用情況(這個功能可是dos沒有的呦)。不過我一般不喜歡用du,因為它給出的信息是在是太多了,我看不過來,而df這個命令我是最常用的,因為磁盤上還剩多少空間對我來說是很重要的。
這個命令是linux中非常重要的一個命令,它的功能是顯示或連結一般的ascii文本文件。cat是concatenate的簡寫,類似於dos下面的type命令。它的用法如下:
cat text 顯示text這個文件;
cat file1 file2 依順序顯示file1,file2的內容;
cat file1 file2>file3 把file1,file2的內容結合起來,再“重定向(>)”到file3文件中。
“〉”是一個非常有趣的符號,是往右重定向的意思,就是把左邊的結果當成是輸入,然后輸入到file3這個文件中。這里要注意一點是file3是在重定向以前還未存在的文件,如果file3是已經存在的文件,那么它本身的內容被覆蓋,而變成file1+file2的內容。如果〉左邊沒有文件的名稱,而右邊有文件名,例如:
cat >file1:結果是會“空出一行空白行”,等待你輸入文字,輸入完畢后再按[Ctrl]+[c]或[Ctrl]+[d],就會結束編輯,並產生file1這個文件,而file1的內容就是你剛剛輸入的內容。這個過程和dos里面的copy con file1的結果是一樣的。
另外,如果你使用如下的指令:
cat file1>>file2:這將變成將file1的文件內容“附加”到file2的文件后面,而file2的內容依然存在,這種重定向符〉〉比〉常用,可以多多利用。
這是兩個顯示一般文本文件的指令。如果一個文本文件太長了超過一個屏幕的畫面,用cat來看實在是不理想,就可以試試more和less兩個指令。More指令可以使超過一頁的文件臨時停留在屏幕,等你按任何的一個鍵以后,才繼續顯示。而less除了有more的功能以外,還可以用方向鍵往上或往下的滾動文件,所以你隨意瀏覽,閱讀文章時,less是個非常好的選擇。
pwd [--help][--version]
說明:執行pwd指令可立刻得知您目前所在的工作目錄的絕對路徑名稱。
這個命令是用來清除屏幕的,它不需要任何參數,和dos下面的clr具有相同的功能,如果你覺得屏幕太紊亂,就可以使用它清除屏幕上的信息。
這個命令的作用是顯示用戶當前的工作路徑,這個命令不用多說,大家一試即知。
這是linux中又一個非常重要命令,請大家一定要熟悉。它的功能是為某一個文件在另外一個位置建立一個不同的鏈接,這個命令最常用的參數是-s,具體用法是:ln 源文件 –s 目標文件。
當我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在某個固定的目錄,放上該文件,然后在其它的目錄下用ln命令鏈接(link)它就可以,不必重復的占用磁盤空間。例如:ln /bin/less –s /usr/local/bin/less
-s 是代號(symbolic)的意思。
這里有兩點要注意:第一,ln命令會保持每一處鏈接文件的同步性,也就是說,不論你改動了哪一處,其它的文件都會發生相同的變化;第二,ln的鏈接又軟鏈接和硬鏈接兩種,軟鏈接就是ln –s ** **,它只會在你選定的位置上生成一個文件的鏡像,不會占用磁盤空間,硬鏈接ln ** **,沒有參數-s, 它會在你選定的位置上生成一個和源文件大小相同的文件,無論是軟鏈接還是硬鏈接,文件都保持同步變化。
如果你用ls察看一個目錄時,發現有的文件后面有一個@的符號,那就是一個用ln命令生成的文件,用ls –l命令去察看,就可以看到顯示的link的路徑了。
用於查找文件中符合字符串的哪行。
e.g. grep -nr "network_ssl" ./ [查找當前文件夾下所有文件內容,列出包含有 network_ssl該字串的行,並顯示行號]
參數說明: -a :將 binary 文件以 text 文件的方式搜尋數據
-c :計算找到 '搜尋字符串' 的次數
-i :忽略大小寫的不同,所以大小寫視為相同
-n :順便輸出行號
-v :反向選擇,亦即顯示出沒有 '搜尋字符串' 內容的那一行!
$ find . -name "*.txt" -print 用於查找所有的‘ *.txt’文件在當前目錄及子目錄中;
$ find . -name "[A-Z]*" -print 用於當前目錄及子目錄中查找文件名以一個大寫字母開頭的文件;
$ find /etc -name "host*" -print 在/etc目錄中查找文件名以host開頭的文件;
$find . -name "[a-z][a-z][0--9][0--9].txt" -print 在當前目錄查找文件名以兩個小寫字母開頭,跟着是兩個數字,最后是.txt的文件;
1、find命令的一般形式為;
find pathname -options [-print -exec -ok ...]
2、find命令的參數;
pathname: find命令所查找的目錄路徑。例如用.來表示當前目錄,用/來表示系統根目錄。
-print: find命令將匹配的文件輸出到標准輸出。
-exec: find命令對匹配的文件執行該參數所給出的shell命令。相應命令的形式為'command' { } \;,注意{ }和\;之間的空格。
-ok: 和-exec的作用相同,只不過以一種更為安全的模式來執行該參數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓用戶來確定是否執行。
3、find命令選項
-name
按照文件名查找文件。
-perm
按照文件權限來查找文件。
-prune
使用這一選項可以使find命令不在當前指定的目錄中查找,如果同時使用-depth選項,那么-prune將被find命令忽略。
-user
按照文件屬主來查找文件。
-group
按照文件所屬的組來查找文件。
-mtime -n +n
按照文件的更改時間來查找文件, - n表示文件更改時間距現在n天以內,+ n表示文件更改時間距現在n天以前。find命令還有-atime和-ctime 選項,但它們都和-m time選項。
-nogroup
查找無有效所屬組的文件,即該文件所屬的組在/etc/groups中不存在。
-nouser
查找無有效屬主的文件,即該文件的屬主在/etc/passwd中不存在。
-newer file1 ! file2
查找更改時間比文件file1新但比文件file2舊的文件。
-type
查找某一類型的文件,諸如:
b - 塊設備文件。
d - 目錄。
c - 字符設備文件。
p - 管道文件。
l - 符號鏈接文件。
f - 普通文件。
-size n:[c] 查找文件長度為n塊的文件,帶有c時表示文件長度以字節計。
-depth:在查找文件時,首先查找當前目錄中的文件,然后再在其子目錄中查找。
-fstype:查找位於某一類型文件系統中的文件,這些文件系統類型通常可以在配置文件/etc/fstab中找到,該配置文件中包含了本系統中有關文件系統的信息。
-mount:在查找文件時不跨越文件系統mount點。
-follow:如果find命令遇到符號鏈接文件,就跟蹤至鏈接所指向的文件。
-cpio:對匹配的文件使用cpio命令,將這些文件備份到磁帶設備中。
另外,下面三個的區別:
-amin n
查找系統中最后N分鍾訪問的文件
-atime n
查找系統中最后n*24小時訪問的文件
-cmin n
查找系統中最后N分鍾被改變文件狀態的文件
-ctime n
查找系統中最后n*24小時被改變文件狀態的文件
-mmin n
查找系統中最后N分鍾被改變文件數據的文件
-mtime n
查找系統中最后n*24小時被改變文件數據的文件
功能說明:建立或修改備存文件,或是從備存文件中抽取文件。
語 法:ar[-dmpqrtx][cfosSuvV][a<成員文件>][b<成員文件>][i<成員文件>][備存文件][成員文件]
補充說明:ar可讓您集合許多文件,成為單一的備存文件。在備存文件中,所有成員文件皆保有原來的屬性與權限。
參 數:
指令參數
-d 刪除備存文件中的成員文件。
-m 變更成員文件在備存文件中的次序。
-p 顯示備存文件中的成員文件內容。
-q 將問家附加在備存文件末端。
-r 將文件插入備存文件中。
-t 顯示備存文件中所包含的文件。
-x 自備存文件中取出成員文件。
選項參數
a<成員文件> 將文件插入備存文件中指定的成員文件之后。
b<成員文件> 將文件插入備存文件中指定的成員文件之前。
c 建立備存文件。
f 為避免過長的文件名不兼容於其他系統的ar指令指令,因此可利用此參數,截掉要放入備存文件中過長的成員文件名稱。
i<成員文件> 將問家插入備存文件中指定的成員文件之前。
o 保留備存文件中文件的日期。
s 若備存文件中包含了對象模式,可利用此參數建立備存文件的符號表。
S 不產生符號表。
u 只將日期較新文件插入備存文件中。
v 程序執行時顯示詳細的信息。
一種用於互聯網下載包的打包及安裝工具,它包含在某些Linux分發版中。它生成具有.RPM擴展名的文件,與Dpkg類似。
RPM是RedHat Package Manager(RedHat軟件包管理工具)的縮寫,這一文件格式名稱雖然打上了RedHat的標志,但是其原始設計理念是開放式的,現在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分發版本都有采用,可以算是公認的行業標准了。
常用rpm命令
查詢rpm軟件包
#rpm -q 軟件包名
#rpm -qa //查詢安裝的所有軟件包
#rpm -qa|grep 軟件包字符串
#rpm -qf /bin/命令 //查詢命令由哪些軟件包安裝得到
#rpm -qi 軟件包名 //查詢軟件包的詳細信息
#rpm -ql 軟件包名 //查詢軟件包的安裝位置
軟件包的安裝
#rpm -ivh 軟件包
軟件包的升級
#rpm -Uvh 軟件包
軟件包的卸載
#rpm -e 軟件包名
文件打包
#tar -cvf [文件名.tar] [文件……目錄]
查看包文件的內容
#tar -tf 文件名.tar
向已有的包中添加新文件
#tar -rvf [文件名.tar] [新文件……]
釋放包文件#tar -xvf 文件名.tar
壓縮文件#gzip 文件名
解壓縮文件
#gzip -d 文件名.gz 或#gunzip 文件名.gz
創建壓縮包
#tar -zcvf [文件名.tar.gz] [文件1 文件2 …]
查看壓縮包中的內容
#tar -ztf 文件名.tar.gz
釋放壓縮包
#tar -zxvf 文件名.tar.gz
mount是Linux下的一個命令,它可以將分區作為Linux的一個“文件”掛接到Linux的一個空文件夾下,從而將分區和/mnt這個目錄聯系起來,因此我們只要訪問這個文件夾,就相當於訪問該分區了。目前mount已經不僅僅局限於Linux了,在Windows系統下的應用也越來越廣了,多用在虛擬光驅類軟件上,比如Clone CD,Daemon tool,WinMount等。
注意事項
1、必須將光盤、U盤等放入驅動器在實施掛載操作
2、不能在掛載目錄下實施掛載操作,至少在上一級
3、不能在同一目錄下掛載兩個以上的文件系統
4、Linux預留掛載目錄為/mnt
5、不能在掛載目錄下實施卸載操作
6、掛載目錄必須事先存在
掛載光盤
#mount -t iso9660 /dev/cdrom /mnt/cdrom
卸載光盤
#umount /mnt/cdrom或#umount /dev/cdrom或#cd;eject
掛載U盤
#mount /dev/sdb1 /mnt/usb
掛載iso鏡像
#mount -t iso9660 -o loop iso鏡像文件 /mnt/cdrom
#useradd 用戶名 //創建用戶和組
#passwd 用戶名 //設置用戶密碼
#groupadd 組名 //創建組
#usermod –d 路徑 用戶名 //修改用戶宿主目錄
#usermod –u uid 用戶名 //修改用戶的UID
#usermod -s /bin/[csh] 用戶名 //修改用戶啟動shell
#usermod -G 組名 用戶名 //將用戶加入組, 創建私有組
#usermod -g 組名 用戶名 //用戶加入組但不創建私有組
#gpasswd -a 用戶名 組名 //同-G
#gpasswd -d 用戶名 組名 //將用戶從組中刪除
#gpasswd -A 用戶名 組名 //指定用戶成為組的管理員
#usermod -L 用戶名 //鎖定用戶#passwd -l 用戶名 //同上
#usermod -U 用戶名 //解鎖用戶#passwd -u 用戶名 //同上
#usermod -l 新名 原名 //重命名用戶
#groupmod -n 新名 原名 //重命名組
#userdel 用戶名 //刪除用戶#userdel –r 用戶名 //徹底刪除,包括用戶的宿主目錄
#groupdel 組名 //刪除組
#passwd -d 用戶名 /刪除用戶密碼/
查看進程
#ps -aux //查看所有進程(靜態)
#top //查看動態變化的進程
#pstree //查看進程樹
將進程放在后台運行
#命令 &
查看后台運行的進程
#jobs
將后台運行的進程調入前台
#fg 編號
強制結束進程
#kill -9 PID 或#killall -9 進程名
init進程是所有進程的父進程其級別如下
0 關機
1 單用戶
2 多用戶字符,但是不支持NFS
3 完全多用戶字符
4 用戶自定義
5 圖形
6 重啟
查看服務啟動情況(獨立啟動方式)
#chkconfig --list //查看所有服務的啟動狀態
#chkconfig --list httpd
設置獨立啟動服務
#chkconfig --level 35 httpd on或off
設置非獨立啟動服務
#chkconfig telnet on或off#service xinetd restart
設置服務在開機時自動運行
#ntsysv
1、 設置ip地址(即時生效,重啟失效)
#ifconfig eth0 ip地址 netmask 子網掩碼
2、 設置ip地址(重啟生效,永久生效)
#setup
3、 通過配置文件設置ip地址(重啟生效,永久生效)
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #設備名,與文件同名。
ONBOOT=yes #在系統啟動時,啟動本設備。
BOOTPROTO=static
IPADDR=202.118.75.91 #此網卡的IP地址
NETMASK=255.255.255.0 #子網掩碼
GATEWAY=202.118.75.1 #網關IP
MACADDR=00:02:2D:2E:8C:A8 #mac地址
4、 重啟網絡服務
#service network restart //重啟所有網卡
5、 禁用網卡,啟動網卡
#ifdown eth0
#ifup eth0
6、 屏蔽網卡,顯示網卡
#ifconfig eth0 down
#ifconfig eth0 up
7、 配置DNS客戶端(最多三個)
#vi /etc/resolv.conf
nameserver 202.99.96.68
8、更改主機名(即時生效)
#hostname 主機名
9、更改主機名(重啟計算機生效,永久生效)
#vi /etc/sysconfig/network
HOSTNAME=主機名
1 使用setup命令開啟vsftpd服務進程。
2然后修改文件/etc/xinetd.d/vsftpd。(但vsftpd是依附於xinetd.d運行時2、3有效)
(1)把disable=yes改為=no。
(2)配置每個客戶機的最大連接數:
在配置文件/etc/xinetd.d/vsftpd 的{}中添加如下的配置語句:
per_source = 數值。例如:per_source = 5 表示每個客戶機的最大連接數為5。
(3) 配置服務器總的並發連接數:
在配置文件/etc/xinetd.d/vsftpd 的{}中添加如下的配置語句:
instances = 數值。例如:instances = 200 表示FTP 服務器總共支持的最高連接數為200。
(4)當vsftpd單獨運行時:要配置獨立運行的vsftpd很簡單,只需要在前面的主配置文件的基礎上添加如下的配置即可。
設置listen=YES :指明vsftpd 以獨立運行方式啟動。
設置max_clients=200 :指明服務器總的並發連接數
設置max_per_ip=4 :指明每個客戶機的最大連接數。
3. 配置/etc/vsftpd.conf(redhat9 是/etc/vsftpd/vsftpd.conf)文件。
# 允許真實用戶(在系統中有賬號的用戶)訪問
local_enable=YES
# 給真實用戶寫權限
write_enable=YES
# 真實用戶上傳文件的掩碼設為022。這樣真實用戶上傳后的文件權限為755(rwxr-xr-x),即文件所有者可讀寫執行、同組成員可讀可執行、
# 系統中的其它用戶可讀可執行。
local_umask=022
# 允許匿名用戶訪問。匿名用戶在系統中的賬號是ftp
anonymous_enable=YES
# 匿名用戶上傳文件的掩碼設為000。這樣文件上傳后的權限為777(rwxrwxrwx),即所有人都可以讀寫執行。
anon_umask=000
# 匿名用戶可上傳、可創建目錄。一下3行只有設置了write_enable=YES才有效。
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_world_readable_only=NO
# 如果想要讓匿名用戶有刪除的權限可以加上如下代碼
# anon_other_write_enable=YES
# 進入每個目錄都顯示特定提示。這些提示放在各個目錄下.message文件中。
dirmessage_enable=YES
# 當用戶登陸ftp服務器時,不管是否登陸成功都顯示如下信息。
ftpd_banner=Welcome to NiHao FTP service.
# 使用日志記錄上傳和下載。
xferlog_enable=YES
# 日志文件的位置
#xferlog_file=/var/log/vsftpd.log
# 日志使用標准fpd格式
xferlog_std_format=YES
# ftp服務的端口是20
connect_from_port_20=YES
# 用戶使用ftp訪問服務器時,把他們的登陸目錄作為它們在ftp中看到的目錄,這稱為chroot。
# 這樣用戶就無法訪問他們登陸目錄以外的內容,大大增強了安全性。匿名用戶的登陸目錄是/var/ftp/
chroot_list_enable=YES
# 文件/etc/vsftpd.chroot_list中的用戶不chroot。
chroot_list_file=/etc/vsftpd.chroot_list
# 同時最多允許5個用戶登陸。
max_clients=5 #有些不支持此選項,注釋掉即可。
# ftp服務的密碼驗證模塊。
pam_service_name=vsftpd
# listen=YES #如果是獨立運行的則加此項(redhat9)。
#tcp_wrappers=YES #如果是獨立運行的則加此項(redhat9)。
4.重新啟動xinetd服務,你就可以匿名訪問你的ftp服務器了。
下面我們來建立一個ftp管理員賬號
在Linux ftp服務中,用戶的權限受到雙重限制。一是Linux文件系統本身的權限限制。每個文件的訪問權限用rwxrwxrwx形勢表示。每個用戶只能做文件全縣允許的操作。二是ftp配置的限制。系統允許的操作,如果在ftp的配置文件中沒有被允許,用戶還是不能作這個操作。如:某個文件的權限為rwxrwxrwx,即系統認為任何人都有讀寫執行的權利。如果vsftpd.conf中不允許匿名用戶寫,匿名用戶還是不能修改這個問安。
對於目錄文件的讀權限,意味着可以讀出這個目錄中的文件信息。目錄文件的寫權限,意味着可以在這個目錄下建立、刪除、重命名文件。
用命令groupadd -r ftpAdmin添加一個ftp管理員組。其中-r表示這是一個系統組。
用命令useradd -c "ftp Administrator" -d /var/ftp/ -G ftpAdmin -s /sbin/nologin -r ftpAdmin添加一個管理員用戶ftpAdmin。其中
-c "ftp Administrator" 是對這個用戶的描述
-d /var/ftp/ 是這個用戶的登陸目錄
-g ftpAdmin 是這個用戶所在的組
-s /sbin/nologin 是這個用戶登陸時所用的shell。這個shell命令的功能極其弱,以至於不能用telnet登陸。也就是說這個管理員只能當當垃圾清掃員。(呵呵。好沒面子的管理員)
-r 表示這是個系統賬號,不用為它建立登陸目錄。
建好管理員以后把incoming目錄的管理權給他。
chown ftpAdmin /var/ftp/incoming :把此目錄所有者設為ftpAdmin。
chmod 755 /var/ftp/incoming :把目錄的權限設為所有者可讀寫執行,同組用戶可讀、可執行,所有人可讀、可執行。
這樣,我們的管理員就可以開始管理了。
5 . 配置vsftpd 允許匿名用戶上傳
//修改vsftpd 的主配置文件/etc/vsftpd.conf
# vi /etc/vsftpd.conf
//將如下兩行前的#刪除
//① #anon_upload_enable=YES 允許匿名用戶上傳
//② #anon_mkdir_write_enable=YES 開啟匿名用戶的寫和創建目錄的權限
//若要以上兩項設置生效,同時還要求:
//(1) write_enable=YES
//(2) 匿名用戶對文件系統的上傳目錄具有寫權限
//添加如下的配置語句
// anon_world_readable_only=NO
//上面的配置語句用於放開匿名用戶的瀏覽權限
//修改后存盤退出vi
//
//創建匿名上傳目錄
# mkdir /var/ftp/incoming
# 修改上傳目錄的權限
# chmod o+w /var/ftp/incoming/
#
//重新啟動xinetd
# service xinetd restart
同樣在setup中選中httpd服務。www服務不需要xinetd作為它的代理進程。httpd這個進程一直在系統中運行。www服務的默認目錄是/var/www/html。只要把主頁放到這個目錄下就可以訪問了。
我們可以用建立ftp管理員的辦法建立一個www管理員wwwAdmin。只要把它的登陸目錄設為/var/www/html即可。
/etc/init.d/httpd start #啟動服務
/etc/init.d/httpd restart #重新啟動
其配置文件為/etc/httpd/conf/httpd.conf
linux下退出VI的方法
當編輯完文件,准備退出Vi返回到shell時,可以使用以下幾種方法之一。
在命令模式中,連按兩次大寫字母Z,若當前編輯的文件曾被修改過,則Vi保存該文件后退出,返回到shell;若當前編輯的文件沒被修改過,則Vi直接退出, 返回到shell。
在末行模式下,輸入命令
:w
Vi保存當前編輯文件,但並不退出,而是繼續等待用戶輸入命令。在使用w命令時,可以再給編輯文件起一個新的文件名。
:w newfile
此時Vi將把當前文件的內容保存到指定的newfile中,而原有文件保持不變。若newfile是一個已存在的文件,則Vi在顯示窗口的狀態行給出提示信息:
File exists (use ! to override)
此時,若用戶真的希望用文件的當前內容替換newfile中原有內容,可使用命令
:w! newfile
否則可選擇另外的文件名來保存當前文件。
在末行模式下,輸入命令
:q
系統退出Vi返回到shell。若在用此命令退出Vi時,編輯文件沒有被保存,則Vi在顯示窗口的最末行顯示如下信息:
No write since last change (use ! to overrides)
提示用戶該文件被修改后沒有保存,然后Vi並不退出,繼續等待用戶命令。若用戶就是不想保存被修改后的文件而要強行退出Vi時,可使用命令
:q!
Vi放棄所作修改而直接退到shell下。
在末行模式下,輸入命令
:wq
Vi將先保存文件,然后退出Vi返回到shell。
在末行模式下,輸入命令
:x
該命令的功能同命令模式下的ZZ命令功能相同。
Linux如何退出VI編輯器
:q退出
:q!強行退出(不存盤)
:qw or ZZ存盤退出
用ESC鍵只能切換到命令狀態
更加詳細內容:
在 linux 底下最常使用的文書編輯器為 vi ,請問如何進入編輯模式?
在一般模式底下輸入: i, I, a, A 為在本行當中輸入新字符;(出現 –Insert- )
在一般模式當中輸入: o, O 為在一個新的一行輸入新字符;
在一般模式當中輸入: r, R 為取代字符!(左下角出現 –Replace-)
如何由編輯模式跳回一般模式?
[Esc]
若上下左右鍵無法使用時,請問如何在一般模式移動光標?
h, j, k, l
若 [pagedown] [ pageup] 在一般模式無法使用時,如何往前或往后翻一頁?
[Ctrl] + [f]
[Ctrl] + [b]
如何到本檔案的最后一行、第一行;本行的第一個字符、最后一個字符?
G, 1G, 0, $
如何刪除一行、n行;如何刪除一個字符?
dd, ndd, x 或 X (dG 及 d1G 分別表示刪除到頁首及頁尾)
如何復制一行、n行並加以貼上?
yy, nyy, p 或 P
如何搜尋 string 這個字符串?
?string (往前搜尋)
/string (往后搜尋)
如何取代 word1 成為 word2,而若需要使用者確認機制,又該如何?
:1,$s/word1/word2/g 或
:1,$s/word1/word2/gc (需要使用者確認)
如何讀取一個檔案 filename 進來目前這個檔案?
:r filename
如何另存新檔成為 newfilename?
:w newfilename
如何存盤、離開、存盤后離開、強制存盤后離開?
:w; :q: :wq; :wq!
如何設定與取消行號?
:set nu
:set nonu
Linux鍵盤快捷鍵
Linux鍵盤快捷鍵 桌面或窗口下:
KEY: 應用程序鍵,右ctrl鍵左邊的一個鍵,顯示所選項的快捷菜單
ctrl+space:中文與英文輸入法切換
ctrl+shift:輸入法切換
alt+Space:Activate window menu,激活窗口調整狀態
alt+F1:show the panel menu,即最左下角的運行程序
alt+F2:Show the panel run application dialog,,打開運行命令窗口
alt+F4:Close,關閉當前活動窗口
alt+F5:Unmaximize,在最在窗口情況下還原
alt+F6:聚焦桌面上當前窗口
alt+F7:Move,移動窗口
alt+F8:Resize,調整窗口的大小
alt+F9:Minimize,最小化窗口
alt+F10:Maximize,最大化窗口
alt+Esc:Move between windows immediately,切換已打開的窗口
alt+Tab:Move between windows with popup,切換已打開的窗口,popup是說又有一個顯示框框
alt+print:Take a screenshot of a window ,截取當前活動的窗口
ctrl+alt+Esc:Move between panels and the desktop immediately
ctrl+alt+Tab:Move between panels and the desktop with popup,切換面板和桌面
ctrl+alt+d:Hide all windows and focus desktop,顯示桌面
ctrl+alt+lock screen,鎖屏
ctrl+alt+backspace:注銷
ctrl+alt+Fn:切換多個終端
ctrl+alt+方向鍵:switch workspace on the 方向,切換工作區
ctrl+alt+shift+方向鍵:Move window one workspace to the 方向,移動窗口到某個工作區
在控制台/虛擬終端下:
ScrollLock: 鎖定終端的輸入/輸出-當屏幕輸出滾動過快的時候可以用這個鍵給屏幕定格,再按一次Scroll Lock解除鎖定。也可以用另外一種方法實現這個功能,使用Ctrl+S 鎖定屏幕,使用Ctrl+Q解除鎖定。如果你的控制台突然出現了不明原因無響應也可以嘗試一下后面的這個解鎖快捷鍵,也許是因為你無意中觸發了CTRL+ S導致屏幕假死。
Ctrl+C Or Ctrl+\\ :殺死當前任務
Ctrl+D:作用是EOF,即文件末尾(EndOfFile),如果你的光標處在一個空白的命令行上,將會退出bash,比你用exit命令退出要快得多。
Ctrl+L:刷新屏幕。
Ctrl+Z:暫停進程,使用命令:bg在后台運行或者使用fg在前端運行。
Alt+Fn (F1, F2, F3,&hellIP ):切換到第n個控制台
Alt+Left Or Alt+Right:切換到上/下一個虛擬終端
Ctrl+Alt+Delete:重啟計算機
Shift+PageUp Or Shift+PageDown -:上、下滾動控制台緩存。這個功能在 Scroll Lock 啟動的時候也是管用的。 在使用(Alt+Fn)更換控制台后緩存內容就被刪除了,所以滾動無效。
Bash & command-line
Tab:命令行自動補全-自動補全當前的命令行,如果啟用自動補全腳本命令參數和選項也可以自動補齊
Ctrl+A:把光標移動到命令行最開始的地方
Ctrl+E:把光標移動到命令行末尾
Ctrl+K:清除從提示符所在位置到行末尾之間的字符
Ctrl+R:將自動在命令歷史緩存中增量搜索后面入的字符
Ctrl+U:清除命令行中光標所處位置之前的所有字符
Ctrl+W:清除左邊的字段
Ctrl+Y:將會貼上被Ctrl+U或者Ctrl+K或者Ctrl+W清除的部分
gnome-terminal:
File:
Shift+Ctrl+t:New Tab
Shift+Ctrl+n:New Window
Shift+Ctrl+w:Close Tab
Edit:
Shift+Ctrl+c:Copy
Shift+Ctrl+vaste
View:
F11:Full Screen
Ctrl+plus:Zoom In
Ctrl+minus:Zoom Out
Ctrl+0:Normal Size
GO:
Ctrl+PageUp:Switch to Previous Tab
Ctrl+PageDown:Switch to Next Tab
Shift+Ctrl+PageUp:Move Tab to the left
Shift+Ctrl+PageDown:Move Tab to the Right
Alt+1:Switch to Tab 1
Alt+2:Switch to Tab 2
Alt+3:Switch to Tab 3
Alt+4:Switch to Tab 4
Alt+5:Switch to Tab 5
Alt+6:Switch to Tab 6
Alt+7:Switch to Tab 7
Alt+8:Switch to Tab 8
Alt+9:Switch to Tab 9
Help:
F1:Contents
Kernel shortcuts(下面的快捷鍵必須在內核中啟用以后才可以使用,而且必須啟用魔術組合鍵SysRQ)
啟用SysRq:echo 1 > /proc/sys/kernel/sysrq(root用戶)
禁用SysRq:echo 0 > /proc/sys/kernel/sysrq(root用戶)
Alt+SysRQ+B:快速重起,不要在沒有同步和卸載文件系統的情況下執行,否則會導致文件系統嚴重錯誤
Alt+SysRQ+H:輸出其他魔術組合鍵列表(SysRQ)功能
Alt+SysRQ+S:同步所有已掛載的文件系統,所有緩存中的數據將被立刻寫入磁盤
Alt+SysRQ+U:以只讀方式重新掛載所有已掛載文件系統
Alt+SysRQ+S:然后 Alt+SysRQ+U,然后 Alt+SysRQ+B,同步所有文件系統、以只讀方式重新掛載所有文件系統、立刻重新啟動,這是重新啟動Linux的最快方式
SCIM:輸入法
Hot Keys:
Shift+space:Switch between full/half width letter mode,字符的全角半角
Ctrl+period(句號):Switch between full/half width punctuation mode,標點符號的全角半角
Mozilla Firefox Keyboard Shortcuts:
(This is a list of the most common keyboard shortcuts in Mozilla Firefox, If you have enabled Emacs-style. text editing shortcuts in GNOME, they will also work in Firefox. When an Emacs text editing shortcut conflicts with the default shortcuts (as occurs with CtrlCmd+K), the Emacs shortcut will take preference if focus is inside a textbox (which would include the location bar and search bar). In such cases you should use the alternate keyboar shortcut if one is listed below.
Command Shortcut
Navigation
Back AltOpt+LeftArrow,Backspace,CtrlCmd+[
Forward AltOpt+RightArrow,Shift+Backspace,CtrlCmd+]
Home AltOpt+Home(小鍵盤上的起始鍵)
OpenFile CtrlCmd+O
Reload F5,CtrlCmd+R
Reload(OverrideCache) CtrlCmd+F5,CtrlCmd+Shift+E
Stop Esc
Current Page
Go to Bottom of Page End
Go to Top of Page Home
Move to Next Frame F6
Move to Next Frame Shift+F6
Page Info CtrlCmd+I
Page Source CtrlCmd+U
Print CtrlCmd+P
Save Page As CtrlCmd+S
Text Size: Decrease CtrlCmd+-(縮小字體)
Text Size: Increase CtrlCmd++
Text Size: Restore CtrlCmd+0
Editing
Copy CtrlCmd+C
Cut CtrlCmd+X
Delete Delete
Paste CtrlCmd+V
Undo CtrlCmd+Z
Redo CtrlCmd+Shift+Z
Select All CtrlCmd+A
Search
Find CtrlCmd+F
Find Again F3,CtrlCmd+G
Find As You Type Link '
Find As You Type Text /
Find Previous Shift+F3
Web Search CtrlCmd+K,CtrlCmd+J
Windows & Tabs
Close Tab CtrlCmd+W,Ctrl+F4
Close Window CtrlCmd+Shift+W,AltOpt+F4
MoveTabLeft(TabFocused) CtrlCmd+Left Arrow,CtrlCmd+Up Arrow
MoveTabRight(TabFocused)CtrlCmd+Right Arrow,CtrlCmd+Down Arrow
MoveTabtoBeginning(TF) CtrlCmd+Home
MoveTabtoEnd(TabFocused)CtrlCmd+End
New Tab CtrlCmd+T
New Window CtrlCmd+N
Next Tab Ctrl+Tab,Ctrl+Page Down
OpenAddressinNewTab AltOpt+Enter
Previous Tab Ctrl+Shift+Tab,Ctrl+Page Up
Select Tab (1 to 9) AltOpt+(1 to 9)
Tools
Bookmark This Page CtrlCmd+D
Bookmarks CtrlCmd+B
Caret Browsing F7
Downloads CtrlCmd+Y
History CtrlCmd+H
Clear Private Data CtrlCmd+Shift+Del
Miscellaneous
Complete .com Address CtrlCmd+Enter
Complete .net Address Shift+Enter
Complete .org Address CtrlCmd+Shift+Enter
DeleteSelectedAutocompleteEntry Shift+Del
Full Screen F11
New Message CtrlCmd+M
Select Location Bar AltOpt+D,F6,CtrlCmd+L
Select Previous Search Engine(when Search Bar is focused) CtrlCmd+Up Arrow
Select Next Search Engine(when Search Bar is focused) CtrlCmd+Down Arrow
Mozilla Firefox Mouse Shortcuts
This is a list of the most common mouse shortcuts in Mozilla Firefox.
Command Shortcut
Back Shift+Scroll Down
Close Tab Middle-click on Tab
Decrease Text Size CtrlCmd+Scroll up
Forward Shift+Scroll up
Increase Text Size CtrlCmd+Scroll down
New Tab Double-Click on Tab Bar
Open in Background Tab CtrlCmd+Left-click,Middle-click
Open in Foreground Tab CtrlCmd+Shift+Left-click,Shift+Middle-click
Open in New Window Shift+Left-click
Paste URL and Go Middle-click on Tab
Reload (override cache) Shift+Reload button
Save Page As AltOpt+Left-click
Scroll line by line AltOpt+Scroll