目錄 | 簡介 |
---|---|
/bin | Binary的縮寫,存放最經常使用的命令 |
/sbin | s代表Super user,存放系統管理員使用的系統管理程序 |
/home | 存放普通用戶的主目錄,每個用戶都有專屬的目錄且一般以用戶名命名 |
/root | 為系統管理員所有,也稱作超級權限者的用戶主目錄 |
/lib | 系統開機所需最基本的動態連接共享庫,其作用類似于Windows里的DLL文件 |
/lost+found | 此目錄一般情況下是空的,當系統非法關機后,才存放一些文件 |
/etc | 所有系統管理所需的配置文件和子目錄,例如安裝mysql數據庫-my.conf |
/usr | 非常重要的目錄,存放用戶的應用程序和文件,類似于Windows的program files |
/boot | 存放啟動Linux時使用的核心文件,包括鏈接、鏡像文件等 |
/proc | 虛擬的目錄,系統內存的映射,通過訪問此目錄以獲取系統信息 |
/srv | service的縮寫,存放一些服務啟動之后需要提取的數據 |
/sys | Linux2.6內核的一大改動,該目錄安裝了2.6內核中一個新文件系統 sysfs |
/tmp | 存放臨時文件 |
/dev | 類似于windows的設配管理器,只不過Linux將所有的硬件都用文件的方式存儲 |
/media | Linux系統會自動識別一些設備,如U盤、光驅等,識別后將其掛在于此目錄 |
/mnt | 系統提供此目錄用以臨時掛載別的文件系統,用戶可以將外部的存儲掛載于/mnt |
/opt | 系統提供用以安裝其他軟件,如安裝ORACLE數據庫等,默認為空 |
/usr/local | 系統提供用以使用編譯源碼方式安裝程序的目錄 |
/var | 該目錄存放經常被修改的文件及目錄,例如各種日志文件 |
/selinux | 系統的一種安全子系統,控制程序只能訪問特定文件,有三種可設置的工作模式 |
關機&重啟
指令 | 簡介 |
---|---|
shutdown -h now | 立刻進行關機 |
shutdown -h 1 | 1分鐘后進行關機 |
shutdown -r now | 立即進行重啟 |
halt | 關機 |
reboot | 現在重新啟動計算機 |
sync | 將內存數據同步到磁盤上 |
注意:不論是重啟系統或者關閉系統,都應先手動運行sync命令進行內存數據同步
即使目前的shutdown/reboot/halt等命令均在關機前進行了sync命令,但應謹慎為上
用戶管理
用戶登錄和注銷
盡量少使用root賬戶登錄,因為它是系統管理員,擁有最大的權限。為了避免誤操作,一般使用普通賬戶登錄,如若需要相應的權限,可以使用su - root命令臨時切換為系統管理員身份。
在提示符下輸入logout即可注銷賬戶
添加用戶
基本介紹:Linux系統是一個多用戶多任務的操作系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬戶,然后用這個賬號的身份進入系統
基本語法
useradd 用戶名
當創建用戶成功以后,會自動的創建和用戶名同名的家目錄
也可以通過useradd -d 指定目錄 新的用戶名,給新創建的用戶指定家目錄
指定/修改密碼
passwd 用戶名
刪除用戶
基本語法
userdel 用戶名
默認保留home目錄,僅刪除用戶
user -r 用戶名 ,刪除用戶以及用戶home目錄
查詢用戶
基本語法
id 用戶名 ,即可顯示用戶信息
說明,當用戶不存在時,返回無此用戶
切換用戶
基本介紹
在Linux系統中,如果當前用戶的權限不夠,可以通過su - 更高權限用戶,切換用戶執行
基本語法
su - 切換用戶名
細節說明
從高權限用戶切換到低權限用戶,不需要輸入密碼,反之需要
當需要返回原來用戶時,使用exit/logout指令
查看當前用戶
基本語法
whoami/who am i
用戶組
介紹: 類似于角色,系統可以對有共性/權限的多個用戶進行統一管理
新增組
groupadd 組名
刪除組
groupdel 組名
創建用戶時指定用戶組
useradd -g 用戶組 用戶名
如果創建用戶時,并未指定用戶組,則默認與用戶名同名的用戶組
修改用戶組
usermod -g 用戶組 用戶名
用戶和組相關文件
/etc/passwd
用戶(user)的配置文件,用于記錄用戶的各種信息
每行含義: 用戶名:口令:用戶標識號:組標識號:注釋性描述:主目錄:登錄shell
/etc/shadow
口令的配置文件
每行含義: 登錄名:加密口令:最后一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時時間:失效時間:標志
/etc/group
組(group)的配置文件, 記錄Linux包含的組信息
每行含義: 組名:口令:組標識號:組內用戶列表
指定運行級別
基本介紹
運行級別說明:
0 : 關機
1 : 單用戶(找回丟失密碼)
2 : 多用戶狀態沒有網絡服務
3 : 多用戶狀態有網絡服務
4 : 系統未使用保留給用戶
5 : 圖形界面
6 : 系統重啟
說明: 常用運行級別是3和5, 也可以指定默認運行級別
命令: init[0123456]
通過init來切換不同的運行級別
CentOS7運行級別說明
在/ect/inittab文件中進行了簡化, 如下:
multi-user.target: analogous to runlevel 3
graphical.target: analogous to runlevel 5
-# To view current default target, run:
systemctl get-default
-# To set a default target, run:
systemctl set-default TARGET.target
重置root密碼
重啟系統, 進入開機界面, 按"e"進入編輯界面
?
進入編輯界面, 使用鍵盤上下鍵移動光標, 找到以"Linux16"開頭內容所在的行數, 將ro改為rw,并在行末輸入: init=/bin/sh
輸入完成后,直接按快捷鍵: Ctrl+x, 進入單用戶模式
輸入: "passwd root", 回車, 接著輸入密碼與確認密碼, 顯示passwd.....,說明密碼修改成功
在鼠標閃爍位置輸入: touch /.autorelabel, 按下回車
輸入: exec /sbin/init
幫助指令
man獲得幫助信息
man [命令或配置文件] (功能描述: 獲得幫助信息)
例如: 查看ls命令的幫助信息 man ls (在Linux系統中, 隱藏文件是以"."開頭)
help指令
help 命令 (功能描述: 獲得shell內置命令的幫助信息)
例如: 查看cd命令的幫助信息 help cd
文件目錄
pwd
pwd ,顯示當前工作目錄的絕對路徑
ls
ls [選項] [目錄或是文件]
常用選項
-a : 顯示當前目錄所有的文件和目錄, 包括隱藏文件
-l : 以列表的方式顯示信息
cd
cd [參數] (功能描述: 切換到指定目錄, 絕對路徑,相對路徑皆可)
cd ~ 或者 cd : 回到自己的家目錄, 例如當前用戶為root, 則cd ~ 切換到/root
cd.. 回到當前目錄的上一級目錄
mkdir
mkdir [選項] 創建的目錄
mkdir -p 創建多級目錄
例如(下例中僅/home/目錄存在):
mkdir /home/dog 創建/home/dog目錄
mkdir -p /home/animal/cat 創建/home/animal/cat目錄
rmdir
mkdir的反向操作, 用于刪除目錄
rmdir [選項] 要刪除的目錄
rmdir /home/dog 刪除/home/dog目錄
上例僅能刪除空目錄, rm -rf 要刪除的非空目錄
rm指令能夠刪除文件和目錄
選項r表示遞歸刪除目錄
f表示強制刪除, 不會顯示刪除確定提示
rmdir -p 要刪除的目錄, 是當子目錄被刪除后使它也成為空目錄的話,則順便一并刪除
touch
創建空文件
touch 文件名稱
cp
拷貝文件
cp [選項] source dest
source: 源文件
dest: 目標目錄
常用選項: -r, 用于遞歸復制整個文件夾
rm
刪除文件或目錄
rm [選項] 要刪除的文件或目錄
常用選項:
-r : 遞歸刪除整個文件夾
-f : 強制刪除不提醒
應用實例:
rm /home/HelloWorld.java : 刪除/home/HelloWorld.java
rm -rf /home/dir_java : 遞歸刪除/home/dir_java目錄
提示: 刪除的目錄有多個文件或目錄時, 加上-f選項, 避免不必要的刪除確認提示
mv
移動文件與目錄或者重命名
mv oldFileName newFileName (當前目錄下, 執行重命名操作)
mv /temp/sourceFile /opt/destFile (移動文件)
cat
查看文件內容
cat [選項] 要查看的文件
常用選項: -n, 顯示行號
more
其是基于vi編輯器的文本過濾器, 以全屏幕的方式按頁顯示文本文件的內容
more 要查看的文件
詳細操作:
操作 功能說明 空格鍵(space) 表示向下翻頁 回車鍵(Enter) 表示向下一行 q 退出more指令 Ctrl + F 向下滾動一屏 Ctrl + B 返回上一屏 = 輸出當前行號 :f 輸出文件名和當前行號 less
less指令用來分屏查看文件內容, 功能與more指令類似, 但比more指令更加強大, 支持各種顯示終端.
使用less指令查看文件內容時, 并不是一次性將整個文件加載到內存, 而是按需動態加載內容, 使用查看較大的文件
less 要查看的文件
詳細操作
操作 功能說明 空格鍵 向下翻動一頁 [pagedown] 向下翻動一頁 [pageup] 向上翻動一頁 /字符 向下查找[字符], n : 下一個匹配字符, N : 上一個匹配字符 ?字符 向上查找[字符], n : 上一個匹配字符, N : 下一個匹配字符 q 退出less echo
輸出內容到控制臺
echo [選項] [輸出內容]
echo $PATH : 輸出環境變量
echo hello, world! : 輸出hello, world!
head
用于顯示文件開頭部分的內容
head 文件 : 查看文件前10行內容(默認為10行)
head -n 5 文件 : 查看文件前5行內容
tail
用于輸出文件尾部內容, 默認情況下顯示文件的后10行內容
tail 文件 : 查看文件后10行內容
tail -n 5 文件 : 查看文件后5行內容
tail -f 文件 : 實時追蹤該文檔的所有更新
>和>>
.> : 輸出重定向, >> : 追加
ls -l > ls.txt : 將列表的內容寫入文件ls.txt中(覆蓋寫)
ls -al >> lsa.txt : 將列表的內容追加到文件lsa.txt的末尾
cat 文件1 > 文件2 : 將文件一的內容覆蓋寫到文件2中
ln
軟連接也稱為符號連接, 類似于Windows里的快捷方式, 用于鏈接其它文件
ln -s [原文件或目錄] [軟鏈接名] : 給原文件創建一個軟鏈接
說明: 使用pwd指令查看目錄時, 仍然是軟鏈接所在的目錄
history
查看已經歷史命令, 也可以再次執行歷史命令
應用實例:
history : 顯示所有的歷史命令
history 10 : 顯示最近使用過的10個命令
!5 : 執行歷史編號為5的命令
時間日期
date
顯示當前日期
指令 功能說明 date 顯示當前時間 date +%Y 顯示當前年份 date +%m 顯示當前月份 date +%d 顯示當前是哪一天 date "+%Y-%m-%d %H:%M:%S" 顯示年月日時分秒
設置日期
date -s 字符串時間
cal
查看日歷指令
cal [選項] : 不加選項, 顯示本月日歷
搜索查找
find
find指令將從指定目錄向下遞歸地遍歷其各個子目錄,將滿足條件的文件或目錄顯示在終端
基本語法
find [搜索范圍] [選項]
選項 功能 -name<查詢方式> 按照指定的文件名查找模式查找文件 -user<用戶名> 查找屬于指定用戶名所有文件 -size<文件大小> 按照指定的文件大小查找文件 應用實例
案例一: 按文件名,根據名稱查找/home/目錄下的hello.txt文件
find /home -name hello.txt
案例二:按擁有者:查找/opt目錄下,用戶名稱為noboby的文件
find /opt -user nobody
案例三:查找整個linux系統下大于200M的文件(+n大于 -n小于 n等于,單位有k, M, G)
find / -size +200M
locate
locate指令可以快速定位文件路徑。locate指令利用事先建立的系統中所有文件名稱及路徑的locate數據庫實現快速定位給定的文件。locate指令無需遍歷整個文件系統,查詢速度較快。為了保證查詢結果的準確性,管理員必須定期更新locate數據庫
基本語法:
locate 搜索文件
特別說明:由于locate指令基于數據庫進行查詢,所以第一次運行前,必須使用updatedb指令創建locate數據庫
which指令,可以查看某個指令在哪個目錄下,比如ls指令在那個目錄
grep和|
grep過濾查找,管道符 |,表示將前一個命令的處理結果輸出傳遞給后面的命令處理
基本語法
grep [選項] 查找內容 源文件
常用選項
選項 功能 -n 顯示匹配行及行號 -i 忽略字母大小寫 應用實例
請在hello.txt文件中,查找“yes"所在行,并且顯示行號
cat /home/hello.txt | grep "yes"
grep -n "yes" /home/hello.txt
解壓縮
gzip/gunzip
gzip用于壓縮文件, gunzip用于解壓
基本語法
gzip 文件 (只能將文件壓縮為*.gz文件)
gunzip 文件.gz (解壓gz文件)
應用實例
案例一:gzip壓縮,將/home/hello.txt文件進行壓縮
gzip /home/hello.txt
案例二:gunzip解壓,將/home/hello.txt.gz文件進行解壓
gunzip /home/hello.txt.gz
zip/unzip
zip用于壓縮文件,unzip用于解壓文件,這個在項目打包發布中很有用
基本語法
zip [選項] xxx.zip 要壓縮的內容 (壓縮文件和目錄)
unzip [選項] xxx.zip (解壓文件)
常用選項
-r,遞歸壓縮,及壓縮目錄
-d<目錄> 指定解壓后文件的存放目錄
應用實例
案例一:將/home/目錄及其所有子文件,子文件目錄進行壓縮為myhome.zip
zip -r myhome.zip /home/
案例二:將myhome.zip解壓到/opt/tmp目錄下
mkdir /opt/tmp
unzip -d /opt/tmp /home/myhome.zip
tar
tar指令是打包指令,最有打包后的文件類型是.tar.gz
基本語法
tar [選項] xxx.tar.gz 打包的內容
選項 功能 -c 產生.tat打包文件 -v 顯示詳細信息 -f 指定壓縮后的文件名 -z 打包同時壓縮 -x 解壓.tar文件 應用實例
案例一:壓縮多個文件,將/home/pig.txt和/home/cat.txt壓縮成 pc.tar.gz
tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt
案例二:將/home文件夾壓縮成myhome.tar.gz
tar -zcvf myhome.tar.gz /home/
案例三:將pc.tar.gz解壓到當前目錄
tar -zxvf pc.tar.gz
組、權限管理
組
在Linux中的每個用戶都必須屬于某一個組
Linux中文件也有組的概念,且不局限于一個組
所在組
其它組
文件/目錄所有者
一般為文件/目錄的創建者,誰創建了該文件/目錄,就為其所有者
查看所有者
ls -lah
修改所有者
chown 用戶名 文件名
文件/目錄所在組
當某個用戶創建了一個文件后,該用戶所在組就是文件所在組
查看文件/目錄所在組
ls -lah
修改文件所在組
chgrp 組名 文件名
其它組
除文件的所有者和所在組的用戶外,系統的其他用戶都是文件的其它組
改變用戶所在組
usermod -g 新組名 用戶名
usermod -d 目錄名 用戶名 改變該用戶登錄的初始目錄。
特別說明,用戶需要有進入新目錄的權限
權限
通常,ls -l顯示內容如下:
-rwxrw-r-- 1 root root 121 Feb 2 12:12 hello.txt
說明(0~9):
第0位:文件類型(d, -, l, c, b)
-:普通文件
d:目錄,也就是文件夾
c:字符設備文件,鼠標,鍵盤
b:塊設備,例如,硬盤
第1~3位:所有者權限,---User
第4~6位:所屬組權限,---Group
第7~9位:其它用戶權限,---Other
rwx權限說明
對于文件
r:表示可讀(read),可以讀取、查看
w:表示可寫( write),可以修改,但是并不代表可以刪除該文件,刪除需要有對該文件所在目錄具有寫權限
x:表示可執行(execute),可以被執行
對于目錄
r:表示可讀(read),可以讀取、ls查看目錄內容
w:表示可寫( write),可以修改,對目錄內創建、刪除、重命名目錄/文件
x:表示可執行(execute),可以進入該目錄
數字表示權限
r=4,w=2,x=1,因此rwx=4+2+1=7
其它說明
-rwxrw-r-- 1 root root 121 Feb 2 12:12 hello.txt
1:文件:硬連接數,目錄:子目錄數
root:用戶
root:組
121:文件大?。ㄗ止潱?,如果是文件夾,顯示4096字節
Feb 2 12:12:最后修改時間
hello.txt:文件名
修改權限
通過chmod指令,可以修改文件或者目錄的權限
chmod u=rwx,g=rx,o=x 文件/目錄名
chmod o+x 文件/目錄名
chmod a-x 文件/目錄名
說明:u:所有者,g:所有組,o:其他人,a:所有人(u,g,o的總和)
+:增加權限,-:減少權限,=賦予權限
案例演示
設置hello.txt文件的所有者讀寫執行權限,所在組讀執行,其它組讀執行
chmod u=rwx,g=rx,o=rx hello.txt
設置hello.txt文件所有者除去執行權限,增加所在組寫權限
chmod u-x,g+w hello.txt
設置hello.txt文件所有用戶添加讀權限
chmod a+r hello.txt
使用數字方式變更權限
r=4,w=2,x=1
數字 相應權限 0 --- 1 x 2 w 3 wx 4 r 5 rx 6 rw 7 rwx
例如:chmod u=rwx,g=rx,o=x hello.txt == chmod 751 hello.tx
修改文件所有者
基本用法
chown newowner 文件/目錄 改變所有者
chown newowner:newgroup 文件/目錄 改變所有者和所在組
-R,如果是目錄,則是其下所有子文件或目錄遞歸生效
案例演示
將/home/abc.txt文件的所有者修改為tom
chown tom /home/abc.txt
將/home/test目錄下所有的文件和目錄的所有者都修改為tom
chown -R tom /home/test
修改文件/目錄所在組
基本用法
chgrp newgroup 文件/目錄
案例演示
將/home/abc.txt文件的所在組修改成sh
groupadd sh
chgrp sh /home/abc.txt
將/home/kkk目錄下的所有文件和目錄所在的組都修改成sh
本文摘自 :https://www.cnblogs.com/