LINUX 入門及一些基本的操作
目錄
一、 用戶登錄
二、 終端
三、 shell介紹
四、 執行命令
五、 簡單命令
六、 命令行歷史
七、 bash快捷鍵
八、 使用ghome-ternimal
九、 文件管理
十一、. 目錄、inode表與文件
十二、 軟/硬鏈接
一、用戶登錄
在Linux系統中有兩種用戶,一種為root用戶,一種為普通用戶,
1、root 用戶
root是一種特殊的管理賬戶,擁有管理系統的所有權利,相當於windows的超級管理員,可以管理任何的文件,也可以管理其它普通用戶的權限,對於管理系統非常的方便,(但是對系統損害也幾乎擁有無限的能力,除非必要不要登錄root)
權限有限,也不能對其它的用戶信息及權限進行修改,造成損害的權利比較有限
二、終端terminal
終端是用來管理Linux 的的一種
1、設備終端
鍵盤鼠標顯示器
2、物理終端(/dev/console)
控制臺 console
3、虛擬終端(tty:teletypewriters, /dev/tty# #為[1-6])
tty 可有多個,ctrl+Alt+F[1-6]
4、圖形終端(/dev/tty7) starx, xwindows
Centos 6:ctrl+Alt+F7
Centos 7:在哪個終端啟動,即位於哪個虛擬終端
5、串行終端(/dev/ttys$)
ttys
6、偽終端(pty: pseudo-tty, /dev/pts/#)
7、查看當前終端設備的命令是tty
三、shell 介紹
shell 是Linux系統的用戶界面,提供了用戶與內核進行互相操作的一種接口。它接受用戶輸入的命令並把它送到內核去執行。shell也被稱為Linux的命令解釋器,shell是一種高級程序語言。
1、echo 顯示當前
2、cat /etc/shells 顯示當前系統使用的所有shell
3、命令提示符 [root@localhost ~]#
管理員 $ 普通用戶
echo $PS1 顯示提示符格式 PS1="\[\e[311m\][\u@\h \W]\\$\[\e[0m\]" \e \033 顏色 \u 當前用戶 \h 主機名簡稱 \H 主機名 \w 當前工作目錄 \W 當前工作目錄基名 \t 24小時時間格式 \T 12小時時間格式 \! 命令歷史數 \# 開機後命令歷史數
四、執行命令
輸入命令後回車即可執行命令
1、在shell中可執行的命令分為兩種:
內部命令:由shell自帶的,而且通過某命令形式提供
help 顯示所有的內部命令列表
enable 顯示所有已激活的內部命令
enable cmd 激活被禁用的內部命令
enable -n cmd 禁用某個內部命令
enable -n 顯示所有被禁用的內部命令
enable -a顯示所欲內部命令
enable -a |wc -1 顯示所有的內部命令的數量
enable |wc -1 顯示激活中的內部命令的數量
2、外部命令:在文件系統路徑下有對應的可執行程序文件
查看路徑:which -a |--skip-alias ;whereis
3、區別制定的命令是內部命令或是外部命令的命令:
type cmd
4、當執行一條命令時的查找順序
別名
內部命令
外部命令
hash(緩存表)
path(存儲外部命令的命令)
5、hash緩存表:系統重啟後hash表為空,當執行一個外部命令時,默認會從path路徑下尋找該命令,找到後會將這條命令的路徑記錄到hash表中,當再次使用該命令時,shell解釋器首先會查看hash表,存在則執行之,如果不存在,將會去path路徑下尋找。利用hash緩存表可大大提高命令的調用速率
hash命令的常見用法
hash 顯示所有被hash的命令路徑
hash -l 顯示所有被hash的命令路徑,包含別名
hash -p 路徑 別名 手工添加一條hash
hash -t name 顯示別名(命令)的hash路徑
hash -d 別名(命令) 刪除指定命令或別名的hash條目
hash -r 清空所有的hash
6、alias 顯示所有的別名信息
alias 別名=‘cmd -選項 參數’ 定義一個命令的別名
unalias 別名 取消一個別名
unalias -a 取消所有的別名
別名的保存 /etc/bashrc
如果一個別名跟另一個命令重名了,要想使用哪個命令而不是哪個別名的話,可以使用下列方式:
\cmd
‘cmd‘
"cmd"
/path/cmd
7、 在命令行中定義的別名,僅對當前shell進程中有效,如果想要永久有效,可以定義在配置文件中,
僅對當前用戶的配置文件:~/.bashrc
對所有用戶有效的配置文件:/etc/bashrc
編輯配置給出的新配置不會立即生效,需要重新讀取配置文件後才能生效
source /path/to/config_file
五、 簡單命令
1、命令的執行語法
cmd 選項 參數
選項:用於啟用或關閉命令的某些功能
參數:命令的作用對象,
(多個選項以及多參數和命令之間使用空白字符分隔
取消命令和結束命令:Ctrl+c ,Ctrl+d
多個命令在一行可以用;符號分開
一個命令可以用\分成多行)
2、Linux中一些基礎的命令
1.時間
date 顯示系統日期和時間
clock,hwclock :顯示硬件時鐘
Linux的兩種時鐘,
系統時鐘:Linux的系統時間,關機後則不再工作
硬件時鐘:硬件時鐘,在關機後仍然工作,依靠主板上的 一 顆 紐扣電池供電
hwclock -s 以硬件時間為準,校正系統時鐘
hwclock -w 以系統時間為準,校正硬件時鐘
date
+%Y 只顯示 年
+%m 只顯示月
+%d 日
+%H 時
+%M 分
+%S 秒
+%F 年-月-日
+%T 時:分:秒
用date 設置系統時間
date 月日時分年[.秒] date 102013112020.45
dae -s ‘年-月-日 時:分:秒’
- cal 顯示日歷
cal 顯示今年本月的日歷
cal 年份 顯示該年一整年的日歷
cal 月份 年份
3.關於開關機
poweoff 關機
reboot 重啟
init 0 關機
init 6 重啟
shutdown -r 重啟
shutdown -h 關機
shutdown +n n分鐘後關機
shutdown 20:20 20:20 關機(定時關機)
(如何取消關機,在當前終端可以Ctrl+c 取消關機,在其他終端可以打命令shutdown -c 取消關機計劃)
4.關於查看當前用戶的信息
whoami 顯示當前用戶名
who am/are/is 任意字符 顯示當前終端的信息
who 顯示所有終端的信息
w 顯示所有終端的詳細信息及操作
5.screen命令
screen 創建一個會話可以讓不同地方兩個終端共享一個終端, 在其中一個終端上敲命令,另一個終端上也能顯示出來
screen 生成默認名字的會話
screen -S 會話名 創建指定名的screen
screen -ls 查看所有已打開的screen
screen -x 會話名 加入已創建的screen
exit 退出當前會話
6.echo 輸出內容在終端上
-E 不開始解釋功能,默認
-n 不自動換行
-e “”開啟解釋功能“”
\a 警告聲
\b 退格
\c 不換行
\n 回車換行
\r 回車,即光標移至行首,但不換行
\t 插入tab
\ 插入\
7.關於whatis 的用法和作用
whatis cmd或man -f cmd 僅能提供命令基本的介紹。不提供用法,基於數據庫的查找,優點是檢索速度快,缺點是缺乏實時性。
8.pwd 查看當前所在目錄的路徑
pwd -d 當前目錄為軟鏈接時,顯示其源目錄
9.ls用法
ls -a 顯示所有目錄和文件,包括隱藏文件
ls -A 顯示所有文件,除. , ..
ls -l 以長格式列出文件和目錄
-rw-r--r--. 1 root root 2193 Jul 14 17:28 passwd
文件類型|owner權限group權限other權限|硬鏈接數|owner|group|文件大小(bytes)|mtime|文件名
ls -R 遞歸
ls -ld 顯示指定目錄的詳細信息
ls -S 按文件大小降序排列
ls -t 按修改時間(Mtime) 從新到舊排列
ls -ut 按訪問時間(atime) 從新到舊排列
ls -U 按文件存放先後順序
ls -X 按文件後綴排序
ls -i 顯示inode號
(時間戳 atime 訪問時間
mtime 文件數據修改時間
ctime 文件元數據修改時間
查看某個文件或目錄的時間戳:stat 文件或目錄路徑)
六、命令行歷史
history 歷史命令查詢命令,顯示當前終端的歷史記錄
history 查詢歷史記錄
history -c 清空當前的所有歷史記錄
history -d 刪除某條歷史
history -a 將當前終端執行的命令寫入歷史記錄文件中 (文件由 變量HISTORY決定,默認為用戶家目錄的.bash_history
history -w /path/filename.txt 將歷史記錄寫入指定文件
history -n 將未讀過的歷史從文件中讀取
history -r 將所欲歷史從文件中讀取
!! 重復執行上一條命令
!-n 重復執行倒數第n條命令
!n重復執行第n條命令
!:0 執行前一條命令(去除參數)
!str 重復前一個以str 開頭 的命令
!?str 重復前一個包含str的命令
!str:p 僅打印以str開頭的命令歷史,而不執行
!$:p 打印輸出!$ 上一條命令的最後一個參數的內容
!:p 打印輸出(上一條命令中所有的參數)的內容
ctrl -r 在歷史命令中搜索命令
ctrl -g 從歷史搜索模式中退出
esc, .(點擊esc鍵松開,然後點擊.鍵)
alt +. (按住alt鍵的 同時點擊 . 鍵)
調用歷史參數
cmd ! ^ 利用上一個命令的第一個參數做cmd的參數
cmd !$ 利用上一個命令的最後一個參數做cmd的參數
cmd ! 利用上一條命令的全部參數做cmd的參數
cmd !:n 利用上一個命令的第n個參數做cmd的參數
cmd !n:^ 調用第n條命令的第一個參數
cmd !n:m 調用第n條命令的第m個參數
cmd !n: 調用第n條命令的所有參數
cmd !str:^ 從命令歷史中搜索以str開頭的命令,並獲取它的 第一個參數
cmd !str:$ 從命令歷史中搜索以str開頭的命令,並獲取它的 最後一個參數
cmd !str:n 從命令歷史中搜索以str開頭的命令,並獲取它的 第n個參數
cmd !str: 從命令歷史中搜索以str開頭的命令,並獲取它的 所有參數
七、bash快捷鍵
Ctrl+L 清屏
Ctrl+O 執行當前命令,並重新顯示本命令
Ctrl+s 鎖定,輸入運行任何命令屏幕上都不顯示,但仍執行命令
Ctrl+q 解鎖
Ctrl+C 強制結束
Ctrl+D 正常終止
Ctrl+Z 掛起(暫停命令)
Ctrl+a 光標移動到命令行首,相當於home
Ctrl+e 光標移動到命令行尾,相當於end
Ctrl+f 光標向右移動一個字符
Ctrl+b 光標向左移動一個字符
Ctrl+xx 光標在命令行首和光標當前位置之間移動
Ctrl+u 刪除光標之前的內容
Ctrl+k 刪除光標之後的內容
Ctrl+w 從光標處向左刪除至單詞首
Ctrl+d 刪除光標後的一個字符
Ctrl+h 刪除光標錢的一個字符
Ctrl+y 將刪除的字符粘貼至光標後
Ctrl+t 交換光標處和之前的單詞位置
Alt +f 向右移動一個單詞
Alt +b 向左移動一個單詞
Alt +r 清除全部內容
Alt +d 從光標處向右刪除至單詞尾
Alt +c 從光標處開始向右更改為首字母大寫的單詞
Alt +u 從光標處開始,將右邊一個單詞更改為大寫
Alt +l 從光標處開始,將右邊一個單詞更改為小寫
Alt +t 交換光標處和之前的單詞位置
Alt +N 提示輸入指定字符後,重復顯示該字符n次(n表示具體的數 字)
八、使用ghome-ternima
Ctrl-Shift-n 創建新窗口
Ctrl-Shift-q 關閉當前窗口
Ctrl-Shift-t 創建一個標簽頁
Ctrl-Shift-w 關閉一個標簽頁
Ctrl-Paup/padn 切換到上一個/下一個標簽頁
Ctrl-Shift-c 復制選中的文本
Ctrl-Shift-v 把文本粘貼到當前光標處
九、文件管理
1、文件系統
文件和目錄被組織成一個倒根樹結構。
文件系統從根目錄下開始,
用“/",文件名區分大小寫,
以.開頭的文件為隱藏文件,
路徑分隔符“/”
文件有兩類數據,
元數據metadata
數據 data
文件名最長255個字節,包含路徑在內文件名稱最長4095個字節
藍色 -->目錄;綠色 --> 可執行文件 ; 紅色 - -> 壓縮文件;淺藍色 --> 鏈接文件;灰色-->其他文件
2、Linux根目錄下的目錄的作用
/boot: 引導文件存放目錄,內核文件、引導加載器都存放於此
/bin : 供所有用戶使用的基本命令
/sbin: 管理類的基本命令
/lib : 啟動時程序依賴的基本共享庫文件以及內核模塊文件
/lib64: 專用於x86_64系統上的輔助共享庫文件存放位置
/etc: 配置文件目錄
/home : 存放著普通用戶的家目錄
/root : 管理員root的家目錄
/media: 便攜式移動設備掛載點
/mnt : 臨時文件系統掛載點
/dev : 設備文件及特殊文件存放位置
/opt: 第三方應用程序的安裝位置
/srv: 系統上運行的服務用到的數據
/tmp: 臨時文件存儲位置
/proc: 用於輸出內核與進程信息相關的虛擬文件系統
/sys: 用於輸出當前系統上硬件設備相關信息虛擬文件系統
/selinux:securityenhanced Linux,selinux相關的安全政策等信息的存儲位置
3、Linux下的文件類型
-:普通文件
d:目錄文件
b:塊設備
c:字符設備
l:符號鏈接文件
p:管道文件pipe
s:套接字文件socket
4、顯示當前工作目錄
每個shell和系統進程都有一個當前的工作目錄
1.pwd 顯示當前的工作目錄
-p 顯示真實物理路徑
-L 顯示鏈路路徑(默認)
5、路徑的表示方式
絕對路徑:以正斜杠開始,是從根目錄開始到達目標目錄
相對路徑:不以正斜杠開頭,從當前目錄開始到達目標目錄
6、更改目錄
cd 單獨一個cd命令會從當前目錄切換至登錄用戶的家目錄
cd 目標路徑:從當前目錄切換至目標目錄
7、文件通配符
[:digit:]:任意數字,相當於0-9
[:lower:]:任意小寫字母
[:alnum:]:任意數字或字母
[:blank:]:水平空白字符
[:space:]:水平或垂直空白字符
[:punct:]:標點符號
[:print:]:可打印字符
[:cntrl:]:控制(非打印)字符
[:graph:]:圖形字符
[:xdigit:]:十六進制字符
8、創建空文件和刷新時間
touch 選項 文件路徑 : 創建一個文件
-a 僅改變 atime和ctime
-m 僅改變 mtime和ctime
-t [[CC]YY]MMDDhhmm[.ss]
指定atime和mtime的時間戳
-c 如果文件不存在,則不予創建
9、復制文件或目錄
cp 選項 原文件路徑(src) 目標文件路徑(dest)
-i:覆蓋前提示
–n:不覆蓋,註意兩者順序
-r: -R: 遞歸復制目錄及內部的所有內容
-a: 歸檔,相當於-dR --preserv=all
-d:--no-dereference --preserv=links 不復制原文件,只復制鏈名
-p: 等同--preserv=mode,ownership,timestamp
-v: --verbose 顯示復制的過程
-f: --force 當普通用戶對某目錄有rx權限時,使用-f可以將沒有修改 權限的文件強制覆蓋。即刪除再創建
src是文件:
如果dest不存在:新建dest,並將src中內容填充至dest中
如果dest存在:
如果dest是文件:將src的內容覆蓋至dest中,基於安全,建 議為cp命令下使用-i選項
如果dest是目錄:在dest下新建與src同名的文件,並將src中 的內容填充至新文件中
src是目錄:此時使用選項-r
如果dest不存在:則創建指定目錄,復制src目錄中所有文件至 dest中;
如果dest存在:
如果dest是文件:報錯
如果dest是目錄:將src目錄下所有文件或目錄一次復制至 dest目錄下
10、移動和重命名文件
mv 選項 src dest
-i :交互式
-f :強制
-r :遞歸
11、刪除文件
rm 選項 目標路徑
-i:交互式
-f:強制刪除
-r:遞歸
12、tree 顯示目錄樹
-d :只顯示目錄
-L level:指定顯示的層級數目
-p pattern:只顯示由指定pattern匹配到的路徑
13 創建目錄
mkdir 目錄路徑 在該目錄下創建一個目錄
-p:存在於不報錯,且可自動創建所需的各目錄
-v:顯示詳細信息
-m mode:創建目錄時直接指定權限
14、刪除空目錄
rmkdir 目錄路徑 刪除這個空目錄
-p:遞歸刪除父空目錄
-v:顯示詳細信息
rm -r:遞歸刪除目錄樹
十、目錄、元數據、inode表與文件
人是通過目錄文件名來引用一個文件,每一個文件都有一個相對應的i元數據,每一個元數據都對應著一個inode號,目錄是目錄下的文件和文件inode號之間的映射
1、元數據裏面包括:
文件類型,權限,UID,GID
鏈接數
該文件的和不同的大小和不同的時間戳
指向磁盤上文件的數據塊指針
有關文件的其他數據
2、在cp的命令:
分配一個空閑的inode號,在inode表中生成新的條目
在目錄中創建一個目錄項,將名稱與inode編號關聯
拷貝數據生成新的文件
3、rm命令
鏈接數遞減,從而釋放的inode號可以被重用
把數據塊放在空閑列表中
刪除目錄項
數據實際上不會馬上被刪除,但當另一個文件使用數據塊時將被
覆蓋
4、mv和inode
如果mv命令的目標和源文件在相同的文件系統,作為mv命令
用新的文件名創建對應新的目錄項
刪除舊目錄條目對應的舊的目錄名
不影響inode表(除時間戳)或磁盤上的數據位置:沒有數據被 移動
如果目標和源不同的文件系統,mv相當於cp和rm
十一、軟/硬鏈接
1、硬鏈接
創建硬鏈接會增加額外的記錄項以引用文件
對應於同一文件系統上一個物理文件
每個目錄引用相同的inode號
創建時鏈接數遞增
刪除文件時:
rm命令遞減計數的鏈接,文件要存在,至少有一個鏈接數
當鏈接數為0時,該文件被刪除
不能跨越分區
創建硬鏈接的語法:
ln filename [linkname]
2、軟鏈接
一個符號鏈接指向另一個文件
ls - l的 顯示鏈接的名稱和引用的文件
一個符號鏈接的內容是它引用文件的名稱
可以對目錄進行
可以跨分區
指向的是另一個文件的路徑;其大小為指向的路徑字符串的
長度;不增加或減少目標文件inode的引用計數;
語法:
ln -s filename [linkname]
3、查看文件類型
文件可以包含多種類型的數據使用file可以檢查文件的類型,然後確定適合的命令或應用程序使用,其語法規則為:
file 選項 文件目錄路徑
-b :列出文件辨識結果時,不顯示文件名稱
-f filelist: 列出文件filelist中文件名和文件類型
-F:使用指定分隔符號替換輸出文件名後默認的:分隔符
-L:查看對應軟鏈接對應文件的文件類型
--help:顯示命令在線幫助
LINUX 入門及一些基本的操作