Net25 第二周作業

一、Linux上的文件管理類命令,其常用的使用方法和相關示例

1、ls:查看文件與目錄

作用:ls命令用于顯示目錄內容,類似于DOS下的dir命令,它的使用權限是所有用戶。

用法:ls [選項]…[文件]…

主要選項如下:

-a:全部的文件,連同隱藏文件(開頭為 .的文件)一起列出來

-A:列出全部的文件(連同隱藏文件,但不包括...這兩個目錄)

-d:僅列出目錄本身,而不是列出目錄內的文件數據

-f:直接列出結果,而不進行排序

-F:根據文件、目錄等信息給予附加數據結構,例如:*:代表可執行文件;   /:代表目錄;  =:代表socket文件;  |:代表FIFO文件

-h:將文件容量以人類較易讀的方式列出來

-i:–inode,顯示每個文件的inode號

-l:使用較長格式列出信息,包含文件的屬性與權限等數據

-n:–numeric-uid-gid,類似-l,但列出UID與GID,而非用戶與用戶組的名稱

-r:–reverse,逆序排列,將排序結果反向輸出

-R:–recursive,遞歸顯示子目錄

-S:根據文件大小排序

-t:根據時間排序,而不是文件名

示例:

[root@localhost ~]# ls -al       #列出用戶所在主目錄下的所有文件與目錄

total 36

dr-xr-x—.  2 root root 4096 Dec  8 19:03 .

dr-xr-xr-x. 17 root root 4096 Dec  8 18:58 ..

-rw——-.  1 root root 1186 Dec  8 18:58 anaconda-ks.cfg

-rw——-.  1 root root  152 Dec  8 19:50 .bash_history

-rw-r–r–.  1 root root   18 Dec 28  2013 .bash_logout

-rw-r–r–.  1 root root  176 Dec 28  2013 .bash_profile

-rw-r–r–.  1 root root  176 Dec 28  2013 .bashrc

-rw-r–r–.  1 root root  100 Dec 28  2013 .cshrc

-rw-r–r–.  1 root root  129 Dec 28  2013 .tcshrc

[root@localhost ~]# ls -alt           #列出用戶所在主目錄下的所有文件按時間排序

total 36

-rw——-.  1 root root  152 Dec  8 19:50 .bash_history

dr-xr-x—.  2 root root 4096 Dec  8 19:03 .

-rw——-.  1 root root 1186 Dec  8 18:58 anaconda-ks.cfg

dr-xr-xr-x. 17 root root 4096 Dec  8 18:58 ..

-rw-r–r–.  1 root root   18 Dec 28  2013 .bash_logout

-rw-r–r–.  1 root root  176 Dec 28  2013 .bash_profile

-rw-r–r–.  1 root root  176 Dec 28  2013 .bashrc

-rw-r–r–.  1 root root  100 Dec 28  2013 .cshrc

-rw-r–r–.  1 root root  129 Dec 28  2013 .tcshrc


2、cat:顯示文本文件內容

作用:將[文件]或標準輸入組合輸出到標準輸出。

用法:cat  [選項]  [文件]…

主要選項如下:

-A:–show-all,相當于-vET的整合參數,可列出一些特殊字符,而不是空白

-b:–number-nonblank,列出行號,僅針對非空白行做行號顯示,空白行不標行號

-E:–show-ends,在每行結束處顯示”$“

-n:–number,對輸出所有行編號

-T:–show-tabs,將TAB按鍵以“^I”顯示出來

-v:–show-nonprinting,使用“^”和“M-”引用,除LFD和TAB之外

示例:

[root@localhost ~]# cat /etc/issue           #查看/etc/issue這個文件的內容

\S

Kernel \r on an \m

[root@localhost ~]# cat -n /etc/issue       #加印行號查看/etc/issue這個文件的內容

     1 \S

     2 Kernel \r on an \m

     3

[root@jl ~]# cat -A /etc/issue                    #將/etc/issue這個文件的內容完整顯示出來(包含特殊字母)

CentOS release 6.5 (Final)$

Kernel \r on an \m$

$

3、cp:復制文件

作用:文件或目錄的復制

用法:cp   [選項]…   [-T]   源文件   目標文件

           cp   [選項]…  源文件…    目錄

           cp   [選項]…  -t    目錄    源文件…

將<源文件>文件復制至<目標文件>, 或將多個<源>復制至<目錄>

主要選項如下:

-a:等同于-dpR參數一起使用,在復制過程中盡可能保留源文件或目錄的屬性

-d:若源文件為連接文件的屬性(link file),則復制連接文件屬性而非文件本身

-f:為強制(force)的意思,若目標文件已經存在且無法開啟,則刪除后再嘗試一次

-i:若目標文件(destination)已經存在時,在覆蓋時會先詢問操作的進行

-l:進行硬鏈接(hard link)的連接文件創建,而非復制文件本身

-p:連同文件的屬性一起復制,而非使用默認屬性(備份常用)

-r:遞歸持續復制,用于目錄的復制行為(常用)

-s:復制成為符號鏈接文件(symbolic link),即”快捷方式“文件

示例:

[root@jl ~]# cp ~/install.log /home/jl/xxx       #將~目錄下的install.log文件復制到/home/jl下并更名為xxx文件                                                 

[root@jl ~]# ls /home/jl                                  #查看結果

Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos  xxx

[root@jl ~]# cd /home/jl                                 #切換目錄至/jl

[root@jl jl]# cp ~/install.log .                          #將~目錄下的install.log文件復制到/jl目錄下

[root@jl jl]# ls                                                #查看結果

Desktop    Downloads    Music     Public     Videos

Documents  install.log  Pictures  Templates  xxx

4、rm:刪除文件

作用:刪除指定的文件

用法:rm  [選項]…文件…

主要選項如下:

-f:–force,強制刪除,忽略不存在的文件,不提示確認

-i:互動模式,在刪除前需要用戶確認

-r:-R,–recursive,遞歸刪除目錄及內容

示例:

[root@jl jl]# rm -i install.log           #刪除目錄/jl下的install.log文件

rm: remove regular file `install.log'? y     #是否刪除

[root@jl jl]# ls          #查看是否已刪除install.log

Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos  xxx

[root@jl jl]# touch ./-a-      #創建一個-a-的空文件

[root@jl jl]# ls                    

-a-  Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos  xxx        #  -a-空文件創建成功

[root@jl jl]# rm -a-            #刪除-a-的空文件,提示無法刪除,因為“-”是參數,系統誤判

rm: invalid option — 'a'

Try `rm ./-a-' to remove the file `-a-'.

Try `rm –help' for more information.

[root@jl jl]# rm ./-a-          #通過在./-a-的形式可以正常刪除

rm: remove regular empty file `./-a-'? y

[root@jl jl]# ls

Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos  xxx

5、mv:移動或更改文件名

作用:mv可以將源文件重命名為目標文件,或將源文件移動至指定目錄

用法:mv  [選項]…   [-T]   源文件   目標文件

           mv  [選項]…  源文件…    目錄

           mv  [選項]…  -t    目錄    源文件..

主要選項如下:

-f:–force強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋

-i:–interactive,若目標文件已經存在,就會詢問是否覆蓋

-u:–update,若源文件比目標文件新,或目標文件不存在時才進行移動或更新

示例:

[root@jl jl]# mv xxx Public          #將/home/jl下的xxx文件移動到/home/jl/Public目錄下

[root@jl jl]# ls Public                   #查看是否完成上述操作

xxx

[root@jl jl]# cd Public 

[root@jl Public]# ls

xxx

[root@jl Public]# mv xxx yyy      #將xxx文件改名為yyy文件

[root@jl Public]# ls

yyy

6、tac:和cat用法一樣,只是將cat顯示內容由最后一行到第一行反向在屏幕上顯示出來

示例:

[root@localhost ~]# cat /etc/issue           #用cat查看/etc/issue這個文件的內容

\S

Kernel \r on an \m

[root@jl Public]# tac /etc/issue                #用tac查看/etc/issue的結果

Kernel \r on an \m

CentOS release 6.5 (Final)

7、file:查看文件類型

作用:通過探測文件內容來判斷文件類型

用法:file  [選項]文件名

示例:

[root@jl Public]# file yyy           #查看yyy文件的類型

yyy: ASCII text                         #yyy:是純文本文件

8、echo:顯示文本

作用:顯示文本內容

用法:echo  [-neE]  [字符串]

主要選項如下:

-n:不輸出行尾的換行符

-E:禁止對在STRINGs中的那些序列進行解釋

-e:允許對加反斜線轉義的字符進行解釋

       \n:換行且光標移至行首

       \t:插入TAB字符

二、bash的工作特性命令執行狀態返回值和命令行展開所涉及的內容及示例

1、命令執行狀態返回值:返回值用于判斷命令執行正確與否

      成功:0

      失敗:1-255之間的數字

示例:

[root@jl ~]# ls

anaconda-ks.cfg  install.log  install.log.syslog

[root@jl ~]# echo $?

0

[root@jl ~]# lsl

-bash: lsl: command not found

[root@jl ~]# echo $?

127

2、命令行展開

以bash能夠解釋的符號來代替命令中的一些重復字段,一定要用{}引起來。

示例:

[root@jl Public]# touch aa,bb,cc,dd   #錯誤的展開方式

[root@jl Public]# ls

aa,bb,cc,dd  yyy

[root@jl Public]# touch {aa,bb,cc,dd}  #正確的展開方式

[root@jl Public]# ls  

aa  aa,bb,cc,dd  bb  cc  dd  yyy

三、請使用命令行展開功能完成以下練習

1、創建/tmp目錄下的:a_c,a_d,b_c,b_d

示例:

[root@jl tmp]# mkdir -p {a_{c,d},b_{c,d}}        #創建題目所示目錄

[root@jl tmp]# ls

{ab}_{cd}  a_d  b_d    orbit-gdm           pulse-mVv73u248BxO

a_c        b_c  mkdir  pulse-1WkG75eehMWV  yum.log


2、創建/tmp目錄下的子目錄

Net25 第二周作業

示例:

[root@jl var]# mkdir -pv 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}}

mkdir: created directory `mylinux'

mkdir: created directory `mylinux/bin'

mkdir: created directory `mylinux/boot'

mkdir: created directory `mylinux/boot/grub'

mkdir: created directory `mylinux/dev'

mkdir: created directory `mylinux/etc'

mkdir: created directory `mylinux/etc/rc.d'

mkdir: created directory `mylinux/etc/rc.d/init.d'

mkdir: created directory `mylinux/etc/sysconfig'

mkdir: created directory `mylinux/etc/sysconfig/network-scripts'

mkdir: created directory `mylinux/lib'

mkdir: created directory `mylinux/lib/modules'

mkdir: created directory `mylinux/lib64'

mkdir: created directory `mylinux/proc'

mkdir: created directory `mylinux/sbin'

mkdir: created directory `mylinux/sys'

mkdir: created directory `mylinux/tmp'

mkdir: created directory `mylinux/usr'

mkdir: created directory `mylinux/usr/local'

mkdir: created directory `mylinux/usr/local/bin'

mkdir: created directory `mylinux/usr/local/sbin'

mkdir: created directory `mylinux/var'

mkdir: created directory `mylinux/var/lock'

mkdir: created directory `mylinux/var/log'

mkdir: created directory `mylinux/var/run'

四、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的   時間戳信息

在Linux文件管理中,文件除了自身數據之外,還有附屬信息,即文件的元數據;這個元數據用于記錄文件的許多信息,比如文件大小,屬主,屬組,修改日期等等。元數據并不包含在文件數據中,由系統維護,也就是包含在inode中。每個inode有一個唯一的整數編號表示(inode number)。

查看文件元數據信息:ls -l,stat

示例:

[root@jl var]# stat /mylinux

  File: `/mylinux'

  Size: 4096       Blocks: 8          IO Block: 4096   directory

Device: 802h/2050d Inode: 521573      Links: 14

Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2016-12-11 11:50:39.155526394 -0500

Modify: 2016-12-11 11:49:08.483526598 -0500

Change: 2016-12-11 11:49:08.483526598 -0500

[root@jl var]# ls -l /mylinux

total 48

drwxr-xr-x. 2 root root 4096 Dec 11 11:49 bin

drwxr-xr-x. 3 root root 4096 Dec 11 11:49 boot

drwxr-xr-x. 2 root root 4096 Dec 11 11:49 dev

drwxr-xr-x. 4 root root 4096 Dec 11 11:49 etc

drwxr-xr-x. 3 root root 4096 Dec 11 11:49 lib

drwxr-xr-x. 2 root root 4096 Dec 11 11:49 lib64

drwxr-xr-x. 2 root root 4096 Dec 11 11:49 proc

drwxr-xr-x. 2 root root 4096 Dec 11 11:49 sbin

drwxr-xr-x. 2 root root 4096 Dec 11 11:49 sys

drwxr-xr-x. 2 root root 4096 Dec 11 11:49 tmp

drwxr-xr-x. 3 root root 4096 Dec 11 11:49 usr

drwxr-xr-x. 5 root root 4096 Dec 11 11:49 var

修改文件的時間戳:

[root@jl ~]# touch [-acdmt] 文件

參數:

-a : 僅修改access time。

-c : 僅修改時間,而不建立文件。

-d : 后面可以接日期,也可以使用 –date="日期或時間"

-m : 僅修改mtime。

-t : 后面可以接時間,格式為 [YYMMDDhhmm]

五、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?

 

指令:alias

設置指令的別名

語法:#  alias name='command line'

參數:-p:    打印出現有的別名(唯一的參數)

若不加任何參數,則列出目前所有的別名設置

用法:# alias cp='cp -i'或alias l='ll'

這樣就可以用cp來代替cp -i,而且cp -i這條命令依舊有效

 查看alias:

列出目前所有的別名設置。

# alias    或    # alias -p

查看具體一條指令的別名

# alias cp

別名永久化:

alias的作用僅在該次登入的操作,即輸入一次alias后,這個修改只在當前的Shell生效。如果重新開啟一個 Shell,或者重新登錄,則這些alias將無法使用。好在linux中提供alias永久化的方法:

<1>.若要每次登入就自動生效別名,則把別名加在/etc/profile或~/.bashrc中。然后# source ~/.bashrc

<2>.若要讓每一位用戶都生效別名,則把別名加在/etc/bashrc最后面,然后# source /etc/bashrc

重新設置別名:

alias重置的方法與第一次設置的時候一樣

# alias cp='cp -i'

刪除別名:

格式:unalias name

#  unalias cp

如何在命令中引用另一個命令的執行結果

命令是ficonfig eth0,變量是ip,則:

#!/bin/bash

ip=`ifconfig eth0`

echo $ip

這樣就把命令生成的字符串賦值給ip了,echo $ip,看到的就是命令執行的結果

 

六、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,中間出現至少一位數字(可以有其他字符)的文件或目錄

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

七、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄

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

八、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其他任意長度任意字符的文件或目錄

# ls –d /etc/[^[:alpha:]][[:alpha:]]*

九、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22

touch /tmp/tfile-$(date +"%F-%H-%M-%S")

 

十、復制/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/[lmn]*.conf /tmp/mytest3/


   


原創文章,作者:jindizang,如若轉載,請注明出處:http://www.www58058.com/63234

(0)
jindizangjindizang
上一篇 2016-12-11
下一篇 2016-12-11

相關推薦

  • 一起學DHCP系列(三)理解、APIPA

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://jeffyyko.blog.51cto.com/28563/162407      這是《一起學DHCP》系列的第三節。      …

    Linux干貨 2015-03-25
  • RHCE系列之LVM—-操作篇

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://nolinux.blog.51cto.com/4824967/1350942    上一篇為大家介紹LVM的一些概念,這一篇就教大家一些日常的LVM的操作吧。畢竟,理論還是要應用到實戰中來的嘛。 &nb…

    Linux干貨 2016-08-15
  • RAID5的組建

        RAID5在實際場景中應用最多,RAID5最少使用3塊硬盤,3塊硬盤中允許1塊硬盤損壞,RAID5它的最大特點是可以有一塊硬盤做冗余,其使用率是 N-1存儲空間(N表示硬盤數量)     首先創建分區,然后轉換分區類型,最后保存退出。 注解:虛擬機總共有6塊硬盤,我是從第3塊硬盤開始做rai…

    Linux干貨 2016-02-14
  • 10個必需的iOS開發工具和資源

       界面總不是一件很容易事,尤其是iPhone/iPad的界面,做過iOS開發的程序員,一定會感到開發iPhone/iPad的界面是一件多么不容易的事。下面的文章來自10 Essential iOS Developer Tools & Resources,這個文章介紹了十個iOS開發的基礎性工具和資源,其一定會很有效地幫你做iO…

    Linux干貨 2015-04-01
  • ?20151208完成了第二天課程中的第一課:Osey Linux發行版(01)

    完成了第二天課程中的第一課:Osey Linux發行版(01) 今天公司晚上有加班,回來晚了。只完成了第一課:Osey Linux發行版(01) 簡要筆記如下: Linux哲學思想:    1、一切皆文件:             把幾乎所有的資源,包括硬件設備都組織為文件格式;…

    Linux干貨 2015-12-10
  • 馬哥Linux學習之查詢篇(命令查詢和文件查詢)

        Linux運維工作一般都使用命令完成,在如此多的各種命令中,要想全部記住顯然是不太可能也是不必要的,另外,文件的查找在日常操作中也是必不可少的。下面我就總結一下Linux中如何查找命令以及文件。     命令的運行文件路徑查詢。這個查找的方法是同樣是使用命令,這個命令叫w…

    Linux干貨 2015-04-13

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-16 17:04

    贊~寫的不錯~~排版上能注意下會更好~

欧美性久久久久