1.
標准輸入的控制
語法:命令
文件將命令的執行結果送至指定的文件中。
例如:
ls
-l
>
list
將執行ls
-l
命令的結果寫入文件list
中。
語法:命令>!
文件將命令的執行結果送至指定的文件中,若文件已經存在,則覆蓋。
例如:
ls
-lg
>!
list
將執行ls
-
lg
命令的結果覆蓋寫入文件list
中。
語法:命令>&
文件將命令執行時屏幕上所產生的任何信息寫入指定的文件中。
例如:
cc
file1.c
>&
error
將編譯file1.c
文件時所產生的任何信息寫入文件error
中。
語法:命令>>
文件將命令執行的結果附加到指定的文件中。
例如:
ls
-
lag
>>
list
將執行ls
-
lag
命令的結果附加到文件list
中。
語法:命令>>&
文件將命令執行時屏幕上所產生的任何信息附加到指定的文件中。
例如:
cc
file2.c
>>&
error
將編譯file2.c
文件時屏幕所產生的任何信息附加到文件error
中。
3.
命令語法
2. linux命令語法結構
以-開頭的:開關(switch),可以多個開關選項並在一起,比如tar -xjvf test.tar.bz2;
[ ]:可選的參數,就是說如果你不需要那個參數對應的功能就可以不用那個參數;
< > :被替換的部分,通常是必須有的,比如tar -xjvf <你要解壓縮的bz2檔案的文件名>
|:「或者」之意。注意不要和shell符號||和|搞混了啊;
{ }:……樓主此例中好像沒用花括弧啊-_-||……
/:就是說你如果使用了prefixlex要在前面加上/符號。
希望對你有用!
PS:Linux中大多數命令都是服從上述規范編寫的。但是注意一些古老的工具,如ps、tar,如下的命令調用也是合法的:
tar xjvf test.tar.bz2
ps ef
3. 基本linux命令
基本linux命令有哪些呢?
1、ls命令
就是 list 的縮寫,通過 ls 命令不僅可以查看 linux 文件夾包含的文件,而且可以查看文件許可權(包括目錄、文件夾、文件許可權)查看目錄信息等等。
常用參數搭配:
ls -a 列出目錄所有文件,包含以.開始的隱藏文件
ls -A 列出除.及..的其它文件
ls -r 反序排列
ls -t 以文件修改時間排序
ls -S 以文件大小排序
ls -h 以易讀大小顯示
ls -l 除了文件名之外,還將文件的許可權、所有者、文件大小等信息詳細列出來
實例:
(1) 按易讀方式按時間反序排序,並顯示文件詳細信息
ls -lhrt
(2) 按大小反序顯示文件詳細信息
ls -lrS
(3)列出當前目錄中所有以"t"開頭的目錄的詳細內容
ls -l t*
(4) 列出文件絕對路徑(不包含隱藏文件)
ls | sed "s:^:`pwd`/:"
(5) 列出文件絕對路徑(包含隱藏文件)
find $pwd -maxdepth 1 | xargs ls -ld
2、cd 命令
cd(changeDirectory) 命令語法:
cd [目錄名]
說明:切換當前目錄至 dirName。
實例:
(1)進入要目錄
cd /
(2)進入 "home" 目錄
cd ~
(3)進入上一次工作路徑
cd -
(4)把上個命令的參數作為cd參數使用。
cd !$
3、pwd 命令
pwd 命令用於查看當前工作目錄路徑。
實例:
(1)查看當前路徑
pwd
(2)查看軟鏈接的實際路徑
pwd -P
4、mkdir 命令
mkdir 命令用於創建文件夾。
可用選項:
-m: 對新建目錄設置存取許可權,也可以用 chmod 命令設置;
-p: 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統將自動建立好那些尚不在的目錄,即一次可以建立多個目錄。
實例:
(1)當前工作目錄下創建名為 t的文件夾
mkdir t
(2)在 tmp 目錄下創建路徑為 test/t1/t 的目錄,若不存在,則創建:
mkdir -p /tmp/test/t1/t
5、rm 命令
刪除一個目錄中的一個或多個文件或目錄,如果沒有使用 -r 選項,則 rm 不會刪除目錄。如果使用 rm 來刪除文件,通常仍可以將該文件恢復原狀。
rm [選項] 文件…
實例:
(1)刪除任何 .log 文件,刪除前逐一詢問確認:
rm -i *.log
(2)刪除 test 子目錄及子目錄中所有檔案刪除,並且不用一一確認:
rm -rf test
(3)刪除以 -f 開頭的文件
rm -- -f*
6、rmdir 命令
從一個目錄中刪除一個或多個子目錄項,刪除某目錄時也必須具有對其父目錄的寫許可權。
注意:不能刪除非空目錄
實例:
(1)當 parent 子目錄被刪除後使它也成為空目錄的話,則順便一並刪除:
rmdir -p parent/child/child11
7、mv 命令
移動文件或修改文件名,根據第二參數類型(如目錄,則移動文件;如為文件則重命令該文件)。
當第二個參數為目錄時,第一個參數可以是多個以空格分隔的文件或目錄,然後移動第一個參數指定的多個文件到第二個參數指定的目錄中。
實例:
(1)將文件 test.log 重命名為 test1.txt
mv test.log test1.txt
(2)將文件 log1.txt,log2.txt,log3.txt 移動到根的 test3 目錄中
mv llog1.txt log2.txt log3.txt /test3
(3)將文件 file1 改名為 file2,如果 file2 已經存在,則詢問是否覆蓋
mv -i log1.txt log2.txt
(4)移動當前文件夾下的所有文件到上一級目錄
mv * ../
8、cp 命令
將源文件復制至目標文件,或將多個源文件復制至目標目錄。
注意:命令行復制,如果目標文件已經存在會提示是否覆蓋,而在 shell 腳本中,如果不加 -i 參數,則不會提示,而是直接覆蓋!
-i 提示
-r 復制目錄及目錄內所有項目
-a 復制的文件與原文件時間一樣
實例:
(1)復制 a.txt 到 test 目錄下,保持原文件時間,如果原文件存在提示是否覆蓋。
cp -ai a.txt test
(2)為 a.txt 建議一個鏈接(快捷方式)
cp -s a.txt link_a.txt
9、cat 命令
cat 主要有三大功能:
1.一次顯示整個文件:
cat filename
2.從鍵盤創建一個文件:
cat > filename
只能創建新文件,不能編輯已有文件。
3.將幾個文件合並為一個文件:
cat file1 file2 > file
-b 對非空輸出行號
-n 輸出所有行號
實例:
(1)把 log2012.log 的文件內容加上行號後輸入 log2013.log 這個文件里
cat -n log2012.log log2013.log
(2)把 log2012.log 和 log2013.log 的文件內容加上行號(空白行不加)之後將內容附加到 log.log 里
cat -b log2012.log log2013.log log.log
(3)使用 here doc 生成新文件
cat >log.txt <<EOF
>Hello
>World
>PWD=$(pwd)
>EOF
ls -l log.txt
cat log.txt
Hello
World
PWD=/opt/soft/test
(4)反向列示
tac log.txt
PWD=/opt/soft/test
World
Hello
10、more 命令
功能類似於 cat, more 會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示。
命令參數:
+n 從笫 n 行開始顯示
-n 定義屏幕大小為n行
+/pattern 在每個檔案顯示前搜尋該字串(pattern),然後從該字串前兩行之後開始顯示
-c 從頂部清屏,然後顯示
-d 提示「Press space to continue,』q』 to quit(按空格鍵繼續,按q鍵退出)」,禁用響鈴功能
-l 忽略Ctrl+l(換頁)字元
-p 通過清除窗口而不是滾屏來對文件進行換頁,與-c選項相似
-s 把連續的多個空行顯示為一行
-u 把文件內容中的下畫線去掉
常用操作命令:
Enter 向下 n 行,需要定義。默認為 1 行
Ctrl+F 向下滾動一屏
空格鍵 向下滾動一屏
Ctrl+B 返回上一屏
= 輸出當前行的行號
:f 輸出文件名和當前行的行號
V 調用vi編輯器
!命令 調用Shell,並執行命令
q 退出more
實例:
(1)顯示文件中從第3行起的內容
more +3 text.txt
(2)在所列出文件目錄詳細信息,藉助管道使每次顯示 5 行
ls -l | more -5
按空格顯示下 5 行。
11、less 命令
less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向後移動,而且 less 在查看之前不會載入整個文件。
常用命令參數:
-i 忽略搜索時的大小寫
-N 顯示每行的行號
-o <文件名> 將less 輸出的內容在指定文件中保存起來
-s 顯示連續空行為一行
/字元串:向下搜索「字元串」的功能
?字元串:向上搜索「字元串」的功能
n:重復前一個搜索(與 / 或 ? 有關)
N:反向重復前一個搜索(與 / 或 ? 有關)
-x <數字> 將「tab」鍵顯示為規定的數字空格
b 向後翻一頁
d 向後翻半頁
h 顯示幫助界面
Q 退出less 命令
u 向前滾動半頁
y 向前滾動一行
空格鍵 滾動一行
回車鍵 滾動一頁
[pagedown]: 向下翻動一頁
[pageup]: 向上翻動一頁
實例:
(1)ps 查看進程信息並通過 less 分頁顯示
ps -aux | less -N
(2)查看多個文件
less 1.log 2.log
可以使用 n 查看下一個,使用 p 查看前一個。
12、head 命令
head 用來顯示檔案的開頭至標准輸出中,默認 head 命令列印其相應文件的開頭 10 行。
常用參數:
-n<行數> 顯示的行數(行數為復數表示從最後向前數)
實例:
(1)顯示 1.log 文件中前 20 行
head 1.log -n 20
(2)顯示 1.log 文件前 20 位元組
head -c 20 log2014.log
(3)顯示 t.log最後 10 行
head -n -10 t.log
13、tail 命令
用於顯示指定文件末尾內容,不指定文件時,作為輸入信息進行處理。常用查看日誌文件。
常用參數:
-f 循環讀取(常用於查看遞增的日誌文件)
-n<行數> 顯示行數(從後向前)
(1)循環讀取逐漸增加的文件內容
ping 127.0.0.1 > ping.log &
後台運行:可使用 jobs -l 查看,也可使用 fg 將其移到前台運行。
tail -f ping.log
(查看日誌)
14、which 命令
在 linux 要查找某個文件,但不知道放在哪裡了,可以使用下面的一些命令來搜索:
which 查看可執行文件的位置。
whereis 查看文件的位置。
locate 配合資料庫查看文件位置。
find 實際搜尋硬碟查詢文件名稱。
which 是在 PATH 就是指定的路徑中,搜索某個系統命令的位置,並返回第一個搜索結果。使用 which 命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。
常用參數:
-n 指定文件名長度,指定的長度必須大於或等於所有文件中最長的文件名。
實例:
(1)查看 ls 命令是否存在,執行哪個
which ls
(2)查看 which
which which
(3)查看 cd
which cd(顯示不存在,因為 cd 是內建命令,而 which 查找顯示是 PATH 中的命令)
查看當前 PATH 配置:
echo $PATH
或使用 env 查看所有環境變數及對應值
15、whereis 命令
whereis 命令只能用於程序名的搜索,而且只搜索二進制文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s)。如果省略參數,則返回所有信息。whereis 及 locate 都是基於系統內建的資料庫進行搜索,因此效率很高,而find則是遍歷硬碟查找文件。
常用參數:
-b 定位可執行文件。
-m 定位幫助文件。
-s 定位源代碼文件。
-u 搜索默認路徑下除可執行文件、源代碼文件、幫助文件以外的其它文件。
實例:
(1)查找 locate 程序相關文件
whereis locate
(2)查找 locate 的源碼文件
whereis -s locate
(3)查找 lcoate 的幫助文件
whereis -m locate
4. 一般的 Linux 命令的語法格式是
Linux系統中的rm命令用來刪除文件或目錄。
命令語法:
rm [OPTION]... FILE...
命令參數:
-f, --force 忽略不存在的文件,從不給出提示。
-i, --interactive 進行互動式刪除
-r, -R, --recursive 指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除。
-v, --verbose 詳細顯示進行的步驟
--help 顯示此幫助信息並退出
--version 輸出版本信息並退出
5. linux中壓縮命令都有哪些各自的語法和作用是
linux壓縮和解壓縮命令
tar
解包:tar zxvf filename.tar
打包:tar czvf filename.tar dirname
gz命令
解壓1:gunzip filename.gz
解壓2:gzip -d filename.gz
壓縮:gzip filename
.tar.gz 和 .tgz
解壓:tar zxvf filename.tar.gz
壓縮:tar zcvf filename.tar.gz dirname
壓縮多個文件:tar zcvf filename.tar.gz dirname1 dirname2 dirname3.....
bz2命令
解壓1:bzip2 -d filename.bz2
解壓2:bunzip2 filename.bz2
壓縮:bzip2 -z filename
.tar.bz2
解壓:tar jxvf filename.tar.bz2
壓縮:tar jcvf filename.tar.bz2 dirname
bz命令
解壓1:bzip2 -d filename.bz
解壓2:bunzip2 filename.bz
.tar.bz
解壓:tar jxvf filename.tar.bz
z命令
解壓:uncompress filename.z
壓縮:compress filename
.tar.z
解壓:tar zxvf filename.tar.z
壓縮:tar zcvf filename.tar.z dirname
zip命令 《Linux就該這么學》 更多命令一起學習。
解壓:unzip filename.zip
壓縮:zip filename.zip dirname
6. linux 命令語法怎麼看
[-u users]說明-u後面添加你需要的user,如果你不加,那麼-u就是多餘的。[-ef]說明-ef是單獨的,後面無需加其他。
7. Linux 常用命令(要求全而精)
1、linux分區
--在linux裡面所有的設備、任何東西,在linux看來都是文件。
--文件在它看來,有兩種形式:
第一種是字元型(鍵盤輸入、列印機);
第二種是二進制型(硬碟、光碟機、U盤)
--linux中所有硬體
--手動分區
--A、至少有兩個分區
/ 根分區
SWAP 交換分區(物理內存大小的兩倍)
--B、個人桌面分區
/
/boot 128MB is enough
/usr
SWAP
/tmp(用於光碟刻錄)
2、linux目錄說明
--/dev/xxyN
--xx (分區所在設備類型:hd--IDE硬碟 sd--SCSI硬碟)
--y (標明分區所在設備
例如:/dev/hda 第一個IDE硬碟 或 /dev/hdb 第二個IDE硬碟 或 /dev/sdb 第二個SCSI硬碟)
--N (數字代表分區:1-4--主分區或擴展分區;邏輯分區從5開始!
例如:/dev/hda3 第一個IDE硬碟上的第三個主分區或擴展分區
/dev/sdb6 第二個SCSI硬碟上的第二個邏輯分區)
3、linux目錄結構
/ 根目錄,最高級別
/bin 系統基本命令存放目錄(/usr/bin)
/boot linux的內核及引導系統程序文件存放目錄(如:vmlinuz、initrd.img)
一般情況下,GRUB或LILO系統引導管理也位於這個目錄
/dev 設備文件存儲目錄,如音效卡、光碟機...
/ect 存放系統設置文件(如用戶賬號密碼、伺服器配置文件等)
/home 普通用戶家目錄,默認存放目錄
/lib 庫文件存放目錄
/lost+found 在ext2或ext3文件系統中,當系統以外崩潰或機器意外關機,而產生一些文件碎片放在這里。
當系統啟動的過程中,fsck工具會檢查這里,並修復已經損壞的文件系統。
有事喜用發生問題,有很多的文件被移到這個目錄中,可能會用手工的方式來修復,或者移文件到原來的位置上。
/media 即插即用型存儲設備的掛載點自動在這個目錄下創建。
如USB盤系統自動掛在後,會在這個目錄下產生一個目錄;
類似cdrom的目錄
/mnt 存放掛載存儲設備的掛載目錄,如cdrom等目錄
/opt 表示可選的意思,有些軟體包也會被安裝在此,也就是自定義軟體包,
比如OpenOffice,或者一些我們自己編譯的軟體包,也可安裝此處。
/proc 操作系統運行時,進程(正在運行的程序)信息及內核信息(比如CPU、硬碟分區、內存信息等)存放在此。
/proc目錄是偽裝的文件系統proc的掛載目錄,proc並不是真正的文件系統
/root linux超級許可權用戶root的家目錄
/sbin 大多是涉及系統管理的命令的存放,只有超級許可權用戶root才可執行命令存放,普通用戶無許可權執行此目錄下的命令
與 /usr/sbin; /usr/X11R6/sbin; usr/local/sbin 目錄相似
(sbin,只有root許可權才能執行)
/tmp 臨時文件目錄,有時用戶運行程序的時候,會產生臨時文件。
/var/tmp目錄和此目錄相似
/usr 系統存放程序的目錄,如命令、幫助文件等。這個目錄下有很多的文件和目錄。
大部分Linux發行版提供的軟體包都安裝在此,涉及伺服器的配置文件就安裝在/ect中。
/usr/share/fonts 字體目錄
/usr/share/man 或 /usr/share/doc 幫助目錄
/usr/bin 或 /usr/local/bin 或 /usr/X11R6/bin 普通用戶可執行文件目錄
/usr/sbin 或 /usr/local/sbin 或 /usr/X11R6/sbin 超級許可權用戶root可執行命令存放目錄
/usr/include 程序頭文件存放目錄
/var (vary)此目錄經常變動
/var/log 用來存放系統日誌
/var/www 用來定義Apache伺服器站點存放
/var/lib 用來存放一些庫文件,如MySQL的,以及MySQL資料庫的存放地。
4、基本命令
--查看幫助 *** --help *** --?
--查看詳細幫助 man ***
--登錄 login
--退出窗口 exit
--關機 shutdown
--重啟 reboot
--初始化 init (run level -/etc/inittab),0-6看第六部分的g
--進入根目錄 cd /
--回上層目錄 cd ..
--相對路徑 cd dev
--絕對路徑 cd /dev
--查用戶名 whoami
--查當前目錄 pwd
--列出當前目錄內容 ls
-l(樹詳細顯示目錄內容)
-m(橫列顯示目錄內容,是屏幕長度顯示)
-a(列出全部文件,包括隱藏文件)
-S(以文檔大小排序)
--創建目錄 mkdir dname
--刪除目錄 rmdir dname
rm -r *** -(遞歸刪除該目錄下所有內容,詢問每個准備刪除的文件)
rm -rf ***-(強制刪除該目錄下所有內容,不詢問)
--創建空白文件 touch ***
(ps:從技術的角度來講,linux的文件後綴名沒有任何意義)
--復制 cp
cp -r **1 **2 (復制1到2中)
--移動 mv
mv -t **1 **2 (把2移動到1中)
--編輯文本 vi [文件名]
--查看文本 cat 由第一行開始顯示文本內容
tac 從最後一行顯示,可以看出 tac 是 cat 的倒著寫
more 一頁一頁的顯示文檔內容
less 與 more 類似,可以往前翻頁
head 只看頭幾行
-N(數字,可根據行數顯示)
tail 只看後幾行
-N(數字,可根據行數顯示)
nl 顯示的時候,順序輸出行號
od 以二進制位的方式讀取檔案內容
--查找文本 find [路徑][查找類型][搜索文件名]
如查找rc.local find /etc -name *.local
--查找命令信息及其位置 whereis 命令
如 whereis ls
--查看環境變數 echo $SHELL
如 echo $PATH (分大小寫:分隔符是:,windows是echo %path%;)
--鏈接 ln
如 ln joe.txt a (硬鏈接,如同復制一個新文件,joe.txt刪除後,a還存在)
a是鏈接的名稱,a和joe.txt同步,然後a的內容和joe.txt一樣
joe.txt改變,a也跟著變
如 ln -s joe.txt b (軟鏈接,如同創建一個快捷方式,joe.txt刪除後,b不存在)
--wc 統計指定文本文件的行數、字數、字元數
--grep(很常用) 在指定的文本文件中查找指定的字元串
grep 字元串 文件名
--col 見管道..
--------------------
----信息顯示命令----
--------------------
--date 顯示和設置日期
--stat 顯示指定文件的相關信息
--who、w 顯示在線登錄用戶
--whoami 顯示用戶自己的身份
--id 顯示當前用戶的id信息
--hostname 顯示主機名稱
--uname 顯示操作系統信息
--dmesg 顯示系統啟動信息
-- 顯示指定的文件(目錄)已使用的磁碟空間
--df 顯示文件系統磁碟空間的使用情況
--free 顯示當前內存和交換空間的使用情況
--fdisk -l 顯示磁碟信息
--locale 顯示當前語言環境
5、掛載點(mount 設備目錄 掛載目錄)
--訪問設備 (那設備當成一個文件,和另外一個文件夾進行綁定)
--例如掛載光碟機:步驟 [cd /mnt]---[mkdir cdr]---[mount /dev/cdrom /mnt/cdr]---[cd cdr]--OK!直接訪問光碟機內容
--卸載掛載設備(umount /dev/cdrom)--注意必須先退出掛載目錄,否則出現"device is busy"錯誤.
6、startup-shutdown(linux啟動流程)
--A、boot sequence(important) linux啟動過程
a. load bios(hardware information)
b. read MBR's config to find out the OS
(MBR--Master Boot Record,硬碟第一個物理扇區,柱面0、磁頭0、扇區1,包含主引導程序和硬碟分區表)
c. load the kernel of the OS
(載入為kernel核心的OS)
d. init process starts...
(啟動linux第一個進程init)
e. execute /etc/rc.d/sysinit
(執行系統最重要的配置文件,後台啟用進程)
(rc.d--run command)
f. start other moles(stc/moles.conf)
(開啟各種模塊,如內存管理模塊、硬碟管理模塊)
g. execute the run level scripts
(系統啟動是分層次的,根據情況執行,每個層次之間沒關系)
0 - 系統停機狀態
1 - 單用戶工作狀態 root
2 - 多用戶狀態(沒有NFS)
3 - 多用戶狀態(有NFS)
NFS - Network File System 網路文件系統,聯網系統
4 - 系統未使用,留給用戶
5 - 圖形界面
6 - 系統正常關閉並重新啟動
如:cd /etc -- 有rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d等多個文件夾,保存著各個層次執行的進程文件
h. execute /etc/rc.d/rc.local (重要)
(保存其它進程腳本,如tomcat自動啟動,要修改此配置文件)
i. execute /bin/login
(登錄界面)
j. shell started...
7、vi 文本編輯器
--兩種模式:命令模式 編輯模式
--vi [文件名]
(切換到編輯模式)
a append-游標後添加
i insert-游標前插入
o open-另起一行編輯
esc (切換回命令模式)
:w 存檔
:wq 存檔退出
:q 退出
:q! 不存檔退出
dd 刪除其中一行
dw 刪除一個單詞
(sudo gedit 文本 常用linux下的文本編輯器,比vi好用)
8、用戶設置
--切換用戶(switch user) su username
小技巧:直接exit切換
--添加用戶 useradd username [-g] [組名](分配到某個用戶組)
(創建後會自動在/home目錄下創建該新用戶的文件夾,如/home/username)
--設置密碼 passwd username
--cd /etc
--查看用戶信息 more password
如新增的用戶信息:username:x:500:500::/home/username:/bin/bash
第一個數字,代表用戶組,當添加用戶沒有指定用戶組時,系統會創建一個和用戶ID一樣的組ID;
第二個數字:用戶ID號;
用戶的目錄是/home/username;
用戶的SHELL是/bin/bash
(命令--->SHELL[解釋命令]--->kenrel內核)
SHELL有多種類型,如csh、bash(常用)、bsh、ksh、sh(最原始)
--添加用戶組 groupadd groupname
--查看用戶組信息 more group
--刪除用戶組 groupdel groupname
--修改用戶 usermod [-g] [組名] [用戶名]
--刪除用戶 userdel username
然後把/home的文件夾刪除了 rm -rf 文件夾
9、許可權file privilege
--linux把文件的許可權分成四種:r:read w:write x:execute -:none
如:-rw-r--r--
lrwxrwxrwx
drwxr-xr-x
drwxr-xr-x
第一個數字'-'代表文件,其餘是文件夾,後9位分為3組,每組有四種許可權設置rwx-
第一位表示文件所有者
第二位表示和所有者在同一用戶組的用戶
第三位表示不在同一用戶組的用戶許可權
--設置許可權 (隨意應用,靈活組合!)
1、普通用法
--添加許可權 [chmod +x 文件]
如:-rw-r--r-- ---> -rwxr-xr-x
--刪除許可權 [chmod -x 文件]
如:-rwxr-xr-x ---> -rw-r--r--
--給自己添加許可權 [chmod ?+x 文件]
如此類推,組--g,其他人--o
如:chmod u+x -rw-r--r-- ---> -rwxr--r--
chmod g+x -rw-r--r-- ---> -rw-r-xr--
chmod o+x -rw-r--r-- ---> -rw-r--r-x
2、專業用法 chmod 755/777
--原理,八進制轉二進制
如755,111 101 101, rwx r-x r-x
777,111 111 111, rwx rwx rwx
--修改所有者許可權 chown (change owner)
如:chown 原來文件 file1 的所有者是 root,改成joe的
chown joe file1
10、管道(把上一個命令執行的結果交給下一個命令)
--使用方法:
命令1|命令2|命令3......|命令n
--使用舉例
--$ls -Rl /etc | more
(如 ls -Rl /etc (在控制台模式下,無法返回前面過去的信息),因此需要管道執行該查詢,實現分頁的工作, ls -Rl /etc | more)
--$cat /etc/passwd | wc
(顯示文件結果,再數數有多少行)
--$cat /etc/passwd | grep lrj
(顯示文件結果,再查找包含lrj的行)
--#dmesg | grep eth0
(顯示系統啟動的信息,再查找包含eth0的行--真正含義,檢查網卡執行信息是否正常)
--$man bash | col -b > bash.txt
語法:col [-bfx][-l<緩沖區列數>]
補充說明:在許多UNIX說明文件里,都有RLF控制字元。當我們運用shell特殊字元">"和">>",把說明文件的內容輸出成純文本文件時,控制字元會變成亂碼,col指令則能有效濾除這些控制字元。
參數:
-b 過濾掉所有的控制字元,包括RLF和HRLF。
-f 濾除RLF字元,但允許將HRLF字元呈現出來。
-x 以多個空格字元來表示跳格字元。
-l<緩沖區列數> 預設的內存緩沖區有128列,您可以自行指定緩沖區的大小。
--$ls -l | grep "^d"
(用正則表達式篩選出目錄列表中 頭字母為'd' 的內容--目錄)(^是正則表達式開頭部分)
--$ls -l * | grep "^-" | wc -l
(列出目錄列表中 頭字元為'-'的內容--文件,並統計顯示的行數wc -l)
11、其他命令
--wall(warning all) 通知所有人
a.命令替換
如 wall `date`、 cd 'pwd'、mkbootdisk $(uname -r)
b.重定向
重定向輸出:
如 ls > cmd.txt ,把文件寫到cmd.txt,不輸出在控制台
ls >> cmd.txt ,把文件追加寫到cmd.txt
重定向輸入:
如 wall > cmd.txt,把文本內容發給所有人
12、修改系統的默認系統級別
常用3和5
3 - 多用戶狀態(有NFS)
NFS - Network File System 網路文件系統,聯網系統
5 - 圖形界面
PS.設置用戶許可權: sudo chmod 777 目錄
4表示讀,2表示寫,1表示執行.
第一位表示文件所有者,第二位表示和所有者在同一用戶組的用戶,第三位表示不在同一用戶組的用戶許可權.
755表示文件所有者可讀寫,執行.
第二位5表示與所有者在同一用戶組的可讀,可執行,不可寫.
第三位5表示其它組可讀,可執行,不可寫. 轉載於Joewalker在本人空間也有詳細說明
8. linux chattr命令怎麼使用
Linux chattr命令用於改變文件屬性。
這項指令可改變存放在ext2文件系統上的文件或目錄屬性,這些屬性分為八種模式:
a:讓文件或目錄僅供附加用途
b:不更新文件或目錄的最後存取時間
c:將文件或目錄壓縮後存放
d:將文件或目錄排除在傾倒操作之外
i:不得任意更動文件或目錄
s:保密性刪除文件或目錄
S:即時更新文件或目錄
u:預防意外刪除
Linux chattr命令語法
chattr[-RV][-v<版本編號>][+/-/=<屬性>][文件或目錄...]
-R:遞歸處理,將指令目錄下的所有文件及子目錄一並處理;
-v<版本編號>:設置文件或目錄版本;
-V:顯示指令執行過程;
+<屬性>:開啟文件或目錄的該項屬性;
-<屬性>:關閉文件或目錄的該項屬性;
=<屬性>:指定文件或目錄的該項屬性。
9. Linux的詳細語法
不知道你說的是linux編程還是linux命令。
1。Linux的命令有好幾千條。其實你不可能也不需要完全掌握它們。只要要用XX命令的時候,直接用:man XX 這樣就會有非常詳細的命令說明。如果討厭英語,可以買一本或者下載一本《鳥哥的私房菜》來學習linux。
2。一些簡單的linux命令很好記憶的。比如pwd(print working directory);ls(list);cd(change directory)等。
3。你也可以自己寫二進制可執行程序,讓後放到/bin, /usr/bin中,這樣你在終端敲入這個文件名的時候就會做相應的行為。
如果是linux編程的話,你要學習的東西太多太多了了,,,這里不細講了。可以去看《linux編程實踐教程》,和《Advanced unix programming》