Linux學習日誌之Linux之命令基本格式及文件處理命令

Linux常用命令:
練習3遍以上

一、命令基本格式
1.命令格式:
[root(管理員)@localhost(主機名)~]#(超級用戶提示符,普通用戶提示符是$) adminis
/root一級目錄用pwd print working directory(打印工作目錄)查看
/home/user1/二級目錄
[root@localhost ~]# cd /usr/local/src/ 切換當前目錄
[root@localhost src]#

命令[選項] [參數] 中括號表示可選
注意:個別命令使用時不遵循此歌詩,當有多個選項時,可以寫在一起簡化選項和完整選項
-a 等於–all
2.查詢目錄中內容:ls [選項] [文件或目錄]
選項:
-a all,顯示所有文件,包括隱藏文件,隱藏文件以點”.”開頭,.bashrc,隱藏是防止誤操作
-l 顯示詳細信息 longlist長顯示
-d 查看目錄屬性direct
-h 人性化顯示文件大小human
-i 顯示inode 即i節點
權限:默認10位 - rw- r– r–
-文件類型(最主要的三種:-文件 d目錄 |軟鏈接文件)
另外四種文件類型:塊設備文件,字符設備文件,套接字文件和管道pipe文件
rw- r– r–
user所有者 g所屬組 o其他人
-rw-r–r–. l root root 1207 1月 14 18:18 anaconda-ks.cfg
解釋:
-rw-r–r–:權限分佈
.:點.可能代表ACL權限
l:引用次數 ,被調用計數
1207:字符大小,一般是字節 # ls -lh:顯示字符後單位,方便閱讀h,human人性化
第一個root:所有組,主人
第二個root:所屬組,用戶組
1月14 18:18:最後一次修改的時間

  記憶:r讀read,w寫write,x執行execute

二、文件處理命令
1.目錄處理命令
目錄同樣是文件,目錄用於保存文件
(1).建立目錄:mkdir make directories
mkdir -p [目錄名]
-p 遞歸創建,先創建上級目錄,再創建第二級目錄

[root@localhost ~]# mkdir -p japan/cangls
[root@localhost ~]# ls
anaconda-ks.cfg bols install.log install.log.syslog japan
[root@localhost ~]# cd japan/
[root@localhost japan]# ls
cangls
(2).切換所在目錄:cd change directory切換目錄
簡化操作:
cd ~ 進入當前用戶的家目錄
cd 進入當前用戶的家目錄 /Ctrl+L xshell清除屏幕
cd -進入上次目錄
cd .. 進入上一級目錄
cd . 進入當前目錄
[root@localhost japan]# cd /root/
[root@localhost ~]# ls
[root@localhost cangle]# pwd
/root/japan/cangls
[root@localhost cangls]# cd~
[root@localhost ~]# cd japan/cangls
[root@localhost cangls]# cd
[root@localhost ~]# cd -
/root/japan/cangls
[root@localhost cangls]# cd -
root
[root@localhost ~]# cd ..
[root@localhost /]# root目錄

.相對路徑:參照當前所在目錄,進行查找
如:[root@imooc ~]# cd ../usr/local/src/
[root@localhost /]# cd
[root@localhost ~]# pwd
/root
[root@localhost ~]#cd ../usr/local/src/ 相對路徑發生改變
[root@localhost src]# pwd
/usr/local/src
[root@localhost src]# cd ../usr/local/src/ 路徑已經改變,,所以提示錯誤無法確認到src中的usr目錄
-bash : cd: ../usr/local/src/:沒有那個文件或目錄
[root@localhost src]#

.絕對路徑:從根目錄開始指定,一級一級遞歸查找。在任何目錄下,都能進入指定位置,更加可靠
如:[root@localhost src]# cd /etc/
[root@localhost src]# cd /etc/
[root@localhost etc]# cd /etc/
[root@localhost etc]# cd /etc/
[root@localhost etc]# cd /etc/
[root@localhost etc]#
命令在任何目錄下都可以運行,畢竟是從根目錄開始的
如果不記得的目標目錄,

[root@localhost src]# cd /(按兩下tab)使用tab可以補全命令或者目錄

(3).查詢所在目錄位置:pwd
.pwd :print working directory打印工作目錄,顯示當前目錄

(4).刪除空目錄:rmdir
.rmdir [目錄名]:remove empty directories 刪除空目錄
[root@localhost ~]# ls
anaconda-ks.cfg bols install.log install.log.syslog japan
[root@localhost ~]# rmdir bols/
[root@localhost ~]# ls
anaconda-ks.cfg install.log install.log.syslog japan
[root@localhost ~]# rmdir japan/
rmdir:刪除 “japan/”失敗:目錄非空
因爲japan裏面有文件夾cangls,所以非空無法刪除

(5).刪除文件或目錄:rm
.rm -rf [文件或目錄]
命令英文願意:remove
選項:
-r 刪除目錄,刪除目錄時不可缺少
-f 強制
[root@localhost ~]# rm -rf / 刪除根目錄99%的文件,幾乎等於格式化,自殺式命令

(6).複製命令:cp
cp [選項] [原文件或目錄] [目標目錄]
命令英文願意:copy
選項:
-r 複製目錄
-p 連帶文件屬性複製
-d 若源文件是鏈接文件,則複製鏈接屬性
-a 相當於-pdr
[root@localhost ~]# cpanaconda-ks.cfg /tmp/ana(添加這個名字說明覆制過去會更改文件名,不填寫則複製過去仍是源文件名)
[root@localhost ~]# ls
anaconda-ks.cfg install.log install.log.syslog japan
[root@localhost ~]# cp japan/ /tmp/ 注意空格一下隔開japan/和/tmp/
cp:略過目錄”japan/” 需要添加-r
[root@localhost ~]# cp -r japan/ /tmp/
[root@localhost ~]# ls /tmp/
ana japan yum.log
可以使用ll查看我文件屬性和權限分佈
[root@localhost ~]# ll 或者寫成ls -l
總用量 48
- rw——-. 1 root root 1207 1月 14 20:38 ana
普通複製出來的文件時間新舊文件時間不一致
[root@localhost ~]# cp -pdr
複製出來的文件和源文件屬性等全部一致

(7)剪切或改名命令:mv
mv [原文件或目錄][目標目錄]
英文原意:move
剪切不區分文件和目錄,不加-r
[root@localhost ~]# mv japan/ /tmp/japan1 不在同一個目錄下是剪切
[root@localhost ~]# ls
anaconda-ks.cfg install.log install.log.syslog
[root@localhost ~]# cd /tmp/
[root@localhost tmp]# ls
ana anaconda-ks.cfg japan japan1 yum.log
改名:
[root@localhost tmp]# mv anaconda-ks.cfg longls 在同一個目錄下就變成改名了
[root@localhost tmp]# ls
ana japan japan1 longls yum.log

常用一級目錄的作用:
/根目錄
/bin 命令保存目錄(普通用戶就可以讀取的命令)
根目錄/下的bin和sbin,usr目錄下的bin和sbin四個目錄都是用來保存系統命令的,sbin只有root才能使用,普通用戶不行sbin,super bin
/boot 啓動目錄,啓動相關文件
/dev 設備配置文件保存目錄
/etc 配置文件保存目錄
/root 超級用戶的家目錄
/home 普通用戶的家目錄
/lib 系統庫保存目錄,常用函數庫
/mnt 系統掛載文件,cd-rom掛載光盤,usb掛載U盤
/media 掛載目錄
/misc 空目錄,最後三個是用掛載目錄
使用規範,約定俗成的目錄名
/proc/直接寫入內存
/sys/
proc和sys目錄是不能直接操作的,用來保存內存的過載點
不能用來存放數據,首先內存不能永久保存,而且存放會使系統變慢
/var 系統相關文檔的內容
/tmp 存放臨時文件
總結:可以在家目錄root或home,以及tmp目錄下隨便放內容
根目錄只存放必要的文件

(8).鏈接命令:ln
ln -s [原文件][目標文件]
命令英文原意:link
功能描述:生成鏈接文件
選項: -s 創建軟鏈接 soft
.硬鏈接特徵:
1、擁有相同的i節點和存儲block塊(一般4KB一個block),可以看做是同一個文件
相當於一個存儲文件的不同的獲取入口,鏡像一樣存儲double份
2、可以通過i節點識別
3、不能跨分區
4、不能針對目錄使用
[root@localhost ~]# ls
anacondalks.cfg cangls install.log install.log.syslog
[root@localhost ~]# ln /root/anaconda-ks.cfg /tmp/ana.hard
[root@localhost ~]# ll
總用量 44
-w——–. 2 root root 1207 1月 14 18:18 anaconda-ks.cfg

[root@localhost ~]# ll /tmp/
總用量 12
-w——–. 2 root root 1207 1月 14 18:18 ana.hard,引用計數都加1
通過任意方式打開修改後,通過另外一個仍可以查看文件,權限一致,其實就是同一個文件
缺陷:不能跨分區,不能針對目錄

.軟鏈接特徵:
1、類似windows快捷方式,方便打開
2、軟鏈接擁有自己的i節點和block塊,但是數據塊中保存原文件的文件名和i節點號,並沒有實際的文件數據,是原文件的i節點和block塊
3、lrwxrwxrwx |軟鏈接
軟鏈接文件權限都爲rwxrwxrwx,查看軟鏈接文件的權限,區別於原文件
4、修改任意文件,另一個都改變
5、刪除原文件,軟鏈接不能使用
限制少,而且靈活

[root@localhost ~]# ls
anacondalks.cfg cangls install.log install.log.syslog
[root@localhost ~]# ln -s /root/anaconda-ks.cfg /tmp/cangls.soft
[root@localhost ~]# ln /root/cangls /tmp/cangls.hard
[root@localhost ~]# ll
總用量 40
-rw-r–r–. 2 root root 1207 1月 14 22:00 cangls

[root@localhost ~]# ll -i
262419 -rw-r–r–. 2 root root 0 1月 14 22:00 cangls
262147 -rw-r–r–. 1 root root 24772 1月 14 18:17 install.log

[root@localhost ~]# ll -i /tmp/
262418 -rw——–. 1 root root 1216 1月 14 22:36 ana.hard
932110 -rw-r–r—. 1 root root 0 1月 14 22:00 cangls
262419 -rw-r–r–. 2 root root 0 1月 14 22:00 cangls.hard
932061 lrwxrwxrwx. 1 root root 12 1月 14 22:46 cangls.soft -> /root/cangls
其中rwx是指訪問軟鏈接的權限,不是原文件的權限,主要分析inode,權限變化,引用計數

使用[root@localhost ~]# cat /tmp/cangls.hard
[root@localhost ~]# cat /tmp/cangls.soft
查看文件
做軟鏈接需要使用絕對目標,否則會難以查找,或者在同一目錄下修改

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章