在一些非工作環境中,為了避免頻繁的登錄輸入密碼,可以更改配置文件來設置開機自動登錄,省去輸入密碼的時間
同過修改/etc/gdm/custom.conf來達到 以上目的,gdm是圖形配置文件
vim /etc/gdm/custom.conf
vim:簡單使用,進入編輯模式:i
退出編輯模式:ESC
保存並退出: 在一般模式按:然後輸入wq
修改內容:在deamon下添加
AutomaticLoginEnable=Ture
AutomaticLogin=root
保存退出即可
查看分區信息可以使用的命令很多,除了df,目前學到的比較簡單的是ls和查看配置文件
ll /dev/sd*
或者
cat /proc/partitions
查看文件的時間
ll file --time=xtime
注意:在linux6和7中有一個新增的機制,在查看文件內容後,atime會根據你的讀取頻率以及該文件的創建日期來決定是不是立即更改atime,當你的文件創建時間較久時,atime會立即更改,但是當你的文件是在1天內生成的,那麼atime不會立即更改
alias :不加參數表示顯示當前shell所有的命令別名
alias name=‘命令原名’
設置命令別名
臨時取消命令別名可以unalias name
某一次不適用命令別名可以再命令前加\或者使用‘’將命令括起來
外部命令還可以直接寫命令的絕對地址
注意:任何不更改配置文件的設置都只對當前shell有效且重啟後還原,並不會保留,想要永久的設置只有更改相關配置文件一種方法
alias 的配置文件:全局在/etc/.bashrc
用戶在~/.bashrc
但是很多時候更改配置文件後,更改的內容並不會立即生效,需要關機或者重啟才會將更愛的配置讀取草內存中應用,但很多時候我們並不方便去重啟機器,這個時候可以使用命令來領這些更改立即生效
source 配置文件
mv命令:移動命令,其規則同cp復制命令近似
注意:mv並不是對所有的移動都是刪除創建來實現,當源文件同目標在同一分區上時,mv是通過去修改文件的inode來完成對數據的移動,當不在同一個分區是,mv是刪除在創建來實現移動的
rm:刪除命令
注意:同樣的,rm命令也是刪除文件的節點inode來實現刪除的,准確來說是釋放該文件節點,釋放的節點可以重復利用。並且,rm可以刪除正在使用的文件,但是當正在使用的通過rm刪除後,所占用的空間並不會立即得到釋放,而是在等用戶結束使用後在等一段時間才會釋放,想要理解釋放占用空間可以使用輸出重定向 > file
inode與block
linux中每個文件都會分配一個inode,叫做這個文件的節點號
每個文件的inode都不相同,但是前提是不在同一分區上,不同分區的inode是可以重復的
查看inode可以使用df -i或者ll -i
inode的數量也是有限的,在一個分區中,當他的inode使用完後,即便在該分區還有數據空間,也無法創建新的文件了
inode是屬於文件的元數據,存放在節點表中,節點表中還有inode與block對應關系的表格
目錄的元數據,在用戶組前邊的而是連接數,目錄的鏈接數不會小於2,因為。和。。也是他的鏈接
硬鏈接
創建硬鏈接 :ln file1 linkfile
file1同linkfile是同一個文件,數據共享,節點相同,並且不能建立在不同分區,用戶組錢的連接數會加1,刪除一個不會影響另一個
還有,目錄是不能創建硬鏈接的
軟連接
創建軟鏈接 :ln -s file2 linkfile2
file2同linkfile2不是同一文件,節點也不相同,更加像Windows中的快捷方式,連接數也不會改變,並且可以跨分區創建
注意,file2和linkfile寫路徑時,盡量不要使用絕對路徑,並且相對路徑時互相相對的,並不是相對於當前的工作目錄,而是相對於另一文件的存放目錄,如果有一個沒有寫路徑,那麼將默認兩個文件在同一個目錄
使用rm刪除鏈接是,盡量不要是用tab命令補全來補全名字,因為很多時候tab會自動加上/,這個時候,/會讓系統識別成目錄而不是鏈接文件,會刪除同名目錄
tree ;顯示目錄樹
-d:只顯示目錄不顯示子文件
-L #:顯示#層目錄
mkdir,rmdir
IO重定向
mail :查看收件箱
mail -s “郵件標題” 收件人 :發送標題為什麼的郵件給收件人
dd:命令用於讀取轉換輸出數據
dd if=file1/dev of=file2 bs= count=
將file1中的數據輸出到file2中,塊大小為,塊數量為
cat命令利用IO重定向也可以完成以上的功能,但是無法控制大小
cat < data > file
tr命令:通常與IO重定向共同使用,完成一些簡單的替換刪除功能
tr ‘set1’ ‘set2’ :用2替換1
-d ‘set’:刪除set
tee命令,將數據復制成多分去分地輸出,同tr一樣經常伴隨著IO重定向使用
echo $[]是求和
程序: 指令+數據
數據有多找來源,一種是鍵盤輸入,一種是來自文件
程序的數據流有三種:
1.標准輸出的數據流
默認輸出的設備是顯示器
2.標准輸入的數據流
默認輸入的設備是鍵盤
3.錯誤輸出的數據流
錯誤輸出是shell輸出的數據,shell會將正確的輸出以標准輸出顯示
fd:文件描述服務
標准輸入:0 標准輸出:1 錯誤輸出:2
輸出重定向就是講數據流從本應該輸出的地點從顯示器轉換到其他地點
輸出重定向是> 和 >>
>:覆蓋特性的重定向,>會將他前邊的數據覆蓋到後邊的數據
例如
echo “i am wuyanzu” > file1
無論file1中的內容是什麼,在使用了重定向後都會變成i am wuyanzu,原數據被這句話所覆蓋
所以刪除數據是可以用到重定向,用空白將元數據覆蓋
> file
危險操作 : > /dev/sda
> 定向並不會更改文件的三個時間
也可以創建新的空白文件
>> :追加特性的重定向,使用規則基本等同,但是它不會覆蓋原數據,而是在原數據下追加數據
>:總的來書是一個很危險的操作,因此想要關閉掉覆蓋特性
set -C:禁止覆蓋重定向
set +C:允許覆蓋重定向
當臨時需要覆蓋是可以強制覆蓋: >|
錯誤輸出重定向: 2> (標注輸出重定向的全成是: 1>)
用法等同標准輸出重定向
兩個重定向共同使用有兩種方法
1.&> &>>
2.2>&1 但是沒有>>&
輸入重定向使用稍有不同:
管道命令
本文出自 “博客作業初版” 博客,謝絕轉載!