linux系統編程
1.命令解析器
shell – unix操作系統
bash – Linux操作系統
本質: 根據命令的名字, 調用對應的可執行程序
2. Linux 快捷鍵
2.1 命令和路徑補齊:
tab
2.2 主鍵盤快捷鍵:
- 歷史命令切換:
歷史命令:
history
向上遍歷:ctrl+p
或者方向鍵↑
向下遍歷:ctrl+n
或者方向鍵↓
- 光標移動:
向左:
ctrl+b
或者方向鍵→
向右:ctrl+f
或者方向鍵←
移動到頭部:ctrl+a
移動到尾部:ctrl+e
- 刪除字符:
注意:在linux中光標覆蓋的字符指的就是光標後面的字符
刪除光標後邊的字符:ctrl+d
刪除光標前邊的字符:ctrl+h
或者 刪除鍵backspace
刪除光標前的所有內容:ctrl+u
3. Linux 系統目錄結構
- 根目錄:
- /bin:
- /dev:
- /etc:
- /home:
- /lib:
- /media:
- /mnt:
- /root:
- /usr:
詳情見:Linux 系統目錄結構
4. 用戶目錄
- 絕對路徑:從根目錄開始寫 如
/home/ningcaichen
- 相對路徑: 相對於當前的工作目錄而言
.
表示 當前目錄
..
表示 當前的上一級目錄
-
表示 在兩個臨近的目錄直接切換 cd - ningcaichen@ubuntu:~$
ningcaichen
:當前登錄用戶
@
:at,在
ubuntu
:主機名
~
:s用戶的家目錄(宿主目錄)
$
:當前用戶爲普通用戶
#
:超級用戶(root)
5. 文件和目錄操作
5.1 查看目錄
1). tree (必須安裝該軟件)
2). ls -la
5.2 在目錄a和目錄b之間徘徊:
cd a
cd b
三種回家方式:
cd /home/ningcaichen
cd ~
cd
查看當前在哪個目錄:
pwd
5.3 創建目錄
mkdir dirName
mkdir dir/dir1/dir2 -p
5.4 刪除
刪除空目錄:rmdir dirName
(用的不是很多)
刪除整個目錄:rm dir -r
(r表示遞歸的刪除),如果想看遞歸的過程用 rm -ri dir
5.5 創建文件
touch 文件名
如果文件不存在就創建文件,如果文件存在就修改文件的時間
5.6 刪除文件
rm 文件名
(加參數 -i
可以看到提示過程)
5.7 複製
複製文件:
cp hello.c temp
將hello.c
文件拷貝爲temp
文件,如果temp
文件不存在,則創建temp
文件;如果temp
文件存在,則會覆蓋temp文件。
複製目錄:
cp dir newDir -r
將dir
整個目錄拷貝到newDir
。如果newDir不存在,則創建newDir目錄;如果newDir存在,則將dir複製到newDir中。如下圖:
5.8 查看文件中內容(5種方式):
cat
cat file.txt -> 將文件內容一次性輸出到終端。 如果文件太長,無法再終端全部顯示。
more
more + 文件名 文件內容分頁顯示到終端,但是隻能一直向下瀏覽,不能回退 空格:顯示下一頁 ctrl+c 或 q:退出
less
less + 文件名
文件內容分頁顯示到終端,可以自由上下瀏覽
回車:顯示下一行
空格:顯示下一頁
ctrl+p 或 ↑:滾動到上一行
ctrl+n 或 ↓:滾動到下一行
q:退出瀏覽
head
從文件頭部開始查看前 x 行的內容
head -5 hello.c --> 查看hello.c文件前五行的內容
如果沒有指定行數,默認顯示前10行內容
tail
從文件尾部開始查看後 x 行的內容
tail -5 hello.c --> 查看hello.c文件後五行的內容
如果沒有指定行數,默認顯示後10行內容
5.10. 創建快捷方式(軟鏈接):
ln -s hello.c hello.soft
給hello.c
文件創建軟鏈接接,訪問hello.soft
就是訪問hello.c
這裏hello.c
最好用絕對路徑
同理,給目錄創建軟鏈接:ln -s ~/Desktop desktop.soft
5.12 硬鏈接
ln hello.c hello.hard
注意:
1.硬鏈接,以文件副本的形式存在。但不佔用實際空間。
2. 不允許給目錄創建硬鏈接。
3. 硬鏈接只有在同一個文件系統中才能創建。
4. 刪除其中一個硬鏈接文件並不影響其他有相同 inode 號的文件。不論是硬鏈接或軟鏈接都不會將原本的檔案複製一份,只會佔用非常少量的磁碟空間
6. 文件和目錄的屬性
6.1 wc:查看文本文件信息
wc hello.c
輸出文本文件的行數,單詞數,字節數,文件名
參數
-c: 只顯示字節數
-l: 只顯示行數
-w:只顯示字數
6.2 od:查看二進制文件信息
-t 指定數據的顯示格式 參數
- c --> ASCII字符
- d --> 有符號十進制數
- f --> 浮點數
- o --> 八進制數
- u --> 無符號十進制數
- x --> 十六進制數
6.4 du:查看某個目錄的大小
du --> disk use
一般用 du -h
6.5 df: 查看磁盤的使用情況
df --> disk free
一般用 df -h
7. 文件權限, 用戶, 用戶組
7.1 文字設定法
chmod [who] [+|-|=] [mode]
who:
- 文件所有者: u
- 文件所屬組: g
- 其他人: o
- 所有的人: a
+: 添加權限:
-: 減少權限
=: 覆蓋原來的權限
mode:
r: 讀
w: 寫
x: 執行
添加權限示例:
覆蓋權限示例:
7.2 數字設定法
-
: 沒有權限
r
: 4
w
: 2
x
: 1
765 的含義:
7 – rwx – 文件所有者
6 – rw – 文件所屬組
5 – rx – 其他人
7.3 改變文件或目錄的所有者或所屬組:
chown
chgrp
7.4 改變文件或目錄所屬的組:
- 按文件屬性查找:
1). 文件名:find + 查找的目錄 + -name + "文件的名字"
2). 文件大小:find + 查找目錄 + -size + +10k
3). 文件類型:find + 查找目錄 + -type + d/f/b/c/s/p/l
- 按文件內容查找:
grep -r "查找的內容" + 查找的路徑