前言
爲了熟練使用,抽空學習了下Linux系統,做了些筆記
Linux目錄結構
/bin
bin 是 Binary 的縮寫。這個目錄存放着最經常使用的命令。
/boot
這裏存放的是啓動 Linux 時使用的一些核心文件,包括一些連接文件以及鏡像文件。
/dev
dev 是 Device(設備)的縮寫。該目錄下存放的是 Linux 的外部設備,在 Linux 中訪問設備的方式和訪問文件的方式是相同的。
/etc
這個目錄用來存放所有的系統管理所需要的配置文件和子目錄。
/home
用戶的主目錄,在 Linux 中,每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的。
/lib
這個目錄裏存放着系統最基本的動態連接共享庫,其作用類似於 Windows 裏的 DLL 文件。幾乎所有的應用程序都需要用到這些共享庫。
/lost+found
這個目錄一般情況下是空的,當系統非法關機後,這裏就存放了一些文件。
/media
linux 系統會自動識別一些設備,例如U盤、光驅等等,當識別後,linux 會把識別的設備掛載到這個目錄下。
/mnt
系統提供該目錄是爲了讓用戶臨時掛載別的文件系統的,我們可以將光驅掛載在 /mnt/ 上,然後進入該目錄就可以查看光驅裏的內容了。
/opt
這是給主機額外安裝軟件所擺放的目錄。比如你安裝一個 ORACLE 數據庫則就可以放到這個目錄下。默認是空的。
/proc
這個目錄是一個虛擬的目錄,它是系統內存的映射,我們可以通過直接訪問這個目錄來獲取系統信息。
/root
該目錄爲系統管理員,也稱作超級權限者的用戶主目錄。
/sbin
s 就是 Super User 的意思,這裏存放的是系統管理員使用的系統管理程序。
/srv
該目錄存放一些服務啓動之後需要提取的數據。
/sys
這是 linux2.6 內核的一個很大的變化。該目錄下安裝了 2.6 內核中新出現的一個文件系統 sysfs ,sysfs 文件系統集成了下面3種文件系統的信息:針對進程信息的 proc 文件系統、針對設備的 devfs 文件系統以及針對僞終端的 devpts 文件系統。該文件系統是內核設備樹的一個直觀反映。當一個內核對象被創建的時候,對應的文件和目錄也在內核對象子系統種被創建。
/tmp
這個目錄是用來存放一些臨時文件的。
/usr
這是一個非常重要的目錄,用戶的很多應用程序和文件都放在這個目錄下,類似與 windows 下的 program files目錄。
/usr/bin
系統用戶使用的應用程序。
/usr/sbin
超級用戶使用的比較高級的管理程序和系統守護程序。
/usr/src
內核源代碼默認的放置目錄。
/var
這個目錄中存放着在不斷擴充着的東西,我們習慣將那些經常被修改的目錄放在這個目錄下。包括各種日誌文件。
目錄標識
- linux @ ubuntu: ~ $
- 用戶名 主機名 路徑
- ~ 家目錄,主目錄 <==> /home/linux/
- / 根目錄,一切文件的起源
- $ 普通用戶命令提示符
- # 超級用戶命令提示符
相對路徑
路徑的寫法一定由根目錄”/”寫起,例如/usr/local/mysql 這就是絕對路徑。
絕對路徑
路徑的寫法不是由根目錄”/”寫起,例如,首先用戶進入到/ 然後再進入到 home ,命令爲 cd /home 然後 cd test 此時用戶所在的路徑爲 /home/test 。第一個cd命令後跟 /home 第二個 cd 命令後跟 test ,並沒有斜槓,這個test是相對於/home 目錄來講的,所以叫做相對路徑。
終端快捷鍵
打開終端
Ctrl + Alt + T 或 Ctrl + Shift + T(在已有的終端上打開)
退出當前終端
Ctrl + D 或 exit
終止當前命令的快捷方式
Ctrl + C,常用
暫停當前進程快捷方式
Ctrl + Z,注意不要亂用,容易弄壞系統
補全指令或目錄提醒指令
Tab鍵,最常用之一
清屏快捷方式
Ctrl + L
複製粘貼快捷方式
Ctrl + Shift + C And Ctrl + Shift + V
命令
查看命令的幫助文檔
man + 命令
目錄跳轉命令
cd命令
- cd + 目錄名 , 配合Tab鍵使用
- cd . 返回當前目錄
- cd .. 返回上一級目錄
- cd ../../.. 多級目錄返回
創建文件指令
touch + name + [後綴名]
查看當前所在目錄
pwd
查看文件與目錄
ls命令
- ls 查看可見文件與目錄
- ls -a 查看所有文件與目錄
- ls -l 以列表的形式,顯示文件的詳細信息
目錄操作
- mkdir + name 創建目錄
- rmdir + name 刪除目錄
刪除指令
rm + name 刪除目錄或文件
- -f 強制刪除
- -r 刪除目錄時添加
查找指令
which 查找內容的絕對路徑
複製指令
cp [選項] [ 來源文件 ] [目標文件]
- -d 快捷方式
- -r 拷貝目錄
- -i 詢問複製,如果遇到一個存在的文件,會問是否覆蓋
移動指令
mv [ 選項 ] [源文件] [目標文件]
查看文件內容指令
cat [ 選項 ] + name
- -n 顯示行號
- -A 顯示所有內容,包括特殊符號
重定向
- > 向文件添加內容,如果文件中有內容則會刪除文件中內容
- >> 向文件追加內容,不會刪除原來內容
查看多頁文件內容
more + name
修改文件權限
chmod [-R] xyz 文件名(這裏的xyz,表示數字)
- 具體規則爲r: 4 w:2 x:1 -:0 舉個例子,-rwxrwx—用數字表示就是 770,具體是這樣來的:
- rwx = 4+2+1=7; rwx= 4+2+1=7; — = 0+0+0=0
查找指令
find指令 搜索 find [路徑] [參數]
- -atime +n :訪問或執行時間大於n天的文件
- -ctime +n :寫入、更改inode屬性(例如更改所有者、權限或者連接)時間大於n天的文件
- -mtime +n :寫入時間大於n天的文件
grep grep [-acinv] [-A] [-B] [–color=auto] ‘查找字符串’ filename
- -a:將 binary 文件以 text 文件方式查找數據
- -c:計算‘查找字符串’次數
- -i:忽略大小寫
- -n:輸出行號
- -v:反向選擇
- -A:後面可跟數字,代表除了本行外,後續的 n 行也都列出來
- -B: 後面可跟數字,代表除了本行外,前面的 n 行也都列出來
- –color=auto: 關鍵字部分添加顏色
查找文件的例子
1. 從文件內容查找匹配指定字符串的行:
grep “被查找的字符串” 文件名
2. 從文件內容查找與正則表達式匹配的行:
grep –e “正則表達式” 文件名
3. 查找時不區分大小寫:
grep –i “被查找的字符串” 文件名
4. 查找匹配的行數:
grep -c “被查找的字符串” 文件名
5. 從文件內容查找不匹配指定字符串的行:
grep –v “被查找的字符串” 文件名
6. 從根目錄開始查找所有擴展名爲.log的文本文件,並找出包含”ERROR”的行:
find / -type f -name “*.log” | xargs grep “ERROR”
7. 系統查找到nginx.conf文件後即時在屏幕上顯示nginx.conf文件信息:
find/-name”nginx.conf”-ls
8. 在根目錄下查找某個文件:
find . -name “test”
9. 在某find . -name “test”個目錄下查找包含某個字符串的文件:
grep -r “zh_CN” ./
10. 循環目錄下所有文件內容中包含303i的文件:
find . -type f -exec grep -l “303i” {} \;
管道指令
命令 | 命令 第一個命令的輸出將作爲第二個命令的輸入
進程查看
- 動態查看進程 top
- 靜態查看 ps -axu
vim操作
進入編輯器 vim + filename
進入輸入模式
- i //從光標所在位置前面開始插入
- a //從光標所在位置後面開始新增
- A //從光標所在行最後面的地方開始新增
- I //從光標所在行最前面的地方開始新增
- o //在光標所在列下新增一列並進入輸入模式
- O //在光標所在列上方新增一列並進入輸入模式
命令模式 按Ese進入命令模式
- 1> yy 複製
- 2> p 粘貼
- 3> dd 剪切
- 4> 2yy 複製兩行
- 5> 5dd 剪切5行
- 6> u 撤銷
- 7> ctrl + r 反撤銷
- 8> gg 文本的第一行
- 9> G 文本的最後一行
底行模式 按:進入底行模式
- 1> w 保存
- 2> w! 強制保存
- 3> q 退出
- 4> q! 強制退出
- 5> wq 保存退出
- 6> wqa 全部保存退出
- 7> vsp filename //左右分屏顯示文件
- 8> sp filename //上下分屏顯示文件
關機與重啓命令
shutdown 可以做一下操作
- shutdown -h now 立即關機
- shutdown –h 某個具體時刻 系統會在今天這個時刻關機
- shutdown -h +10 系統會在10分鐘後關閉
- shutdown -r now 立即重啓
- shutdown -r +10 系統會在10分鐘後重啓
- reboot 相當於 shutdown -r now
- halt,poweroff 相當於 shutdown -h now