馬哥教育第20期-第二周課程練習

1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。

cp:復制命令

用法: cp [源文件] [目標地址] 

         cp  vimrc /tmp/

 

      cp [源文件1] [源文件2] … [目標地址]

    cp yum.conf  who.out  sudo-ldap.conf /tmp/

 

 cp  -r [文件夾] … [目標地址]

    r:實現文件夾的遞歸復制 

cp -r sysconfig/ /tmp/

 

 cp -a [文件夾] [目標文件]

    cp -a sysconfig/ /tmp/

 

 cp -p [源文件] [目標文件]

    -p 保留文件原有屬性

源文件屬性

cp -p /home/java/java/ /tmp/

 

 

mv:移動(剪切、復制到)文件 

   -i:交互式選項

   -f:強制執行

    mv -f java/ /tmp/

   

     

rm:刪除命令

   -i:交互式選項

   -f:強制刪除

   -r:遞歸選項

   

   rm -f java.*

   rm -rf javas

   

cd :進入指定文件夾 

  cd /path/to/somefile

  .. :返回上一層級目錄

  ~ :返回家目錄

  

  

ll :顯示指定目錄中的文件,默認顯示當前目錄中的文件

   ll /path.to/somefolder

   

pwd:顯示當前所在位置的絕對路徑

mkdir :創建文件夾

      mkdir [option]… diretory…

 -p:多層級創建

 -v:顯示創建過程

 -m:指定權限

 

 [root@localhost tmp]# mkdir -pv a/b/c

       mkdir: 已創建目錄 "a"

       mkdir: 已創建目錄 "a/b"

       mkdir: 已創建目錄 "a/b/c"

  

  [root@localhost tmp]# mkdir -pv -m 777 1/2/3

        mkdir: 已創建目錄 "1"

mkdir: 已創建目錄 "1/2"

mkdir: 已創建目錄 "1/2/3"

  [root@localhost tmp]# ll 1/2/

總用量 4

drwxrwxrwx. 2 root root 4096 6月  27 00:39 3

rmdir:刪除文件夾

     rmdir [option]… dirctory…

只能刪除空目錄

-v:顯示詳細信息

 

[root@localhost tmp]# rmdir -v 1

rmdir: 正在刪除目錄 "1"

 

 

 

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

bash中使用$?,來保存最近一次命令的執行狀態結果。

[root@localhost tmp]# ls 

a  java  java.conf  java.exe  sudo-ldap.conf  sysconfig  test  vimrc  who.out  yum.conf

[root@localhost tmp]# echo $?

0

命令或腳本執行成功,狀態返回值為0;否則,為執行出錯:范圍:1-255

錯誤返回值,可在腳本中自行定義錯誤原因

命令行展開:

{}:展開命令行

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

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

    [root@localhost test]# mkdir {a,b}{c,d}

[root@localhost test]# ll

總用量 16

drwxr-xr-x. 2 root root 4096 6月  27 01:32 ac

drwxr-xr-x. 2 root root 4096 6月  27 01:32 ad

drwxr-xr-x. 2 root root 4096 6月  27 01:32 bc

drwxr-xr-x. 2 root root 4096 6月  27 01:32 bd

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

   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

[root@localhost mylinux]# mkdir -p bin boot/grub dev etc/{rc.d/init.d,sysconfig/network-scripts} lib/modules lib64 proc sbin sys tmp user/local{bin,sbin} var/{lock,log,run}

[root@localhost mylinux]# ll

總用量 48

drwxr-xr-x. 2 root root 4096 6月  27 01:45 bin

drwxr-xr-x. 3 root root 4096 6月  27 01:45 boot

drwxr-xr-x. 2 root root 4096 6月  27 01:45 dev

drwxr-xr-x. 4 root root 4096 6月  27 01:45 etc

drwxr-xr-x. 3 root root 4096 6月  27 01:45 lib

drwxr-xr-x. 2 root root 4096 6月  27 01:45 lib64

drwxr-xr-x. 2 root root 4096 6月  27 01:45 proc

drwxr-xr-x. 2 root root 4096 6月  27 01:45 sbin

drwxr-xr-x. 2 root root 4096 6月  27 01:45 sys

drwxr-xr-x. 2 root root 4096 6月  27 01:45 tmp

drwxr-xr-x. 4 root root 4096 6月  27 01:45 user

drwxr-xr-x. 5 root root 4096 6月  27 01:45 var

[root@localhost mylinux]# tree

.

├── bin

├── boot

│   └── grub

├── dev

├── etc

│   ├── rc.d

│   │   └── init.d

│   └── sysconfig

│       └── network-scripts

├── lib

│   └── modules

├── lib64

├── proc

├── sbin

├── sys

├── tmp

├── user

│   ├── localbin

│   └── localsbin

└── var

├── lock

├── log

└── run

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

文件大小

創建時間

文件的權限

文件的屬主屬組

atime

mtime

ctime

文件類型

文件被硬鏈接的次數

[root@localhost etc]# stat exports 

 File: "exports"

 Size: 0               Blocks: 0          IO Block: 4096   普通空文件

Device: fd00h/64768d    Inode: 915736      Links: 1

Access: (0644/-rw-r–r–)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2010-01-12 21:28:22.000000000 +0800

Modify: 2010-01-12 21:28:22.000000000 +0800

Change: 2016-05-29 18:47:02.827999962 +0800

使用touch命令修改時間戳

touch [OPTION]… FILE…

-a: only atime

-m: only mtime

-t STAMP:

[[CC]YY]MMDDhhmm[.ss]

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

命令別名使用alias

alias:顯示當前shell進程所有可用的命令別名

alias NAME='VALUE'

[root@localhost tmp]# alias ip='ifconfig'

[root@localhost tmp]# ip

eth0      Link encap:Ethernet  HWaddr 00:0C:29:F9:21:60  

          inet addr:192.168.99.28  Bcast:192.168.99.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fef9:2160/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:19382 errors:0 dropped:0 overruns:0 frame:0

          TX packets:11931 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:7274136 (6.9 MiB)  TX bytes:2814802 (2.6 MiB)

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:65536  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

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

管道命令

COMMAND1 | COMMAND2 | COMMAND3…

cat /etc/passwd | cut -d: -f1,3,5 | sort -t: -k2 -n

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

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

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

ll /etc/[0-9]*[^[:digit:]]

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

ls -ld /etc/[^a-z][a-z]*

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

touch tfile-$(date +'%F-%H-%M-%S')

10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。

 cp -r /etc/p*[^0-9] /tmp/mylinux/

 

11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。

 cp -r /etc/*.d /tmp/mytest2/

 

12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。

cp -r /etc/[1,m,n]*.conf /tmp/mytest3

原創文章,作者:N20_丁木晨,如若轉載,請注明出處:http://www.www58058.com/20522

(0)
N20_丁木晨N20_丁木晨
上一篇 2016-06-26
下一篇 2016-06-27

相關推薦

  • shell編程、yum的使用

    shell編程、yum的使用 一、shell編程 1、while的特殊使用 while 循環的特殊用法(遍歷文件的每一行): while read line; do      循環體 done < /PATH/FROM/SOMEFILE   依次讀取/PATH/FROM/SOMEFILE 文件…

    Linux干貨 2016-08-21
  • 計算機及Linux基礎介紹

    Linux及計算機基礎介紹 計算機的組成及其功能 What:計算機的組成是什么? 計算機的主要部件: CPU:可分為運算器、控制器、寄存器、緩存等 存儲器:比如內存。執行程序時,會將程序及相關數據加載進內存,供CPU讀取 輸入設備:比如:鍵盤。用于下達指令及輸入數據。 輸出設備:比如顯示器。用戶顯示和輸出指令執行的結果等 馮諾依曼體系中提出的五大部件為:運算…

    Linux干貨 2016-09-19
  • 第五周

    顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行 egrep "^[[:space:]]+" /boot/grub/grub.conf 顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行 egrep "^#[[:…

    Linux干貨 2016-09-19
  • bash之運算、測試、if語句及for循環語句

      一、邏輯運算         布爾運算:真、假         與運算:                 真 && 真 = 真       …

    Linux干貨 2015-05-25
  • etc的常見問答

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@localhost tuser1]# cp -r /etc/skel/ /home/tuser1 [root@localhost tuser1]# chmod -R go= /home/tuser1/ [root…

    2017-12-26
  • MySQL優化大全

     1. 優化SQL   1)通過show status了解各種sql的執行頻率         show status like 'Com_%'        了解 Com_select,Com_in…

    Linux干貨 2015-04-13

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-06-29 15:11

    寫的很好,可以多注意一下排版問題,加油

欧美性久久久久