查詢當前Linux版本:uname -a
Lsb-release -a 查看系統版本
Linux的文件及文件夾的組織結構成一個倒立置的樹形結構。並以 / (slash)分隔。
重要的文件目錄
用戶主目錄: /root,/home/username
用戶可執行程序目錄: /bin, /usr/bin, /usr/local/bin
系統可執行程序: /sbin, /usr/sbin, /usr/local/sbin
掛載點: /media, /mnt
常用的配置文件目錄: /etc
臨時文件目錄: /tmp
內核及引導目錄: /boot
服務器目錄: /var
系統信息目錄: /proc, /sys
共享庫目錄: /lib, /usr/lib, /usr/local/lib
重要的文件目錄
用戶主目錄: /root,/home/username
用戶可執行程序目錄: /bin, /usr/bin, /usr/local/bin
系統可執行程序: /sbin, /usr/sbin, /usr/local/sbin
掛載點: /media, /mnt
常用的配置文件目錄: /etc
臨時文件目錄: /tmp
內核及引導目錄: /boot
服務器目錄: /var
系統信息目錄: /proc, /sys
共享庫目錄: /lib, /usr/lib, /usr/local/lib
例如:[root@localhost ~]
表示:user: root 主機名:localhost 目錄:/root
-------------------------------------------------------------------------
cd 命令 是改變用戶所在目錄的命令
cd 回當前用戶家目錄
cd ~ 也是回當前用戶家目錄
cd - 回上一次所在的目錄
cd 回當前用戶家目錄
cd ~ 也是回當前用戶家目錄
cd - 回上一次所在的目錄
還有兩種方法
cd /root 使用絕對路徑
cd root 使用相對路徑
cd /root 使用絕對路徑
cd root 使用相對路徑
ls -a
. 代表當前目錄
.. 代表上一級目錄
.. 代表上一級目錄
如果我用cd ..這個命令會切換到root 的上級目錄就是 /,
更改環境變量來實現當前顯示當前的完整路徑狀態
vi /etc/bashrc,修改這一行後面大寫的W,改成小寫的w就可以了,保存退出。
u 就是當前用戶,h 就是主機名字,w 就是當前目錄
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
要查看修改結果,我們需要關閉終端,重新打開終端就可以看見效果了
--------------------------------------------------------------------------
ls 命令
ls -a 顯示所有文件 包括隱藏文件
ls -l 以長列表方式顯示文件
LINUX裏只要文件名前有一個點的就是隱藏文件
ls -l 以長列表方式顯示文件
LINUX裏只要文件名前有一個點的就是隱藏文件
用ls –l以長模式察看文件的詳細信息
包含當前目錄的硬盤使用空間、文件類型、文件權限、硬連接數、文件擁有者、文件所屬組、文件大小、更動時間、文件名。
包含當前目錄的硬盤使用空間、文件類型、文件權限、硬連接數、文件擁有者、文件所屬組、文件大小、更動時間、文件名。
-rw------- 1 root root 958 Mar 25 00:55 anaconda-ks.cfg
第一個"-"位置是代表文件類型的。
在linux中,所有設備都被當成文件。
文件權限前的第一個字母用來標識文件類型:
-:一般文件
d:目錄文件
b:塊設備文件
c:字符設備文件
l:鏈接文件
文件權限前的第一個字母用來標識文件類型:
-:一般文件
d:目錄文件
b:塊設備文件
c:字符設備文件
l:鏈接文件
234位代表文件所有者的權限。
567位代表文件所屬組的權限。
89 10 代表其他用戶的權限。
567位代表文件所屬組的權限。
89 10 代表其他用戶的權限。
r 是讀的意思
W 是寫的意思
X 是執行的意思
W 是寫的意思
X 是執行的意思
-----------------------------------------------------------------------
文件的硬連接及軟鏈接
硬連接就像一個文件有多個文件名,
軟連接就是產生一個新文件,這個文件指向另一個文件的位置,
軟連接就是產生一個新文件,這個文件指向另一個文件的位置,
硬鏈接和軟連接的區別:
1、默認情況下不帶參數,ln命令創建硬鏈接,ln -s 創建軟連接
2、硬鏈接與源文件的inode 節點號相同,軟連接的inode節點號與源文件不同
3、Ln命令不能對目錄創建硬鏈接,可以創建軟連接
4、刪除軟鏈接文件對源文件及硬鏈接文件無任何影響
5、刪除文件的硬鏈接文件對源文件及軟鏈接文件無任何影響
6、刪除鏈接文件的源文件,對硬鏈接文件無任何影響,會導致其軟鏈接失敗(成爲紅底白字閃爍狀)
7、同時刪除源文件和硬鏈接文件,整個文件纔會被真正刪除
8、很多硬件設備中的快照功能,使用的就是類似硬鏈接的原理
9、軟鏈接可以跨文件系統,硬鏈接不可以!
--------------------------------------------------------------------------
新建文件
名稱:touch
使用權限:所有使用者
使用方式:
touch [-acfm]
[-r reference-file] [--file=reference-file]
[-t MMDDhhmm[[CC]YY][.ss]]
[-d time] [--date=time] [--time={atime,access,use,mtime,modify}]
[--no-create] [--help] [--version]
file1 [file2 ...]
說明:
touch 指令改變檔案的時間記錄。 ls -l 可以顯示檔案的時間記錄。
參數:
a 改變檔案的讀取時間記錄。
m 改變檔案的修改時間記錄。
c 假如目的檔案不存在,不會建立新的檔案。與 --no-create 的效果一樣。
f 不使用,是爲了與其他 unix 系統的相容性而保留。
r 使用參考檔的時間記錄,與 --file 的效果一樣。
d 設定時間與日期,可以使用各種不同的格式。
t 設定檔案的時間記錄,格式與 date 指令相同。
--no-create 不會建立新檔案。
--help 列出指令格式。
--version 列出版本訊息。
例:
建立文件,若文件不存在,系統會建立一個新的文件。
touch file
touch file1 file2
將 file 的時間記錄改爲 12 月 6 日 11點 11分,公元2012年。
時間的格式可以參考 date 指令,至少需輸入 MMDDHHmm ,就是月日時與分。
touch -c -t 12061111 file
touch -c -t 120611112012 file
touch -d 和 date -s 的用法相同。
使用權限:所有使用者
使用方式:
touch [-acfm]
[-r reference-file] [--file=reference-file]
[-t MMDDhhmm[[CC]YY][.ss]]
[-d time] [--date=time] [--time={atime,access,use,mtime,modify}]
[--no-create] [--help] [--version]
file1 [file2 ...]
說明:
touch 指令改變檔案的時間記錄。 ls -l 可以顯示檔案的時間記錄。
參數:
a 改變檔案的讀取時間記錄。
m 改變檔案的修改時間記錄。
c 假如目的檔案不存在,不會建立新的檔案。與 --no-create 的效果一樣。
f 不使用,是爲了與其他 unix 系統的相容性而保留。
r 使用參考檔的時間記錄,與 --file 的效果一樣。
d 設定時間與日期,可以使用各種不同的格式。
t 設定檔案的時間記錄,格式與 date 指令相同。
--no-create 不會建立新檔案。
--help 列出指令格式。
--version 列出版本訊息。
例:
建立文件,若文件不存在,系統會建立一個新的文件。
touch file
touch file1 file2
將 file 的時間記錄改爲 12 月 6 日 11點 11分,公元2012年。
時間的格式可以參考 date 指令,至少需輸入 MMDDHHmm ,就是月日時與分。
touch -c -t 12061111 file
touch -c -t 120611112012 file
touch -d 和 date -s 的用法相同。
如果沒有指定日期,默認爲系統日期
touch -d 11:11 file
touch -d "11:11" file
touch -d "11:11am" file
如果沒有指定時間,默認爲 00:00:00
touch -d 11:11 file
touch -d "11:11" file
touch -d "11:11am" file
如果沒有指定時間,默認爲 00:00:00
LINUX 文件名字的長度最大是256個字符.
通常由字母、數字、“.”(點號)、“_”(下劃線)和 “-”(減號)組成.
強調: LINUX文件名字和命令都是嚴格區分大小寫的。
-------------------------------------------------------------------------
刪除文件
名稱:rm
使用權限:所有使用者
使用方式:rm [options] name...
說明:刪除檔案及目錄。
參數:
-i 刪除前逐一詢問確認。
-f 即使原檔案屬性設爲唯讀,亦直接刪除,無需逐一確認。
-r 將目錄及以下之檔案亦逐一刪除。
使用權限:所有使用者
使用方式:rm [options] name...
說明:刪除檔案及目錄。
參數:
-i 刪除前逐一詢問確認。
-f 即使原檔案屬性設爲唯讀,亦直接刪除,無需逐一確認。
-r 將目錄及以下之檔案亦逐一刪除。
使用rm命令要小心。因爲一旦文件被刪除,它是不能被恢復的。爲了防止這種情況的發生,可以使用i選項來逐個確認要刪除的文件。
例:
快速刪除log日誌
例:
快速刪除log日誌
rm -f *22.log
也可echo > /var/log/*22.log清空日誌
--------------------------------------------------------------------------
重命名(移動 )文件
重命名(移動 )文件
名稱:cp
使用權限:所有使用者
使用方式:
cp [options] source dest
cp [options] source... directory
說明:將一個檔案拷貝至另一檔案,或將數個檔案拷貝至另一目錄。
把計
-a 儘可能將檔案狀態、權限等資料都照原狀予以複製。
-r 若 source 中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地。
-f 若目的地已經有相同檔名的檔案存在,則在複製前先予以刪除再行復制。
範例:
將檔案 test 複製(已存在),並命名爲share :
cp test share
-------------------------------------------------------------------------
使用權限:所有使用者
使用方式:
cp [options] source dest
cp [options] source... directory
說明:將一個檔案拷貝至另一檔案,或將數個檔案拷貝至另一目錄。
把計
-a 儘可能將檔案狀態、權限等資料都照原狀予以複製。
-r 若 source 中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地。
-f 若目的地已經有相同檔名的檔案存在,則在複製前先予以刪除再行復制。
範例:
將檔案 test 複製(已存在),並命名爲share :
cp test share
-------------------------------------------------------------------------
文件權限
對於每一個文件,Linux都提供了一套文件權限系統。
對於每一類用戶,權限系統又分別提供他們三種權限
讀(r) :用戶是否有權力讀文件的內容
寫(w) :用戶是否有權利改變文件的內容
執行(x) :用戶是否有權利執行文件
文件權限系統,將操作文件的用戶都分成三類
文件的擁有者(u)
文件所屬組的成員(g)
其他用戶(o)
對於每一類用戶,權限系統又分別提供他們三種權限
讀(r) :用戶是否有權力讀文件的內容
寫(w) :用戶是否有權利改變文件的內容
執行(x) :用戶是否有權利執行文件
文件權限系統,將操作文件的用戶都分成三類
文件的擁有者(u)
文件所屬組的成員(g)
其他用戶(o)
所屬用戶
每一個文件都有一個擁有者。文件的擁有者可以改變文件的權限。所有的用戶都有一個唯一的ID號(UID)
用戶的名字與標識都放在/etc/passwd裏面
用戶的名字與標識都放在/etc/passwd裏面
-------------------------------------------------------------------------
下面看看幾個簡單的命令
創建用戶:useradd
添加一個叫sunsir的用戶,sunsir是你想要創建的用戶名.命令運行成功,是不會有任何提示的.
然後用passwd 改變這個用戶的密碼。
注意;如果你passwd命令後面不跟用戶名的話,他就會改變當前用戶的密碼。
刪除用戶:userdel
語 法:userdel [-r][用戶帳號]
userdel可刪除用戶帳號與相關的文件。
若不加參數,則僅刪除用戶帳號,而不刪除相關文件。
參 數:
-f 刪除用戶登入目錄以及目錄中所有文件。
-f 刪除用戶登入目錄以及目錄中所有文件。
我們用su - sunsir命令切換到剛纔建立的目錄
Su - 是切換用戶,中間那個 - 符號的意思完是整切換到sunsir用戶。所謂的完整就是連着所有變量一起切換.
改變文件權限
chmod 文件權限 文件名字
只有root用戶可以用chown來改變文件的擁有者。
語法:chown 用戶名 文件名
語法:chown 用戶名 文件名
建立文件用touch 命令,
建立一個文件
名字叫;share
名字叫;share
權限: u=rwx g=rx o=rx
改變文件權限有兩種方法:
一種是用字母表示:
比如:u+rwx g+rwx o+rwx,
也可以用減號u-rwx g-rwx o-rwx
第二種chmod後可以用三個數字來表示用戶權限
第一位代表文件擁有者權限
第二位代表文件所屬組成員權限
第三位代表其他用戶權限
第一位代表文件擁有者權限
第二位代表文件所屬組成員權限
第三位代表其他用戶權限
一個文件權限分成u,g,o三部分。每部分又分爲r,w,x三種權限。那麼我們用三組數字來表示,三種用戶的權限。
4(讀)
2(寫)
1(執行)
4(讀)
2(寫)
1(執行)
用數字表示,比如 777
如果是7,就證明他有那三種權限,如果是5就證明那個位置的用戶只有4和1的權限,也就是沒有2,寫的權限。
把剛纔那個share的文件改成sunsir所有
chown sunsir share
所屬組
每一個文件只能屬於一個指定的組。所有的用戶組也都有一個唯一的ID號(GID
用戶的組名與組標識都放在/etc/group裏面
文件的擁有者與root用戶,可以用chgrp來改變文件所屬的組
語法:chgrp 組名 文件名
用戶的組名與組標識都放在/etc/group裏面
文件的擁有者與root用戶,可以用chgrp來改變文件所屬的組
語法:chgrp 組名 文件名
然後在把剛纔那個的所有組也改成sunsir組
chgrp sunsir share
root用戶也可以使用 #chown 用戶名:組名 文件名
一般普通用戶的用戶ID與組ID的值大於等於500,而系統用戶ID與組ID小於500。(詳情請查看/etc/login.defs配置文件)
root用戶也可以使用 #chown 用戶名:組名 文件名
一般普通用戶的用戶ID與組ID的值大於等於500,而系統用戶ID與組ID小於500。(詳情請查看/etc/login.defs配置文件)
我們創建一個用戶的時候,會自動創建用戶主目錄,會分配UID,還有密碼策略,這是怎麼規定的呢?
就是在login.defs這個文件裏面
[root@sunsir ~]#vim /etc/login.defs
[root@sunsir ~]# grep -v "#" /etc/login.defs
MAIL_DIR /var/spool/mail 注:創建用戶時,要在目錄/var/spool/mail中創建一個用戶mail文件
PASS_MAX_DAYS 99999 注:用戶的密碼不過期最多的天數;
PASS_MIN_DAYS 0 注:密碼修改之間最小的天數;
PASS_MIN_LEN 5 注:密碼最小長度;
PASS_WARN_AGE 7 注:是密碼過期前幾天提醒用戶,默認是7天。
UID_MIN 500 注:最小UID爲500,也就是說添加用戶時,UID是從500開始的
UID_MAX 60000 注:最大UID爲60000;
GID_MIN 500 注:GID是從500開始;
GID_MAX 60000 注:最大GID爲60000;
CREATE_HOME yes 注:是否創用戶家目錄,要求創建;
UMASK 077 注:給用戶建立的家目錄的權限掩碼。
USERGROUPS_ENAB yes 注:建立一個用戶的時候也建立相應的組。
MD5_CRYPT_ENAB yes