第二週作業

2021-09-01 22:17:57 字數 4160 閱讀 5211

一,linux上的檔案管理類命令都有哪些,其常用的使用方法及其相關演示。

1.顯示當前工作 目錄

pwd:顯示當前shell cwd的絕對路徑

-l:顯示鏈結路徑

-p:顯示真實的 物理目錄

ls -a 顯示所有檔案,包括隱藏檔案

ls -a 顯示除.和…之外的所有檔案

ls -l =ll,顯示額外的資訊

每個檔案有三個時間戳:訪問時間(atime)、檔案內容修改時間(mtime)、檔案元資料改變時間(

ctime)

4.檢視檔案狀態:stat

stat命令:

stat - display file or file system status

時間戳最近訪問:最近更改;最近改動

access: 2018-11-14 07:13:27.965319903 +0800

modify: 2018-11-14 07:13:27.963319902 +0800

change: 2018-11-14 07:13:27.963319902 +0800

6.複製檔案和目錄:cp

cp命令:copy

原始檔:目標檔案

單源複製: cp [option]… [-t] source dest

多源複製: cp [option]… source… directory

cp [option]… -t directory source…

單源複製:

如果dest不存在:則事前建立此檔案,並複製原始檔的資料流至dest中

如果dest存在:

如果dest是非目錄檔案:則會覆蓋目標檔案;(危險操作)

如果dest是目錄檔案:則先在dest目錄下建立乙個與原始檔同名的檔案,並複製其資料流至目標檔案

多源複製:

如果dest不存在:錯誤

如果dest存在:

如果dest是非目錄檔案:錯誤

如果dest是目錄檔案:分別複製每個檔案至目標目錄中,並保持原名

常用選項:

-i:prompt before overwrite (overrides a previous -n option)

互動式複製,即覆蓋之前提醒使用者確認;

-f:if an existing destination file cannot be opened, remove it and try again (this option is ignored when the -n option is also used)

強制覆蓋目標檔案

-r:遞迴複製目錄:

-d:複製符號鏈結檔案本身,而非其指向的原始檔

-a: same as -dr --preserve=all

archive:用於實現歸檔(做備份)

–preserve

mode:許可權

ownership:屬主和屬組

timestamps:時間戳

context:安全標籤

xattr:擴充套件屬性

links:符號鏈結

all:上述所有屬性

7.移動和重複命名檔案:mv

常用選項:

-i:inte***ctive 互動式

-f, --force 強制

ignore nonexistent files and arguments, never prompt:忽略不存在的檔案和引數,永遠不要提示

8.刪除:rm

常用選項:

-i:inte***ctive

-f, --force

ignore nonexistent files and arguments, never prompt

-r:recursive 遞迴的
刪除目錄:rm -rf /path/to/dir

注意:所有不用的檔案建議不要直接刪除,而是移動至某個專用目錄(模擬**站)

9.目錄操作

(1):tree:顯示目錄樹

-d:只顯示目錄

-l level:指定顯示的層級數目

-p pattern:只顯示由指定pattern匹配到的路徑

(2):mkdir:建立目錄

-p:存在於不報錯,且可自動建立所需的各目錄

-v:顯示詳細資訊

-m mode:穿件目錄時直接指定許可權

(3):rmdir刪除空目錄

-p:遞迴刪除父空目錄

-v:顯示詳細資訊

(4):rm -r 遞迴刪除目錄樹

二,bash的工作特性之命令執行狀態返回值和命令列展開所涉及的內容及其示例演示。

1.bash的工作特性之命令執行狀態返回值

bash通過狀態返回值來輸出此結果:

成功:0

失敗:1-255

命令執行完成後,其狀態返回值儲存於bash的特殊變數?中,

可以用e

ch

o?中,可以用echo

?中,可以用

echo

?來檢視最近一條命令 的狀態;

命令正常執行時,有的會有命令返回值;根據命令及其功能不同,結果各不相同。

2.命令列展開

~:自動展開為使用者的家目錄,或指定的使用者的家目錄;

{}:可承載乙個以逗號分隔的路徑列表,並能夠將其展開為多個路徑;

三,使用命令展開功能

(1):建立/tmp目錄下的:a_c,a_d,b_c,b_d

#touch a_ b_

(2):建立/tmp/mylinux目錄下的:

#mkdir -pv /tmp/mylinux/,lib/modules,lib64,proc,sbin,sys}

#tree /tmp/mylinux/

四,檔案的元資料資訊有哪些,分別表示什麼含義,如何檢視?如何修改檔案的時間戳資訊。

1、檔案的資料分為兩種:一種是描述資料屬性的一類,一種就是資料本身。

2、檔案的元資料檢視為stat命令,示例如下所示:

stat - display file or file system status

時間戳最近訪問:最近更改;最近改動

access: 2018-11-14 07:13:27.965319903 +0800

modify: 2018-11-14 07:13:27.963319902 +0800

change: 2018-11-14 07:13:27.963319902 +0800

3.修改檔案時間戳:touch

-a change only the access time

-m change only the modification time

-t stamp

use [[cc]yy]mmddhhmm[.ss] instead of current time

五,定義乙個命令的別名,並在命令中引用另乙個命令的執行結果

檢視別名:alias,可檢視當前所有別名。

定義別名:alias name=』command』

撤銷別名: unalias name

#alias whatis=『whatis man』

六、顯示/var目錄下所有以l開頭,以乙個小寫字母結尾,且中間至少出現一位數字(可以有其它字元)的檔案或目錄。

#ls -d /var/l*0-9]*[[:lower:]]

七、顯示/etc目錄下,以任意乙個數字開頭,且以非數字結尾的檔案或目錄。

#ls -d /etc/[0-9]*[^0-9]

八、顯示/etc目錄下,以非字母開頭,後面跟了乙個字母以及其它任意長度任意字元的檔案或目錄。

#ls -d /etc/[^a-z][a-z]*

九、在/tmp目錄下建立以tfile開頭,後跟當前日期和時間的檔案,檔名形如:tfile-2016-05-27-09-32-22。

十、複製/etc目錄下所有以p開頭,以非數字結尾的檔案或目錄到/tmp/mytest1目錄中。

~]# cp -r /etc/p*[^0-9] /tmp/mytest1

十一、複製/etc目錄下所有以.d結尾的檔案或目錄至/tmp/mytest2目錄中。

~]# cp -r /etc/*.d /tmp/mytest2

十二、複製/etc/目錄下所有以l或m或n開頭,以.conf結尾的檔案至/tmp/mytest3目錄中。

~]# cp -r /etc/[1mn]*.conf /tmp/mytest3

第二週作業

實驗作業 1.編寫調式執行第乙個c 程式,要求輸出你的班級 姓名和學號 2.輸入課本例題1.2,除錯執行程式,並分析程式。3.分析程式中哪些是識別符號,哪些是關鍵字。4.回答什麼是程式 工程,原始檔 目標檔案 執行檔案 編譯預處理 名字空間 函式.主函式 功能 顯示輸出班級 姓名 學號 includ...

第二週作業

第一題 include stdafx.h int main int argc,char argv 第二題 include using namespace std int max int x,int y int main 好吧,老師我實在不知道錯在 啊。我都是照著書本來打的,打了幾次還是這樣。第三題 ...

第二週作業

作業1 輸出學生的班級 姓名和學號 include using namespace std int main 以下是主函式 int main 主函式 int number1,number2 定義兩個基本整型變數 number1和number2 cout 請輸入兩個數 輸出 請輸入兩個數 cin nu...