1. 終端中各字符含義
leeqb@GL552JX:~$
leeqb → 用戶名
@ → 分隔符
GL552JX → 主機名
~ → 家目錄(相對的)
: → 與$之間為當前所在目錄絕對路徑
$ → 普通用戶,超級用戶顯示的是#,進入超級用戶:命令前加sudo
2. 命令
命令的格式:
? cmd opt arg
命令 操作 文件
1. cd(切換目錄)
? 1. cd 目錄名(文件夾名)
#例:
leeqb@GL552JX:~$ cd public
? 2.cd 路徑
1>絕對路徑
從根目錄開始一層一層遞進
2>相對路徑
相對于當前目錄
#例:
leeqb@GL552JX:~$ cd public/linux/
? 3. cd //直接回到家目錄
? 4. cd . //當前目錄
? 5. cd .. //上一級目錄
? 6. cd - //上次打開的目錄
2. ls(顯示當前目錄下的文件名)
? ls //單獨的來使用:查看當前目錄下的文件名
? ls 路徑 //查看路徑下文件名
? ls -a //顯示所有文件(包含隱藏文件,文件名以“.”開頭為隱藏文件)
? ls -i //顯示文件inode號,通過文件inode號管理文件,在同一分區(qū)內(nèi)文件
? inode號不會重復
? ls -l //以長格式顯示信息
? ls a*.conf //星號表示所有 ,顯示所有以a開頭后綴是conf的文件
? ls 文件夾 -r //遞歸查看文件夾內(nèi)容
#命令可以組合使用,如:
ls -ali #會顯示出以下信息:
drwxr-xr-x 28 root root 4096 2月 21 14:34 123
-rwxr-xr-x 1 root root 6473 2月 21 10:45 a.out
? part.1 第一個字母為文件類型:
? 7種文件類型
? - 普通文件
? d 目錄文件
? c 字符設備文件
? b 塊設備文件
? p 管道文件
? s socket網(wǎng)絡套接字文件
? l 鏈接文件(符號)
? 鏈接方式
? 1.硬鏈接
? 2.符號鏈接
? part.2 文件權(quán)限
? (1.字符方式表示 2.數(shù)字方式表示(八進制))
? (1.基本權(quán)限 2.高級權(quán)限)
如:rwxr-xr-x a.out
rwx(前三個) 文件所有者的權(quán)限
r-x (中三個) 文件所屬組的權(quán)限
r-x (后三個) 其他用戶的權(quán)限
各字母含義: 數(shù)字表示
r 可讀 4
w 可寫 2
x 可執(zhí)行 1
- 無(該處沒有權(quán)限) 0
用數(shù)字的方式描述a.out文件的權(quán)限是 755
如果用數(shù)字的方式描述文件權(quán)限的話,范圍是(000 ~ 777)
例:
? rwxrw-r-- zack zack 1.txt
? 權(quán)限 所屬者 所屬組 文件名
? 1.zack這個用戶訪問1.txt文件有什么權(quán)限?
? rwx
? 2.假如tom用戶和zack用戶在同一組(zack組),tom這個用戶訪問1.txt文件有什么權(quán)限?
? rw-
? 3.jack這個用戶訪問1.txt文件有什么權(quán)限?
? r--
? part.3 文件連接數(shù)
? part.4 文件所屬者
? part.5 文件所屬組
? part.6 文件大小
? part.7 文件最后修改日期
? part.8 文件名
自定義命令: alias 命令=“ ….自定義 ”
刪除自定義命令 unalias 命令
?
\6. atime 最后一次被讀的時間
? mtime 最后一次修改的時間 (文件內(nèi)容)
? ctime 最后一次亞文件被修改的時間
\7. 創(chuàng)建文件: touch +文件名字
\8. 創(chuàng)建文件夾: mkdir 文件夾名
\9. 把文件搜有內(nèi)容打印輸出到終端中cat 文件名
\10. 刪除:rm 名字
3.touch (創(chuàng)建普通性質(zhì)文件)
? 1.touch 文件名
? 可以touch相同的文件名(普通性質(zhì)文件/目錄文件)
? 修改的是最后修改時間,文件內(nèi)容不變
? 2.touch 文件名 文件名 ...
? 可以創(chuàng)建多個文件
? 3.touch {1..20}
? 可以創(chuàng)建1-20個普通性質(zhì)文件
? (或者{a..z})
? 4.touch 路徑/文件名 //路徑必須是已有的
? 代表在該目錄下創(chuàng)建文件
4.mkdir(創(chuàng)建目錄文件)
? 1.mkdir 文件名
? 不可以mkdir相同的目錄文件名,報錯
? 2.mkdir 文件名 文件名 ...
? 可以創(chuàng)建多個文件
? 3.mkdir {1..20}
? 可以創(chuàng)建1-20個普通性質(zhì)文件
? (或者{a..z})
? 4.mkdir 路徑/目錄文件名 //路徑必須是已有的
? 代表在該目錄下創(chuàng)建目錄文件
5.mkdir 文件夾/文件夾/文件夾 -p //創(chuàng)建不存在的文件夾下的文件夾
5.cat(查看文件內(nèi)容(普通文件))
? cat 文件名
? 把文件的所有內(nèi)容打印輸出到終端中
? less
? 從文件起始位置開始顯示,鼠標可以翻閱,q退出
? more
? 從文件起始位置開始顯示(有百分比),s可以向下翻閱b可以向上翻閱,q退出
? head
? 默認打印文件開頭10行
? tail
? 默認打印文件末尾10行
6.cp(拷貝文件)
? 1.cp 源文件 目標文件
? 2.cp -r(拷貝目錄時)
? -r 遞歸的操作
? 例:如果在50個文件中指向復制3個文件到其他目錄
? cp {fcodpamdpoa,mdslamda,snajda} ../xyz
7.diff(比較兩個文件是否相同)
? diff file1 file2
? 1.如果沒有任何提示,代表兩個文件內(nèi)容相同
? 2.如果有提示,代表某一行不相同
?
8.mv(剪切/移動/改名字)
? mv 源文件名 目標文件名
? 1.mv 123 abc
? 把123改成abc名字
? 2.mv abc ..
? 把abc剪切到上一級目錄
9.rm(刪除)
? 1.rm filename
? 刪除filename,有詢問
? 2.rm filename1 filename2 filename3
? 刪除filename(1-3),有詢問
? 3.rm {a..z}
? 刪除a-z文件,有詢問
? 4.rm *
? *該目錄下的所有文件
? *.c代表所有以.c結(jié)尾的文件
? 5.rm -f(force強制)
? 強制刪除(刪除時不詢問)
? 6.rm -r(遞歸的操作)
不要輕易使用
rm -rf
[root@localhost /]# rm -rf * #刪除系統(tǒng)下的所有文件
10.ln
? 1.ln 源文件 目標文件
? 創(chuàng)建硬鏈接文件
? 源文件和目標文件共用同一個inode號
? 任意修改其中一個文件另一個文件改變
? 刪掉源文件對目標文件沒有影響
? //硬鏈接是同一塊內(nèi)存的不同名字 沒有產(chǎn)生新文件 rm只是刪除硬鏈接數(shù)量
? 2.ln -s 源文件 目標文件
? 創(chuàng)建符號鏈接文件
? 源文件和目標文件不共用一個inode號
? 任意修改其中一個文件另一個文件改變
? 刪掉源文件對目標文件有影響
? //相當于windows的快捷方式
? 例:src為符號鏈接文件
-
zack@test$ rm -rf src zack@test$ ls dest zack@test$ vim dest zack@test$ ls dest src zack@test$ cat src 1 2 3? 代表當刪掉源文件,打開符號鏈接文件,進行編輯,保存退出之后
? 源文件又被創(chuàng)建了
11.grep 針對文件內(nèi)容進行過濾
grep 'root' /etc/passwd
grep --color 'root' /etc/passwd
grep --color '^root' /etc/passwd
grep --color 'bash$' /etc/passwd
grep 'failure' /var/log/secure
#^查找的內(nèi)容出現(xiàn)在行首
#$查找的內(nèi)容出現(xiàn)在行尾
12. ctrl+R
? 關(guān)鍵詞搜索命令歷史記錄
13. 自定義命令
alias 實際命令 = “ 自定義命令”
刪除自定義命令 unalias 命令
14.文件壓縮
壓縮和解壓縮
1.bz2格式
? 壓縮:bzip2 filename
? 解壓縮: bunzip2 filename.bz2
? 特點:都是默認不保留原文件,不能針對于目錄
2.gz格式
? 壓縮:gzip filename
? 解壓縮:gunzip filename.gz
? 特點:都是默認不保留原文件,不能針對于目錄
3.zip格式
? 壓縮:zip new.zip new1 new2 dir1 dir2
? 解壓縮: unzip new.zip
4.打包并壓縮
tar
-c:創(chuàng)建包
-v:顯示過程
-f:后跟包名
-x:解包
-r:向現(xiàn)有包中追加文件
-t:顯示包中包含的文件
-z:壓縮成gz格式
-j: 壓縮成bz2格式
-C:指定解壓位置
tar -cvf bao.tar file1 file2 dir1 dir2...
#將 file1 file2 dir1 dir2 打包進bao.tar
tar -tvf bao.tar
#顯示包內(nèi)所有文件的詳細信息
tar -rvf bao.tar file3
#將file3追加進包bao.tar內(nèi)
tar -cjvf bao.tar.bz2 file1 file2 dir1 dir2...
#將file1 file2 dir1 dir2...打包并壓縮成bz2格式的文件
tar -czvf bao.tar.gz file1 file2 dir1 dir2...
#將file1 file2 dir1 dir2...打包并壓縮成gz格式的文件
tar -xzvf bao.tar.gz
#將bao.tar.gz解壓并解包
15.ubuntu下安裝軟件包
ubuntu默認是不支持用root用戶登錄的,也不提倡大家用root登錄;
如果要完成一些需要root權(quán)限的操作,請使用sudo xxx執(zhí)行;
(1)安裝已經(jīng)下載的deb包
如果已經(jīng)下載了deb包,可以直接安裝:
sudo dpkg -i xxx.deb
類似于redhat中用rpm -ivh安裝rpm包;
不推薦這種安裝方式,因為很可能會因為依賴的包沒有提前裝好而失?。?/p>
(2)通過聯(lián)網(wǎng)方式安裝軟件包
在ubuntu中,強烈推薦采用聯(lián)網(wǎng)方式安裝:
sudo apt-get install xxx
//xxx為要安裝的軟件,如vim等
有時候可能會出現(xiàn)依賴方面的問題或者沖突,此時可以嘗試:
sudo apt-get -f install