Linux:知道多少東西才算入門?
四、Linux操作系統(tǒng)命令使用基礎
1、命令格式 $command [option(s)] [argument(s)]
命令名 空格 選項 空格 參數(shù)
command :命令名[option(s)] :選項[argument(s)] :參數(shù)
注意:
在命令行中,每兩個部分之間有空格分隔每個命令行可使用的最多的命令字符是256個命令區(qū)分大小寫不同的命令提示符使用分隔符號 “/”命令中的參數(shù)/選項可以是多個,并且參數(shù)其實就是要傳入命令程序主函數(shù)main的參數(shù)。[ ] 表示這個內(nèi)容可以不包含,比如 [argument(s)] ,輸入命令時可以不加參數(shù)2、聯(lián)機幫助、清屏與歷史記錄命令 1)聯(lián)機幫助
遇到一些函數(shù)和命令,不知道含義時可以使用命令man來查看幫助信息。
man ls
man -k keyword
man手冊根據(jù)內(nèi)容分為9個手冊,可以使用下面命令查看
man man
man文檔的分類編號
1 - commands(普通的命令)
2 - system calls(系統(tǒng)調(diào)用)
3 - library calls(庫函數(shù))
4 - special files(特殊文件:/dev下設備文件)
5 - file formats and convertions(文件格式)
6 - games for linux(游戲和娛樂)
7 - macro packages and conventions(雜項)
8 - system management commands(管理員命令)
9 - 其他(Linux特定, 用來存放內(nèi)核例行程序的文檔)
使用-k參數(shù),man可以在所有的man文檔和簡介中查找符合條件的命令。
peng@ubuntu:~/test$ man -k bash
bash (1) - GNU Bourne-Again SHell
bash-builtins (7) - bash built-in commands, see bash(1)
bashbug (1) - report a bug in bash
builtins (7) - bash built-in commands, see bash(1)
dh_bash-completion (1) - install bash completions for package
rbash (1) - restricted bash, see bash(1)
有的關(guān)鍵詞在系統(tǒng)中對應多個手冊,使用-f參數(shù),用于查找同名的手冊:
peng@ubuntu:~/test$ man -f time
time (7) - overview of time and timers
time (1) - run programs and summarize system resource usage
time (2) - get time in seconds
2)清屏 clear
清屏使用命令clear或者使用快捷鍵:ctrl + l
3)歷史紀錄 history(history -n)
這是一個非常有用的命令,想知道之前輸入過的所有命令,就可以用他。
history :查看最近使用的命令,最多500條
history n :曾經(jīng)使用的最近n條命令
!n :執(zhí)行最近第n條命令
!! :執(zhí)行最近使用的第一條命令
方向上鍵:執(zhí)行上一條命令
方向下鍵:執(zhí)行下一條命令
五、文件管理
1)查看文件目錄
下面這幾個命令是使用最頻繁的命令:
命令說明pwd顯示當前工作目錄cd [要改變的目錄]改變目錄ls列出當前目錄的文件和子目錄file辨識文件類型cdcd //回到當前用戶主目錄
cd ~//回到當前用戶主目錄
cd ~[用戶名] //進入指定用戶主目錄
file功能說明:辨識文件類型。語法:file [-beLvz][-f <名稱文件>][-m <魔法數(shù)字文件>…][文件或目錄…]
參數(shù):
-b 列出辨識結(jié)果時,不顯示文件名稱。
-c 詳細顯示指令執(zhí)行過程,便于排錯或分析程序執(zhí)行的情形。
-f<名稱文件> 指定名稱文件,其內(nèi)容有一個或多個文件名稱呢感,讓file依序辨識這些文件,格式為每列一個文件名稱。
-L 直接顯示符號連接所指向的文件的類別。
-m<魔法數(shù)字文件> 指定魔法數(shù)字文件。
-v 顯示版本信息。
-z 嘗試去解讀壓縮文件的內(nèi)容。
補充說明:通過file指令,我們得以辨識該文件的類型。
peng@ubuntu:~/test$ file wait.c
wait.c: ASCII text
peng@ubuntu:~/test$ file fifo_file
fifo_file: fifo (named pipe)
2) 文件路徑
什么是文件的路徑?就是文件存放的地方,可以聯(lián)想為 文件的“家”。
在Linux中,存在著絕對路徑和相對路徑:
絕對路徑:
路徑的寫法一定是由根目錄 / 寫起的,例如 /usr/local/mysql
相對路徑:
路徑的寫法不是由根目錄 / 寫起的。
例如 首先用戶進入到 /home,然后再進入到peng,執(zhí)行的命令為
#cd /home
#cd peng
此時用戶所在的路徑為 /home/peng。
第一個cd命令后緊跟/home,前面有斜杠,是絕對路徑;而第二個cd命令后緊跟peng,前面沒有斜杠,表示從當前目錄下找peng這個目錄,這個peng是相對于/home目錄來講的,所以稱為相對路徑。
3)創(chuàng)建和刪除文件目錄 1、創(chuàng)建文件touch
功能說明:
文件名不存在,則創(chuàng)建一個新的空文件
如果文件名存在,更新該文件或者目錄的修改訪問時間,內(nèi)容不變。
語法:
touch [-acfm][-d <日期時間>][-r <參考文件或目錄>][-t <日期時間>][–help] [–version][文件或目錄…]
或 touch [-acfm][–help][–version][日期時間][文件或目錄…]
補充說明:使用touch指令可更改文件或目錄的日期時間,包括存取時間和更改時間。
參數(shù):
-a或–time=atime或–time=access或–time=use 只更改存取時間。
-c或–no-create 不建立任何文件。
-d<時間日期> 使用指定的日期時間,而非現(xiàn)在的時間。
-f 此參數(shù)將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題。
-m或–time=mtime或–time=modify 只更改變動時間。
-r<參考文件或目錄> 把指定文件或目錄的日期時間,統(tǒng)統(tǒng)設成和參考文件或目錄的日期時間相同。
-t<日期時間> 使用指定的日期時間,而非現(xiàn)在的時間。
–help 在線幫助。
–version 顯示版本信息。
2、創(chuàng)建目錄mkdir
功能說明:
建立目錄
語法:
mkdir [-p][–help][–version][-m <目錄屬性>][目錄名稱]
補充說明:mkdir可建立目錄并同時設置目錄的權(quán)限。
參數(shù):
-m<目錄屬性>或–mode<目錄屬性> 建立目錄時同時設置目錄的權(quán)限。
-p或–parents 若所要建立目錄的上層目錄目前尚未建立,則會一并建立上層目錄。
–help 顯示幫助。
–verbose 執(zhí)行時顯示詳細的信息。
–version 顯示版本信息。
3、刪除文件rm
功能說明:
刪除文件或目錄。
語法:
rm [-dfirv][–help][–version][文件或目錄…]
補充說明:執(zhí)行rm指令可刪除文件或目錄,如欲刪除目錄必須加上參數(shù)”-r”,否則預設僅會刪除文件。
參數(shù):
-d或–directory 直接把欲刪除的目錄的硬連接數(shù)據(jù)刪成0,刪除該目錄。
-f或–force 強制刪除文件或目錄。
-i或–interactive 刪除既有文件或目錄之前先詢問用戶。
-r或-R或–recursive 遞歸處理,將指定目錄下的所有文件及子目錄一并處理。
-v或–verbose 顯示指令執(zhí)行過程。
–help 在線幫助。
–version 顯示版本信息。
4、刪除目錄
rmdir(remove directory)
功能說明:刪除目錄。
語 法:
rmdir [-p][–help][–ignore-fail-on-non-empty][–verbose][–version][目錄…]
補充說明:當有空目錄要刪除時,可使用rmdir指令。
參 數(shù):
-p或–parents 刪除指定目錄后,若該目錄的上層目錄已變成空目錄,則將其一并刪除。
–help 在線幫助。
–ignore-fail-on-non-empty 忽略非空目錄的錯誤信息。
–verbose 顯示指令執(zhí)行過程。
–version 顯示版本信息。
3)顯示文件內(nèi)容 1. cat
功能:
把檔案串連接后傳到基本輸出到屏幕或加 > fileName 到另一個檔案
使用權(quán)限:
所有使用者
語法:
cat [-AbeEnstTuv] [–help] [–version] fileName
參數(shù):
-n 或 –number 由 1 開始對所有輸出的行數(shù)編號
-b 或 –number-nonblank 和 -n 相似,只不過對于空白行不編號
-s 或 –squeeze-blank 當遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行
-v 或 –show-nonprinting
范例:
cat -n textfile1 > textfile2 把 textfile1 的檔案內(nèi)容加上行號后輸入 textfile2 這個檔案里
cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的檔案內(nèi)容加上行號(空白行不加)之后將內(nèi)容附加到 textfile3 里。
cat < /dev/stdin > 1.txt //利用輸入重定向 CRTL+D 結(jié)束輸入
cat /dev/null > 1.txt //輸出重定向進行清空
2. head
功能:
查找文件的前多少行
語法:
head [-n] filename
3. tail
功能:
查找文件的莫問多少行
語法:
tail [-n] filename
4. more
功能:
分屏顯示
用法
more filename
4)拷貝和移動文件目錄 1. cp
功能說明:
cp 源文件 目標文件
將源文件復制為目標文件或目錄。
語法:
cp [-abdfilpPrRsuvx][-S <備份字尾字符串>][-V <備份方式>][–help][–spares=<使用時機>][–version][源文件或目錄][目標文件或目錄] [目的目錄]
補充說明:cp指令用在復制文件或目錄,如同時指定兩個以上的文件或目錄,且最后的目的地是一個已經(jīng)存在的目錄,則它會把前面指定的所有文件或目錄復制到該目錄中。若同時指定多個文件或目錄,而最后的目的地并非是一個已存在的目錄,則會出現(xiàn)錯誤信息。
2. mv
功能說明:
mv [源文件、目錄] [目的文件、目錄]
移動或更名現(xiàn)有的文件或目錄。
語法:
mv [-bfiuv][–help][–version][-S <附加字尾>][-V <方法>][源文件或目錄][目標文件或目錄]
補充說明:mv可移動文件或目錄,或是更改文件或目錄的名稱。
參數(shù):
-b或–backup 若需覆蓋文件,則覆蓋前先行備份。
-f或–force 若目標文件或目錄與現(xiàn)有的文件或目錄重復,則直接覆蓋現(xiàn)有的文 件或目錄。
-i或–interactive 覆蓋前先行詢問用戶。
-S<附加字尾>或
–suffix=<附加字尾> 與-b參數(shù)一并使用,可指定備份文件的所要附加的字尾。
-u或–update 在移動或更改文件名時,若目標文件已存在,且其文件日期比源文件新,則不覆蓋目標文件。
-v或–verbose 執(zhí)行時顯示詳細的信息。
-V=<方法>或
–version-control=<方法> 與-b參數(shù)一并使用,可指定備份的方法。
–help 顯示幫助。
–version 顯示版本信息
5)文件目錄權(quán)限 1. 權(quán)限
文件的權(quán)限:
以普通文件為例,使用 ls -l 命令,可以看到結(jié)果的第一列是 -rwxrwxrwx 的形式,其中第一個字符 "-" 表示這個文件為普通文件,它也可以是其他的字符,不同的字符代表不同類型的文件。其后的一串字符表明了該文件的權(quán)限,其中:
1)r 表明該文件具有可讀權(quán)限,若該位置為 "-" ,則表明文件不可讀;2)w 表明該文件具有寫權(quán)限,若該位置為 "-" ,則表明文件不可寫;3)x 表明該文件具有可執(zhí)行權(quán)限,若該位置為 "-" ,則表明文件不具有可執(zhí)行權(quán)限;4)第一個 rwx 表示該文件的所有者對該文件的權(quán)限;第二個 rwx 表示該文件所屬組對該文件的權(quán)限;第三個 rwx 表示其他用戶對該文件的權(quán)限。2. 權(quán)限所屬對象
文件所有者:生成文件或目錄的當前人,權(quán)限最高,用u表示。文件所屬用戶組:系統(tǒng)管理員分配的同組一個或幾個人,用g表示。其他人對此文件的權(quán)限:除擁有者、用戶組以外的人,用o 表示。所有人:包括擁有者,所屬用戶組、其他用戶,用a表示
-rwxr(所有者) -xr(所在組) -x(其他人)
3.修改屬性chmod
chmod命令用來修改文件目錄的訪問權(quán)限,修改權(quán)限的前提條件是在修改權(quán)限時具有可操作權(quán)限。
(a)用字母表示權(quán)限Who(u、g、o、a)+cp(“=”設置權(quán)限“+”添加權(quán)限“-”刪除權(quán)限)+permission(“r”讀權(quán)限“w”寫權(quán)限“x”操作權(quán)限)例如:
chmod g=wr 1.c;
chmod u+w,g-w,o=wr 1.c
(b)用八進制數(shù)字表示權(quán)限
r w x
0 0 0 無權(quán)限
1 1 1 有權(quán)限
R:4,w;2,x:1
例如 :
Chmod 777 build 將build的權(quán)限成所有人rwx
注意:在Ubuntu中建立的文件默認權(quán)限是664
4. Chown改變文件的所屬者和所屬組
chown(英文全拼:change owner)命令用于設置文件所有者和文件關(guān)聯(lián)組的命令。
語法
chown [-cfhvR] [--h(huán)elp] [--version] user[:group] file...
參數(shù) :
user : 新的文件擁有者的使用者 ID
group : 新的文件擁有者的使用者組(group)
-c : 顯示更改的部分的信息
-f : 忽略錯誤信息
-h(huán) :修復符號鏈接
-v : 顯示詳細的處理信息
-R : 處理指定目錄以及其子目錄下的所有文件
--h(huán)elp : 顯示輔助說明
--version : 顯示版本
實例:把 /var/run/httpd.pid 的所有者設置 root:
chown root /var/run/httpd.pid
5. chgrp改變文件或目錄所屬組
Linux chgrp(英文全拼:change group)命令用于變更文件或目錄的所屬群組。
與 chown 命令不同,chgrp 允許普通用戶改變文件所屬的組,只要該用戶是該組的一員。
語法
chgrp [-cfhRv][--h(huán)elp][--version][所屬群組][文件或目錄...] 或 chgrp [-cfhRv][--h(huán)elp][--reference=<參考文件或目錄>][--version][文件或目錄...]
參數(shù)說明:
-c或--changes 效果類似"-v"參數(shù),但僅回報更改的部分。
-f或--quiet或--silent 不顯示錯誤信息。
-h(huán)或--no-dereference 只對符號連接的文件作修改,而不更動其他任何相關(guān)文件。
-R或--recursive 遞歸處理,將指定目錄下的所有文件及子目錄一并處理。
-v或--verbose 顯示指令執(zhí)行過程。
--h(huán)elp 在線幫助。
--reference=<參考文件或目錄> 把指定文件或目錄的所屬群組全部設成和參考文件或目錄的所屬群組相同。
--version 顯示版本信息。
Chown、chgroup使用頻率較低,了解即可。
6)find查找文件
Linux find 命令用來在指定目錄下查找文件。任何位于參數(shù)之前的字符串都將被視為欲查找的目錄名。
如果使用該命令時,不設置任何參數(shù),則 find 命令將在當前目錄下查找子目錄與文件。并且將查找到的子目錄和文件全部進行顯示。
我們有時候還要模糊查找某個文件,比如根據(jù)文件的后綴名,文件創(chuàng)建時間,文件大小等等。
語法:
find path -option [ -print ] [ -exec -ok command ] {} ;
find 根據(jù)下列規(guī)則判斷 path 和 expression,在命令列上第一個 - ( ) , ! 之前的部份為 path,之后的是 expression。
如果 path 是空字串則使用目前路徑,如果 expression 是空字串則使用 -print 為預設 expression。
expression 中可使用的選項有二三十個之多,在此只介紹最常用的部份。
參數(shù)說明:
-name name, -iname name : 文件名稱符合 name 的文件。iname 會忽略大小寫
-user 按照用戶(文件的屬主)
-size n : 文件大小 是 n 單位,b 代表 512 位元組的區(qū)塊,c 表示字元數(shù),k 表示 kilo bytes,w 是二個位元組。
-mtime 按照最后一次修改時間
-atime 按照最后一次訪問時間
-perm :按照文件的權(quán)限
-type typen : 查找文件類型為typen的文件
c: 字符設備
d: 目錄
c: 字型裝置文件
b: 區(qū)塊裝置文件
p: 具名貯列
f: 一般文件
l: 符號連結(jié)
s: socket
注意find 的使用條件所查找的路徑必須具有讀權(quán)限。查找選項通過文件屬性來查找。
例如:實例
1.將當前目錄及其子目錄下所有文件后綴為 .c 的文件列出來:# find . -name "*.c"
2.將目前目錄及其下子目錄中所有一般文件列出# find . -type f
3.將當前目錄及其子目錄下所有最近 20 天內(nèi)更新過的文件列出:# find . -ctime -20
4.查找 /var/log 目錄中更改時間在 7 日以前的普通文件,并在刪除之前詢問它們:# find /var/log -type f -mtime +7 -ok rm {} ;
5.查找當前目錄中文件屬主具有讀、寫權(quán)限,并且文件所屬組的用戶和其他用戶具有讀權(quán)限的文件:# find . -type f -perm 644 -exec ls -l {} ;
6.查找系統(tǒng)中所有文件長度為 0 的普通文件,并列出它們的完整路徑:# find / -type f -size 0 -exec ls -l {} ;
whereiswhereis命令用于查找文件。該指令會在特定目錄中查找符合條件的文件。這些文件應屬于原始代碼、二進制文件,或是幫助文件。該指令只能用于查找二進制文件、源代碼文件和man手冊頁,一般文件的定位需使用locate命令。
語法
whereis [-bfmsu][-B <目錄>...][-M <目錄>...][-S <目錄>...][文件...]
參數(shù):
-b 只查找二進制文件。
-B<目錄> 只在設置的目錄下查找二進制文件。
-f 不顯示文件名前的路徑名稱。
-m 只查找說明文件。
-M<目錄> 只在設置的目錄下查找說明文件。
-s 只查找原始代碼文件。
-S<目錄> 只在設置的目錄下查找原始代碼文件。
-u 查找不包含指定類型的文件。
實例:
1.使用指令"whereis"查看指令"bash"的位置,輸入如下命令:peng@ubuntu:~/test$ whereis bash
bash: /bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz
2.查找標準庫頭文件stdio.h位置peng@ubuntu:~/test$ whereis stdio.h
stdio: /usr/include/stdio.h /usr/share/man/man3/stdio.3.gz
7)grep過濾和統(tǒng)計
功能:查出包含某些字符串的結(jié)果,對文件或輸出結(jié)果進行過濾,對于大小寫有一定 要求。
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
10月31日立即下載>> 【限時免費下載】TE暖通空調(diào)系統(tǒng)高效可靠的組件解決方案
-
即日-11.13立即報名>>> 【在線會議】多物理場仿真助跑新能源汽車
-
11月28日立即報名>>> 2024工程師系列—工業(yè)電子技術(shù)在線會議
-
12月19日立即報名>> 【線下會議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會
-
即日-12.26火熱報名中>> OFweek2024中國智造CIO在線峰會
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍皮書》
推薦專題
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市