1.Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
答:Linux上的文件管理類命令有如下部分:
(1)pwd(printing working directory):顯示工作目錄
格式: pwd [OPTION]…
OPTION:
? -L, –logical use PWD from environment, even if it contains symlinks(即使路徑是鏈接也用pwd命令查看)
? -P, –physical avoid all symlinks(不打開鏈接)
例如:pwd /ls
(2)cd(change directory)切換目錄
格式: cd [/PATH/TO/SOMEDIR]
? cd ~(USERNAME) :可切換至用戶名的家目錄
? cd – :在上一級目錄與當前目錄之間隨意切換
? cd $PWD
例如:cd ~/etc 切換到etc目錄之下
(3)ls (list) 到指定目錄下的內容
格式:ls [OPTION]…[FILE]…
OPTION: -a : 顯示所有文件,包括隱藏文件
? -A:顯示除 . 和 .. 之外的文件
? -l : 顯示文件的詳細屬性信息
? -d : 查看目錄自身路徑而非內部文件的列表
? -r :逆序目錄
? -R: 遞歸顯示目錄下所有文件
?
例如:ls -l /var/log (顯示log文件的詳細屬性)
(4) cat (concatenate):文本文件查看工具(不能查看二進制文件)
格式:cat [OPTION]…[FILE]…
OPTION:
? -n : 給顯示的文本行編號
? -E : 顯示行結束符$
例如: cat /etc/fstab
(5) tac : 文本文件查看工具,是cat顯示的逆序形式
格式:cat [OPTION]…[FILE]…
OPTION:
? -n : 給顯示的文本行編號
? -E : 顯示行結束符$
(6) echo :回顯命令
格式:echo [SHOR-OPTION]…[STRING]…
OPTION:
? -n : 不進行換行
? -e:讓轉移符生效
STRING:
? 單引號:強引用,變量引用不執行替換
? 雙引號:弱引用,變量引用會被替換
例如: echo “hello\n ereryone ” 與 echo -e “hello\n ereryone ” 顯示結果不同
(7) shutdown : 關機并切斷電源
格式:shutdown OPTIONS[WALL…]
OPTIONS :
? -h : 關機
? -r:重啟
? -c:取消關機
TIME :
? now : 現在
? hh:mm :幾點幾分關機
? +m : 過幾分鐘之后
例如: shutdown -r +5 (通知每個用戶終端5分鐘后重啟)
(8) date 顯示和修改日期
格式:date [OPTION]…[+FORMAT]
? date MMNNhhmm[[cc]YY]
例如: 修改時間
(9) clock 查詢和設定硬件時鐘
格式:shutdown [OPTIONS]
OPTIONS:
? -s :系統設定時間與硬件一致,硬件為準
? -w :硬件時間設定與系統時間一致,系統為準
(10) cal 顯示日歷
格式:cal [[month] year]
-
bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示
答:bash的基礎特性之-命令的執行狀態結果:
命令執行完成之后中間不能執行其他命令,其命令狀態返回值保存在bash的特殊變量$?中。而命令執行的狀態結果有兩種,一種是成功(返回0)一種是失敗(返回1-255狀態碼),例如在命令執行之后立即輸入命令#: echo $?,若返回0則代表命令執行成功,若返回其他數字則表明命令執行失敗。$符號也可以用來引用命令執行的結果,例如要創建一個以當前時間作為名稱的文件時可以 #:mkdir $(date +%H-%m-%s) 用次命令執行。
bash的基礎特性之-命令行展開:
~ : 自動展開為用戶的家目錄,或指定的用戶家目錄
{} : 可承載一個一逗號分隔的路徑列表,并能夠將其展開為多個路徑
例如: /tmp/{a,b,c} 相當于 /tmp/a /tmp/b /tmp/c 路徑的集合表現形式
-
請使用命令行展開功能來完成以下練習:
(1):創建/tmp目錄下的a_c, a_d ,b_c , b_d
? 答:#:mkdir -v {a,b}_{c,d}
(2) : 創建/tmp/mylinux目錄下的一系列子目錄
答:# :mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}
-
文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
答:文件的數據分為兩種:一種是描述數據屬性的一類,一種就是數據本身。文件的元數據查看為stat命令,例如如下所示:
[root@localhost mylinux]# stat /tmp/mylinux/
文件:”/tmp/mylinux/” 大?。?43 塊:0 IO 塊:4096
目錄設備:fd00h/64768d Inode:643 硬鏈接:14
權限:(0755/drwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
環境:unconfined_u:object_r:user_tmp_t:s0
最近訪問:2018-06-30 11:13:06.132151399 +0800
最近更改:2018-06-30 11:12:25.850338418 +0800
最近改動:2018-06-30 11:12:25.850338418 +0800創建時間:-
其中:
file(文件):文件名
size(大小):文件大小
block(塊):文件占了多少數據塊的塊大小
IO Block(IO塊):文件所占數據塊的塊大小
Device(設備):硬件,說明該文件在硬盤的那個柱面
Inode : 節點號
links(硬鏈接):鏈接
權限:第一個Access權限,Uid : 該文件所屬的屬主,Gid : 該文件所屬的屬組
context(環境): 上下文(發生事情的環境, 背景, 來龍去脈; 前后關系)
accesstime(最近訪問):文件上一次的訪問時間
modifytime(最近改動):文件上一次修改的時間
changetime(最近改動):文件上一次屬性更改的時間
如何修改文件時間戳:利用touch命令可以改變時間戳,也可創建一個文件
格式:touch [OPTION]…FILE…
OPTION:
-C : 指定的文件路徑不存在時不予以創建
-a:只改最近訪問時間
-m:只改最近更改時間
-t:指定改某一時間
-
如何定義一個命令別名,如何在命令中應用另一個命令的執行結果?
答:查看別名的命令 alias 可以獲取所有可用別名
格式: #: alias NAME=”COMMAND”
撤銷別名的命令 unalias
格式:#: unalias NAME
在命令應用中應用另一個命令的執行結果使用特殊字符$
格式: $(COMMAND)
例如在命令中應用此刻時間新建一個文件
#:mkdir $(date +%H-%m-%s)
-
顯示/var目錄下所有已1開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其他字符)的文件或目錄。
答:[root@localhost ~]# ls /var/1*[[:lower:]]
-
顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
答:[root@localhost ~]# cat /etc/[[:digit:]][^[:digit:]] 或[root@localhost ~]# ls /etc/[0-9]*[^0-9]
-
顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其他任意長度任意字符的文件或目錄。
答:[root@localhost ~]# cat /etc/[^[:alpha:]]?*
-
在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形式如:tfile-2016-05-27-09-32-22。
答:[root@localhost ~]# mkdir /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
10.復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
答:[root@localhost ~]# cp -r /etc/p*[^0-9] /tmp/mytest1
11.復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
答:[root@localhost ~]# cp -r /etc/*.d /tmp/mytest2
12.復制/etc/目錄下所有以1或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
答:[root@localhost ~]# cp -r /etc/[1,m,n]*.conf /tmp/mytest3
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/102022
從內容上看作者比較認真,格式也比較清晰,期待后續實驗的作品。